HNHacker News
TopNewBestAskShowJobs

janci

1,155 karma · joined May 26, 2015

submissionscomments
janci··on Backups Aren't Simple
My setup: rsync to Synology NAS, snapshotting there, sync to remote Synology NAS over VPN. (The other NAS is at my parent's and they have similar setup syncing to me)

The best part: it is just files, not some proprietary archive. I have high confidence in this. I can restore with the most rudimentary tools.

This setup has worked for me well on linux, windows and now mac. I migrated to new computer&os by restoring the backup mostly.

janci··on Discovery of a new OpenAI agent message board
This has MorningLightMountain vibes.
janci··on Accidental Aesthetics and Romance of Power Wires
Power lines and pylons are superficially the same all over the world, but differ in details we subconsiously remember. The power lines in DayZ felt like home.
janci··on “I just chose words carefully”
There are also Rivers - when spaces between words on multiple lines align vertically. Harder to control for than widows and orphans.
janci··on France to ban unsolicited telemarketing calls
In my experience, GDPR works wonders here. After saying I do not wish my personal information to be processed and revoke any consents a few times I do not receive these calls anymore.
janci··on Decker, a platform that builds on the legacy of Hypercard and classic macOS
It seems application state is mainly maintained in the widgets. Reminds me of Delphi. Is there a similar concept for representing state in a well-suited data structures, that can be created and composed visually like the UI widgets?
janci··on Full Writeup of the Windows GDID
But without an MS accoutn it would not be connected to the browsing history
janci··on Do you hate XML? (2010)
My reasons to hate XML:

- element vs attribute ambiguity

- model of the document does not fit nicely to programming model of structs, dicts and arrays

- too many complexities (entities, cdata, parser directives)

- cardinality unknown without schema (is that a single value, or an array that just happens to have one element)

- order of elements may or may not be significant depending on schema

- not really extensible if the original schema does not explicitly allow for extensibility

- some types of valid XML documents are not representable by a schema (e.g. any number of different elements in any order)

- verbosity

- namespace identifiers being URIs that may or may not be resolvable

What I want for general data exchange is JSON with comments and sane namespaces.

Edit: line wraps

janci··on Windows UI evolution: Clicking an unassociated file
I'd love if that UI was part of the file manager. totalcmd.exe or Finder.app or mc or Krusader etc.
janci··on Windows UI evolution: Clicking an unassociated file
I never understood why file open/save dialog is a separate thing. I want to use my file manager to open and save files!
janci··on BadHost – CVE-2026-48710: Starlette Host-Header Auth Bypass
path-based auth middleware is a bad practice IMHO
janci··on Flipper One Tech Specs
Why put such crappy display on such a high power device?
janci··on My Homemade PBX (2002)
As a kid I was intrigued by telephones. I got hands on two old rotary phones and I wanted them to talk together. I wired them in series with a battery. Despite my dad telling me it never gonna work - it kinda worked. You could hear the other side just well! It just did not ring.

I've made a great effort in making the phones ring. At that time I did not know it needs 90V (fortunately - I'd probably hurt myself). I figured out it needs AC, but how do you produce AC with only a battery? I even made a hack to rapidly reverse polarity using a relay in self-oscillating mode, only to get shocked by the induced voltage by the relay coil and no ring.

(Now I see that maybe if I used the coil voltage it would actually ring!)

This great article brought back nice memories of tinkering with the phones.

janci··on Cryptography in Home Entertainment (2004)
How was CSS supposed to protect against copying the encrypted data? We should not need to decrypt the video to duplicate the disc.
janci··on 100k TPS over a billion rows: the unreasonable effectiveness of SQLite
How does SQLite handle HA setups? The minimum I want is reliable automatic failover in reasonable time for user-facing service. Ideally an active-active setup.
janci··on I have released a 69.0MB version of Windows 7 x86
Is it just a minimal set of unmodified files and Windows will gracefully degradate to this? Or did he need to patch everything to be able to strip it down?
janci··on I turned the Lego Game Boy into a working Game Boy
Did Nintendo lawyers already get in touch?
janci··on How Secure is Tor? Not secure at all
No, the author is presenting an idea that $25 a month can buy you a node. That fits adding a new node to the network, not taking over an existing node.
janci··on How Secure is Tor? Not secure at all
The assumption is the adversary controls x of N nodes. When x=N the probability of discovering the onion service IP is 1. But the adversary can not achieve this situation as he only controls the additional nodes. The existing nodes still stay in the network, they do not disappear. The ratio is not x/N but x/(x+N).

