Hacker Newsnew | past | comments | ask | show | jobs | submit | dblohm7's commentslogin

I too learned this the hard way, via a supposedly concurrent priority queue that did quadratic-time work while holding a lock over the entire thing. I was told that "premature optimization is the root of all evil."

Sorry, folks, but that's just an excuse to make dumb choices. Premature _micro_optimization is the root of all evil.

EDIT: It was great training for when I started working on browser performance, though!


And if I may add a corollary: Measurement doesn't need to be held off until the end of the project! Start doing it as soon as you can!

Agreed. Nitpicking about indirection is definitely a "premature micro-optimization is the root of all evil" moment.

When I worked on Firefox, we eventually had to remove a bunch of indirection (the interested can actually search bugzilla.mozilla.org for deCOMtamination for some instances of this), but that project wasn't a thing until there was clear evidence that there were problems with virtual function calls on hot paths.


I really love VFX in the period between Star Wars and Jurassic Park. To me it will always be the "golden age" of VFX.


The 80s have been the golden age of many things I think.


(Tailscalar here) To be clear: it's only the GUIs that are closed source on selected platforms.


Thats actually a good way to split a project up into closed/open imho. Open the functional part so people can see you're not sending data to hq behind their backs and make the boring time consuming ui closed. I like it. Then make money out of a service rather than the software. As we all know, tech people will see a piece if challenging software and go out of their way to replicate it and release it for free, for whatever reasons. So open sourcing that part takes the challenge away.


I stand corrected.

Although, the problem is not so single-layered. Do I understand the situation correctly, in case of iOS, to not be subject to additional limitations of the platform that restricts the distribution of your products to the extents that the laws of the countries where your business is registered require, all the user has to do is to fork the main repo (which is, thankfully, BSD), build a minimally acceptable GUI, pass Apple certification, publish the app in the app store, and Bob's your uncle?


Essentially, yeah, but of course you wouldn't want to use any Tailscale trademarks.

Tailscale is engineered under the assumption that any client connected to our control plane could potentially differ from our canonical OSS codebase.


That's good to know. Can you point me to the peer relay code? I'd like to look at what and how it works. thanks!


can you say more about this. I've been considering adding tailscale to some products but if my (nerd) perspective is to survive corporate realism I need more than a 1-liner to justify. seriously curious. Also how would I pitch it to a EU based crowd that wants increasingly less to do with US based tech?


For one, Tailscale is a Canadian company :)


Essentially this: OSS operating systems get OSS GUIs.


Does that include android?



Nice, thanks.


Being open source means very little when they won't merge PRs, like this one to support disabling streaming one's network behavior to ` log.tailscale.com`: https://github.com/tailscale/tailscale-android/pull/695


Heh, that's my PR. Initially I thought it would be a trivial change, but then I realized I hadn't considered how it should interact with MDM / device posture functionality - these aren't features I'm personally using with the Android client, but are understandably important to enterprises.

I still hope to get back to that and try to get it to a state where it can be merged, but I need to figure out how to test the MDM parts of it properly, and ideally get a bit of guidance from the tailscale team on how it should work/is my implementation on the right track (think I had some open questions around the UI as well)


Let's stop moving the goalposts. Open source has a specific definition, and "they merge whatever code I want them to" isn't part of it. Just fork the client, compile it, and run it yourself.


An option to disable telemetry is important.

It's not "whartever code".


You're welcome to fork it


No, thanks. I'll just use the competitors without telemetry.


[flagged]


Open source = I should be able to fork it, change it, and use it

Open source = The maintainers should build exactly what I hysterically scream at them

If I had to choose one definition of open source from these two options, it's going to option 1 I'm afraid.


Once again confusing Open Source with Free Software.


Neither "open source" nor "free software" has ever meant that the developers must accept contributions from third parties.


Literally nothing to do with that distinction.


It seems to have a BSD license, what more are you looking for?


You control what software you install


This is a terrible idea! _Maybe_, _maybe_ using only the documented APIs with only the documented parameters.

Unfortunately it makes too many false assumptions about interoperability between Win32 and the underlying native API that aren't true.

For example (and the Go runtime does this, much to my chagrin), querying the OS version via the native API always gives you "accurate" version information without needing to link a manifest into your application. Unfortunately that lack of manifest will still cause many Win32 APIs above the native layer to drop into a compatibility mode, creating a fundamental inconsistency between what the application thinks the OS capabilities are versus which Win32 subsystem behaviours the OS thinks it should be offering.


I'm not trying to troll here, asking seriously: are there any immediate-mode GUI APIs with good a11y?


> Well, it's not. It's barbaric and primitive. A warning is no justification.

It's actually Singapore that turned me against the death penalty. I saw a photo on a news site one day showing a casket in Singapore, with some kind of placard showing the decedent's name, DOB, and then the date that they "died."

They didn't die due to illness or injury; they died because Singapore executed them. That was it for me.


Citation needed.


merge.dev, nango, composio.dev, all commodity alternatives to managing integrations, with varying degrees of handholding


Hah, if only SaaSintegrations were the hard part. Try integrating with insurance carriers!


Similarly, I've seen this in enterprise IAM software, but again as data, not as code.

Imagine a very large company that has a heterogeneous setup: say it has plain LDAP for *nix machines and AD for Windows. The IAM stuff has connectors for both, and encoding the org chart into that product enables it to synchronize that structure into both systems.


> For the desktop Mac, the base OS is essentially UNIX. It is much more secure by default than Microsoft Windows

Citation needed.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: