Blog‎ > ‎

CF H2, Programming, Quality, CDNs, Android, Quantum, uWSGI

posted Jun 11, 2016, 11:33 PM by Sami Lehtinen   [ updated Jun 11, 2016, 11:33 PM ]
  • Cloudflare announces HTTP/2 Server Push for everyone. - Awesome, something I've been waiting for. Now I gotta ask uWSGI (unbit) guys again, when HTTP/2 push is coming. I'll implement push features right away in my code. Security, Multiplexing and Push. Yeah, neat features, as well as the SDHC compression.
  • Still waiting to see how Unbit implements HTTP/2 push for uWSGI . Anyway, meanwhile I'm going to use Cloudflare's implementation which works just fine by adding a few link headers on server side.
  • I just can't stop loving breaking changes which are done totally unannounced. Sometimes I wonder if the team making those changes did even themselves realize what they're doing. Probably not. One essential function being called often, started to return totally random values instead of the values it should report. As usual, it caused a got ton of different silly explanations. Yet they didn't even acknowledge the change being made. No, it's so frustrating that stuff like this is being released and pushed into production. Who's going to pay for all the indirect problems being caused by changes like this? That's a great question always, when costs are cut and work time minimized and ehh, quality "optimized", to be good enough. Issue has been discussed now for several weeks, and it's totally unclear if there's any solution to this. But now I guess I'll have to try to discuss with them a bit more... To be continued... As usual, things aren't always as simple as it seems. The reason was secondary type of problem. Yes, something was changed, but it doesn't actually mean that the part which was changed was the one which was faulty? - Wait, what? Yes. Exactly. The part of the code which wasn't changed, contained some code which did handle return values using a pointer. But it used a long int instead of short int. On the other hand it's not exactly stated anywhere what the data type is where the pointer is referring. Therefore when the new version of the another library was replaced, it caused the module which wasn't changed to malfunction. Because the another module which now malfunctioned had been malfunctioning all the time, but it wasn't noticed because the data in RAM where the pointer was pointing outside the designated are happened to be zeros. Yep, so this is great example that even if you claim that X has been working for a long time and with many customers, isn't actually a valid point of proving that the code is implemented correctly. It can still be very badly screwed but it just happens to work. As it was in this case. - It's easy to jump to conclusions, even if the actual fault is deep beneath.
  • JVNS: CDNs aren't just for caching. - Yep, nothing new there. But I like the way Julia writes about this stuff.
  • Once again, fail. Samsung keyboard and email app issue. Text entry just doesn't work with new message. After you create a new email and add subject you can't continue writing to message body before saving message as draft and opening it again. Who makes this quality software. Ha. I'm using standard mail and keyboard. Fail.
  • It seems that Telegram Secret Chat sessions might break if Internet connectivity is bad. That's not great. I think something isn't right there. I guess it might be related to key ratchets moving forward yet not being used by the remote end as supposed.
  • Checked out IBM Quantum Experience - Also found out that there are many Quantum computer simulators which run using WebGL or even JavaScript alone in browser. Needless to say, that those are usually really slow. But that's not the point. Point is to learn and developt alogirthms, which can be later run on real Quantum computers like the IBM's 5 Qubit machine available in cloud. So now it's Quantum Cloud, ha ha. Media is going to go crazy on this.