Can a FOREIGN KEY be referring to the same table as the “source”?

I was sure that I had done this countless times, but I can’t find any previous use of me doing this. But it seems to make perfect sense, so I assume that it must be possible? However, the manual says:

A foreign key constraint specifies that the values in a column (or a group of columns) must match the values appearing in some row of another table.

Emphasis mine. Source:

I have a table for bookkeeping, and whenever a transaction "corrects" or "updates" a previous one, I have a column called "corrects id" which is a bigint and, to me, makes perfect sense to have as a FOREIGN KEY as such:

..., FOREIGN KEY ("corrects id") REFERENCES bookkeeping (id) 

Note: "corrects id" is a column in the "bookkeeping" table, and id is the primary key (bigserial) of the same table.

Surely this is correct? So why does the manual say that it has to be another table? And why is the name "FOREIGN" keys if you can refer to the same table?

Can’t one reverse engineering Chrome source code to reveal Widevine and friends keys?

If I understand correctly, Widevine, FairPlay and PlayReady are all security through obscurity. Given the popularity of services using them, can’t someone just RE them and find exactly how their work? If so, was it done? If not, why? If this (can be) done, why people continue using these services?

Related: How does Widevine, FairPlay, and other DRM's work under the hood?

Is there a way to start leveling Mystic Theurge at level 4 without alternative source or Mad Faith?

For backstory I was making a Grey Elf for a upcoming game. We’re starting at level 3 and the GM basically gave us a blank check of "No Dragon magazine, no Third Party, no Pun Pun". In this case No Pun Pun just meaning no memeibly stupid characters that crash the universe. The only other rules are nothing like flaws for feats or the like, but all feats, classes, and races are allowed more or less. Dragon rules out the normal cheese of alternate source, which arguably doesn’t work anyway. This leaves me with the only remaining option of Mad Faith. For anyone not aware its basically a divine version of precocious apprentice, gives you a 1st, 2nd, or 3rd (depending on a factor I’ll ask about later) divine spell. So I would meet all requirements as early as level 3. But there’s a problem. The feat requires a whole variant rule system from Hero’s of Horror, funnily enough the same book that gave us my divine class Archivist.

My plan was to go Grey Elf Wizard (UA transmutation Domain if that maters) 1st level for Precocious Apprentice, then two levels of Archivist, taking Mad Faith at 3rd level to get my 2nd level spell. But here comes the rub, I need Moderate Depravity (again a condition from HoH) to qualify and get the feat. Moderate Depravity isn’t something you can normally get from character creation, its something that just happens to you like CoC insanity. Running around with hallucinations that give me -6 to initiative and a excuse to act like i just drank cactus juice once in a while isn’t a problem for me but it means I’ll have to ask my GM for permission before the game to have madness from backstory reasons. I have a good feeling that he’ll say yes but i’d like to find a alternative if possible.

Race isn’t really flexible here because I was planning on taking a level in wildrunner for trackless step to qualify for Arcane Hirophant later. Though anything with a regional restriction is allowed and Alignments don’t matter unless you’re getting powers from a patron like a cleric. The plan on this is a character that eventually has 17/18 Wizard Archivist casting. Character concept is basically a magic obsessed Elf that wants to eventually learn everything, thus why he’s taking levels in the two classes with the most arbitrarily expansive spell access.

Things I’ve also considered: Bamboo Spiritfolk arguably works though trackless step as a racial instead of a class feature is a bit shaky for my taste, I’m not sure how that works by Raw, though it would let me skip Wildrunner and thus skip the feat and enter MT at level 5 for a end result of 17/19 Wizard Archivist. I also considered a Illumian Wizard/Rogue/Loredelver/Ur-Priest/Fochlucan Lyrist for a similar 9th level Arcane/Divine outcome but Druidic is a annoying requirement and the build doesn’t hit its stride until level 15 or so. Even if a level 20 character with 3 attacks and 9th level spells from two sources sounds fun.

Why NAT is a disadvantage when TCP source port field is 16 bits?

Here is an excerpt from Andrew S. Tanenbaum, Computer Networks, 5th edition, Chapter 5 (The Network layer), Page 455:

enter image description here

My question is on the second paragraph. From what I understand, basically this part talks disadvantage of using NAT(Network Address Translation). I don’t understand what second paragraph is trying to say about disadvantage of using NAT because it seems to me that the second paragraph is saying about benefit of using NAT because by using NAT, we can solve the problem of depletion of IP address.

Can anyone explain to me what the second paragraph is trying to convey?

mysql source recovers after process restarts

I am doing a large import (~300GB – MyISAM) into a MySQL server version 5.6.48 within a FreeBSD jail, before starting I did:

SET GLOBAL bulk_insert_buffer_size = 1024 * 1024 * 1024; SET GLOBAL net_buffer_length=1000000; SET GLOBAL max_allowed_packet=1000000000; SET foreign_key_checks = 0; 

And then:

source file.sql 

The dump started to load but after a while, the server memory RAM/SWAP got full and the mysqld process exited.

What I notice and surprised me is that when the MySQL server came up again, the source command continued to load the dump, kind of “resuming” the process.

From the docs, I haven’t found much documentation about the source command, only from the MySQL shell:

mysql> source ERROR: Usage: \. <filename> | source <filename> 

Therefore wondering what is keeping the state or track of the inserted data and how could I check/monitor the source progress, besides willing to understand if this “resume” option is the expected behavior and if it could be configured.

Finding the Source of an Attack

I have a launch site up and running for my web-based business.
I have not advertised it anywhere and there are 0 links to it on the web yet.
Competitors found out about it yesterday and there were attacks almost immediately after that. They’re coming from different IPs and I feel like these guys have commissioned an attack against me. I have the IPs that the attacks are coming from. I was wondering if there is a way to find where/if a “call for hack” has been posted.

Is it safe to install a trusted CA certificate from another source?

As you may know, a CA certificate issued by Sectigo expired recently. This is affecting certain mobile apps and possibly websites, rendering them unable to connect to required network resources. In particular, some older devices that do not have the replacement CA certificate are unable to connect to servers using such certificates.

A work-around is possible (How can I work around the expired Sectigo certificate on my old mobile device?)… but is it safe? What dangers, if any, is a user potentially exposed to by copying a CA certificate from an already-trusted device to a device which does not have said certificate?

(For this purpose, please ignore the broader issue of whether using a device that is not receiving updates is safe. We all know that has its own risks. I am asking specifically if installing a CA certificate that is already widely trusted is any more dangerous than simply using such devices without installing the new certificate.)

Kafka source code on github and from the apache website is missing the “org.apache.kafka.common.message.” package? [closed]

I tried downloading the source code of Kafka from Github as well as from Apache’s website. I found that both the sources were missing the “org.apache.kafka.common.message.” package. Can anybody kindly let me know why this might be the case.

Kindly note that I had downloaded the source of “AK RELEASE 2.5.0” from Apache’s website. Similarly I used “trunk” branch from the current github repository for kafka.

“View frame source” is suddenly an option on every website loaded with Chrome

I’m running Google Chrome Version 83.0.4103.61 (64-bit) on Windows 10, and I’ve suddenly noticed that never mind what website I visit, when I right click “View frame source” is an option.

This strikes me as odd, as that option is usually only available when you’re wanting to view the source code of an iFrame. Whether I click “View frame source” or “View page source” the source code and URL are the same.

But why does Chrome suddenly think that any website I load is being displayed in a frame? Is this cause for concern or am I just being paranoid?