594 karma · joined March 6, 2015
As for less chance of clashing, 128 vs 80 bits. 80 bits is only within the same millisecond. The 128 bits is for the lifetime of your application. Based on my basic understanding of the birthday paradox, there is a 50% chance of collision if you have 2^40 ULIDs generated during the same millisecond. And there is a 50% chance of collision if you have 2^64 UUIDs generated during the lifetime of the application.
Case insensitivity and the chosen character set is an advantage if you want to use this ID as a filename without having to worry about the limits of the filesystem.
https://wiki.untangle.com/index.php/Web_Filter#HTTPS_Options
http://www.watchguard.com/help/docs/wsm/xtm_11/en-us/content...
Could we even have meaningful political dialog if, for example, it was illegal to intentionally offend Donald Trump or Hillary Clinton?
The idea of a right to not be insulted has scary implications.
Even if government worked exactly as it's supposed to, the law would be at best a reflection of the will of the majority of people. But I don't give the majority of people any benefit of the doubt for creating just rules, and why should I?
If I had any complaint it would be that go could offer some way to setup default handling that simply returns zero and error for any unhanded errors.
I know the same thing can be done with try, catch finally but then you have the same problem of needing to know what errors may be returned so you can make sure an wrap that call in a try statement.
Same goes for various chat apps that don't open conversations or buddy lists in new windows. Even vim, as much as I like it, frustrates me I can't open views to a buffer in separate X windows, no I must split windows in vim.
Window management is a bolt on feature to these apps and none of them do it as well as the window manager I'm already running.
I wish Windows and OSX had implemented OS wide tabbed windows a long time ago, then maybe these application developers wouldn't have felt it necessary to add these features inside the apps.
If I understand wireguard correctly it seems NHRP could be run using wiregard for transport, but it would cool if a separate NHRP daemon wasn't required, especially since wiregard is already tracking the mapping of internal to public IPs.
Does the server get a separate wg interface for every client that connects? Or does it do something like multipoint GRE interfaces with next hop addresses in the arp table?
Does this do a DH key agreement to guarantee forward secrecy or does it literally encrypt the packet with the peers public key?
Also is it in the scope of this project for peers to discover each other for direct communication, like a Phase3 DMVPN?
If you think the reduction is inaccurate, then argue the point, but just dismissing it by calling it Godwin's law, in my mind, admits that you don't have an effective counter-argument.
ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
And, not only are public domain works not copyrightable, they're none-the-less very available, almost always for free. Making it copyrightable does nothing to help provide access to the content, and everything to hinder it.
My point is you are better off designing things assuming that usernames and public keys are public information. That doesn't mean you have to go publish them on your website, but you also don't need to worry about mitigating it if someone else does.
But media, and the law should not. The accused should always be presumed innocent until proven guilty. And the media has nearly as much power to ruin an individuals life as the law when they accuse someone. That power should not be exercised without good evidence.
Suppose a woman accuses a black man of sexual assault? Is it sexist to not assume he's guilty, or racist to assume he is?
We should give every accused person an opportunity to be presented with evidence and present evidence for their innocence before assuming anything regardless of the color or gender of the accused or the accuser.