1. 17

Feel free to tell what you plan on doing this weekend and even ask for help or feedback.

Please keep in mind it’s more than OK to do nothing at all too!

  1.  

  2. 26

    It’s my birthday tomorrow. I’ll be the ripe old age of 29.

    🥳

    1. 3

      Happy birthday!

      1. 2

        Thanks Vaibhav!

        Still a bit jealous of you that you got to meet Haskell God.

      2. 3

        Happy birthday! 29 is an awesome age. Old enough that nobody can call you a kid anymore, but young enough that shit hasn’t started to go south yet. Enjoy!

        1. 2

          🎉 Feliz Aniversário. Enjoy your day!

          1. 2

            29 is the new 19!

          2. 18

            I’m working on a post describing the time system of TempleOS. It’s a very interesting thing. The documentation for it is actually somewhat wrong, it doesn’t have sub-second resolution like it claims. I’m gonna walk through how the code works as well as how to interface with the real time clock.

            1. 4

              can’t wait. So you basically only have POSIX time() to work, with returning the time as integers counting seconds?

              1. 4

                From what I’ve dug into so far, yes. I am pretty sure that there’s a higher resolution timer because of the 3D rendering stuff in TempleOS, but I think that might end up using the processor timers instead of the system ones.

                1. 4

                  Yeah you’re right that it wouldn’t work without a timer.

                  Is the timer code writteh in assembly or holy-C?

                  1. 3

                    I’m fairly sure it’s HolyC, but I need to dig more into things.

                    1. 3

                      How did you notice that it doesn’t support sub second resolution?

                      1. 3

                        Here is the code to read the time from the CMOS Real-Time Clock. Here is the structure it reads into. Note that it doesn’t populate the first two struct fields (b[0] and b[1] respectively in KDate.HC function NowDateTimeStruct). I am not sure how these are used yet, but I need to do more looking into the code.

                        1. 2

                          Seems like you are right, should be sec10000 and sec100 right? Whatever that means, maybe on account of being BCD coded?

                          Have you found any timing code elsewhere that uses sub second timing?

                          1. 1

                            Not yet!

              2. 2

                Where will you be posting it? I’d like to read that. I’m interested in learning from TempleOS’s interactive editor and shell, but I haven’t spent time to set it up yet in a VM. TempleOS is probably a treasure trove of little bits that we could learn from.

                1. 3

                  my bet would be this: https://christine.website/

                  1. 3

                    I’ll also post it here!

              3. 9

                I got a MacOS VM working, so I’m going to be writing a server to be able to interface with imessage. This will be pretty easy, since I’ve already mapped out most of the queries and applescript commands. Cross compilation should be interesting, though. Worst case scenario, I could always just compile directly on the VM if I run into roadblocks. That’ll allow me to get rid of my iPhone without much loss.

                Then I’m going to be fixing up my blog. I want to use/make a basic static file markdown template engine, so if anyone has any recommendations, let me know! I like Drew DeVault’s site, and a few other programming blogs that are simple static sites.

                And once I fixed the blog, I’m going to continue my work on writing a JSON tokenizer, and documenting the effort in an attempt to make a series on an intermediate level project in Rust. The first part will be on the naive implementation I made, which has “ok” performance, but only runs at about 250MB/s. This next part will be converting it to operate on byte streams instead of str/utf8 strings, which will make it able to be usable on network streams. As for why I’m choosing to do this, that will be a future blog entry, :P. It’s one piece of a very large puzzle.

                I’m also going to try to publish my Sway library I wrote in Rust and the utilites I wrote for it. I’m also going to try to publish my wayland utility I wrote.

                I’ll also be finishing packing up my life, so that I can be a bit more nomadic and work for a while in the bay area again. But, simultaneously, I’ve finished the outline of my potential future SaaS company, so I’ll start the MVP of that and work with my friend to come up with an investor deck.

                It sounds like a lot, but to be fair, I’ve been working on these things for the past few weeks, so this weekend is about tying up loose ends.

                1. 4

                  I got a MacOS VM working, so I’m going to be writing a server to be able to interface with imessage. This will be pretty easy, since I’ve already mapped out most of the queries and applescript commands. Cross compilation should be interesting, though. Worst case scenario, I could always just compile directly on the VM if I run into roadblocks. That’ll allow me to get rid of my iPhone without much loss.

                  Someone should run a SaaS that’s nothing but Mac VMs running iMessage with some well known protocol interfacing them to the outside :) They’d make a killing - until they got sued by Apple :)

                  Just curious - what makes you want to switch? The increased hackability of Android?

                  1. 3

                    When I told my Mom (after sending some test messages) about that little project she said “can you make money off of this,” and I was like “oh, I actually could, couldn’t I?” I think getting sued by Apple would be worth it as a badge of honor, :P

                    And I want to switch to neither iPhone nor Android. Phones these days are just really disappointing to me. I don’t need a 6” screen, and I’m tired of suspecting my apps of stealing my data or pestering me. I can do with just a web browser, GPS, and text messenger. Plus Apple’s abrasive need to stop me from modifying my own software/hardware irritates me. So, yeah, hackability is a big one. I haven’t used an Android in a while, but I’m suspecting that nothing will really hit my needs, so I’m thinking about making my own phone this coming year and using my old Nexus 5X in the meantime.

                    I might try to snag a PinePhone dev kit and see if I can mod it for my own needs.

                    1. 2

                      When I told my Mom (after sending some test messages) about that little project she said “can you make money off of this,” and I was like “oh, I actually could, couldn’t I?” I think getting sued by Apple would be worth it as a badge of honor, :P

                      Heh :) I would support such a service!

                      If you don’t sell it, you should consider open sourcing it!

                  2. 3

                    Dude, that doesn’t just sound like a lot. Anyway, good luck! Did you intentionally not describe your potential SaaS company? I would like to hear more – I would like to start something myself one day (which might be exactly the reason that you didn’t give any details, haha).

                    Anyway, I have a statically generated blog as well. I don’t know what type of content you want to post, but most of my posts are mathematical. I did a quick and dirty writeup on my blog.

                    1. 3

                      It’s a fintech company based on automating various accounting things for compliance with the IRS in the US, for now. From their it’ll evolve into more, hopefully. It’s based on experience I gained from my first job at a startup.

                      Many ideas are fine to share, since it’s the implementation/management which makes or breaks it. I would recommend working at a startup in order to learn how they work first. It really does make a big difference. I’m in the IRC if you want to talk more.

                      Nice blog! Gotta love how quick it loads.

                    2. 2

                      If you want to roll your own static site generator with Python – jinja is good for templates, and mistune can handle the markdown.

                      1. 3

                        Definitely, and IMO look at Pelican for ideas. The code is clean and accessible. Would still be using this if I didn’t have a thing about wanting to blog from my mobile devices :)

                        1. 3

                          Seconding Pelican—I recently replaced my own home-rolled static site generator with it, and was very happy with the results. If you’re already considering Jinja for templating, I think Pelican will end up being very similar to whatever you would build if you built it yourself.

                          1. 1

                            Indeed! And the code is so well written I was able to steal large chunks of it for a project I wrote to ingest Pelican blog entries and convert them to Wordpress.com posts.

                            Note - it’s ugly in that it requires you to use a local config file for your username/password - the API I was using seemed to want me to be a website and use OAuth and I never could figure out how to make that work.

                        2. 1

                          I also have my selfmade generator. 256 lines of Python and a large chunk of that is for RestructuredText which most do not need.

                        3. 2

                          Out of interest, what are you running your VM on?

                          1. 2

                            The easiest version is to use this https://github.com/foxlet/macOS-Simple-KVM/. Extremely simple. I’m running on Arch with qemu 3.2. qemu 4.0 broke my windows 10 VM for a reason I haven’t figured out yet.

                          2. 2

                            For static site generators, I’m fairly fond of Zola these days: https://www.getzola.org/ Part of that is just ‘cause it’s Rust, so I know the ecosystem, but it’s also young enough to be simple but old enough to have the features I want.

                            Rolling your own using askama is also very fun.

                            1. 0

                              That’s a really good one! And having Rust is actually an important factor in case there’s something I need to modify (not that there is a language that I’m not comfortable with anymore, at this point). The author seems very active too, which is always a plus. It’s got very well polished documentation too.

                          3. 7

                            learning GUIX and scheme, having fun so far.

                            1. 6

                              Gonna be trying out ActivityPub, Activity Streams and JSON-LD in Elixir to hopefully get the basics for a future project.

                              1. 2

                                Let us know how it goes! It’s an interesting but kinda baroque ecosystem, and learning Elixir has been on my to-do list for a while.

                                1. 1

                                  Very interested in this - I’ve been itching to get a library for ActivityPub going in Elixir. I use Elixir for Koype more of an IndieWeb platform but definitely wanted to bridge worlds.

                                  1. 3

                                    Koype looks cool, thanks for the link!

                                2. 6

                                  Perhaps put together a vertical herb garden. My last project was a small (2’ x 2’) planter bed which went well, (except I could have used more screws perhaps) so I want to try this slightly more challenging project.

                                  1. 3

                                    NIce! Definitely share the results

                                  2. 5

                                    Gonna finally take a serious look at Nim now that they have released something that might soon become a release candidate for 1.0. I’ve been looking at them for longer than I can remember, but never really dove in. I don’t fully understand why I haven’t done that until now, but perhaps I just need the hype that Nim’s lacking :-/

                                    I might attempt to clone PugSQL to Nim to motivate learning the language.

                                    Fantasizing about starting a blog again, possibly using Hugo.

                                    Also enjoying the Finnish midsummer at the summer cottage with family.

                                    1. 2

                                      Nim is great fun, spent like 2 months with the language. Well documented and a good community.

                                    2. 5

                                      I have nothing! Oh, so I get to

                                      • inspect the bees
                                      • work on the house
                                      • write more
                                      • code more (that niche social network! more rust!)
                                        • add multiple payment providers (PayPal)
                                        • I need to solve file uploads better; probably breaking it into a micro service so that files/uploads can’t interfere with the main service and I can offer better image handling more easily…

                                      I’ll only get to some of it, because I’ll definitely

                                      • be interrupted by family!
                                      1. 4

                                        Off visiting a friend for the weekend, so will probably involve dog walking, socialising, food and hot tub.

                                        1. 4

                                          It’s my older son’s 8th birthday, so we’ll have family in town for that. My nephew, who is coming to the party, is going to stay with us for the next five days and we’re going to show him around Austin.

                                          1. 4

                                            Homework and continuing work on my assembler. I’ll probably get some shooting practice in too, and if I have time I’m going to try making a pair of jeans.

                                            1. 4

                                              I’ll mostly be working on a project for my employer unfortunately. Tight deadlines and what not. But, I’m also going to try to create some time to implement authentication in my DnD application. I have a 0.2 release that I made due Sunday and I want to stick to it.

                                              I’m also learning guitar so I’ll wanna practice some more.

                                              1. 4

                                                I got back from an awesome week in Romania visiting my colleagues, but I picked up a bug somewhere on the way. So I’m going for ‘not much’ besides drinking fluids and catching up on some sleep.

                                                I hate being sick, but I guess I’ve been pushing myself a little too much lately. I’m going to listen to my body and rest as much as I need to…

                                                1. 3

                                                  I am learning Java and Scala. My employer is moving to hoteling and I want to have other options.

                                                  1. 3

                                                    Working on a follow up to my 0-learning curve chord demo, namely a 0-learning curve morse demo. Not necesserily a practical plan but trying to generalize things as far as you can might pay off elsewhere…

                                                    Long term I’m hopping to find clues on:

                                                    • helping the disabled
                                                    • smartphones and tablets usable for work
                                                    • text entry in VR/AR

                                                    Along with the ideas of Universal Design, optimizations made for extreme cases can lead to improvements all across the spectrum.

                                                    Chord demo, which I am hopefull of. To early to say but trained stenographists do >200wpm, so worth a shot. Early limited demo http://tbf-rnd.life/blog/2019/06/16/0-learning-curve-chorded-typing/

                                                    1. 3

                                                      Days 22-25 of the 100 Days of Code in Python.

                                                      Been getting a lot out of working this course. My most recent mind blown moment was actually understanding how Python generators work. Such a cool concept. Can definitely see some excellent use cases where this could add some high value abstraction at work.

                                                      1. 3

                                                        I’m off to Dublin, Ireland for the Euro30 optimization conference.

                                                        Anyone going or got some recommendations?

                                                        1. 3

                                                          I’ve put off reading the last chapter of Let Over Lambda, so I’m going to finish it this weekend. Looks like it’s CL macros implementing Forth, so it sounds interesting, but it’s long chapter and I haven’t had the time.

                                                          Also, inspired by one of the examples in that book, I want to try using genetic algorithms to generate efficient sortting networks. I’ve looked into the math behind it a little bit, and I get the impression the technique I’m thinking of won’t work at all, but I intend to find out for sure…

                                                          I should go for an overnight bike trip to prepare for the CO trail, but it’s supposed to be crappy weather, so I might wait till next weekend.

                                                          1. 2

                                                            Working on my talk for the IndieWeb Summit in Portland this year. Then more touches on the hosted version of Koype and making Fortress more usable.

                                                            1. 2

                                                              Updating the sklearn-pandas integration library in Debian (and derivatives)

                                                              1. 2

                                                                My four year old is addicted to sonic forces. So playing some of that this weekend with her and my 3 year old. Have to finish some of the levels and beat the bosses for her but it’s hilarious watching how into it she gets.

                                                                Working on a new data capture system to set up as an SaaS. Have agreement in principle from a bunch of the clients from the current system to jump on board the new one once it’s ready and pay a monthly subscription.

                                                                I’ve been toiling away building it in rust but hitting some roadblocks finding a sane way to support multiple database types at runtime based on config instead of compile time based on feature flags. Mainly around dependency versions and handling serialisation / deserialisation from database types to rust types for different dB drivers. Rusqlite and Postgres both use ToSql/FromSql traits for instance but both have different dependency versions for the uuid package which causes problems. I’ve implemented traits for a lot of functionality where the traits are type specific (I.e. Trait<&PgConnection> and represent operations against the dB for that dB type and resource. But it’s really verbose and feels clunky.

                                                                Other than that, got a lot of wood to chop from bucking and cutting last weekend and probably give the house a bit of a tidy whilst playing with the munchkins outside if the weather is good.

                                                                1. 2

                                                                  A while ago, I built a service that turns Stripe events into Ledger-CLI account system transactions. It’s now in production use for Code & Supply Scholarship Fund but it has some bugs that make donations not correctly formatted despite my tests passing. I’ll probably take a look at that after spending some time with my parents and girlfriend this weekend.

                                                                  1. 2

                                                                    Bit late to the party, but I added player names to my browser-based multiplayer snake game! https://alpha.sneakysnake.io/

                                                                    Next steps are a scoreboard and player name customization (the back-end for player name customization is mostly done—just need the front-end).

                                                                    I also did an online defensive driving course and took my dog to the vet, but that was far less fun.

                                                                    1. 2

                                                                      What I’m going to attempt to do is write a Rust linear algebra library that uses const generics. And then, I hope to do a bunch of work on my game engine. However, all of my actual plans fell through so I’m probably just going to be depressed watching Evangelion on Netflix.

                                                                      1. 3

                                                                        Evangelion is probably not in the top 10 of best medications against depression…

                                                                      2. 2

                                                                        Returning from Japan to the US, hopefully cooking a big delicious meal, and probably pet my cats a lot. Might play around with Rust graphics library stuff more but I’m having a hard time conceptualizing what I want my API to look like.

                                                                        1. 2

                                                                          I’m working on a way to generate Eagle CAD footprints from text files.

                                                                          I’ve had it up to here (ಠ_ಠ)ㄏ with how much time I have to waste manually creating the footprint variants and symbols for each new part I want to use.

                                                                          1. 1

                                                                            I thought there was a service that basically OCRd the data sheets and generated footprints in a variety of formats. I have fucked up some pin assignments in footprints, much sadness.

                                                                            1. 2

                                                                              The closest that I know of is SnapEDA’s instaview service (https://www.snapeda.com/instabuild/), but that appears to start off with a list of packages. UltraLibrarian is good as well, but not quite what I’m looking for.

                                                                              The parts that I’m looking to use are getting so small that they’re starting to get some weird pad shapes. And I’ve even experienced issues from “standard” footprints between manufacturers. I’d much rather be able to point at my part library, sorted by manufacturer, and be able to say “the part is specified exactly how you datasheet was diagramed, what do?” if/when something goes wrong.

                                                                          2. 2

                                                                            Going sailing and playing with my kid, getting stoned and listening to prog rock, practicing the drums and having a bbq with friends.

                                                                            1. 2

                                                                              I’m playing around with a new protocol somewhere between gopher and http, mainly as an excuse to do more TLS programming dealing with server and client certificates.

                                                                              1. 2

                                                                                I’m going to try https://cryptopals.com in a language I’m not familiar with just to see how long I take to learn a new language from scratch (it’s fun!). Most likely going to go with Rust.

                                                                                1. 2

                                                                                  Push a new post and continue working on my series of posts on testing in Go that I’ve been doing for a while now.

                                                                                  Also, I am going to do some thinking and jot ideas about building a tiny app for peer reviews of articles.

                                                                                  Lastly, it’s a warm weekend in western Europe, so I hope for some BBQ and cold beer in the sun.

                                                                                  1. 2

                                                                                    My team is about to launch a product and we need an on-call schedule. We have a mix of backend/frontend/full-stack/junior/senior people, so I used Clojure and core.logic (a miniKanren impl.) to write a logic program to generate an on-call rotation that meets all our requirements.

                                                                                    1. 2

                                                                                      Starting a collaborative music project with a friend several thousand miles away. Excited to see what we come up with musically, but also excited to see if we can find a reasonably efficient way of sharing ideas/assets in the near absence of real-time collaboration. Could be really cool!

                                                                                      1. 2

                                                                                        Late but:

                                                                                        • 12 years wedding anniversary
                                                                                        • Built a mail box stand for our part of the street (new rules, everybody used to have mailboxes on their houses or on their fence or something but now we have to put all in one place.)
                                                                                        • Home alone with my three youngest kids while my wife is at work
                                                                                        • Fixed a wind up toy
                                                                                        1. 2

                                                                                          I’ve had a busy week with preliminary talks with a potential employer, completing their coding challenge, and then finally pushing out my port of the open.gl tutorials to Ruby, so this weekend is relaxing and staying away from keyboards.

                                                                                          Sunday night is back-to-back screenings of new restorations of the Police Story movies, which I’m eagerly looking forwards to.