LINKDING

Login

Shared bookmarks

  • MIT approach "the right thing" vs New Jersey approach "worse is better"
    Monday | View Shared by kos
  • #async #programming-languages | There are no colorless functions in the language. Want to make a function? Gotta pick a color. Them’s the rules. And, actually, there are a couple more rules you have to follow too...

    The post has aged like good cheese: since 2015 we've moved on from callback syntax to async/await, but the debate about advantages and disadvantages of futures and microthreads remains open and this is a fantastic, clear way to picture it (even if opinionated in one direction).

    2 weeks ago | View Shared by kos
    |
  • #algorithms #graphs | People really need to stop blindly copying code from the Internet.

    I haven't implemented bidirectional BFS but now I kind of want to, I didn't realize how much improvement it can be. Also the trick with starting the next step from the "narrower side" makes a lot of intuitive sense.

    3 weeks ago | View Shared by kos
    |
  • #calligraphy | In theory, using a fountain pen cartridges should be easy -- you insert one into your pen and you start writing. In practice, they are rather confusing. Some cartridges only work on one brand of pen, some work on lots of pens... and they all look alike!

    The reference I didn't know I needed! Even though I'd typically use converters, the compatibility chart is extremely helpful to have.

    3 weeks ago | View Shared by kos
    |
  • #games | The quotes have been taken from the game Sid Meier's Alpha Centauri, by Firaxis. Some of the authors and sources are fictional.

    I had no idea that the famous quote "free flow of information is the only safeguard against tyranny" is attributed to a fictional character from a classic computer game! Many more gems are to be found here.

    3 weeks ago | View Shared by kos
    |
  • #powershell #python #vscode #windows | When using VS Code on Windows, you might see an error message like this when running Python scripts or creating / opening new VS Code terminals (...)

    Just bumped into this problem, very positively surprised how helpful an answer I was able to find!

    1 month ago | View Shared by kos
    |
  • #golang #programming-languages | (...) I really tried to be fair here instead of getting mad and give Go some leeway even if it's just because of the cute Gopher. But I just can't lie to myself anymore. The language has multiple problems which could have been avoided.

    I was surprised to see such a throwback to the classic PHP article. I can see a value in this article because it brings attention to a lot of gotchas and inconsistencies in the language that we should be aware of; I especially appreciate a good summary of inconsistencies around zero values. However there's a different point to be made here: Golang feels like a successful language to me. It has a purpose and fits this purpose really well. There's a lot of amazing pieces of software that I use regularly that Golang made possible. Maybe this means we should appreciate Go not as a "overall well designed language" but as a language that successfully solved a problem back when a compiled language with great tooling, concurrency and modules wasn't so readily accessible? This reminds me of how PHP successfully solved another important problem, despite its language design problems.

    1 month ago | View Shared by kos
    |
  • Surprised to see Go use more memory than Java in some benchmarks!

    1 month ago | View Shared by kos
    |
  • #til #unix | Why pipes sometimes get "stuck": buffering
    1 month ago | View Shared by kos
  • #c++ #programming-languages | We’re basically seeing a conflict between two starkly different camps of C++-users: Relatively modern, capable tech corporations that understand that their code is an asset [...] Everyone else. Every ancient corporation where people are still fighting over how to indent their code, and some young engineer is begging management to allow him to set up a linter.

    The thing that surprised me most about this article is how much ongoing effort there is to "upgrade" C++ to match the modern set of expectations, and how much friction it seems to face. I wasn't familiar with the historical events like the big ABI vote, so lots of learning here.

    1 month ago | View Shared by kos
    |
  • #databases #postgresql | So I want to try to catalog the bits that I wish someone had just told me before working with a Postgres database. Hopefully, this makes things easier for the next person going on a journey similar to mine.

    This article is like a box of chocolates! There's some quality-of-life tips, some best practices tips and some performance tips. I wish I knew earlier about \pset null '[NULL]'...

    1 month ago | View Shared by kos
    |
  • #archiving #projects | If you do any sort of creative digital work, screenshots and screen recordings are a great way to remember it.

    Great piece about leaving "breadcrumbs" that will help you revisit your past creations. A fantastic zero-effort alternative to writing a blog post about everything :-)

    2 months ago | View Shared by kos
    |
  • #software-engineering #timezones | Timezones are weird. But only finitely so. Here's the exact conceptual model you should have of them.

    In which we learn about which place has a 45-minute UTC offset, which one has half-hour DST change, and how the DST rules are spelled out in databases.

    2 months ago | View Shared by kos
    |
  • I spent way too long figuring out the how to make video calls feel natural. Here’s the best advice I came up with.

    This made me switch to wired open-back headphones... and made me oddly aware how it's not possible to talk over each other in Google Meet.

    2 months ago | View Shared by kos
    |
  • #archiving | I've been creating small, hand-written websites to organise my files. It's a lightweight, flexible approach that I hope will last a long time. (...) I’m deliberately going low-scale, low-tech. There’s no web server, no build system, no dependencies, and no JavaScript frameworks. I’m writing everything by hand, which is very manageable for small projects.

    Very inspiring! Whenever I think about organizing things, I tend to start with picking a tool or a system or the means of automation. I suppose that's because I enjoy designing processes? Yet here's a process of managing personal knowledge that by design doesn't involve any automation, which makes it simple to set up and resilient.

    2 months ago | View Shared by kos
    |
  • #distributed-systems #software-engineering | Linearizability provides the illusion that each operation applied by concurrent processes takes effect instantaneously at some point between its invocation and its response.

    Eli's articles continue to be extremely helpful for me trying to wrap my head around concurrency.

    2 months ago | View Shared by kos
    |
  • #forums | Internet forums are still alive and kicking and full of information. Here are the best niche communities I could find that are alive and well.

    Message boards are THE blueprint for me for how an online community "should look like". I spend way too much time daydreaming about forums coming back! And from this article it looks like they... didn't really go anywhere?

    Not sure if I'm going to actually use this list for anything, but I'm keeping it.

    2 months ago | View Shared by kos
    |
  • #software-engineering | "Making software" is "changing layered branching logic". TDD is the fastest way to do it that we currently have. That’s all it is. It’s not mystical, or ideal, it’s not a slogan we can put over a poster with eagles on mountains. It’s a style of changing layered branching logic.

    Strong message that TDD is just good engineering, and it's supposed to be done not for some abstract reasons, but because it pays for itself.

    2 months ago | View Shared by kos
    |
  • #algorithms | Introducing DDSketch, the first fully-mergeable, relative-error quantile sketching algorithm with formal guarantees.

    Never realized how much subtlety there is in calculating, say, 95-th percentile of some value given a running stream of values. Datadog's approach makes a lot of sense and I love that they described it in a paper and shared a few open source implementations like this one.

    3 months ago | View Shared by kos
    |
  • #security | One of our favorite blog posts is our “crypto right answers” post. It’s intended to be an easy-to-use guide to help engineers pick the best cryptography choices without needing to go too far down a rabbit hole. With post-quantum cryptography (PQC) recently transitioning from an academic research topic to a more practical cryptography concern we figured it’s time for an update of our cryptography recommendations.
    3 months ago | View Shared by kos
  • #software-practice | If you’ve only recently turned to the dark side, you might not have thought of all the possibilities yet. So here’s a list of code-review antipatterns, for the dark-side code reviewer who’s running out of ideas.

    Relatable! Print out a Bingo card before reading.

    3 months ago | View Shared by kos
    |
  • #math | The sky is 360 degrees around. But the sky has area! Area is measured in square units, like a floor area is measured in square meters. How many square degrees are there in the sky?

    Found this one via xkcd 2748. Kind of puts in context why the Moon suddenly feels so small whenever you try to take a photo.

    3 months ago | View Shared by kos
    |
  • #software-engineering | Sharp edges in production can lead to all kinds of unexpected cases during the execution of an HTTP request – client disconnects, application bugs that fail a request midway through, and timeouts are all extraordinary conditions that will occur regularly given enough request volume. Databases can protect applications against integrity problems with their transactions, and it’s worth taking a little time to think about how to make best use of them.

    I keep revisiting this one as my go-to description of transaction-staged jobs.

    3 months ago | View Shared by kos
    |
  • #math | As a pattern junkie, you may know how to capture the structure of a repeating pattern in a diagram; that is, determine to which of the seventeen symmetry types a pattern belongs. Yes, we are talking about surface patterns, or wallpaper patterns, whose type is determined by what mathematicians call the plane (2D) symmetry groups. Turns out all pattern schematics are not made equal and, surprisingly, the most simple diagram, which is also the most useful for the non-mathematically inclined, is also the least known or, we might even be tempted to say, a well-kept secret.

    I still don't have a full intuitive understanding of all the 17 plane symmetry groups. It's relieving to see that finding the simplest schematics to illustrate each symmetry group is considered an important problem!

    3 months ago | View Shared by kos
    |
  • #software-engineering | Sum types are useful, but they are also an attractive nuisance in object oriented languages. There's a certain type of programmer who gets a taste of functional programming and has a good time, but misinterprets that good time to mean that sum types are always better, because they are FP, and FP is Better.

    An interesting description of the Expression Problem - a concept I haven't even heard earlier.

    I bumped into this one when trying to figure out how an API client could look like in Go if the response is an OpenAPI variant type. I find it very relatable because ever since Python 3.12 I started overusing match/case and ended up rewriting some places to OO style with interfaces.

    3 months ago | View Shared by kos
    |
  • #programming-languages | During a recent Rust Q&A Session on my twitch channel, someone asked a question that seemed simple: why are small string types, like SmartString or SmolStr, the same size as String, but small vec t...

    A nice walkthrough of all the differences between enums as in "overlapping memory" - known from C - and enums as in "variant types" implemented in rust.

    3 months ago | View Shared by kos
    |
  • #tech-industry | Some will tell you that Mozilla's worst decision was to accept funding from Google, and that may have been the first domino, but I hold that implementing DRM is what doomed them, as it led to their culture of capitulation. It demonstrated that their decisions were the decisions of a company shipping products, not those of a non-profit devoted to preserving the open web.

    JWZ perceives Mozilla's duty to be "building THE reference implementation web browser" (sic). This aligns with me, I have the same expectation - web browsers are too important to be monopolised; there needs to be more than one implementation in active use.

    6 months ago | View Shared by kos
    |
  • #game-development #math | With two different types of edge and two different types of corner, we have 2^8 or 256 different tiles in a complete tileset. (...) Generally though 256 tiles is too many to produce and use. However, there is an interesting subset of 47 tiles, known as 'Blob' tiles. So called, because each tile has a central 'blob' of land or carpet, aulthough tile_0 is often depicted without for artistic reasons. These can be used to tile room, terrain or carpet areas.

    Tilesets are a big source of inspiration for me given how they can "bring to life" a simple 2D array of numbers and make it look like a "place". Combine that with a tileset editor and you can literally paint locations!

    Guy Walker's website is my favourite resource about various approaches of tiling. It is currently offline but luckily there's a mirror available courtesy of Boris the Brave.

    1 year ago | View Shared by kos
    |
  • #law #tech-industry | In fact, it sounds obvious: mandatory regulations should be made available online, for free, so people can more easily know, share, and comment on them. Here’s the trick: this language would effectively endorse the claim that SDOs can “retain” copyright in the law, as long as they let the public read it online.

    When I was younger I was always wondering "why don't people just keep all the law on Github?"

    1 year ago | View Shared by kos
    |

User


Tags