go is so named related to the concurrent programming scheduling scheme called Concurrent Sequential Processes (CSP) which one system that implements it is called a "coroutine" and the specific implementation in Go is called "goroutine".
this part of Go's design is 100% from Rob Pike, who created an interpreted language back in 1985 called Newsqueak: A Language for Mice. search that text and find the paper and enjoy noticing how similar newsqueak is to Go (there is several very fast Go interpreters now also btw, it could be dropped straight into a web browser engine in place of javascript).
the unique feature of this type of concurrency is it can be done with single threads. when you compile Go code to WASM it is still able to run concurrent code, only one at a time though, but every time the code drops into a select statement it can resume execution at any other waiting channel that received a message from a socket or input stream.
yeah, but DRM is the ultimate invasion of my privacy. with widevine there, my browser has a full backdoor into my hardware.
not saying that nepal government wasn't fucked but uh. almost everything like what happened in nepal these days is coordinated by shadowy fingers behind the curtain.
haha yeah.
there's another person i don't trust one bit either, the #jackdorsey #bitchat app with #calle on #forbes lol
most likely something related, yeah
i've always found discord to be a creepy place. #discord and #telegram both. telegram is more plagued with scammers and right wing types, where discord is more shitcoiners
#brave is the best, of course
i was persuaded to try librewolf and what tripped me up was at the time i was having issues because of #spotify preview widgets on #nostr clients blocking me from taking screenshots of the nostr client, leaving a pattern of pixels instead of the image in the clipboard.
and it would pop up a snackbar below the address bar nagging me to enable #widevine #DRM
i'm like, you can't get much opposite to protecting privacy than not allowing users to disable DRM and stop a nag about it.
i totally distrust Mozilla codebase and anyone advocating for using it. yes that includes #torbrowser
so, apparently, the #charliekirk #shooter is a #gamer who was part of some #discord #antifa groups - recruiting gamers for their #antifascist action (that's what antifa means, look at the red/black flag and the text that goes with it;

ah but do any of them involve concurrency :)
yeah, chinesa is in a smallish cup that is like a teacup
number 1 🚩 of machinations is wall to wall press coverage.
you are some kind of psychic who can read minds of people you probably have never met. ok. maybe you'd make more money on a psychic phone service.
#orly #devstr #progressreport
after much lying from claude and gpt-5 i eventually got it to finally build the benchmark comparison so it works, and here is the result:
```
================================================================
BENCHMARK COMPARISON TABLE
================================================================
Relay Status Peak Tput/s Avg Latency Success Rate
---- ------ ----------- ----------- ------------
next-orly OK 17901.30 433.058µs 100.0%
khatru-sqlite OK 14291.70 545.724µs 100.0%
khatru-badger OK 16351.11 474.016µs 100.0%
relayer-basic OK 16522.60 466.066µs 100.0%
strfry OK 15346.12 506.51µs 100.0%
nostr-rs-relay OK 15199.95 508.699µs 100.0%
```
ORLY is number one for latency and throughput. second fastest is relayer (which is using postgresql database) of course the slowest is khatru using sqlite3 database, but it's not really that far behind strfry and nostr-rs-relay

