redirects – Why do some bands make their social networks available through the HTTP protocol?

I’ve been wondering about something interesting but that may not be so necessary.

Well, I’ve been looking at the description of some YouTube videos, and I could see that in most of the video descriptions of singers and/or bands they’re using the HTTP protocol on the link of their social networks, networks like Facebook, Instagram & Twitter, and that made me question whether there is anything like “using http is better than https when sharing social networks, because the server does such a thing…”.

Okay, this is what I thought, and I know that when the user enters a website via the HTTP protocol, depending on the server configuration, the server will redirect traffic to HTTPS and the user will be browsing a website with secure protocol.

The real question is: Why do they provide links to their social networks with the http protocol? Is there any benefit, some configuration of the server that makes something happen, for example, to improve performance or anything like that?

Something I also don’t understand is why they make these links available with the HTTP protocol, because when we enter these social networks we are immediately redirected to the HTTPS protocol, that is, if they are going to copy the address of the social network through the address bar, the copied link would come out in HTTPS and not HTTP, so I don’t know the real reason why they make the links available in HTTP, do they just type? This is something that makes me curious

Is there any witchcraft behind it or is it just a habit or something?

Logging TLS handshake? (OpenSSL/Mysql) Fatal Protocol Version (70)

I am getting an error instead of Server Hello from the server handshake, an alert protocol version with error 70. The description of SSL Layer shows description of 70. https://tools.ietf.org/html/rfc5246 The description describes version mismatch.

I cloned the server and uninstalled mysql8 and installed 5.7, and it works fine.
It looks like the same exact client hello is offered to the servers but the mysql8 server rejects the version.

Here is a screenshot of the 2 pcaps: https://imgur.com/JwgOHqN

I am unsure on how to log the processes (openssl or mysql) to see what the client (google apps jdbc) is offering for version, or how to dissect the pcap more than wireshark screenshot comparisons.

There are open bug tickets about this on google apps site, but none detailing the TLS handshake causing the failure.

Any ideas on how to troubleshoot this? Enable logging? Dissect the pcap more?
I already enabled all the mysql logs I can find. No info in them.

I want to post about it with detailed “google you are offering this jdbc version but mysql8 requires this version” instead of just “it don’t work”

How does RCS compare to extending text message protocol?

Text message constantly keeps adding more emoji so I know the protocol could be extended with a delimiter at minimum.

How does RCS compare to extending text message protocol? I ask this because I somehow doubt Apple will adopt the new standard but could be wrong when it doesn’t support encryption.

Here is a list of feature comparisons to iMessage

open graph protocol – Tag property og:type not recognized by the Structured Data Tool

I am currently adding some Schema.org properties on a website and in order to validate my work, I am parsing all pages in Google’s Structured Data Testing Tool. Everything is fine except for one thing, it displays for every page a message saying Unspecified Type even though it mentions 0 errors and 0 warnings!

By clicking on it, you can see where the error is located in the document, and it shows the OG tags I have filled. It displays the type «og:website» but still declares the type is not recognized.

You can check this line is present and read by the tool:

<meta property="og:type" content="website" />

When I check the pages with other tools specifically related to OG tags, I have no warning at all.

I thought maybe a wild invisible character prevents the parsing of this data, but it does see the value …!

What is wrong in my code? Should I worry about this when this tool is not made to specifically validate OG tags?

ref: the page in the Testing Tool

blockchain – Miners forego revenue in order to 51% attack the Bitcoin protocol by rejecting blocks

I was recently listening to Mike Green and Anthony Pompliano debate the future of Bitcoin on RealVision. And Mike raised an interesting point regarding Bitcoin (I’m paraphrasing). “Scenario: Let’s say the majority of miners, which are no longer bound by financial incentives, decides to attack the Bitcoin network by continuously rejecting blocks, could they do it? Could you essentially reject-spam Bitcoin’s network?”

That, I found to be an interesting question to which I haven’t been able to find an answer. Is anyone able to shed light on the plausibility of this scenario?

tomcat8 – Does Tomcat 8 or 9 support Proxy Protocol

Does tomcat support proxy protocol?

I am using haproxy load balancer as a proxy server which is routing the client https requests to tomcat and SSL is used in tcp mode in haproxy.

So for forwarding client/source’s IP to tomcat server, proxy protocol needs to be used.
but for that tomcat should be supporting or compatible with proxy protocol.
So tomcat support it?

node.js – MySQL error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "user",
  password: "password",
  database: 'database'
});

con.connect(function(err) {
  if (err) throw 'THE ERROR IS: ' + err;
  console.log("Connected!");
});

Should the client handle unsolicited protocol events from the backend?

This is a very generic question not much related to any language/protocol.

I have a desktop application and a backend that communicate via TCP. Most protocol events are paired — request/response. For example, I say “I want to create a secret chat with a person_id” (CreateChatRequest), and the backend replies with “Ok, I have created one for you” (CreateChatResponse).

Some of the backend developers say that the client must properly handle the CreateChatResponse even if no CreateChatRequest was issued by the client. They call it flexibility. While I don’t find this approach valid at all. In my opinion, there must be some new protocol event like RequestToCreateChatOnBehalfOfTheClient that can be issued by the backend any time they want and I will handle it in a very simple way — send the CreateChatRequest as if a user would do it themselves.

Is there any book/specification that says which approach is better? Or is there no “better” approach and it all depends on how we agree on the protocol? Though I am pretty sure there must be some best practices on the protocol development and responses from the backend should not be issued spontaneously.

How does BTC protocol guarantees that a “main” blockchain emerges?

I’m reading up on the bitcoin / blockchain technology.
Usually the part about proof of work and how to create a block is well explained.
However what is never explained is how/why the communication of blocks over the network allows for a ‘blockchain’ to converge.

Let me explain:
what if 2 miners create a new block at the same time, and broadcast it at the same time ? Roughly 50% of the nodes would have each one a new (different) block, and build on it. Now image this happens again etc. Then there is not a single blockchain that is worked on, as now miners all work on several forks. The bitcoin proposal addresses this by saying that the longest chain must be used but:

  • at a given time there could be 2 forked chains with the same size, and growing roughly at the same pace
  • knowing which chain is the longest requires to “backtrack” possibly to the begining, which means that no transaction on any chain can be “validated” as we are not sure to be on the correct chain

Are these issues adressed by the bitcoin protocol ? Basically it seems there is no proof that adding blocks in a distributed fashion over the network converges cleanly into a single chain

Brave Browser V 1.19 Now Supports IPFS Protocol

The Brave browser has said V1.19 will now support IPFS.