Heading off to the Norfolk Broads with a few other members of my Sailing Club, to sail round in big yachts. Looks like the weather is going to be favourable for us, really looking forward to being around on big boats again (I’ve been sailing a 20’ keeled dinghy in the last couple of years.)
Final weekend here in Bangkok before we fly back to Poland. It’s bittersweet. I’m going to miss the warm weather, but I’m also looking forward to driving my tiny car again.
Local housing area society (sorta like a HOA but not as strict) has its annual meeting. I plan to attend to show my face and to support local democracy ;)
Probably gonna try to remove the steering column in my DeLorean so I can replace the steering column brushing. This’ll be the first time I’ll be doing something that puts me in danger if I mess up (I’d lose steering control), so I’ve been delaying doing it, but I figure I’ll have to do it at some point.
On Saturday, while my wife works in the afternoon, I’ll probably take my almost-five-month-old puppy to a state park (Patapsco, probably) and do some outdoor training. He also needs to get used to riding in the car, and not just for going to the vet.
On Sunday, if I feel good (depression and anxiety suck!), I’ll probably work on HardenedBSD Foundation financials and researching a regression in OPNsense 19.1.
I intend to have an article detailing my new Gopher hole on my server tomorrow. I’ve been intending to have a Gopher hole for years, I believe, but hadn’t gotten around to it until recently. I’ll be submitting the article here, tomorrow.
Taking part in a small shooting competition tonight. Machining a raiser foot to our new washer: laundry room floor is too steeply inclined for it. Raking some moss in the backyard.
Trying to work on a mouse replacement scheme, that’s sort of out there but I always wanted to do.
The premise is the following. Start out with the mousekiller, keynav (link below). That works by dividing the screen into four and then dividing and conquering until you reach your destination.
I’m not sure whether anybody seriously uses this but perhaps some of the tiling wm guys swears by it. If that’s the case please comment because this might be of interest!!
So my take is that if we throw in some simple image analysis into this we could find discrete blobs. So instead of having to select from width by height elements top, it could be boiled down to say 3000 or so discrete elements.
What I’m currently am looking at is using a FFT to get the frequencies from the display. The idea being that icons are not discernible by means of colors. However they will change pixels at a similar rate, compared to backgrounds.
This means that the system could operate without intrinsic knowledge about the UI system. Which might come in handy for say VNC sessions, games and whatnot.
All in all I’d like to think of it as an endeavor similar to pentadactyl/vimium/etc.
As far as FFT is concerned, I’m not sure if this is the best case. There might be other simpler more well suited algorithms that could be plugged in instead. What is needed in essence is a function that calculates an energy value for each pixel. Something along the line of what they are doing with seam carving, content aware resizing (which is an source of inspiration).
I’ve done something similar in the experiment pile as an alternative to mouse acceleration and accessibility support. It worked well enough to put it in the “clean up, integrate, writeup” queue. Instead of FFT and blob detection though, I went with gaussian downsample + sobel operator, then raytrace along the mouse cursor vector, and at each intersection over a threshold, walk the edge and look for a loop, if found, warp to the centre.
Interesting would you happen to have a demonstration of it somewhere. Would be fun to see it in action.
I see how a sobel operator would make sense even in my case. And where thinking of something similar. I made room for implementing different filters for detection to see what works.
I feel that for some cases, say in some future setup where you want to interface legacy systems this kind of thing could be extremely useful. Since I feel that in the next big paradigm mice might not be available. Say if you have a fancy VR setup and want to access legacy mouse driven interfaces.
Nothing online yet, holding it as part of an article. The better one (and for fancy eye-tracker as well though) is eye trackers. In VR they are more than enough precision wise, but even desktop tobii- ones are about the same level of precision (~0.5-1cm) as this tactic, but cheaper and more robust.
Going with a friend to some kind of woodworking mentorship/workshop introductory event ahead of the real one a month from now. The friend wrote an application, put me as a participant, and then told me about it. Our idea is vaguely to find some local old furniture nobody wants or some historically related stuff and rebuild it into some funky postmodern thing that might fit into a local alternative café. So tomorrow we’re going to meet the others and check out the situation… It’s all a bit of a joke but I hope we can make something out of it.
Working on designing the virtual architecture for the virtual micro-controllers in the video-game I’m working on and on the assembler for that architecture.
Fixing the motorcycle that I wrecked about a year ago with a few buddies and then hopefully working out exactly how to integrate a database into my rocket.rs site. Oh and finishing up reading American Gods.
Due to a fault with previous laptop, I have one with a Touch Bar. This might not be temporary, so I will be attempting to re-learn the muscle memory I had for using CTRL-[ instead of ESC.
I thought this might be a complete solution to the problem of having no (usable) ESC key but I forgot there are plenty of OS and app functions where I would reach for Escape to cancel something. Might need Karabiner or something.
I have Caps Lock mapped to CTRL (again since ~20 years ago) but as it’s possible to treat a key down in combination with another as CTRL and a key down+up on its own as ESC maybe I could try that, thanks!
Working on an Elasticsearch plugin – custom aggregation and corresponding field mapping. Really fun problem. Spent some time researching it over last couple weeks, and I have the whole weekend to focus on it. Since I’ve been coding Python for years and haven’t written production Java code since Java7, I’m also familiarizing myself with the new tooling required – sdkman, gradle, intellij, java 8/9/10/11.
Now that my zine work is wrapped up, I’ll be cleaning out and updating all my SBCs and likely spend tomorrow out in the city as the weather will be great for the first time this year.
Not entirely sure. I’m skiing with a friend Saturday, possibly Sunday also.
Other than that I’m rewriting the Teeko game I created a while back. My main goal is to add computer strategies that compete against each other (or a human player), but the current implementation makes it difficult. I’m going to make it use CLOS, which should simplify it quite a bit and make it easier to do what I want.
I’m also removing the Qt dependency. I want to pull out the main game logic into its own package and create a new REPL front end and a simple GLFW front end.
I finished Miyamoto’s The Book of Five Rings and I’ll finish Yagyuu’s The Book of Family Traditions on the Art of War tonight. I’m hoping to read Nicomachean Ethics tomorrow, but not sure I’ll get through all of it. I’d like to read through a paper on Idris as well.
Going to a Vince Staples show in Oakland tonight! Otherwise, I’m unreasonably excited about doing laundry and hanging out with my dog. I’ve been traveling a lot lately with more coming up, so it’ll be nice to just…not.
I’m going to Chicago to (belatedly) celebrate my birthday, where I’ll eat ramen and pie (but not together), see some animals at the zoo, and top things off with a visit to the Museum of Science and Industry.
@hwayne, you’re a Chicago person, have you ever been to Wasabi or Bang Bang Pie & Biscuits?
I put some code on GitHub that is a cleaned up version of some scripts I was using to generate Prolog files: https://github.com/cloudbootup/cwacop (cloudy with a chance of prolog). Plan is to work on it enough to keep the ideas fresh in my own head.
To be able to assemble/link/package a proper .apk file (still without JVM and Android Studio), I believe the next thing I need to do would be to port apksigner from Java to Nim.
But first, I want to do some initial spring cleaning at my place. There’s way too much of it for me to be able to complete it over the weekend, but I must at least start :) Also meeting family and some friends.
Hi! Since just a few months ago really. How about you? :)
As to the assembler… it’s mostly that I want to code some apps for my phone, but I kinda hate the heavy weight of the whole Android Studio + JDK environment (at least when considering doing this in my free time). And then I don’t even like Java that much. I tried writing some stuff in Yeti once; I liked the language quite much, but then the complexity and slowness of the multi-stage compilation process/feedback loop became even more unbearable. So, now that I found Nim, and it feels good to me for those kinds of hobby projects, I wanted to try pursuing this alternative path I considered for quite a long time, and see how far can I get with it. I explored PWAs in the meantime, but I found them too limited and too slow for me. Similar with React Native. And all in all, .apk and .dex are just file formats, and Android is kinda open, so I imagined there should be some specs and examples somewhere… and indeed found some, they looked approachable, so, you know, I pondered some name I’d like for the project for a while, then git init, nimble init, vim, and here we are, yet another hobby project, like I don’t have enough unfinished ones out there already ;P
Same here. Thing is that I want to create a keyboard replacement, so the requirements are that it has to be fairly resource efficient and make use of low level systems features. At the same time I want to demo it with HTML technologies. So I’ve been diving into it for some months.
Do you think your project could be a part in making nim available for the android platform somehow.
Lol, hahaha, yeah, sure, that’s certainly the “moonshot” best-case scenario, you’ve seen perfectly clear through my deception :D I actually have a few various ideas how this could be useful however, trying to think about minimizing effort so that it could be doable with my limited time. Note (I’ve read somewhere recently) that it seems Nim can already be used to build the native part of JNI apps, so in a way it’s apparently already “available for Android somehow”! :) But I believe it still requires Android Studio, so I’m pondering maybe trying to replace this part of the equation with a wrapper built purely with Nim? Though a thought of this maybe becoming a full-blown backend for Nim surely burns at the back of my mind. Still, I’m trying to plot my paths such that intermediate steps could also be useful to some people, in case I get sidetracked at some point. That said, I did take a quick glance recently, and at first sight, the Nim backends seem to look surprisingly approachable. But I must resist the overwhelming temptation, and focus on an incremental approach :)
Hm, by the way, but would you be maybe interested in collaborating in some way? Just asking, don’t feel pressured or whatever. But if you e.g. were, say, curious to explore what it might take to emit the first “black triangle” (i.e. like hello world or whatever) from Nim backend to .dex, wow, that would be soooo immensely exciting! :D
edit: Of some other ideas, if you don’t share my aversion to Android Studio, a minimal hello-world grade .apk with a JNI Nim module call inside would be super immediately useful to me, as a model to try and reproduce. That’s the next step I’m planning after apksigner.
As to keyboard, stuff like this is sure interesting, had some thoughts about those too at some point :)
Sure I would be very interested! Even though I’m currently targeting computers mainly as that’s where I feel most at home, I’d like to target android devices as well.
I have a chat room set up for my keyboard discussions. Head over there and we can broaden the scope to nim on android as well.
https://discord.gg/8sPDxRa
Going to visit my girlfriend’s parents in my newly bought 1990 Volvo 244.
Drinking a tall glass of ice cold water.
Starting the tomatoes! Trimming another apple tree. Playing with my kids!
Hoping to get a lot of work done on my source hosting/build/deployment system, I have been working on for a while.
Maybe go visit this tower, which was just completed near my home, if the weather is good.
The “Effekt” camp seems really nice! If I visit Denmark some day, I’ll definitely check that out.
Heading off to the Norfolk Broads with a few other members of my Sailing Club, to sail round in big yachts. Looks like the weather is going to be favourable for us, really looking forward to being around on big boats again (I’ve been sailing a 20’ keeled dinghy in the last couple of years.)
Final weekend here in Bangkok before we fly back to Poland. It’s bittersweet. I’m going to miss the warm weather, but I’m also looking forward to driving my tiny car again.
Wow, that is a tiny car.
Yard work is planned.
Local housing area society (sorta like a HOA but not as strict) has its annual meeting. I plan to attend to show my face and to support local democracy ;)
A wonderful cornucopia of things:
Probably gonna try to remove the steering column in my DeLorean so I can replace the steering column brushing. This’ll be the first time I’ll be doing something that puts me in danger if I mess up (I’d lose steering control), so I’ve been delaying doing it, but I figure I’ll have to do it at some point.
Visiting New Orleans for a wedding just months after having been married there myself. Good times await!
Trying to read as much as I can from: “America” by Jean Baudrillard; “Lincoln in the Bardo” by George Saunders; “Old Man’s War” by John Scalzi
On Saturday, while my wife works in the afternoon, I’ll probably take my almost-five-month-old puppy to a state park (Patapsco, probably) and do some outdoor training. He also needs to get used to riding in the car, and not just for going to the vet.
On Sunday, if I feel good (depression and anxiety suck!), I’ll probably work on HardenedBSD Foundation financials and researching a regression in OPNsense 19.1.
I intend to have an article detailing my new Gopher hole on my server tomorrow. I’ve been intending to have a Gopher hole for years, I believe, but hadn’t gotten around to it until recently. I’ll be submitting the article here, tomorrow.
I finally got around to making a blog! :)
I plan to do a minor revision of my first post tomorrow, as I always seem to goof up with things when I work late in the evening.
Taking part in a small shooting competition tonight. Machining a raiser foot to our new washer: laundry room floor is too steeply inclined for it. Raking some moss in the backyard.
Trying to work on a mouse replacement scheme, that’s sort of out there but I always wanted to do.
The premise is the following. Start out with the mousekiller, keynav (link below). That works by dividing the screen into four and then dividing and conquering until you reach your destination.
I’m not sure whether anybody seriously uses this but perhaps some of the tiling wm guys swears by it. If that’s the case please comment because this might be of interest!!
So my take is that if we throw in some simple image analysis into this we could find discrete blobs. So instead of having to select from width by height elements top, it could be boiled down to say 3000 or so discrete elements.
What I’m currently am looking at is using a FFT to get the frequencies from the display. The idea being that icons are not discernible by means of colors. However they will change pixels at a similar rate, compared to backgrounds.
This means that the system could operate without intrinsic knowledge about the UI system. Which might come in handy for say VNC sessions, games and whatnot.
All in all I’d like to think of it as an endeavor similar to pentadactyl/vimium/etc.
As far as FFT is concerned, I’m not sure if this is the best case. There might be other simpler more well suited algorithms that could be plugged in instead. What is needed in essence is a function that calculates an energy value for each pixel. Something along the line of what they are doing with seam carving, content aware resizing (which is an source of inspiration).
https://www.semicomplete.com/projects/keynav/ https://en.wikipedia.org/wiki/Seam_carving
I’ve done something similar in the experiment pile as an alternative to mouse acceleration and accessibility support. It worked well enough to put it in the “clean up, integrate, writeup” queue. Instead of FFT and blob detection though, I went with gaussian downsample + sobel operator, then raytrace along the mouse cursor vector, and at each intersection over a threshold, walk the edge and look for a loop, if found, warp to the centre.
Interesting would you happen to have a demonstration of it somewhere. Would be fun to see it in action.
I see how a sobel operator would make sense even in my case. And where thinking of something similar. I made room for implementing different filters for detection to see what works.
I feel that for some cases, say in some future setup where you want to interface legacy systems this kind of thing could be extremely useful. Since I feel that in the next big paradigm mice might not be available. Say if you have a fancy VR setup and want to access legacy mouse driven interfaces.
Nothing online yet, holding it as part of an article. The better one (and for fancy eye-tracker as well though) is eye trackers. In VR they are more than enough precision wise, but even desktop tobii- ones are about the same level of precision (~0.5-1cm) as this tactic, but cheaper and more robust.
interesting when is the article due?
Not a dang thing. I think I’m going to declare today “Horror movie-fest day” and veg-out watching popcorn movies.
Going with a friend to some kind of woodworking mentorship/workshop introductory event ahead of the real one a month from now. The friend wrote an application, put me as a participant, and then told me about it. Our idea is vaguely to find some local old furniture nobody wants or some historically related stuff and rebuild it into some funky postmodern thing that might fit into a local alternative café. So tomorrow we’re going to meet the others and check out the situation… It’s all a bit of a joke but I hope we can make something out of it.
Working on designing the virtual architecture for the virtual micro-controllers in the video-game I’m working on and on the assembler for that architecture.
Fixing the motorcycle that I wrecked about a year ago with a few buddies and then hopefully working out exactly how to integrate a database into my rocket.rs site. Oh and finishing up reading American Gods.
I will head off to the beach and read Domain Model Made Functional by Scott Wlaschin.
Due to a fault with previous laptop, I have one with a Touch Bar. This might not be temporary, so I will be attempting to re-learn the muscle memory I had for using CTRL-[ instead of ESC.
I thought this might be a complete solution to the problem of having no (usable) ESC key but I forgot there are plenty of OS and app functions where I would reach for Escape to cancel something. Might need Karabiner or something.
You could also remap Caps Lock. macOS now even has this as a native option: https://stackoverflow.com/questions/127591/using-caps-lock-as-esc-in-mac-os-x/40254864#40254864
I have Caps Lock mapped to CTRL (again since ~20 years ago) but as it’s possible to treat a key down in combination with another as CTRL and a key down+up on its own as ESC maybe I could try that, thanks!
Drinking absinthe, riding my bike, doing schoolwork
Order is UB
Working on an Elasticsearch plugin – custom aggregation and corresponding field mapping. Really fun problem. Spent some time researching it over last couple weeks, and I have the whole weekend to focus on it. Since I’ve been coding Python for years and haven’t written production Java code since Java7, I’m also familiarizing myself with the new tooling required – sdkman, gradle, intellij, java 8/9/10/11.
Now that my zine work is wrapped up, I’ll be cleaning out and updating all my SBCs and likely spend tomorrow out in the city as the weather will be great for the first time this year.
zine work what is that? Is it zines like the papers or what?
Yeah, I’m working on a paper zine for https://n-o-d-e.net and have been for a few months. There will be a digital version too :)
Ah looks interesting, I’ll check it out!
I am watching the HaskellRank series of screencasts and taking a Pluralsight course on Newtonsoft Json.
Work on several patches for utils at work, probably put in some time on development of my C compiler. Maybe read a new book.
Which language are you writing the compiler in?
Cool! What is the reason for writing a C compiler?
implement localStorage with 2 of my sites so that they remember which page you last visited - also will add a link to clear the storage:
Not entirely sure. I’m skiing with a friend Saturday, possibly Sunday also.
Other than that I’m rewriting the Teeko game I created a while back. My main goal is to add computer strategies that compete against each other (or a human player), but the current implementation makes it difficult. I’m going to make it use CLOS, which should simplify it quite a bit and make it easier to do what I want.
I’m also removing the Qt dependency. I want to pull out the main game logic into its own package and create a new REPL front end and a simple GLFW front end.
I finished Miyamoto’s The Book of Five Rings and I’ll finish Yagyuu’s The Book of Family Traditions on the Art of War tonight. I’m hoping to read Nicomachean Ethics tomorrow, but not sure I’ll get through all of it. I’d like to read through a paper on Idris as well.
Going to a Vince Staples show in Oakland tonight! Otherwise, I’m unreasonably excited about doing laundry and hanging out with my dog. I’ve been traveling a lot lately with more coming up, so it’ll be nice to just…not.
I’m going to Chicago to (belatedly) celebrate my birthday, where I’ll eat ramen and pie (but not together), see some animals at the zoo, and top things off with a visit to the Museum of Science and Industry.
@hwayne, you’re a Chicago person, have you ever been to Wasabi or Bang Bang Pie & Biscuits?
I put some code on GitHub that is a cleaned up version of some scripts I was using to generate Prolog files: https://github.com/cloudbootup/cwacop (cloudy with a chance of prolog). Plan is to work on it enough to keep the ideas fresh in my own head.
Working on https://nhooyr.io/ws
Site doesn’t work for me, do you mean github.com/nhooyr/ws? I am not a Go user, but it looks good. Having a relevant README is a huge plus.
Yea it’s broken for some reason. Will fix thanks.
Going to see a juggling show with my lass. ..and read lobters ofc
This time I only plan to rest (spent the last few weekends working on presentations).
On Friday eve I pushed my .dex assembler library in Nim to a state where I’m happy to say the first minimal PoC is finished: it appears I can correctly assemble a few .dex samples from the web now.
To be able to assemble/link/package a proper .apk file (still without JVM and Android Studio), I believe the next thing I need to do would be to port apksigner from Java to Nim.
But first, I want to do some initial spring cleaning at my place. There’s way too much of it for me to be able to complete it over the weekend, but I must at least start :) Also meeting family and some friends.
Oh a fellow nim:er, for how long have you been coding in it?
Why do you want a nim .dex assembler, is it just for fun or do you plan on using it elsewhere?
Hi! Since just a few months ago really. How about you? :)
As to the assembler… it’s mostly that I want to code some apps for my phone, but I kinda hate the heavy weight of the whole Android Studio + JDK environment (at least when considering doing this in my free time). And then I don’t even like Java that much. I tried writing some stuff in Yeti once; I liked the language quite much, but then the complexity and slowness of the multi-stage compilation process/feedback loop became even more unbearable. So, now that I found Nim, and it feels good to me for those kinds of hobby projects, I wanted to try pursuing this alternative path I considered for quite a long time, and see how far can I get with it. I explored PWAs in the meantime, but I found them too limited and too slow for me. Similar with React Native. And all in all, .apk and .dex are just file formats, and Android is kinda open, so I imagined there should be some specs and examples somewhere… and indeed found some, they looked approachable, so, you know, I pondered some name I’d like for the project for a while, then git init, nimble init, vim, and here we are, yet another hobby project, like I don’t have enough unfinished ones out there already ;P
Same here. Thing is that I want to create a keyboard replacement, so the requirements are that it has to be fairly resource efficient and make use of low level systems features. At the same time I want to demo it with HTML technologies. So I’ve been diving into it for some months.
Do you think your project could be a part in making nim available for the android platform somehow.
That would be extremely interesting.
Lol, hahaha, yeah, sure, that’s certainly the “moonshot” best-case scenario, you’ve seen perfectly clear through my deception :D I actually have a few various ideas how this could be useful however, trying to think about minimizing effort so that it could be doable with my limited time. Note (I’ve read somewhere recently) that it seems Nim can already be used to build the native part of JNI apps, so in a way it’s apparently already “available for Android somehow”! :) But I believe it still requires Android Studio, so I’m pondering maybe trying to replace this part of the equation with a wrapper built purely with Nim? Though a thought of this maybe becoming a full-blown backend for Nim surely burns at the back of my mind. Still, I’m trying to plot my paths such that intermediate steps could also be useful to some people, in case I get sidetracked at some point. That said, I did take a quick glance recently, and at first sight, the Nim backends seem to look surprisingly approachable. But I must resist the overwhelming temptation, and focus on an incremental approach :)
Hm, by the way, but would you be maybe interested in collaborating in some way? Just asking, don’t feel pressured or whatever. But if you e.g. were, say, curious to explore what it might take to emit the first “black triangle” (i.e. like hello world or whatever) from Nim backend to .dex, wow, that would be soooo immensely exciting! :D
edit: Of some other ideas, if you don’t share my aversion to Android Studio, a minimal hello-world grade .apk with a JNI Nim module call inside would be super immediately useful to me, as a model to try and reproduce. That’s the next step I’m planning after apksigner.
As to keyboard, stuff like this is sure interesting, had some thoughts about those too at some point :)
Sure I would be very interested! Even though I’m currently targeting computers mainly as that’s where I feel most at home, I’d like to target android devices as well.
I have a chat room set up for my keyboard discussions. Head over there and we can broaden the scope to nim on android as well. https://discord.gg/8sPDxRa