HN user

enkrs

370 karma

My stack and interests are mostly boring tech :) kristaps@kecom.lv

Business process management, ERPs, industrial automation sector

Enterprise IT (VPNs, VLANS, monitoring, ITIL, support, Active Directory)

Programming (PHP monoliths, Python scripts, embedded C, Micropython, PostgreSQL, SQLite)

Linux (Debian servers, Fedora desktops)

Posts0
Comments68
View on HN
No posts found.

I've been receiving these for so long I started thinking it must be just me being targeted and not widespread, as Meta seems to not do anything about it.

Emails comming legitimeley from noreply@business.facebook.com with the text below. Go and decypher which part is Meta template and which is creative use of user supplied text...

  Your Meta's Page may be at risk due to unusual
  activity is not part of or affiliated with
  Meta. Only approve requests and invitations from
  people and businesses that you know and trust.
  Meta will never ask for passwords, payment
  information or personal details in an email. You've
  received a partner request. Partners are other
  businesses that you work with on Facebook. Partner
  sharing lets you give access to your business assets,
  but not to your business portfolio. This request is
  from:

  Your Page is under restriction review Contact Meta
  Support: metafanpageviolate@gmail.com Protect yourself
  from fraud: Verify the identity of the requester by
  contacting the business using official contact information.

I'm wondering, now almost three years in after the Forgejo/Gitea fork, which side of the fork ended up better. Both still seem very active with thousands of commits each.

I run a Gitea server (since long before the fork, constantly updated) that handles issues, pull requests, signed commits, CI/CD, actions, and even serves my containers and packages. It's been amazing.

Of course Forgejo can do the same. For those who’ve followed both projects closely — which fork would you say has come out ahead? Codeberg being Forgejo's SaaS offering likely gives them more resources, but I also wonder if that means their priorities lean more toward SaaS than self-hosting.

I use LLMs (like claude-code and codex-cli) the same way accountants use calculators. Without one, you waste all your focus on adding numbers; with one, you just enter values and check if the result makes sense. Programming feels the same—without LLMs, I’m stuck on both big problems (architecture, performance) and small ones (variable names). With LLMs, I type what I want and get code back. I still think about whether it works long-term, but I don’t need to handle every little algorithm detail myself.

