1. 1

    As for the mobile apps I’ve been using Beorg and keep the journal in iCloud, this way I get seamless syncing with no configuration.

    It works great for me, but I might be missing some features that I don’t need, I’m no emacs aficionado; org-mode is my sole use case and I use vi for everything else. I used to just keep a markdown file with checkboxes for the same purpose but good a good mobile app was what made me switch a couple of years back, and of course some built in handling of time stamps for various things.

    1. 1

      You might give emacs+evil a try, if you haven’t yet. I was in a similar boat to you (emacs for magit, and vim for everything else) and it turns out that evil is pretty rad (possibly the best vi-emulation layer in any non-vi I’ve tried), and the switch was relatively painless.

    1. 4

      A measure which ties in with business goals is speed of completing common tasks, for instance an endpoint for a common api, of course this will be a bit misguiding in the beginning while the team(s) are getting up to speed with the new patterns and structure.

      Another measure worthwhile to look as is number of defects in newly produced code as well as time required to resolve said defects, a new architecture should ideally reduce number of defects and make them easier to pinpoint/resolve.

      1. 1

        This is a good point! A clear way to see if you’re becoming more efficient. Just long as the defects are reported properly and not fixed “under the radar”, but that would be a whole other problem.

      1. 2

        The Sinc looks nice for a ISO-split. I spent a fair bit of time last year and in the beginning of this researching high quality fully split ISO-compatible keyboards after I had worn out yet another Microsoft Sculpt. Ended up ordering a Dygma Raise a couple of months ago, hopefully it will arrive in September if there aren’t any more delays.

        1. 8

          So I’m a bit lost here, is it macOS running on top of the Linux kernel or is this just using docker to sandbox kvm? If so is there any benefit of using this over kvm directly?

          1. 2

            The latter… I think the “interesting” part is that it’s using something called “gibMacOS” to frankenstein the macOS build from Apple update files as part of the container build, rather than using an existing system image (which might conceivably be legitimate).

          1. 1

            I’m working on a training app focusing on building muscle and logging data and measurements in order to show long term trends and progress, detect and overcome plateaus.

            It’s a fun side project where I can try out some new techniques I’ve had an eye on for a while in a no stakes manner while it’s also filling a personal need. It’s also a great way to see if any of these things could be suitable for a client further ahead.

            For the backend I’m using

            • PostgreSQL 12 (I know it’s not ready yet but I’m playing with some new stuff like then new generated stored columns)
            • Python 3.8
            • FastAPI for async, typed REST (with OpenAPI specs) & GraphQL API
            • PyDantic, for lean dataclass-esque data validation and modelling
            • asyncpg as a fast async PostgresSQL driver for Python (alternative to the much more common psycopg2 which I usually use)
            • Hypothesis property based testing and “Swagger Conformance”-testing

            And for the frontend I’m planning to use

            • App
              • React Native App, focus on iOS
              • Health kit integration
              • Offline use, online sync
            • Desktop/web
              • React (maybe next.js), rest is TBD

            So far I’ve built the data-model, designed a draft API, implemented the model in Postgres (it’s fully functional and usable, have been using Google Sheets/Excel as a frontend in the gym until the app is done) Modelled my workout plans as a YML format which can be added to the database (no API for this yet), the app is plan agnostic to make it more reusable. Started on a CLI, using click which does make usage of the async driver a little bit more interesting since click isn’t (not a problem though).

            A couple of years back I built a CLI app for tracking statistics, trends and progress from another app I were using but they were bought and the API were shut down, there for I decided to create my own app instead this time around.

            My next step is building out the API to a fully functional state, adding a basic web frontend so I can use it from my phone in the gym and try out the model/concept before building out the app.

            Problems I’ve ran into so far: PG12 is not greatly supported by tools and database drivers. For instance the DataGrip IDE by JetBrains crashes on introspection if I try to connect to my database. Syntax highlighters also scream at the new syntax. As a backup plan I’ve also implemented the model in a fully PG11 compatible way although it’s slightly more verbose and less neat, I’ve been running the databases on both PG12 and PG11 in parallel for now.

            1. 2

              How do you like FastAPI? Considering using it for something.

              1. 1

                I like it very much, especially with pydantic. It’s replaced flask as a go to framework for new projects nowadays and definitely my favorite of all starlette/Asgi frameworks I’ve used. I made a talk about pydantic where I briefly touch on FastAPI recently https://youtu.be/WJmqgJn9TXg

                Also swagger-conformance have been superseded by schemathesis for automatic test generation for OpenAPi-specs.

                1. 1

                  What are you using for your frontend? With Flask were you doing server side rendering or just using it as an API?

                  1. 2

                    No just as an API, I have used the jninja templates back in the days but not in a long time now, I mainly use react on the front-end side of thingsthese days. I can recommend next.js for react if you want react with smoke server side rendering though, it’s very nice, I used it for a client project earlier this year.

            1. 2

              I just use <a href="#">Top</a> on my website, always have. https://hultner.se/

              Is there any reason to use a defined id/name instead?

              1. 1

                I don’t recall for sure which browsers support which, but I remember for sure that the <a name=foo> [...] <a href="#foo">foo</a> is by far the most compatible way of doing it, while other methods do not work across all browsers.

                1. 1

                  Would be interesting to know which browser doesn’t support the standard #-method. Don’t think I’ve ever noticed it not work in any substantial browsers.

              1. 2

                This is my first time recording a YouTube video like this so I’m glad for pointers :)

                1. 5

                  Speaking at the python pizza remote conference.

                  I have a talk on pydantic, a python library that adds amongst other things runtime type checking/enforcement to python classes and functions using standard python type annotations.

                  1. 2

                    Good luck for your talk!

                  1. 1

                    The iPhone booting postmarketOS shouldn’t be anything shocking. You can run anything from linux to windows 95 ever since the first jailbreaks.

                    1. 2

                      a) not true, Windows 95 was never running on a jailbroken device natively - only as a user-land application with iOS/iPhoneOS as a host system

                      b) With that attitude anything anyone could ever accomplish is not worth noticing or “shocking” because it is accomplishable.

                      1. 0

                        Well first Linux is misleading, I ran Linux on my iPhone 3G more than a decade ago with open iBoot.

                    1. 2

                      I don’t get the purpose of this, isn’t it easier just to switch sessions the regular way with ^b( and ^b)

                      1. 2

                        I do that as well (as well as prefix-s) but it doesn’t start up new sessions in the directory I care about automatically. It’s a couple commands to start one, and potentially getting it wrong if I forget that a session already exists… classic shell script territory 😆

                        1. 1

                          I see, we probably use sessions slightly different. I use a session per active project/customer I’m working on plus one generic/sandbox and usually I have around 3 sessions open, one session usually consist of 2-9 windows with a couple of panes each where I have a window per subproject in a larger project. For instance when I’m working on a client code base where there’s subproject for frontend, a couple of backed services, database, infra, documentation I keep a window for each of them named after their respective name or purpose and name the whole session after the client/project.

                      1. 4

                        Precisely for this reason I just bought the LG 32UK550-B for around 340 EUR.

                        It’s a great monitor but a word of caution if you use MacOS: for some reason, not all scaling option are available to all monitors.

                        I can only choose to run it at native resolution, where everything is way too tiny, or scaled to 1920x1080px, and everthing is way too big. It does not provide me the option to run it at 1440px retina. This sucks quite a bit.

                        I’m still trying to figure out why, given that at work we are provided with a 4k monitor and I’m running it at 1440px without any issues. Maybe it’s because the work monitor runs via USB-C, whereas the one I bought is connected via HDMI.

                        EDIT: I’m fairly sure the monitor I use at the office is the HP EliteDisplay S270

                        1. 2

                          I have a very similar LG monitor – believe the model number is slightly different due to white labeling.

                          My nightmare of troubles was solved when I moved away from HDMI which was apparently too low-bandwidth to drive 4K above 30Hz (yuck), and to a reliable USB C 3.1 / Superspeed+ cable because the one I pulled from a grab bag at work was apparently a USB C 3.0 cable and didn’t support the right Displayport alternate modes.

                          I also learned at least a bit about all the distinctions above and truly regret that I did.

                          I now have a comfortable setup I am happy with a decent amount of scaling options and can at least tell you what options I have, if it would help… I’m not entirely certain I am or if I could run at “1440px retina” because this new world of scaled resolution is near incomprehensible to me :)

                          1. 2

                            Oh yeah, USB C version scheme is true nightmare material.

                            My monitor doesn’t offer USB C connectivity, however supposedly I’m using a HDMI 2.0 cable wich should support 4k 60Hz and above. I don’t have a Display Port to USB-C adapter to test if maybe the situation is different over Display Port.

                            1. 1

                              I managed to get a “Thunderbolt 3” dock from work and went DP -> dock (MDP) -> USB-C Displayport to my Macbook. It was a mind-bogglingly difficult mess to work through – which is why when the “mandatory WFH” order went out I was sure to go pick up all the gear because I knew I’d never reproduce this at home.

                              1. 1

                                I use a USB-C -> (mini-)DisplayPort alt mode cable, and it is so much better than the world of hurt that is HDMI (which I used before). From HDMI cables with too low bandwidth to glitching after the system resumes from sleep (though IIRC that only happened on Linux).

                                1. 1

                                  I use RDM (Retina display manager) to access more resolution modes then otherwise available, have you tried something like this?

                                  1. 2

                                    Yep, I tried RDM and also SwitchResX without any success.

                                    1. 1

                                      Ah switch res x would been my next thing to try, that success. Something I’ll look out for when buying 4k monitors in the future, thanks for the heads up.

                              2. 1

                                Get a top-shelf DP cable, and switchresX, I needed that to drive my LG 31” correctly from my older macs, I haven’t tried it with my new 16” tho.

                              1. 1

                                Not quite 4k but I used the LG Ultrafine 5k combined with a 5k-iMac, it also plugs into my MacBooks whenever I need it for them. Works great, no problems, best monitor I’ve ever owned.

                                Had some problems with the WQHD version of the Z27 where the USB-C connection would stop working every few weeks, turned out that the settings would revert to power saver mode at some unknown interval of time which in turn disabled USB-C, pulled my hair for a while before I figured out what was happening the first time. It also only supplied 15W power over USB-C so it wasn’t really enough to charge my laptop while using it so I had to still use an external charger which felt like a step backwards.

                                1. 7

                                  Before we judge these apps, there are legitimate UX reasons to check the clipboard (I love it when Stripe pulls the security code out of the clipboard automatically when 2FA logging in) but apps need to justify that access as legitimately helpful.

                                  1. 1

                                    From the article we can read that some said apps have no textual input what so ever (games without inputs)

                                  1. 3

                                    I’ve been working from home for about 6 years at this point, and moved into our current house a bit over a year ago, but have yet to make an investment in wiring it up with Ethernet. It’s a 126 year old house… I’ve been thinking about trying Ethernet over Power to get Ethernet into my office at the back of the house… Anyone have any experiences with that, and /or recommendations?

                                    1. 4

                                      Ethernet over power has been… unreliable in my experience. Especially in an old house where the power installation is dating (another 100+ house here), there’s a lot of packet loss, and the terminals de-synced regularly.

                                      I worked this way for a couple of years then finally spent the money to wire my office (professionally), and my only regret was not doing it earlier.

                                      As far as reliability is concerned I consider Ethernet over power worse than wifi, so I would suggest you skip the EoP phase entirely stay on wifi until you can afford/organise wiring.

                                      Annecdata etc… But feel free to ask further questions (I can for example look up the brand I used once I’m back home)

                                      1. 4


                                        Had EoP. Laying real ethernet was a pain (one wall is like a bank vault), but it worth the pain. But I also know people who are happy eith EoP.

                                        Anyone who considers EoP should buy from someone who allows returns, test it thoroughly and run 24×7 ping every second for a few days, and floodping too, and return the hardware if they lost the lottery.

                                      2. 3

                                        I’m in the same situation, and a cheap pair of EoP devices works for me. (I am travelling and unfortunately don’t remember the brand/make.) I’ve heard some people struggle with EoP reliability, but I’ve had no problems.

                                        1. 1

                                          I think it depends a lot on quality of the electricity you receive, how much and regular power you draw, and cabling in your house. For instance I’ve seen installations where packets start dropping when someone runs a vacuum, washer or hairdryer.

                                        2. 2

                                          My experience with powerline ethernet based solutions is that it’s vastly worse then WiFi, so if you can use WiFi that’s much better. Even with “high end” equipment I’ve rarely seen someone getting peaks over 100Mbit/s and sustained speeds less than half that.

                                          I did plan and helped install ethernet in a 200 year old house/castle (which is part of our national history perseverance program making regulations rather strict for everything). We installed UniFi access-points about 10-15 of them across 4 stories and got really good internet speeds in every nook of the castle. I originally planned rough positions for good coverage and then worked with a skilled electrician to find places where we could easily route cables through existing ducting/holes in the walls and placed our outlets and access points based on the best combination of coverage and possibility of retro fitting the cabling without doing and invasive work in the building. Turned out really good and went quicker than expected, working with a experienced and skilled professional really helped keeping installation simple, fast and flexible.

                                          A third alternative which is somewhat of a hybrid approach which I’ve only rarely used in building to building connections is putting a directional wifi antenna where the internet comes in and another at the office where you want to receive, then use the “receiver” as a bridge to a wired ethernet switch and possibly a more typical omnidirectional wifi access point. Ubiquiti also have some cost effective solutions here. I haven’t tested their new “UniFi Building-to-Building Bridge” but it seems like a quite nice solution, same thing can be achieved with any directional WiFi unit though. https://store.ui.com/products/unifi-building-to-building-bridge

                                          1. 1

                                            I use Powerline to connect my downstairs entertainment center to my network core. It really only needs enough bandwidth for Netflix 4K (~25 Mbps) and the rare occasion that I turn on my Playstation 3 for an update cycle in case I ever return to it. It works fine if your house is wired sensibly. You won’t really know until you try. You’re best off getting the fastest adapters you can afford and settling for whatever speed they provide, rejecting them if and only if that speed is inadequate for your purposes. You’re better off running Cat5e or Cat6|7 if you can at all or getting a really good WiFi AP and moving other devices to a wired setup if they have Ethernet ports.

                                          1. 2

                                            Looks very nice but unfortunately it only seem to support a handful of commands at this moment.

                                            It would be nice if some effort to automatically port/convert cheatsheets from other projects like tldr & cheat would be made. Or even better if it could parse existing man-pages.

                                            1. 22

                                              For me, Catalina worked fine since I’ve installed Beta 2 last summer.

                                              Even the usual suspects, VMWare, Vagrant/VirtualBox and Homebrew survived the update just fine.

                                              I see no crashes (at least not more than the usual once-every-two-months need to reboot), nor other weirdness. Compared to Mojave, even the random Bluetooth disconnects I had with my Magic Trackpad stopped happening.

                                              Of course this is total non-news and I’m not going to publish a blogpost saying that Catalina is fine for me nor would that reach, much less survive on, the front page of any news aggregator if I actually were to write such a blog post.

                                              Unfortunately, we only read about people having issues and we conclude that everybody must have problems.

                                              1. 6

                                                Hear hear! I think we should share our positive experiences more often, since it’s in our nature to latch on and to spread the negative ones.

                                                1. 3

                                                  I think we should share our positive experiences more often, since it’s in our nature to latch on and to spread the negative ones.

                                                  From the article:

                                                  It’s interesting to me how — apart from the usual fanboys — I still haven’t seen any unequivocally positive feedback about Mac OS Catalina.

                                                  Is your experience positive (it got better) or is your experience neutral (it didn’t get worse)? What is the best thing about Catalina, and what would be the elevator pitch for why somebody should install it?

                                                  1. 3

                                                    apart from the usual fanboys

                                                    I certainly wouldn’t consider myself an Apple fanboy, but when I look at the current state of all the other platforms, nothing comes quite close enough for what I need and like.

                                                    Is your experience positive (it got better) or is your experience neutral (it didn’t get worse)?

                                                    I take issue with the implication that things chugging along just fine is somehow not a positive thing. I was doing well yesterday, and I am doing about the same today. Not better and not worse. Am I somehow worse off today because of that? If I am not worse off, then is my experience not positive?

                                                    What is the best thing about Catalina, and what would be the elevator pitch for why somebody should install it?

                                                    Two things sprung to mind immediately:

                                                    • I was pleasantly surprised both this week and the week before that the OS notified me of my daily average use of the computer over the prior days. The numbers were, unsurprisingly to me, extremely high. I knew I was spending too much time on the computer recently, but the computer itself giving me hard numbers is what finally convinced me to take steps toward spending less time on it.

                                                    • I really appreciate the increased security that notarization brings. Hell, I’ve even written a native app and gotten it sandboxed, notarized and deployed on the App Store so I’ve experienced more “pain” than the average Catalina user in this regard, yet I still think it’s a fantastic improvement.

                                                    1. 1

                                                      That looks super interesting.

                                                      I really like separating any UI-application in a client-server layer, to avoid accidentally letting business logic, heavy computation, and blocking IO to creep into/block the UI threads (something I’ve seen happen with many QT-based GUI-application). The risk of this is heavily reduced by making the barrier more concrete through separate processes with RPC, while also adding opportunity for more resilience since the client and server process can be restarted separately if an issue occurs.

                                                      Would be interesting to see some more details of the GUI/Swift part of the application for someone not familiar with that toolchain, are you planning to write more articles in this series?

                                                      1. 1

                                                        Thanks! Yes, I do plan to write more about the technical bits of the app in the future. I think I’ll do another post after I’ve got the Windows port ready. I’m thinking it would be fun to compare Windows Forms and SwiftUI in a post. It might be a while before I get to it, though, because I’m juggling a ton of stuff at once at the moment.

                                                        In the mean time, the application is source available so you can take a look at the GUI code here.

                                                        1. 1

                                                          Interesting, looking forward for it.

                                                          Are you planning to showcase how you work with XCode? Would be nice to get a overview of how the workflow looks for these kind of apps.

                                                2. 3

                                                  same experience here. I have encountered some crashes on my work laptop, but since I’ve had zero issues on my home laptop, I’d much sooner attribute that to my employer’s custom management software than the OS itself.

                                                1. 3

                                                  I was just thinking the other day I should blog about one (super trivial) Alfred workflow I wrote and how Alfred’s choice of export format, a zip with a custom extension, makes it unnecessarily difficult to version control and share these things. Having a project folder format with a plist/json file describing the relationships of objects and plain text files for individual elements would both help during development and make it easier to inspect other people’s workflows.

                                                  1. 3

                                                    Interesting, I came to a similar conclusion.

                                                    I’m not familiar with aldredworkflow-files and wanted to inspect the code so I downloaded it and begun by opening the binary in view, saw that it was a binary archive resembling something of a zip by the file-headers so sent it to file and confirmed it, the nice thing is that unzipping it showed that the actual code is in a plist-xml-file so the code is readable.

                                                    From my point of view it would make more sense to check in the individual files of the .alfredworkflow-file instead and create the zip as a part of the build process instead (since it’s essentially a build artefact), a simple makefile which zips and renames would do.

                                                    To take another example python have the exact same thing with .pyz (and pex) which is a zip-file containing the files of a project (and commonly vendored dependencies) but I wouldn’t check the .pyz-file into my git-repository, that’s just an artefact produced by my build scripts.

                                                    1. 2

                                                      I just went to view the code and thought similar.

                                                      I’ll ask the Alfred authors if they already have a systematic way to version control workflows.

                                                      1. 1

                                                        Agree! If you find a better way I’d love to know. I also don’t like installing workflows from other devs without vetting them first.

                                                      1. 9

                                                        I love everything about this. What a great solution. :-)

                                                        1. 4

                                                          Yep it’s really nice somehow to see these amazing results!

                                                          Sad thing is since an hour of an average engineers time is worth more on the open market then this TV is, so rationality would say that these efforts are rarely worth the time spent, but yet we do it, there’s a less tangible recreational value in it.

                                                          I’ve got an 10 year old flaky tv myself, it’s probably not worth anything but it’s good enough for me. Lately it’s had problems with powering on properly and a friend using the same model had the same problem, we fixed both our tv’s by screwing them appart and surely finding the same cheap capacitor building like there’s no tomorrow, procuring new replacements and replacing it (and the rest of them while at it) combined with time spent unmounting it from the wall etc must have largely out-weighted both it’s value and the price of a new tv, yet there’s a rewarding feeling in fixing it and knowing that I’ll be able to use it a couple of years longer.

                                                          1. 7

                                                            If the time did not displace working time, then there’s no loss of income for you from doing this.

                                                            Electronics are also likely priced too cheaply because environmental and labour costs are discounted through poor living standards for the workers and lax environmental regulation. If we lived in a world with a flatter income distribution and better environmental controls then we’d probably reuse, repair and recycle a lot better.

                                                          2. 2

                                                            I want to have friends doing stuff like this!

                                                            1. 0

                                                              For me, it’s more at the level of “not bad”. Here’s the disappointing bit:

                                                              It would be nice to apply the corrective filter to the whole screen instead of just a video playing in an application, but I couldn’t think of a way to do it.

                                                              If the author had managed to get the filter into the TV’s firmware or something like that, I would be truly impressed.

                                                              1. 4

                                                                It would be indeed sweet to have the correction running all the time. An FPGA devboard with two HDMI ports could be a realistic solution here.

                                                                However I can’t even begin to imagine the toll such hardware hacking would take on my free time. Sometimes a “80% there” solution is good enough.

                                                            1. 0

                                                              We use(d) Elm at the company I work at. (A start-up.) Elm is great. All of the positive rumors about it are true.

                                                              The issue we’ve had with Elm isn’t typically discussed: My CTO doesn’t seem to see the value of it+. So we recently replaced our Elm code with JavaScript.

                                                              I wonder if anyone else finds themselves in a similar situation.

                                                              +It’s a bit more nuanced. We’re in a very “MVP” stage; the line of thinking is to use something everyone’s more familiar with so we can move fast.

                                                              1. 3

                                                                Your CTO is right. Elm-isms should be translatable to JS, and honestly, you can make simple webapps today with JS and React only.

                                                                Sure, maybe Elm forces a style onto the programmers. But when you join a project, you’re supposed to follow the project’s style anyway. If you started the project “Elm style” it should continue on this style with new hires.

                                                                +1 to your CTO.

                                                                1. 4

                                                                  This simply doesn’t happen. New hires will expand the team past the ability of the initial developers to control, “Elm-isms” (e.g., good practice) will be abandoned, and it’ll become a typical JavaScript project. After a few months you’ll never know that it started as an Elm project at all. After all, there’s no backup from above to maintain the Elm-isms because the “CTO doesn’t seem to see the value of it.”

                                                                2. 2

                                                                  All of the positive rumors about it are true

                                                                  Indeed. Whats more, I think Elm should be everyone’s first programming language. Just learning Elm is way easier than learning JavaScript and all its ridiculous thorns, and Angular, and React, and Redux, and Gulp, and Ramda, and Immutable, and and ad infinitum.

                                                                  My CTO doesn’t seem to see the value of it

                                                                  That’s a shame. I disagree with their assessment, but then usurping that person wouldn’t work either (I’ve tried a few times).

                                                                  The good news is that us programmers are in an amazing position to start our own businesses the way we see fit.

                                                                  the line of thinking is to use something everyone’s more familiar with so we can move fast

                                                                  That sounds reasonable superficially, but how familiar is everyone really with the current JavaScript landscape? It’s the part of the industry with by far the most NIH and churn.

                                                                  1. 1

                                                                    I can imagine it’s hard to stick with elm in the beginning because you spend a lot of time on issues you could resolve easily/quickly in JS as you’re more familiar with it. I think the benefits of elm can pay off though (rather sooner than later). But only, if your product stays somewhat similar.

                                                                    In an MVP stage though, it happens all too often, that you pivot your business model a few times. Spending a lot of time on code that you’ll eventually throw away doesn’t help anyone (except for you as a developer, because you get to learn a lot and don’t have to suffer from your past mistakes ;))

                                                                    Your story reminded me of this article: Move fast and don’t break things. They share a more positive perspective on using elm in a startup environment.

                                                                    1. 0

                                                                      I thought the goal of Elm was to have a very simple language/framework, with the main point of moving fast with it (no shiny new features every month).

                                                                      1. 0

                                                                        I’ve only tried it briefly about 4 years ago but to me it was basically haskell without typeclasses.