GIL, Stock Market, Integrations, SPF, TCP BRR, ETL

  • A very nice financial chart. Which just shows that people don't want to buy stocks when they should, and refuse to sell when they should. But of course this isn't any kind of news. Yet this sets the question, if Index funds are doing it exactly wrong. Would some kind of simpler allocation which isn't adjusted similarly produce better results than indexing? Anyway, timing markets is still nearly impossible.
  • As hobby, I've built following integrations: Telegram Bot, Facebook Graph, Google+ and Twitter. All working beautifully in automated fashion.
  • Nordea (Nordea Pay), Danske Bank MobilePay and OP (Pivo) banks provide NFC payments on mobile. That's very nice. Siirto.fi service is coming, but I haven't yet seen it anywhere being actively used.
  • More endless discussion about SPF rules. Well, first they go and instruct recipients to ignore mails... And then complain... Oh well... But it's also up to the recipient if they choose to honor those instructions and so on. Phew, blah, yuck. - It's long time since getting recipient address right alone, got emails delivered. - And even that simple thing alone, was way too hard for so many people.
  • Very nice presentation about TCP BBR by Google. But there's nothing new there. It's just great that this is becoming reality. But the theory is just so age age old. And obvious to everyone. Just building practical implementation which would have been available with OS has been missing.
  • Watched a documentary about whole brain emulation aka "mind uploading". People are just programs, which can be run in emulated environment.
  • Nice ETL tools for analytics stack post. Syncer, Transformer, Security, Data quality, Data completeness, Data usability, Support, Integrations, Price, Additional features, Applicaction surface area, Setup. - Statements about poor data quality, made me smile. It's exactly what I've been saying all the time. - Data usability is also something, which has to be extremely familiar to every DBA.
  • Why cx_freeze @ GitHub included vcruntime140.dll sometimes but not always? Good a question. Have to look for answers. I would prefer it to be included always. Interestingly some of my project seem to have it included and others not, even if the setup.py is very similar. Maybe there's some kind of dependency tree issue, that it doesn't get included always when it should. On cx_freeze level. After quick googling it's very clear, I'm not the only one with this issue. Seems to be a known issue. Someone claimed that include_files work-a-round wouldn't work. But it does, you'll just need to give full path to existing file and that's it.

Python GIL

Let's remove the Global Interpreter Lock - (GIL) - Post

Locking is complex issue. It would be totally possible to remove GIL from Python, and add in fine grained locking. But it would cause horrible performance hit, especially for single threaded code. This is one of the reasons why I usually prefer 'shared nothing' and if something is shared, make the share lines pretty coarse and simple. Like message / task passing to worker pool. Of course this isn't the model which can be always used, but for my DB / ETL / processing tasks it has been working perfectly so far.

They also mention in the post additional maintenance burden. - Yep, that's one of the reasons why I usually prefer 'dead simple' programs, with a few critical simple optimizations. But that's it. There's no reason to grow code base 2x to get 5% more speed. Sure, in some cases that's worth of it. But I haven't yet encountered such cases in my field. Of course something like database or networking code might justify such trade-offs. Extra code also might (and probably will) cause extra bugs, etc. Written even simple code very well, is a lot of work. Sometimes you can optimize by dropping stuff like exception handling, but that might not be a good idea for production code.

It's sad that the PyPy STM project also failed.

2018-11-11