Threads for jorgelbg

  1. 5

    Does anybody use tabnine? I get tired of it sometimes, and it suggests code that might not type check, but it can complete a lot of non trivial Haskell code and it automates a lot of the boilerplate in a web project I mantain

    1. 2

      I use tabnine regularly and I do find it useful, I think I prefer their approach of suggesting single lines instead of complete blocks (as appears to be the case from Github Copilot), although I would have to test it. For me it saves me of googling/remembering some snippets of code to do some mundane tasks.

      1. 1

        Try writing an evaluator for simple arithmetic expressions in haskell or elixir - tabnine gets too much right :)

    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.

        1. 1

          I wonder if this will push users looking for an all-in-one solution into the arms of Jetbrains space. Nervertheless, this leaves a hole in the OSS space, unless some fork with traction emerges.

          1. 2

            This took me down memory lane. I think my first contribution was a port of the (at the time popular) Jupiter utility to replace the C# (mono) dependencies in favor of Python, it made the entire package slimmer and it also added integration with the Ubuntu appindicator. I had an Acer Aspire One at the time (with an Intel Atom processor), which I used with a 15” external monitor and Jupiter offered the more reliable way of applying some settings and squeazing a bit more of performance from the laptop. Good times.

            1. 1

              I’ve been playing around with building by own minimal website analytics solution - dashflare. It can be self hosted with minimal effort and it doesn’t require adding a Javascript snippet to the website.

              It was born as a toy project for me (and a colleague) to scratch my own itch of getting rid of Google Analytics and getting to play with edge workers.

              1. 2

                I’ve been using a keychron k1 for a few months and before that Apple keyboards (full numeric key and also the smaller version). I’m thinking on getting a moonlander and finally giving a try to a split keyboard a try.

                1. 1

                  Watching some FOSDEM talks. I want to write a blog post for my blog about how we defined a SLIs for our data pipelines at work. I will also continue to setup my new laptop from work, since my last one has been buggy and I got a replacement from IT.

                  1. 14

                    Flying back to Canada and getting a job permit at the border so I can finally start my new job.

                    1. 1

                      Nice, congrats!

                      1. 1

                        Awesome, congrats!

                        1. 1

                          Congrats!

                          1. 1

                            Yay, congrats!

                          1. 3

                            I agree with the sentiment that Github has become a social network, even more, people starting to use stars as a way of measuring the technical level of a given project, when in reality it only measures popularity.

                            That being said, GH does offer a single place where you can look for projects in a given language, samples of code, configurations, etc. This is only possible because it is centralized. I’ve even been using GH code search (which is not great in any way) when I need to deal with poorly documented APIs.

                            From a personal PoV, it is something that I don’t need to maintain myself. I can just use it and push my code there. Even Github Actions (the CI part) has become popular because it is just built-in into the service. It takes a few lines of YAML to go from 0 to running static analysis tools, checkers, and others in my PRs/commits. The funny part is that I enjoy these “benefits” on a personal, it is not just for less technical contributors, it’s mostly for me.

                            Can all of this be replicated outside of Github? Definitively possible, projects like drone.io, Gitlab, buildkite, phabricator, gitea, gogs.io, Jenkins, and many others make it possible. But it is just a lot less convenient game not having to host/maintain all of this.

                            1. 3

                              GH does offer a single place where you can look for projects in a given language

                              I’m the lead developer of the Fennel programming language.

                              Most Fennel projects are not found on GitHub, because GitHub does not syntax-highlight them correctly. GitHub are not interested in adding this, because they require a certain number of projects to be hosted on GitHub before they will consider adding syntax highlighting.

                              However, the lack of syntax highlighting drives everyone away from GitHub and on to other hosting sites that actually do support Fennel! So I don’t think we’ll ever reach that threshold they require.

                            1. 11

                              Hetzner is awesome. I first used Digital Ocean too, but after getting more familiar with VPSs, I found Hetzner and used them since then. I think I started using Hetzner Cloud soon after they left beta status, which was already some years since ago. Have been very happy with them since then! :smile:

                              1. 3

                                I wish hetzner has other locations, including US and Asia. Digital oceans allows more locations. I guess the direct competitor here is scaleway, they both have limited selection of locations, and seems hetnzer having lower price now.

                                1. 18

                                  I have two cloud servers at Hetzner. To be very very honest, a cloud provider with no presence in the US at all is really attractive for me. It’s not that I would outright cancel if they did create presence in the US, but I would become more wary of public response and opinion on the company.

                                  It’s a small matter of principle, I guess. I care about Europe, and feel like it’s threatened sometimes.

                                  At the same time, if you want to run a company with worldwide presence, I totally understand Hetzner is less attractive.

                                  1. 3

                                    Yes, absolutely. Hetzner even has a data center in Finland, which is kinda rare.

                                    1. 1

                                      Another problem with a potential DC is that the US government can ask them to give over your data. That may not be an issue by itself, in theory, the government is working for the good of its citizens. But some governments, US included, are particularly bad at abusing this data to target groups of people to perform semi-legal or outright illegal operations. Additionally, once I have that data in a US datacenter, I can no longer guarantee my users that their data is fully private, as is the EU citizens’ right.

                                    2. 4

                                      vultr is probably a more direct competitor to DO in the vps space.

                                      1. 2

                                        Yep, with even lower price.

                                        1. 1

                                          Depends what you mean by lower price, Vultr definitely has lower priced options but seems to be more expensive for the same specs on Hetzner

                                      2. 2

                                        Seen as it was mentioned here, Scaleway seems to be the only cloud provider I’ve been able to find with ARM hosts available at a reasonable price. Yes, AWS has ARM, but they’re for literally 2.5x the price.

                                        I’ve been pretty happy with them overall, despite being on the other side of the ocean.

                                        1. 1

                                          I have a single VM currently in DO because I use it to run a couple of services for my family (in the Caribbean) and also for when I am traveling home myself. Hetzner is great but the latency of going to Europe and back for something like a VPN adds up very quickly.

                                          1. 1

                                            Contabo (also in Germany, in fact right here in Munich) has even better pricing, depending on what server you want.

                                            1. 2

                                              Thanks, they seems offering bigger instances at similar pricing with hetzner. But their website looks really outdated, and makes feels like it’s a scam site :(

                                              1. 1

                                                I agree, looks like crap :) I even had to wait for them to “activate” my account or something, but I did get the VPS access date l data a few hours later. But it’s legit and it works so far at least.

                                                As for the scam, they’re in Germany so that would make it pretty hard for them if they actually cheated, I think. So I don’t actually know what their game is. Maybe they oversell or something, which I don’t notice because I’m not using much of the resources.

                                              2. 1

                                                To bad they don’t offer any API that I can see. Love using Terraform for IaC.

                                                1. 2

                                                  It seems like they haven’t even automated setup. There are probably manual steps involved in setup. But an api is an often requested feature. Let’s see how quick they can deliver it.

                                          1. 1

                                            This week I’m going to be writing an internal design document or RFC about the changes needed to our already existing monitoring setup for having a central location for aggregating metrics from all of our clusters/environments. There is also some work on making this single location (which is also going to be a Grafana instance) highly available and resilient against entire regions becoming unavailable. After I will have to coordinate some efforts from different teams that will require changes to their existing workflows and start the implementation of the solution, hopefully this week.

                                            1. 2

                                              I think that https://cloud.google.com/blog/products/devops-sre/join-sre-classroom-nalsd-workshops could be of some use to you, it is not focused around a single programming language or approach (and it does focus on the design of the distributed system) but IMHO does a good job in evaluating different options while using a practical~ish system. I had the chance of going over the workshop (or a very similar one) in the Velocity Conference last year and I really enjoyed it.

                                              They’ve made available all the materials, slides, guides, notes, etc. (https://landing.google.com/sre/resources/practicesandprocesses/sre-classroom/) which should also help you to reuse whatever (if any) part you find useful.

                                              1. 2

                                                I attended one of these workshops last year during velocity and it’s a fun and refreshing experience. If you have safaribooks the presentation is here https://learning.oreilly.com/videos/oreilly-velocity-conference/9781492050742/9781492050742-video328447

                                              1. 2

                                                After I got handed a 2019 15” Macbook Pro as my work computer I started to do this. Thanks to Karabiner-Elements I can apply the change only when using the built-in keyboard (no physicall esc key).

                                                1. 2

                                                  Although I totally agree that this is a real problem for a lot of OSS maintainers out there, just rampaging against DO for the initiative doesn’t feel right. I’ve spent some time looking around and a lot of the accounts that are sending these (really spam PRs) are quite new, they do not have any other contributions, not even issues or any other activity in the account.

                                                  I do believe that the idea behind hacktoberfest is nice, provides an incentive for developers that may not have had the change to do OSS before. I think that projects tagging some issues with the hacktoberfest tag (or something) is also a good way to attract people that may be genuinely interested in starting some contributions. I know (from personal experience) more than a couple of friends that started doing some contributions (in previous years) thanks to this. It was perfect? Absolutely not, but there has been some people that are more active in the OSS now thanks to DO.

                                                  That being said there is definitively a tooling issue around this that should be improved. The way that I see it fixing a typo in a README in some repository although a tiny small contribution is a contribution nevertheless. Adding some random text to some file just for creating the PR it is not.

                                                  I also think that a contributing factor (this year, feels way worst) is that Github has lowered the barrier for new contributions, for instance you don’t even need to know/install/use git if you just want to edit a file (a valid feature that I use from time to time). Click the edit button a fork will be created and you can create a PR from the commit directly, very handy indeed but as everything it can be used in a negative way. I would be interested to see some analysis on how these spam PRs were created (at a large scale).

                                                  1. 2

                                                    This is quite cool although the DDC/CI requires connecting the monitor directly to the laptop (Macbook Pro in my case). I have a Dell U2718Q monitor that thanks to this handy tool I was able to control the brightness directly from Mac …. but doesn’t work if you go through a docking station. This seems to be quite common and mentioned in the ddcutil FAQ section.

                                                    1. 1

                                                      I wrote an instrumentation wrapper at Stitch Fix and have some knowledge about Open Tracing and this general corner of tech, and my first impression skimming this is that… there’s a lot of solid, thought-out info in here. People interested in application performance metrics should read this.

                                                      I also boggled a bit at “are they really doing all this in-house?” vs using some of the popular existing tools… well they had that covered:

                                                      Our experience matches this article in that the constraints and limitations of tracing systems often don’t justify the effort of implementing tracing in an organization. Even when a tracing system is implemented, it falls by the wayside once the initial excitement wanes. Thus, it’s not surprising that tracing has seen anemic adoption in the industry when compared to technologies like containers, micro services, centralized logging, and service meshes.

                                                      This is tricky to read in the context of “why in-house?” - the “don’t justify the effort of implementing tracing” part isn’t talking about THAT, it’s saying that the value proposition of existing tools often doesn’t justify the effort of using them. What I think is novel here is that they found ways of extracting value from the raw trace data in new ways that aren’t necessarily directly offered by 3rd party APM, because… well.. it’s hard to find the right perspective on that info (but the info IS there!). And THAT is why they did it in-house. I think. Disclaimer: I don’t know all APM tools, maybe ones I haven’t used totally can offer these features (but I sorta doubt it! tell me if I’m wrong!)

                                                      I admit, it’s late, I’m tired, and I still have only skimmed this, but it definitely deserves a closer look. It’s oddly getting me excited about exploring new ways of using instrumentation data, which is something I’ve had a fairly passive perspective on before now.

                                                      1. 2

                                                        I get what you mean, personally, this is what I find more interesting about honeycomb.io. Jaeger & Zipkin are very good at offering a visualization for a single trace and even (to some extent) to filter/search the traces by certain properties, but they’re not focused on how you discover (or browse) the data or trace context. Honeycomb offers a way to query any part of the data within the traces (context) without making you focus on a single trace from the very beginning, which makes it quite more useful IMHO.

                                                        Personally, I believe that elastic with their APM product has a good shot on offering something similar, but they seem to be quite focused on the single trace experience like Jaeger/Zipkin. To be fair they extract some info from the trace automatically to offer some builtin dashboards (duration, transactions over time, etc.) on the APM view, but it doesn’t feel like they the discoverability of the underline data is a priority. Perhaps it has to do with how the UI is built.

                                                      1. 4

                                                        This should be folded into https://lobste.rs/s/xwnzse/cloudflare_incident_5xx_class_http

                                                        Or rather, this analysis should be the primary, and the breathless beat-by-beat reporting of the first submission should be secondary - or removed entirely. Lobste.rs isn’t for breaking news.

                                                        1. 2

                                                          I’m good with either way but this was not posted here as a “breaking news” event, but more on the technical postmortem of the outage, to Cloudflare’s extent at least.

                                                          1. 2

                                                            Sorry if I was unclear, the preceding submission was the “breaking news”. This submission is on-topic. I’ve upvoted and flagged accordingly.

                                                        1. 1

                                                          I will be catching up on my sleep, probably trying to normalize my sleeping hours now that the heat wave is passing~ish out of Germany. I will continue working on gluying together some pieces for my website analytics solution here and here. I made some progress this week and want to finish a couple of pending tasks.

                                                          Will probably go swimming to a nearby lake to cool off :)

                                                          1. 1

                                                            This brings me back to my childhood learning to type on my father’s typewriter. I always hated handwriting my papers and such and I was able to use the typewriter for essays/writing assignments. The catch was that my father told that I could only use it if I learn to type “like a professional” first.

                                                            It was challenging, took me a whole summer of almost daily practice (copying from books and random documents). It was not only about memorizing the layout and building up the muscle memory, but also about having the strength in the not-so-used fingers to actually trigger the mechanical action of the typewriter (it was not even an electrical typewriter). The last few weeks I actually covered the entire layout of the typewriter with electrical tape to really probe that I didn’t need the layout x).

                                                            Fun times! I will always be grateful to my dad because of this.

                                                            1. 2
                                                              • work: Nothing, our company gave us this week to decompress from all the COVID crazyness and I am planning on taking a small trip to visit some family over in Las Palmas (Spain).

                                                              • !work: I want to write one blog post that have been in my mind for some time, it will be about how we define SLOs for our logstash logging pipeline. I will continue working on my personal google analytics alternative, got a new beta tester over twitter last week and will be setting up and poloshing the installation instructions.