HN user

stekern

43 karma

ekern.me

Posts12
Comments25
View on HN

I think the larger issue is how Kubernetes often is implemented in organizations - as part of internal developer platforms owned by central teams which on purpose or by accident can end up dictating how development teams should work. I think it's easy for such central teams to fall into the trap of trying to build smart, custom abstractions on top of Kubernetes to simplify things, but over time I believe these types of abstractions run a high risk of slowing down the rest of the org (good abstractions are really hard to come by!) and creating fuzzy responsibility boundaries between central and development teams. As an example, this can affect an organizational structure by (re-)introducing functional silos between development and operations. Can a development team really be fully responsible for what they build if they rely on high-level, custom abstractions that only someone else in the org really understands?

Furthermore, if everything in an org is containerized and runs on Kubernetes, it's really easy to have a strong bias towards containerized workloads, which in turn can affect the kind of systems you build and their architecture.

(Author here)

The main focus of the post is to highlight some of the long-term risks and consequences of standardizing around Kubernetes in an org. If you've done a proper evaluation, and still think Kubernetes makes sense for you, then it's probably a sound decision. But I think many skip the evaluation step or do it hastily. The post is more targeted towards organizations with at least a handful of employees. What works for an indy dev does not necessarily scale and work for SMBs or larger orgs - those are very different contexts.

The article suggests just using EC2 instead of K8s

Not quite. I suggest strongly considering using managed services when it makes sense for your organization. The equivalent of k8s in terms of managed services would be Amazon Elastic Container Service (ECS) as the control plane, perhaps with AWS Fargate as the compute runtime.

(I wouldn't really call EC2 a managed service - it's more in the territory of Infrastructure as a Service)

Not OP, but I'm using NextDNS -- the managed version of a PiHole. I have uBlock Origin and uMatrix in all my desktop browsers, and I'm seeing around 15% blocked queries on NextDNS. Most of the blocked traffic seem to come from my mobile devices.

Soltani says he rarely recommends steps such as using ad blockers or VPNs for most people. They require too much attention and persistence to deliver on privacy, and even then they are limited in their effectiveness.

Decent article, but a bit light on easy-to-use, practical details. They seem to make the case that ad-blockers are ineffective and too much of a hassle, but that's not my experience at all. I agree that tracking and privacy is a cat-and-mouse game, but I think ad-blocking currently is one of the easiest and most effective ways to block trackers. I installed uBlock Origin on my family's computers a couple of years back, and it has Just Worked™.

The next logical step would probably be PiHole or NextDNS for deeper blocking than some browser ad-blockers, as well as for blocking outside of a browser. I have DoT set up on my router and most off my portable devices, and there haven't been any hiccups yet.

All bets are off once tracking is implemented server-side though. The way GDPR currently has been enforced has led to a lot of bad practices by the tech industry, so we'll probably need new laws that regulate data gathering.

Yeah, I was only speaking to Android in my post, and iOS is a different beast with different restrictions when it comes to browser implementations. Is Microsoft in any way competitive or innovative in the browser sphere? I haven't used Windows for ages so I'm out of the loop there.

If AdBlock is a built-in feature in Edge on Android, I assume you still need to opt-in through the settings (e.g., Settings -> Enable AdBlock), no? In which case the setup is Firefox is similarly easy: Addons -> uBlock Origin. Perhaps a bit less intuitive for an average user, but still very straight-forward to set up.

For regular consumers, I'd say the biggest value proposition for Firefox on mobile, at least on Android, is the support for browser extensions such as uBlock Origin, and thus mobile ad-blocking.

As an example, there's currently no straight-forward way for the average Joe to set up ad-blocking on a mobile device (excl. DoH/DoT using PiHole, NextDNS, etc.). Many non-technical users are, however, familiar with the usage of ad-blocking extensions in their desktop browsers. They might not know the nitty gritty of how ad-blocking works, but most people seem to have one installed. Installing and using such an extension is just as seamless on Firefox for Android as it is on a regular computer.

She may be oversimplifying certain aspects, and the examples may not be that practical, but my main take away from the article was that it can be advantageous to shift focus from taking control (by sheer force of will) in a situation where you've already succumbed to some kind of temptation, to avoid ending up in those kinds of situations by taking comparatively easier preventive measures earlier in the cycle.

Cool project!

I've recently created something similar for personal use. I have many websites (mainly webshops) I want to be notified about changes on, but they don't have RSS feeds, subscriptions or APIs than you can use.