here it is in more detail, for bulk query only test, ORLY is actually the slowest, but keep in mind these tests are quite short and the database is not compacted for optimal seek latency. it still however performs just as fast as purely storing new events as if it is being queried at the same time, so that's probably partly where the tradeoff is. it should be pointed out also that ORLY's tables are probably going to be bulkier than most others because it is designed so that it can fetch intermediary tables that contain ID, pubkey and timestamp so it can get them in correct order immediately and then stream them to the socket.
there will now be a metric for me to evaluate optimizations against. i probably will extend the benchmark to run a longer evaluation with bouts of quiescence that will ensure all of the databases will get a chance to compact their tables.
committing this now, also, any requests for other relays to add to the test, or different versions of ones that are in there to add to it.
i'm sure i can make it even faster yet, but this is a great result, slightly slow on pure read but 6% faster than khatru and relayer, and 13% faster than strfry and nostr-rs-relay
gonna focus my first efforts at speeding it up with query performance once i know how much of this lag is from fragmentation of tables.
most of the rural baristas i've ordered "chinesa" (it's like a small cappuccino) do the nice little swish on the top of the foam. but portuguese people are kinda big on coffee, not like italians but it's a big deal
Fiz o primeiro passo que é abrir um issue no repositório do Jumble: https://github.com/CodyTseng/jumble/issues/571
this change probably would require the use of cryptographic set primitives like bloom filters to be decently efficient, though a naive version that just collects lists of known authors would work it might get clunky after a few tens of thousands
next time additions to the consensus protocol are being discussed i'm gonna sniff it very closely
they could have just added a new P2PKH schnorr signature transaction type. it was on the table back then, i remember ranting about it one time after reading up on the options that were being discussed.
instead we have witness discount and a bloated scripting signature algorithm that leaks the spending keys immediately instead of only at the moment of spend. and why, is my question, does taproot not have a limit on push data size?
i remember also the hype around pushing people to roll out taproot and once it hit like 10% of nodes using it the ordinals arrived.
red flag is that all good reds call non-communists nazis
i can't believe i have to explain this to bitcoiners
the whole thing started in the gulags with stalin calling everyone who disagrees with your communism a nazi.
antifa are communists, they also follow this rule about calling everyone who isn't a communist a nazi, and they admonish their followers to "punch a nazi" which means everyone who is Outside of antifa.
the marks of cult brainwashing are very clear in the core keyboard warriors
haha i had all mine by about 28 and much of the back of my head is a stubborn mousey brown. started at 16...
nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 also reported an undefined error, but in his case it happened when reporting a post. Looks like it might be the same root cause—under certain conditions Jumble hits an undefined error when publishing an event.
incidentally the instant show of new posts by the user doesn't happen anymore either
i'd totally forgotten about this until i was reminded about the link between these psychotic shooters in america and how that really ticked up right at the same time as teh introduction of antidepressants.
and all the people you see in all the cases, colombine and the rest, almost in all cases the kids were being treated by psychiatrists for depressive problems.
yeah, people have been pointing this out since prozac in the early 90s. i had a friend who wrote a song about it for his punk band called "prozac attack"
https://thebmg.bandcamp.com/track/prozac-attack
haha yeah i forgot how much this band sounded like Dead Kennedys but with Mad Max vibes
btw, back in those days, Sudden Infant Death Syndrome started up and in that circle i was in then there were people talking about vaccines causing it.
he also introduced me to a book The Green Hoax Effect...
nothing much has changed and almost nothing has been learned by the gen pop.
yeah, people have been pointing this out since prozac in the early 90s. i had a friend who wrote a song about it for his punk band called "prozac attack"
https://thebmg.bandcamp.com/track/prozac-attack
haha yeah i forgot how much this band sounded like Dead Kennedys but with Mad Max vibes
there's not a lot of difference between the mental institution and solitary. more doctors around, that's about it. and yeah, it should be considered to be a psychiatric disturbance, because it is. one time, with extenuating circumstances, can just be a breakdown of their reason. two times is absolutely this guy's brain is wrong.
the point that a lot of drug people are violent criminals is a point, that would be way better to keep them away from these kinds. especially for opiates and stimulants.
yeah, even if you don't reform the prohibition laws that would be a lot better. ankle bracelet and surveillance of their home, and decent food delivered along with necessary groceries and sometimes clothing.
it really isn't that expensive to keep someone fed and clothed for 30-50 years
it's not like they should have any comforts. give them a bible if they ask for it. not even a TV. let them have friends or relatives give them books if they have any people who care about them. let them talk to a priest if they want to.
IMO, permanent solitary confinement should be what rapists, murderers and sundry types of brutality should win them, on the second round, after they do the standard 25 years 12 years parole with good behaviour.
second time they are confirmed to not be human after being locked up and given time to ponder their situation. no need to kill them though. vengeance does not bring back their victims, and the satisfaction is empty.
it's enough to just exclude them permanently from society.
oh and in case of apocalypse, they can starve to death.
What a joke. Let me leave you with a few seconds of his actual messaging. There is 1000 hours more if this one is not enough.
https://video.nostr.build/e0637091b5b178bb301d09a6b66f164058f4af94f575bda8cc5088af3b7cf590.mp4
lol. you mean mister ice cream with the crackhead son right? you think he shouldn't be locked away?
he shouldn't even have been allowed to run for election with his cognitive deficit.
yeah, that's not ok
shooting is only when they resist being arrested. they have the choice to stop running away. but once they are confined what's the point in killing them?
this problem that america had in the last 30 years with so many prisoners was caused by an unjust monopoly of licensure on drug production and sales. yet at the same time, giving license holding drug companies the freedom to bombard people to persuade them to seek drugs 🤬 pure hypocrisy, and why there was so many prisoners.
and it had a subsequent effect of putting people who just wanted to use or sell drugs but never engaged in violent behaviour into contact with those who were in prison for violent behaviour, which is known to lead to the more susceptible individuals to become inured to violence, get out, and actually become violent people.
they literally were enforcing these laws to bring slave labor to private jail companies.
so, to be clear, violence is violence. there is nothing violent about engaging in trade of goods produced by or acquired by just means. there would be a lot less incentive to produce, sell and use many drugs without these artificial incentives.
and people who are mentally unstable, have a primary problem before the drugs come into the picture, and make it worse, it doesn't help them either to persecute them based on this. again, putting them into jail for simply making personal choices exposes the risk of them becoming radicalized to criminality by those who already are.
anyway, i went off on that tangent to talk about the cost of keeping these people locked up.
don't lock people up for competing with a monopoly. there shouldn't even be a monopoly. because putting black marketeers into prison with violent criminals just provides violent criminals with people who can bring money in to make even more violence.
when people speak evil, speak about how they are speaking evil
when people do evil acts, you must act to prevent them doing it again
turn the other cheek doesn't mean go out and get yourself repeatedly fucked over by an evil person. it means show the rest of the people around you what happened as soon as possible.
evil people do not stop doing evil until they are forced to stop.
this is still love. vengeful, disproportionate responses are not effective or an example to follow. if that means shooting as they run off to go commit another evil deed another day, that is still loving your enemy.
https://plebeian.market maybe?
yeah, i like the idea of public readable, subscribe to write, and for the relays to proactively aggregate the content of user's follows on other relays
then you just pay for one relay and except for posting DMs to you (which need to be from whitelisted users, to your paid relay, which protects their privacy with auth) all of your content is found and you can access it in one place.
with many such relays, they will dynamically aggregate relevant data for users and when one path is blocked, other paths can be found and new relays can be placed on them (which can be as simple as adding an IP address and/or domain name to access the same relay).
having tools to rapidly and simply spin up new relays and using aggregation spiders will keep the censors hopping from one thing to the next and never really stopping the leak.
this is why relays should include aggregators, and the aggregators can dynamically work around blocks by always looking for more relays to search. my relay includes an aggregator with the first "follows" based whitelist mode, and the "seconddegree" mode i will make extends that to searching for follows follows and both whitelisting the users and subscribing for their events.
if all relays did this, it would defeat the great firewall because people could spin up new relays and aggregate content and bypass their whack-a-mole blacklist system. china firewall can't be a whitelist system, because it would impede business too much, so this would be an effective countermeasure.
if there was a way for example, to pay for a connection through to another relay and auth could be proxied forward, nostr could replace tor for china users
i've been talking about this idea for a while but it requires a new protocol/nip
and the reason why "-proof" is not permitted as a marketing text is because of stupid people like you who don't know the difference between words and the real world, and for what reason the words exist, or for that matter their meaning.
which most likely is because you are a victim of marxist subversion of your ability to think, by poisoning the meanings of words. and as such, you are also spreading this subversion with your idiotic thinking saying things that don't make any sense in the real world.
i've been seeing Turning Point logos for years. i didn't know what they were about but i knew they were conservatives, i'm more of an anarchocapitalist, which is two degrees separated. still, a lot of people i've known have reposted their stuff.
it would be difficult to find now, the left has memed all kinds of non-meme memes about it, if you search.
here's something actually from them:
yeah, that's coming down the pipe eventually too. bitcoin also will have its moment connected to it because bitcoin, lightning and nostr are turning into a very closely connected cluster.
also, they probably put telemetry on it to gauge the response. but that doesn't count as anything more than getting data on the response, how many were hit, how many got away, etc
ah yeah, i remember reading about that. so all of the ones that got shot down were decoys? that fits even firmer into the provocation point. unarmed, harmless, but "you couldn't even shoot down a dozen toys"
btw, that reminds me.
in the Book of Jasher, the aftermath of the fall of the Tower of Babel appears some very modern words that seem to be naming places like Lombardy and the Seine river, among other things.
this is a version of Genesis that is regarded as maybe not legitimate. but the section in the canonical Genesis is far less detailed in many areas, notably the adam and eve story has way more detail (it depicts it as though the Garden of Eden was an agriculture college and that they did 7 years training though after the theft they were more closely watched), and the parts that describe what happened after Babel and Sodom and Gomorrah are far more detailed as well.
since we fundamentally can't trust especially not long dead "scholars" in the employ of roman elites i prefer to go by the Jasher version of genesis, which seems much closer to reality, and Enoch also, makes it clear that angels were humans, at least by the definition of being able to breed.
this one thing alone completely reframes everything in the old testament describing encounters with angels, the "burnt offerings" and even the cain and abel story, the watchers in Daniel, and other places. people with flying vehicles, and high technology fits the description much better than hypothetical disincarnate superbeings, given recent history like the cargo cults of world war 2.
some things are more clear but writings are the easiest to falsify.
the rewriting history thing has been understood for a long time, and it has a terrible effect on cultures, potentially uprooting them from their real ground. it's probably happened so many times and so little of what is claimed to be history, is even legitimate.
the catholic church, for instance, western europe barely even read the bible anyway, but the mentions of enoch are there in genesis and jude to be seen. western europe never saw these books since not long after the compilation of the catholic canonical bible and it wasn't until the 17th century someone bumped into it in ethiopia. and now most "scholars" think that the text is not legitimate, and/or they date it to as recently as 500BC
convenient.
you more or less end up having to decide what you are going to believe, or what you think is suspect. for example, the lack of writings relating to Jesus from his time, doesn't mean nobody other than christians wrote about Him, it could just mean that at first the romans tried to memoryhole christianity. christians held tight onto their books and so we have them now.
anyone who claims that a relatively commonly considered to be legitimate piece of historical writing is not legitimate has nothing to stand on considering this situation. the romans had an obvious reason to try to suppress christianity, because ultimately it was one of the things that ended their rule. first it broke the empire in two, and then completely destroyed it. oh yeah, some homo materialist historian will try to say that it was economics or the mongols or something, and these things had a definite role in the play but to say that christianity and the law that it posits is at odds with the cult of government... yeah, for a reason, and you can read it in several places in the bible what reason governments wouldn't like christians.
nothing has really much changed since then and i don't trust these "scholars" they are just grotesque parrots of propaganda, since that is what most of history is actually, in fact.
adam back deserves kudos for inventing PoW but PoW never became useful until it was applied to bitcoin, and the history of shitcoins using PoW is pretty clear that it doesn't work well for anything other than bitcoin.
i keep saying this to PoW enjoyoors but they just aren't listening.
firstly, a desktop computer is way faster at doing EC pubkey derivations than a mobile
secondly, they don't exist yet, exactly, but it's conceivable that AVX/AVX2/AVX512 and other SIMD implementations probably could be created that would put the desktop computer far ahead of mobile devices
third, if there's money in spamming a network protected by PoW, they will do the investing to build pubkey derivation ASICs and then even desktops are game over. the spammers will win because their profit margin is sufficient that they can afford to bypass PoW by using accelerators.
the only reason why it works for bitcoin is because bitcoin is worth more than the cost of PoW accelerators. they have been on the network since 2014 and every year leap ahead by several zeros most of the time.
the only reason why it works for bitcoin is because bitcoin is more expensive than the asics. and this is a fact because otherwise it would not pay to mine.
so, where is hashcash for email today?
has PoW really stopped spam on nostr also? (hint, no, but auth whitelisting has had a dramatic effect)
so the thesis is back to front. filtering is the first line of defense. for a public good like the "global feed" of bitcoin's chain, you have to at least *start* by removing the bias that favors spammy data in witness sections of transactions. the first thing that core should be talking about doing is removing the witness discount. they would easily be able to persuade the whole flock of bitcoin nodes to agree with this change. but no, instead they are disabling filters instead.
the actions are contrary to the intent. end the witness discount. put a cap on taproot push. and if the consensus is being held back from adopting these changes, people are going to reach for whatever tools that can do something to at least slow down this trash getting on chain.
i don't mind if people really want to pay through the nose to put JPG files on chain. they just should pay the same as everyone else.
leaving crazy people to run around the streets after multiple cases of them brutally assaulting people is the problem. you can't apologize for this neglect of justice. half a dozen people at least were victims of this maniac before he finally went the whole way. there was plenty of chance to prevent it.
so, yeah, it is apologetics for murderers. everyone who thinks its ok to punch someone is under suspicion when they do it for random, crazy reasons. there was a marketing campaign in australia years ago "one punch can kill" it's literally true. one slash on the right part of someone's body also can open a major blood vessel or artery that leads rapidly to bleeding out as well. even a punch can cause this in some cases though that's pretty rare unless they are a hulking monster like this case.
yeah, it's easy to tell. they have a lot of characteristics in common with asians, even down to their architectural style and passive resistance behaviour.
there is a bigger picture to this.
historically on the eurasian continent, the most fiercely resistant to imperial control have been especially those in the region of mongolia and southern siberia. both the chinese and the russians and most of europe at one time or another, often several times, were overrun by their armies.
looking at the alt-history side of it, the mongolian genetics trace quite strongly back to the legendary Lemuria, and on the other side, which i think you see most patently with ukrainians, they have strong atlantean genes, the two types are notable in the events of the only UFO abduction story with physical evidence - hair from two "aliens" and one had genetic traces of iberian/celtic genetics and the other had marks of mongolian genetics.
i think there is a much deeper story going on behind what we see here. it seems to be a war on these two lineages from a third group who likely are related to the western, ibero-marussian lines (atlanteans), ie, the tribe of the fallen angels.
hmmm hmmmm
well, they aren't even that small a minority. i've personally met at least half a dozen asian russians over the last decade and seen them depicted in even the Metro games.
so they got plenty to burn, so to speak.
so messed up.
europe is sacrificing ukrainians, russia is sacrificing asians. it's almost like they are cooperating in order to remove specific lineages from the gene pool.
asians have always been a big part of the russian population. most siberians are at most one or two generations from mongolian. i know from the several southeastern european countries i've lived in there is a lot of asian genetics, bulgaria in particular is full of asian genetics, even regular bulgarians are often a bit mongol.
so, it's population control, and the whole thing is a puppet show.
gotta cull the minority whiteys on the planet for the kalergy plan.
i've officially stopped thinking there was any reason behind this other than mass murder being orchestrated.
this is absolutely disgusting. it's really obvious once you put the pieces together that they are just out to get millions of people dead to satisfy megalomaniacal delusions about power.
Jesus better be coming soon because this is gonna sooner or later ignite.
it's the 4th time that chapter 4 has been on the table also, and previous decisions were against it. the thing is that eastern europe doesn't want it, because it means russia has the RIGHT to attack them at this point, since they would then be obliged to fire missiles and send in troops across the border, game is on for that case and i don't think they can politically do it. there is as much russian friendly as opposed in eastern europe and they are not as militarily equipped as ukraine has been and they will be like "uh, so, USA will send us tons of materiel then? with what? peanuts?"
the stupidest thing about #coretard arguments about allowing OP_RETURN to be bigger (as much as to 100kb) on the basis that it costs more is absurd, because spammers specifically want to pay as little as possible for their pollution.
it is irrelevant to the discussion of how to counter bloat of the blocks, because the cheapest way to spam the chain is by using SEGWIT and the TAPROOT implementation bug that removes the datacarrier limit.
how about stop defending your bad takes, and actually apply your pea brains to the question in hand: how to fix what went wrong when taproot unlocked the size limit on witness?
because that's the hole that is most glaring. instead they are talking about opening up OP_RETURN which by no reasonable logic will have any impact on the material problem that exists.
i thought that taproot would be good, enabling malleability-free signatures, more compact multisig and actually the whole thing was cocked up and was how this whole shit with ordinals on the chain started when someone figured out there was a vulnerability.
almost 2 years later and there's still no resolution for that, but instead we are hearing about how we should change the non-consensus mempool filter to allow more arbitrary data in another place in the code.
like, what the fuck, guys, you aren't doing your job. if the intention was to enable smart contract shit, then sure, but this just lets noise onto the chain, and potentially ugly noise.
fix the datacarrier limit problem, and fuck off with your psychological warfare against people who don't want to relay or store spam on their nodes.
the whole reason why so many people have started running knots is because there is a glaring hole in bitcoin's security against spam and there has been PLENTY of time to do something about it, instead of opening the path to even more irrelevant data, both OP_RETURN and BitVM bullcrap.
it's hard to not wonder whether the core team has got people playing with their minds and nudging them towards turning bitcoin into a tire fire of garbage.
in florida, at least, being convicted twice of manslaughter in similar conditions is a life sentence.
just came up at the same time but neglectful lack of training of pit bulls that leads to death should be in the same category. and being charged of manslaughter should disbar a judge.
manslaughter would be the correct legal term. death caused by neglect is one of the ways in which you get charged with manslaughter.
dogs tend to become the image of their owners. the owners should be charged with murder. not training a dog as strong as a pittie should be considered to be negligence, at minimum.
this is the tradeoff that schnorr gives you:
no signature malleability, the pubkey X is like a malleability protection.
the pubkeys must be in the spend transaction along with the signatures on the out-points being spent.
so they are not so much smaller in size than p2pkh transactions actually. in fact slightly larger
i stayed up way too late last night to learn about how schnorr signatures work.
the pubkey is effectively like part of the signature value, in fact. probably satoshi chose ECDSA because it was easier to find but also for being able to use pubkey hash construction but you can't do that with schnorr.
ecdsa and schnorr signatures are both vulnerable. there are no signature algorithms with as small data size as these algorithms, smallest post-quantum signature algorithm has 96 bytes, most others are upwards of 600 bytes long. every transaction has one so a quantum upgrade would probably not even use any of the ones that are known currently, but something in the future when someone figures out a compact signature for post quantum algos. lattices are too big, multivariates are better, and there is also the possibility of short coding algorithm signatures, as well as hash based signature schemes that use similar techniques as merkle trees.
taproot addresses don't expose the public key until spent same as other transactions. the address is the hash of the public key, which is verified when signed by revealing the public key. this is why you should not reuse bitcoin addresses.
Thanks nostr:nprofile1qqsdlumwtmnqqdqnhzn2yc2azuftg57z380wq47fp62pds7tme2n7gspzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtc4j5yaw for giving an answer with some details, and nostr:nprofile1qqsptacwh5c0dxu9hw58c0ky2eznqrwzsddxmtprtl0czs72kh5jstqpz3mhxue69uhkuethwvh82arcduhx7mn99uqjqamnwvaz7tmzd96xxmmfdekkz7rfd4skc6tnw3ejummwd35kuef0qywhwumn8ghj7mn0wd68ytnzd96xxmmfdejhytnnda3kjctv9uwkfddv for raising the quantum-resistance point about TR
While witnesses have a discount, normal monetary transactions also benefit from the same discount as they also use the witness
What concretely could be done differently? Maybe the discount should apply only to small witnesses, so that larger - potentially spammy - witnesses pay more? (It's too late to include this change to the discount rules, as it's a consensus change, but I'm just curious to discuss these issues to learn more)
segwit should be deprecated and wallets should encourage users to move their UTXOs to taproot
quantum resistance is a far future risk. the best option we have currently for switching to quantum resistant signatures and ECDH is an algorithm called VDOO which has 96 byte signatures. so such an upgrade is not really feasible before 5 years when there might also be low enough storage prices to justify such a switch. the danger of bitcoin addresses being cracked is completely unrealistic in the short term (less than 10 years). the smallest economic UTXO to attack right now is over 800btc and it would take about 2 weeks to do it, assuming someone builds a big enough machine to do it, which is gonna cost upwards of 50 million dollars in the first place, plus that much again to power it for such an attack.
also, segwit witness discount does not make transactions as much cheaper as taproot. taproot can combine multiple signatures allowing many UTXOs to be merged with only one signature block.
would be awesome to get Jeffrey Tucker and Tom Woods to join.
maybe but the financial benefits of allowing this kind of business is too great for them to exploit it that way. they might try to nationalize blockchains though, but that would be impossible to do to bitcoin.
yeah, coretards don't think of that. some miners are just after as much TX as possible but some may actually have to answer for minting a block they haven't made sure has shit in it.
that's the thing, photons don't have mass. neither do electrons. or at least, not normally. EM drive experiments suggest that there may actually be a way to make electrons into some configuration where they have mass because they were able to bump a pendulum with the beam from one that was in vacuum, where there could not have been mechanical transference force, or any other particle but the electrons emitting from the resonator.
it was the em drive that started me on the idea that gravity is in fact mediated by clouds of these special configurations of electrons. and so they would also distort the velocity of photons as well.
the idea that intergalactic space might mean light speed is orders of magnitude faster than we observe here, throws a monkey wrench into the works of estimating the size of the universe. you CANNOT measure distance without triangulation or firing a projectile into the distance and measuring the time. and even then, even at the ranges that snipers shoot, the bullet path, and velocity, and air resistance is affected so much that at the longer distances it's likely to not even be the time you estimate because you assumed uniformity of conditions over the flight path.
same thing would apply to light, i think, since gravity changes the velocity.
