1. 18

What are you doing this week?

Feel free to share! Keep in mind it’s OK to do nothing at all, too.

  1.  

  2. 11

    virtual onsite at amazon this week, wish me luck!

    1. 4

      Good luck indeed! Study the leadership principles and think through the answers you might give if someone asked you pointed questions about your career up to now based around them.

      1. 3

        Good luck!

      2. 10

        Reading Chapter 8 - Periodic Arithmetical Functions of Gauss Sums from the book Introduction to Analytic Number Theory (Apostol, 1976).

        A bunch of us who met each other on IRC networks began meeting once everyday for 40 minutes and reading through a couple pages of this book. In the last 3 months, we have covered more than half of the book and we are now reading chapter 8. The two very interesting functions this chapter introduces are Ramanujan’s sum and Gauss sum. While some of us were familiar with Ramanujan’s sum, none of us had any prior knowledge of Gauss sum, so this whole chapter has been a fun ride.

        1. 10

          I am fighting a botnet attack on my personal website. I tried a bunch of approaches but eventually gave in and put the whole thing behind Cloudflare. This post describes the steps I went through, maybe someone else will find it helpful.

          1. 1

            Thanks for that I’ve been using Netlify for my blog and have been debating whether or not to put it behind Cloudflare. I’m currently paying Netlify $120/year for their ‘pro’ service to get analytics but I hear Cloudflare offers some pretty good analytics as well and I’d also get the DDoS protection that offers.

            1. 3

              Much as I hate having to use them, Cloudflare offers a well designed service. I can’t speak to their analytics package, you have to pay for it and I am a cheapskate.

              1. 3

                but I hear Cloudflare offers some pretty good analytics

                Most of those analytics are behind Cloudflares paid plans and you’d pay twice as much ($20/month) for it.

                1. 2

                  That’s excellent advice. Thanks, I hadn’t even begun to look into it. Happy to stick with Netlify. They do one thing and do it REALLY well. That’s worth paying for IMO :)

                  1. 2

                    If you are bellow the limits of the edge workers free plan (100,000 requests/day and 1000 requests/min) you can run https://github.com/jorgelbg/dashflare/. I wrote this because I also wanted a bit more of details than what Cloudflare offered, without going for the paid plans. I host dashflare dashflare in a small Azure instance (2 vCPU/4GB of RAM) for my blog and a couple of additional sites from a friend. That VM also have a few more things running there, not just dashflare.

            2. 7

              I was tricked into reactivating my FreeBSD commit bit by folks telling me that merging my changes from Phabricator was too hard, so I plan on committing the changes to -CURRENT and the back-ports to 12- and 13- that let you access the system call number from signals that are delivered in response to Capsicum blocking a system call. This is necessary to be able to emulate the system call with an IPC, because the system call number is stored in the register that’s clobbered by the return value. I also want to add an option to make this deliver SIGSYS instead of SIGTRAP, because debuggers eat SIGTRAP and so it’s very difficult to debug software that depends on being able to catch it.

              1. 6

                Adding a little tasteful syntax to the Lisp-based prototyping language in the Mu computer. Since it runs with a hard-coded 1024x768 resolution and has a single 8x16 font, screen real estate is at a premium and we can’t afford long lines of ‘))))))))’ at the end of definitions.

                Luckily I just happen to have an approach using indentation and infix that I’ve already polished over several years. Once it’s ported over, you’ll be able to just type in expressions like 2*3 + 4 at the shell, and much more.

                1. 2

                  I hadn’t seen/heard about Mu previously. It looks like an incredibly cool proving ground for concepts and prototyping!

                2. 5

                  Taking PTO Tuesday to get my private pilot license. Oral exam is still seeming increbibly intimidating.

                  Side note, training for my PPL has been ~50 hours of one-on-one from an instructor. Learning experience beats anything I’ve experienced in academia, easy.

                  1. 5

                    Just bought a new book called “Where wizards stay up late: The Origins Of The Internet “ and I’m curious about it so that’s my next reading for the next days. Besides that It’s my last week in my current company so I will be cleaning up some stuff before closing everything and go into vacations before starting in my new job.

                    1. 4

                      I am working on a line edit and history library like GNU Readline. I don’t know how far I’ll get, but I’ve learned a lot more about terminals than I knew before! I’m targeting Windows/Linux initially and I got a bunch of the elements I need (e.g. input capture) of using termios and Windows console API down, so now it’s a matter of doing some engineering to make these experiments into a workable library.

                      1. 3

                        At work, we release a new version of our product on the last Friday of every month. So this week is “hell week” as I go through the release engineering steps.

                        My wife and I are going to see A Quiet Place 2 this evening. Due to the pandemic, it has been a long while since we’ve gone on a date, let alone to the movie theater.

                        For HardenedBSD, I plan to continue researching bringing in llvm-ar into the bootstrap compiler toolchain stage in the base OS build framework. We need it now that we’re building (nearly) the entire base OS userland with LTO.

                        1. 3

                          General onboarding at Shopify has concluded, so this week it’s all about meeting my reports and peers, and getting up to speed on project management style stuff. It’s really good so far. Also, my wife and I got our second jabs this morning, so that’s good.

                          Otherwise, I’m going to put some free time into trying to get better at org-mode, or, failing that, learning “Things” – I need to upgrade my use of tooling.

                          1. 3

                            I’m switching from using a MacBook Pro running macOS to a Thinkpad running (probably) Arch Linux, but at least some Linux distro, as my primary driver. I used Linux as my primary driver when I was growing up. Then when I got money between my hands, I switched to macOS and MacBooks, but have for just as long wanted to go back to something that more align with my principles. I expect the Thinkpad to arrive tomorrow, and then I will spend days setting up my new daily driver.

                            1. 2

                              Hey I have a Thinkpad T15 gen2 coming this week and I’m super psyched!

                              I hope you enjoy the Arch experience. I’ve found it tremendously rewarding - LInux EXACTLY how you like it! However if this is your first go-round with Linux and you find yourself getting stuck in infinitely deep rabbit holes, and the community can’t give you ready answers, don’t hesitate to try a more guided experience like Fedora Workstation as a first go-round.

                            2. 3

                              Its mid-year review season and my first one as a team lead with direct reports so I’m learning how to help people set goals. Its very weird.

                              1. 2

                                Was between two (pretty much) possible job offers and ended up accepting one this weekend.

                                New position is basically the same type of work, so I hope it’s interesting/fulfilling/etc.

                                I’m not too stoked for it (the pay is nice) but it’s just not exciting for some reason.

                                Other than that I went rock climbing for the first time this past weekend and WOW are my arms, forearms, shoulders, and back REALLY sore.

                                1. 1

                                  Congrats for the new job! I hope it’s getting exciting whatsoever. Rock climbing is crazy in the beginning but already at the second or third time you’ll see big differences in what you can do.

                                  1. 1

                                    Thanks! It will be a welcomed change - I’m sort of viewing it more as a stepping stone job I think.

                                    Yeah! It was a great time - I’m trying to figure out when I can go next already hah (once I’m less sore)

                                2. 2

                                  Getting all the UI engineers on my team to switch from our old custom Webpack build to the new (less custom) Next.JS build for local development. It’s a much better dev experience.

                                  1. 2

                                    Dabbling in ocaml and scheme/julia. Maybe giving rust another try for the 10th time. Might put some more effort into my personal knowledge base wiki. Doing some interviews, but mostly for practice.

                                    1. 2

                                      A truth I arrived at with Rust - It’s personal so take it with a salt shaker :) Don’t keep banging your head against learning it if the problems you enjoy solving don’t lend themselves to micro-managing resources at that level.

                                      It’s a truly amazing language, and I am sincerely in awe of some of the clarity and ingenuity of the concepts it embodies, but for myself and my own work and projects I’m much happier working at a higher level of abstraction and letting another layer handle the memory accounting.

                                      1. 2

                                        Ya, I have the same view on it currently. It looks amazing. I really want to like it, but dealing with borrows and lifetimes is just a huge annoyance and really overcomplicates most of my stuff.

                                        I currently use Go and dabbling in Crystal and Nim. I was suggested Ocaml and Scheme for dabbling on the lobsters irc channel. And Julia has interested me. I’m just not a huge fan of all those parentheses

                                        For me go is great but I really wish it had Enums, sum types, generics (I know those are coming), options, pattern matching. I end up implementing half that stuff manually in Go. There is V that takes go and adds all that but it’s super early and most of it doesn’t work so I’m mostly just keeping an eye on it.

                                        1. 1

                                          Scheme definitely feels to me like one of those force multiplier languages - if you learn it and master it you can seriously up your game from everything I’ve read and anecdotal data I’ve gathered from watching others.

                                          For myself I’m sticking to Python only for now :)

                                    2. 1

                                      Quarantining for a week, as is required in the UK currently when returning from abroad. Planning on spending a lot of time in the garden as the weather is supposed to be half-decent.

                                      Gradually getting back into the swing of work and life at home.

                                      1. 1

                                        Mostly Real Work. Migrating one of our more important systems to Kubernetes, on the grounds of:

                                        1. It currently depends on a service I wrote in ~2015 for doing service discovery in a pool of cloud servers and updating a load-balancer config to distribute traffic among them.
                                        2. While that service I wrote has worked pretty darn well for 6 years or so there are some reasons to be afraid that it might break someday and take something revenue-generating with it.
                                        3. While those shortcomings could be fixed, my thing is basically the same concept as a k8s ingress, and they’ve had a lot more time to think about the reliability and state-management bits than I have.
                                        4. We’re using plenty of kubernetes these days (naturally we weren’t in 2015) and it seems like the path of least resistance.

                                        All of which sounds pretty boring, but migrating a big, high-traffic system without disruption is no simple matter, and there are some wrinkles in exactly how we do the load-balancing that have required some serious thought and some actual coding to make k8s-compatible, so it’s been a rather interesting project.

                                        Off in ionosphere land, two items of note:

                                        1. UMass Lowell has apparently had a major IT SNAFU (apparently security-related) that led them to shut down basically all computer systems and close the school a week ago. They’re slowly recovering, but pretty much everything external-facing is still dead. One of the data sources for my site, GIRO, is an ionosonde data clearinghouse hosted by UML. It used to be my only data source, but luckily I got hooked up with a second source (NOAA NCEI) about a year and a half ago, so I just have degraded data due to the loss of GIRO and not a total outage.

                                        2. After a long long long time spent pondering and discussing the topic with a few different hams and scientists, I think I have a working approach for a system that will be able to incorporate real-time data from PSKReporter spots and use it to improve the accuracy of the maps. The advantage of using spots is that they’re very up-to-date and they come from thousands of stations in different locations (as compared to the 50 or so ionosondes publishing open data on a regular basis). The disadvantage is that the receivers that feed into spotting networks are uncontrolled and uncalibrated — some of the data is garbage. Plus there’s a kind of asymmetry in our information — when we get a report that says that a signal made it from point A to point B, we can assume something about the ionosphere that made that signal path possible. But when we don’t get a report, we can’t be sure of the reason: is it the ionosphere, or that nobody is listening, or their antenna is pointed the wrong direction, or they have a local noise source that drowns out the distant signal? This makes the statistics pretty hard. But I think I have a workable approach. I’ll find out once I write all of the code to collate and crunch the data so I can see what comes out :)

                                        1. 1

                                          With any luck getting my new Lennovo T15 gen2 laptop in the mail and using it to get back to understanding how to implement breadth first searches in Python :)

                                          1. 1

                                            I’m working on trying to finish up some things at my current job, in preparation for a new job next week.

                                            1. 1

                                              Same! Exciting! Hopefully the new job goes well for you :)

                                            2. 1

                                              A kind friend invited me here a few days ago, so basking in the glory that is lobsters.

                                              At $WORK, we released an app last week that helps COVID positive patients track and share their vitals during home quarantine - http://logicsoft.co.in/quarantine-diary so I’m trying to figure out how to reach it to doctors so that it can be used better.

                                              Otherwise, writing the integration bits for our system to communicate with Amazon’s Yojaka (smart connect)


                                              Edit: Fix typo

                                              1. 1

                                                I’m in my sixth month of paternal leave, so all weeks are sort of the same yet imperceptibly different as my son grows, explores the world and learns new tricks.

                                                It’s also a bit mind-numbing following him around – what with him not being able to speak so he just points and grunts. When he sleeps I’ve been working on statistically modeling football to beat some co-workers in a silly prediction pool. So far, I’m not, and my latest models have me at a 9 % chance or so of winning, out of 12 participants, so…having better luck with the dad thing so far.

                                                (Not that it’s as easy to quantify.)