Of course there are going to be discussions what is real programming (like I'm sure there were discussions what is "real" accounting with the onset of a calculator)

The moment we stop treating LLMs like people and see them as big calculators, it all clicks.

Browser password managers with passkeys are more convenient for me, but a pass vault can still be useful for recovery codes and API keys.

I used pass for a while but couldn’t see what threat model it actually solves:

If you let GPG agent cache your key, any script (e.g. an npm post-install) can just run `pass ls` or `pass my/secrets` and dump all your credentials. At that point it’s basically just full-disk encryption with extra steps—might as well keep everything in ~/passwords.txt.

If you don’t cache the key, you’re forced to type your long GPG password every single time you need a secret.

I tried a YubiKey for on-demand unlocking, but the integration is clunky and plugging it in constantly is a pain if you need passwords multiple times per hour.

I eventually switched to Bitwarden.

It’s great on esp32 with MicroPython. Even has support for server sent events (SSE). Paired with htmx, SSE gives some fun intetactive web experience for iot devices - instant GPIO status indicators etc. Loved tinkering with it. The source code is very readable too.

If the argument for a password login is being able to log in from anywhere, just store a spare ssh key (password protected) in your gmail or similar that's reasonably safe and accessible from anywhere.

But I'm having hard time imagining those "anywhere" machine scenarios. Strangers machines that you trust enough to connect to your servers, and are able to install putty or your preferred ssh client of choice on? Better just have SSH on your own phone and laptop.

When the outage started, for me duckduckgo.com just returned no results with the searchbar visible. The ddg homepage was still working. I've been using "my search term !g" for now and ddg just redirects my search to Google, so I don't have to change search provider in browsers.

There is something very magical about these micro frameworks for solo hobby projects. You can craft your small project vs just glue the solution somehow together.

Just today I was working on my ESP32 MicroPython project, and I used Microdot for the first time (together with picocss and htmx). The documentation was sparse in places, but the source code was so niceley commented and easy to navigate that I figured everything out.

Tailwind CSS v3.3 3 years ago

Maybe one point not raised enough in the eternal discussion between Tailwind vs CSS properly is the cognitive load of naming and organizing things.

To do CSS properly, you need to name classes, you need to come up with CSS cascades that work.

Being programmers we would love to categorize and name things all day long. Ever heard how we over-engineer things because of the DRY principle?

But we would love to name classes and do CSS properly only theoretically. In practice, we run out of time making CSS with nothing to show a week into the task except a CSS kitchen sink demo. By the time we're done, the scope of some component has grown in a way we did not expect and is hard to represent without markup change.

Tailwind on the other hand removes the task of thinking how to name the thing we're making. A appbutton appbutton--state-user-notallowed or a touchbutton touchbutton--disabled? In Tailwind it's just a a blue-600 rounded rectangle. Scope changed? No problem, now it's a green-400 shadow special rectangle, without checking where else it was or will be used or coming up with a new name for this special rectangle.

It's just faster. Not strictly better.

I have given talks to factory managers about finding that one or two employees that know Arduino/Raspberry for these projects. Every factory has such persons. They would love to do it!

The reception on this is mostly neutral or negative from management. When you identify these guys, turns out they have great hardware or programming skills, but no integration or architecture concepts. The existing system (ERP, MES) owners also like to put a lot of red-tape around anything unconventional connecting to their systems.

Managers also are held accountable for the project, even if the costs are low. They prefer to spend a lot and have a consultancy to blame on failure, then their internal employee project they selected.

What consultants do is they help the company navigate within it's own bureaucracy and processes. Even to implement the Raspberry solution.

Whats the motivation to block/misinform?

This allows site owners get statistics on page views/uniques/bounces without unique identifier cookies or javascript injections.

I’m all for blocking any abusive tracking methods, but this looks to me like creative website statistics that works for single domain. What’s the harm by measuring that?

Which is the reason why I choose iOS: I trust Apple to implement the integrations in the WebView for best battery life. To get new OS features in the browser right away. Would Google Chrome implement picture-in-picture on the iPhone if they were running their own engine?

I use Firefox on iOS for the password and tab sync integration, and am supper happy that it’s using the WebKit framework. I care about the iOS experience more than some video codec support.

Lots of good answers here. If certs are still the issue then a little unorthodox method is to create a wireguard tunnels between your internal hosts. They are trivial to setup. Less maintenance than renewable wildcard certs. Similar level of security as https.

You can even put the wireguard private IP addresses on your DNS servers. As mentioned elsewhere DNS records are not publicly enumerable like letsencrypt certs.

A side benefit is you can now access your internal network from your laptop or phone.

I live multiple lives. I'm a father, a businessman, have multiple hobbies, do sports. Targeted ads mean this info can be combined. I can be profiled and abused. Algorithm has calculated what I might impulsively buy and shows me that personalized ad everywhere.

Non-targeted ads do not mean viagra ads. Non-targeted ads still have the context of the website/app I'm using.

Non-targeted ads mean that I can get ads about specific hardware when I browse my hobby forums; I can get ads about some interesting SaaS when I browse my work related news sites. I don't get anything that's targeting some calculated personality quirks of mine to the highest ad bidder.

If I look at the Warhols image I can say: “That’s clearly a Warhol image”

I would not say “That’s clearly a pose, framing and likeness done by Goldsmith“. The source photo for the work was just another photo of Prince.

To me that is fair use

Normally radios are built out of discrete electronic parts using mixers, filters and paths for specific frequencies and various modulation modes.

SDR on the other hand can change the modulation programmatically without changing the components and topology. Very handy in space if a new modulation standard gets adopted by some goverment agency.

Its a nice setup, but you can’t see any DNS data in the TOR middle relay traffic. Middle relays just pass on encrypted data to the next tor node, not “the Internet”. So any DNS requests hitting outside from your 8 IPs are still all attributable to you.

Until the first case when an employee sends death threats from your company laptop and you need to provide the data to the police to help in investigation.

Or the first case when some shared credentials get compromised probably from an infected computer and now you need to find which of the 80 laptops is the infected one.

Or the first time employee converts his laptop into a wifi access point for the office girl upstairs and unknowingly lets her inside your companies private network.

Of course, there are workarounds and better practices for every example. You can solve it without admin access to laptops and network request logging. But company property is not anonymous either with or without full admin access - so why jump trough the hoops to not have it?

"only 1 entry is allowed not to have the data, all others must be unique" makes sense in larger schemas as the database grows. It replaces is_default_address, is_primary_child etc. fields and constraints on relational tables. In the perfect world all the data would be normalized not to have such columns and cases, but in real life it just grows that way. So for some cases NULLS NOT DISTINCT will be a welcome addition.

The alternative to basically keyloggers does not necessarily have to be open source or offline. See other comments on Hemingway. Microsoft has also modern grammar checks now built into Word 365 / Outlook 365. They work as good as Grammarly without increasing trust surface. If you already are trusting the documents to Microsoft - might as well allow them to grammar check.

Wouldn’t building on non-vulnerable system also compile the bibary with non-vulnerable instructions? Does a non AVX512 system really build an executable that calls AVX512?