I set up a cron job that runs daily, scrapes websites according to some XPaths, and saves the results to a DB. If any new elements have appeared, an email will be sent out. The biggest challenge is handling false positives: being able to distinguish between a new element and e.g., a previously seen element with an updated title, description etc. For websites that directly expose what seems to be unique, server-side, identifiers in their HTML, using that as a primary key seem to work well. If that's not available, the href of the HTML element seem to be fairly static.

Do you have any thoughts on the issue of false positives and unique identifiers?

I have syncthing set up on my laptop and phone. On my Android phone I use Markor for viewing and editing the files, and the changes are then synced back to my laptop.

Admittedly I don't use Markor very frequently, and often just use Evernote instead when I'm on my phone and want to jot down something quickly... This is mostly because I feel the need to organize in folders etc when using Markor and vimwiki, so my mental model of it includes a bit more friction compared to Evernote.

This is a super-cool project. GANs are extremely interesting to experiment with in a creative manner. One thing I often miss in these websites, however, is what I think is one of the most interesting aspects of GAN visualization - namely, a video feature for showing latent interpolations. I guess this is often skipped because inference is done server-side and there's (naturally) limits enforced to avoid excessive use of resources.

In that vein, I've created a webapp [1] that runs entirely client-side using TensorFlow.js, and let's you generate videos of latent interpolation, images and tweak with parameters using a less-conventional generator trained on many different datasets.

[1] https://www.thispicturedoesnotexist.com

In short, it's a terminal multiplexer (hence the name, tmux) that allows you to run multiple terminals within one (as opposed to opening a new window for each interactive shell you want to use). I spend 90% of my time as a developer either inside tmux or a web browser, so it wouldn't be a stretch to say that I find it quite useful.

The functionality I use the most in tmux is:

- attaching and detaching from a tmux session (e.g., for running machine learning jobs over SSH)

- having multiple terminals open inside of one

- scripting the setup of windows, panes, etc. for different projects I'm working on

I basically use vim and tmux as an IDE: my usual setup consists of one large pane consisting of vim and code, while two other panes are available for running git commands, starting servers, etc. Within one tmux session I separate different projects (e.g., frontend and backend) into tmux windows, and it's very easy to switch between panes, windows and sessions using keyboard shortcuts.

I've experimented with using it together with TensorFlow.js to avoid blocking the UI thread while performing computationally expensive operations. Operations do take a bit longer to complete in a web worker compared to the main thread, but in return you get a smooth UI and a better user experience

Yeah, I can attest to this. It sounds easy at first, but suddenly you need to handle items inside virtual lists (e.g., react-window), scrolling, data updating while dragging, ...

I assume it's bio as in short for biography, which can be fitting in the context of a blogging platform. This was at least my first thought upon seeing the domain, and I didn't make any association with biology, biotech, etc. until I saw your comment.

This looks really promising! I recently wanted to make an interactive GUI to control the inputs to a GAN in order to generate images and visualize how different inputs affect certain properties of the output images.

I ended up converting my Python models to TensorFlow.js and creating an ad-hoc Vue.js app [0], but Streamlit could have been very beneficial here, especially if you can just put nginx in front of it and serve it to the masses.

[0] https://thispicturedoesnotexist.com

By first-party tracker I mean a tracker that sets a cookie on the domain that it was loaded from (e.g. website.com). A third-party tracker sets a cookie on its own domain (e.g. sketchytracker.com), thus allowing for cross-website tracking.

Google is a third party when it is about you (first party) using a Mozilla service (second party).

Sure, but that is not the distinction I was making though. Google Analytics is a first-party tracker in the sense that it sets a cookie on the same domain that the script is loaded on. Contrast this to a third-party tracker which sets a cookie on its own domain, and as such the same cookie will be reused for all websites using this third-party tracker.

it tells Google what they looked at and when

As far as I know only Mozilla has access to the data collected through their Google Analytics account. Third-party trackers, however, often aggregate collected data across a wide range of websites, and might sell augmented, highly profiled user data to advertisers. I have not seen any reports of Google using Google Analytics in such a way, but the data is nonetheless stored on their servers, so you will have to trust that they won't abuse their power.

EDIT: As mentioned by throwaway9d0291, it seems like there are settings for enabling or disabling the sharing of Google Analytics data with Google. Not sure if this is opt-in or opt-out though, but this means that it possible to use the service without Google using the collected data.

There's a big difference between first- and third-party trackers though. Google Analytics belongs to the former category and does by default not collect any personally identifying information. Third-party trackers, however, usually set a unique identificator for each user and use this identificator for all subsequent requests, and as such (invisibly) track users across the web. In general, it's the third-party trackers and their cookies that you should be wary of as they are most often used for extensive tracking across different websites.