1. 16

Weekend is over so it’s time to share your plans for this week!

  1. 8

    Just a few things this week.

    • I made a replica/prop pager that looks like the one in the movie Hackers (1995) over the last week. I’d like to do a full writeup on how I did it before I start messing with it again to look into POCSAG. Some pictures of it are here: https://mastodon.sdf.org/@Famicoman/100952892701301619
    • I’m working on some ideas for an upcoming zine that should come out next year. I’m in the early part of my contributions where I outline what I’m going to write about, but I’ll probably dive right in!
    1. 5

      I’m still kind of in holiday mode, I took a couple of days off extra. This weekend I did nothing productive, and I think I’ll do that for another day or 2.

      I do have some things planned:

      • really start reading some books
      • check if I can view some components for presence detection with battery powered esp32
      • have a look if I can wire up a camera at the front of our house
      1. 3

        Hooray for taking a good break :)

      2. 5

        I have a new audio design with bizarrely high level of noise on the output. It uses an external amplification stage with moderate gain after headphone output of the system’s codec. The codec (WL8731L) in turn has two gain stages, on the DAC and on the headphone out. The latter, however has no ALSA controls provided in the kernel driver. That’s what I’ll be adding to see if reducing the gain there will help.

        1. 3

          @varjag this is probably not your issue, but when I designed an amplifier I had a problem with a large amplitude oscillatory signal suddenly appearing and strangling the circuit until I restarted it. From advice of my advisor I used “by-pass capacitors” - small tantalum capacitors with very short leads, in the picofarad range- between the integrated op-amp power pins and the ground. This solved the problem. The by-pass capacitors short any high frequency noise on the power bus to ground, preventing the noise from adversely affecting the operation of the chip. The by-pass capacitors are placed as close as possible to the power pins of the IC.

          1. 2

            Thanks, but yes it’s something different here. No oscillation or line hum, just broad white noise: and it’s not there when we cut the input.

        2. 4

          In my crusade to eliminate half-finished projects I’ve (essentially) completed a PulseAudio sink/port switcher which also moves all playing applications over, which are completely separate actions for sinks. I’ve also learnt that when I disable Auto-Mute in alsamixer, I can switch between headphones and speakers in software.

          Otherwise, in the realm of personal projects, at the top of my laundry list is fixing some misbehaviour in my MPD client so that I can do a point nine release, and further pursuing the vision of a custom directory navigator for bash/zsh.

          At work… who knows. I should negotiate for some nice things to do tomorrow.

          1. 4

            I recently wrapped up a blog post on Kubernetes CustomResourceDefinitions and Operators, and how they can be used to deploy Prometheus to a Kubernetes cluster.

            With the writing done, I’m back to coding, and will be working on deploying Grafana to my k8s cluster. Specifically excited to play along with Grafana’s provisioning feature, so I can specify all aspects of my Grafana config in source control. Anyone who is interested can see the source code on my personal-k8s.

            I’m also hoping to make it to the Kubernetes NYC Meetup before heading out west at the end of the week.

            1. 4

              Working on my RSS feed reader, Hydrogen. Currently working on adding hotkeys (soon to be customisable), keyboard navigation, writing tests, and looking into improving accessibility. If anyone has any good resources on making web apps more accessible I’d love to take a look.

              1. 4

                I find the “What are you working on this week?” threads depressing.

                Sometimes I do, sometimes I don’t work on things that might be interesting, but seeing the thread gives me a bit of anxiety that there is an expectation that people should be working on something every week.

                (Just to add something that I’m working on: migrating the last few dozen accounts that I have on various sites over to my unified password manager (1password), so that it uses a centrally managed list of service-unique and strongly random passwords.)

                1. 3

                  Don’t sweat it too much.

                  I don’t participate every week. This week, for instance, I’m probably not going to do much tech work outside of my day job. I’ve been letting a lot of household things linger, and I need to spend a little while catching up. At work, I’m basically doing what I did the week before, with the wrinkle that I’m team lead for a new team, and it’s a lot more work than my old team (at least for now).

                  1. 1

                    +1! There are plenty of weeks where I have nothing to say or feel like saying nothing, too. Depending on what I’m up to, it’s even been like that for months at a time. Those times, it’s hard not to feel left behind compared to the selection you’ll find here – which frequently comprises things people are really excited to share, and not so much the quotidian “spoon against the wall” effort that’s also part of most any work. I guess my consolation is feeling happy seeing other people up to so much, even if I’m just shoveling metaphysical snow.

                    So, I’m not sure if I’m up to much or not! This week is 80% Airflow operationalization for some research-on-research work at the office (Wellcome Trust Data Labs), and 20% back on a dlnm powered time series analysis associating civil unrest with rate of healthcare visits per person. The latter finally started making sense this weekend. A real relief there.

                  2. 1

                    Sometimes I use it to talk about what I’m doing at work. Sometimes I’m doing interesting things in my free time. Sometimes I like to browse what others are doing and use it for project discovery. I think for the most part the community recognizes that not everyone will be doing “interesting” stuff on their own time all the time.

                    1. 1

                      I can appreciate that, but the way I see these posts is more “Hey who’s doing something interesting?”.

                      It’s an opportunity for people to offer help, encouragement, and experience they might have and for the community to appreciate all the amazing things people here build. People are human, even the most prolific coders aren’t producing gems for the ages every single week :)

                    2. 4

                      I just released the initial version of my new library havoc. It is chaos monkey style testing for the BEAM. It can randomly kill processes as well as TCP and UDP connections anywhere in your cluster, you select which nodes you want the killing to happen on. I am hoping to add some new features this week. In no particular order, some of them are:

                      • Be able to target which application(s) you want to test
                      • Add support for killing other types of ports
                      • Give some sort of feedback about orphaned processes
                      1. 3

                        I’m completing my move from a OVH-based server to a Hetzner Box (Upgrading from 4 core/32gb to 6cores/128GB for no additional cost), some core services need to be migrated and reconfigured, my two haproxy instances need to be merged, my mail service needs to be decomissioned and existing apps migrated to mailgun (who finally seem to accept prepaid credit cards and have a EU region!).

                        The most difficult will be the PHP and NFS VMs, their config is fairly complex and probably contains one too many hardcoded IPs which I’ll have to change to a hostname.

                        I can likely complete most of that on thursday and if everything goes right I can migrate my mastodon instance and the sql box to the new hoster and shut down the old.

                        I’m also investigating into borgbackup and borgbase.com as a hosted backup provider, I talked to the owner on the /r/datahoarder subreddit a bit and they made some good pricing promises on the storage space. It looks good and solid so far and the owner seems to have a good track record.

                        I upgraded my NAS to 21TB capacity, 3TB still pending an erase cycle, though the heat from the harddrives is getting out of control. I’m going to have to 3dprint a few harddrive caddies and hope the PCBs I ordered for a DIY fan controller arrive sooner rather than later.

                        1. 3

                          A web-based mail reader based on my earlier prototype on Codepen. Featuring a lightweight UI, mutt-like keybinding.

                          • React + Tailwind CSS for the frontend.
                          • Offlineimap for fetching emails in Maildir format
                          • Rust for the backend thanks to this awesome crate

                          No plan for multi-user for now as it gonna be a lot of securities stuff needs to be done.

                          1. 1

                            Are you going to support HTML emails?

                            1. 2

                              That’s the main reason I go with a web-based client. I subscribed a lot of newsletters and most of them are unreadable with mu4e/mutt :D

                              1. 1

                                Well I’d love to have a look when you release it. I’ve considered writing my own client and server so many times. I’ve given up on the server, SMTP and IMAP servers are just pure horror. Clients aren’t much better but the maildir thing seems like a good way around dealing with IMAP.

                          2. 3

                            I wrote a hilariously task-specific command line utility for spitting out random floating values to stdout, and I’m going to use it to learn to use Tokio by making it multithreaded and using the evented IO model for printing.

                            1. 3

                              I’m working on bulk sales letter mailing for NewBusinessMonitor. I redesigned the dashboard over the weekend so it’s much slicker now, and soon you’ll be able to just click once to send a personalised sales letter to multiple companies.

                              Once that’s done, I’ll create fully automated mailing campaigns. So you just fill your account up with money, prepare your sales letter template, and personalised sales letters will be printed, enveloped, and sent in the post automatically every day to your target market.

                              I’d also like to generally refactor and clean things up, which since it’s Haskell is super easy. Specifically, when I started the project I used a curl library for network requests, but I’ve found the wreq library to be a bit nicer, so I’ll move all network requests to wreq and remove the curl dependency.

                              1. 0

                                So you’re not actually working for a Clojure/ClojureScript shop then.

                                1. 1

                                  …What on Earth?

                                  I’m not sure how to respond to this. I have a day job consulting at a Clojure/ClojureScript company which incidentally also runs some Haskell and a load of Ruby, and I also have a couple of successful side projects running only Haskell and some Elm.

                                  What is your problem?

                                  1. 1

                                    Pretty much every interaction I’ve had with you has been you jumping into a thread about Clojure to pitch Haskell/Elm as a superior alternative. You’ve made some pretty odd statements regarding Clojure development based on your experience. I’m just trying to understand what your actual experience with Clojure is because it appears to be wildly different from my own or anybody else I know working with Clojure.

                                    What on Earth indeed.

                                    1. 1

                                      Likewise, I think your affinity for Clojure verges on religious fervour and I find it quite odd. I’m not going to start harassing you about it in unrelated threads though.

                                      If you really want to understand my actual experience with Clojure, I’ll share it:

                                      Clojure does almost nothing to move the needle on my productivity as a developer relative to e.g. Ruby. It’s certainly better, favouring FP and immutable data structures, but this incremental improvement is dwarfed by the monumental productivity improvement provided me by typed FP.

                                      I see neither Haskell nor Elm as a panacea, which is what you appear to think Clojure is. I just see my two preferred languages as decent enough implementations of this “Big Hammer” that is typed FP. My perspective is that the more Big Hammers I have at my disposable, the better. Other Big Hammers include version control, TDD, garbage collection, logic programming, and probably dependent types and formal specifications — though I’m yet to learn the last two.

                                      If there are techniques provided me exclusively by Clojure that would be a boon to productivity, please share them. If you’re going to say “macros”, I’d say code generation is already covered (at least in the case of Haskell), and that macros don’t come free anyway. Genuinely, I am open to all approaches if they allow me to write more robust software at a lower cost. You have previously claimed that because of types, I am not able to maintain state in a program while mutating its behaviour. This is simply not true at least in the case of Elm — I use HMR in my Elm projects. Furthermore, it’s not as though there isn’t at least some benefit to types, even from the perspective of many Clojurists. Otherwise there wouldn’t be Typed Clojure.

                                      1. 1

                                        Likewise, I think your affinity for Clojure verges on religious fervour and I find it quite odd.

                                        You seem to be a fan of using ad hominem and straw argument techniques because you constantly put words in my mouth and try to paint me as some sort of a zealot instead of engaging in an honest discussion.

                                        I’m not going to start harassing you about it in unrelated threads though.

                                        You literally do that in every Clojure story I post.

                                        I see neither Haskell nor Elm as a panacea, which is what you appear to think Clojure is.

                                        I really don’t think it’s any kind of panacea either. I enjoy using it, and I find that it’s effective. I have been crystal clear on that point in many discussions. I’ve also stated quite clearly that it’s my preference based on my anecdotal experience. I’m not trying to convert people who prefer Haskell or Elm to use Clojure, I’m just saying that some people prefer the cost of dynamic typing to the cost of static typing. I think there’s room for both, and I find it bizarre that you keep attacking Clojure every chance you get instead of focusing on building and promoting things using your preferred stack.

                                        If there are techniques provided me exclusively by Clojure that would be a boon to productivity, please share them.

                                        I have shared them in the last discussion we had. You made claims that you can do the same thing in Haskell GHCI which is demonstrably false. While it might be possible to create a REPL driven workflow for a language like Haskell, it simply doesn’t exist today. Again, you seem incapable of saying that there are any trade offs in your preferred stack. Inability to admit that the trade offs exist, and you’re choosing them consciously is zealotry.

                                        Furthermore, it’s not as though there isn’t at least some benefit to types, even from the perspective of many Clojurists. Otherwise there wouldn’t be Typed Clojure.

                                        You’re arguing against a straw man here because nowhere do I say that I’m somehow against types. What I said is that there’s no evidence that types are anything more than personal preference. Furthermore, I’ve been quite clear that I think both approaches are worth pursuing unless one is shown to be strictly superior empirically. Types address a number of pain points with dynamic typing, but also introduce pain points of their own. It’s a trade off, and each approach appeals to different people. Static typing is a tool, and I think projects like Typed Clojure are great because I do want to have an option to use type driven development in Clojure.

                              2. 3

                                Have an Ender 3 coming at some point, kind of in the dark about how this stuff works but I hope it will be [interesting fun and challenging] figuring out what to do with this thing :-)

                                1. 3

                                  Going to make progress on a few things:

                                  • long-delayed Android update for Write.as
                                  • help documentation
                                  • changing the Pro subscription price
                                  • open-sourcing the Write.as backend
                                  • standalone accounts for Snap.as
                                  1. 2

                                    Working on my overengineered parallel fizzbuzz in Pony. Currently stuck because I have no clue on how to use arrays and there’s no documentation.

                                    Stackoverflow doesn’t help: https://stackoverflow.com/questions/53030511/how-to-use-an-array-in-pony

                                    I think I will have to engage the mailing list at some point.

                                    1. 2

                                      Obviously up super late but I’m aiming to reboot my workout routine and work on updating my home office setup. That and maybe landing some patches into some Fediverse projects I use.

                                      1. 2

                                        We released binaries for Merit Core which has the new Proof-of-Growth version 3 algorithm. This week it gets enabled.

                                        But another thing I’m working on this week is changing the difficulty adjustment algorithm because some group of miners do not like the new PoG3 and are oscillating the difficulty. Can’t win them all.

                                        1. 2

                                          Our research group is going “on the road” to work in a public space as scientists-in-residence at the Eden Project this week. They have a new thing where there is an art space and a science lab, with rotating groups there each week. Should be interesting, even though as computing researchers we don’t have the kind of impressive looking “science equipment” to bring along that people like chemists have. We’re bringing along a 3d printer and some small robots though so it isn’t just a few researchers coding on laptops, even though that would be a more authentic representation of what our lab usually looks like.

                                          1. 1

                                            Those are some beautiful images!

                                          2. 2

                                            Solidifying my i3wm config and then probably putting something together with Pygame Zero as an excuse to keep coding on the regular now that my Linux laptop configuration has finally stabilized ;)

                                            1. 2

                                              Been working on this for a while but finally got my landing page up and running :) It’s a platform to inspire and teach men how to style the clothes they already own. It does this my considering looks from human stylists and uses some machine learning to personalise the recommendations 👉 Unstitched.xyz

                                              1. 1

                                                My clang patch was finally committed so I’m stepping back from that. This week I’ll be working on more PL stuff at work as I try out a different team.

                                                1. 1
                                                  • Wrapping job interviews. I got to visit San Francisco for the first time as part of an interview and play tourist for an evening, which was fun but wrecked my week. This week I’m deciding between three offers and not sure how to do so because I like them for different reasons - one is consulting on a 6-18m project, so a very familiar environment I know I can deliver on; one is a growing product company which I like for their work in connecting the global economy and it’d be the only >20 dev company I’ve worked in; one is a small product team fighting political censorship and is a very comfortable-sounding small team. Consulting is local; the other two would be remote. I’m leaning away from the consulting because I don’t want to be searching again after 6-18m, but I like the other two for really different reasons and don’t know how to decide between them - both look like interesting daily work with good people that supports my big-picture values. Good problem to have, but I could use advice if anyone has thoughts. (PM/emails very welcome.)
                                                  • Podcast stuff was bumped. I’m emailing podcast interview guests; deploying the site.
                                                  • I put up my motorcycle for the winter and cried a solitary tear. But now it’s dinner party and board game season. :)
                                                  1. 1

                                                    Managed to get most of my project finished, now i need to clean up the code and put it into testing and see what i did wrong.

                                                    1. 1

                                                      Getting the Halloween costumes ready; working on some emacs configuration nonsense. At work, trying to schedule work for next year; helping some of my underlings get promotions. I also need to get back on the horse lifting weights, I’ve been slacking.

                                                      1. 1

                                                        Mostly focus on the synthesizer. Probably a little programming on the underlying UI toolkit (which I am planning to rebrand from xi-win-ui to a catchier name, current leading candidate “druid”). And also setting up a new Zulip instance for open source community around xi-editor.