The formula is wrong and it all falls apart.

janci··on Abusing Entra OAuth for fun and access to internal Microsoft applications
Ohh, that's probably why our integration suddenly stopped working for single-tenant app registrations right before release. We were using the /common endpoint for everyone. That is disallowed now.
janci··on Age Verification Laws: A Backdoor to Surveillance
I think it is a tradeoff between "everybody can request age verification" and "only state-licensed parties can request age verification". I don't think everybody's ID card should tell anyone if the holder is adult or not, especially wirelessly
janci··on Age Verification Laws: A Backdoor to Surveillance
Our state-issued eID cards are supposed to have a function that allows anonymous age verification to a trusted party. It should work like this: a requesting party sends a request signed by state-issued certificate to the ID card, the card verifies the request authenticity and responds with a signed confirmation of legal age and that signature then can be verified by the requester.

No personal information is shared.

While I do not aggree with pervasive age restrictions, this is a nice technical solution to privacy preserving age verification

janci··on API design note: Beware of adding an "Other" enum value
How that works when you need to distinguish between "no value provided" and "a value that is not in the list" - in some applications they have different semantics.
janci··on Mozilla is trying to backtrack on Firefox's controversial data privacy update
Yet, Google is a lot more specific im what, how and why you license the content to Google. And it is not for anything that Firefox does.

Plus:

> Some of our services are designed to let you upload, submit, store, send, receive, or share your content. You have no obligation to provide any content to our services and you’re free to choose the content that you want to provide.

janci··on Mozilla is trying to backtrack on Firefox's controversial data privacy update
Can you quote and link the relevant part of ToS other browsers and MS Office (the one that runs on your computer, not 365 cloud) ?
janci··on Mozilla is trying to backtrack on Firefox's controversial data privacy update
> We need a license to allow us to make some of the basic functionality of Firefox possible. Without it, we couldn’t use information typed into Firefox, for example.

Like - what basic functionality? Does not sound like "browsing" is that functionality and I am not interested in any other functionality. I do not want you (Mozilla organization) to use any of that information.

Moreover, what if I do not have the right to sublicense the content I enter to FF? Am I legally not allowed to use Firefox?

janci··on Delphi Is 30
I did not do many things in Delphi but I have studied the language and VCL architecture for the very purpose of determining why it is so aproachable and productive (as compared to C, Java, JS, Python and the tooling around them).

In my opinion, it is the result of following qualities:

1. The language direcly supports concepts needed for live WYSIWYG editing (i.e. properties and events) while other languages only simulate it by convention (i.e. Java Bean specification)

2. The language syntax is simple enough for the IDE to understand and modify programatically, but powerful. The properties files that define the forms are even simpler, support crucial features (i.e. references and hierarchy) but do not bring unecessary complexity as general-purpose formats do (XML files or JSON)

3. Batteries included - you can do very powerful stuff with the included components (gui, i/o, ipc, sql, tcp/ip, graphics - all the practical stuff) without hunting for libraries

4. Discoverability - the visual component paradigm with Property editor lets you see all your possibilities without reading the documentation.

5. Extensibility - you can build your own components that fully integrate with the IDE. This is my litmus test for low-code and RAD tools: For any built-in feature, can I recreate the same using the provided tools? Many tools fail this, and the built-in components can do things that are inaccessible to user-defined components.

6. Speed - both compilation and runtime, thanks to one-pass compilation and native code. Leads to fast iteration times.

7. The VCL component architecture is a piece of art. The base classes implement all the common functionality: They automatically manage memory, can store and load persistent state, have properties for visual placement (position, size) etc. The language features really help here (I remebmer something about interface delegation) but there is no magical runtime that does this from the outside, it's an actual implementation of the component that can be extended or overriden.

But of couse there are the ugly things as well: alien syntax, forward declarations, strict compiler blocking the Form Designer on any error preventing you to fix the very error and most of all: while there is very good abstraction for the components, there is none for data and state. There is no good tooling for data modelling and working with the data models. That leads to poor practices as having state in the visual components or in global variables.

janci··on I wrote a static web page and accidentally started a community (2023)
It also bypasses firewall (ufw on ubuntu)
janci··on Making Electronic Calipers
I just flip the coin cell around so it stays in the device but does not deplete (reverse polarity but in fact the contacts will not touch the battery poles so no harm).
janci··on Making Electronic Calipers
Why tho? The coin cell battery lasts years.
Page 1 of 12Next →