Blog‎ > ‎

Web Security, Learning, Functional Requirements, SQL, APFS, EM-Drive, TSQL / MSSQL CXPACKET, Projects

posted Mar 25, 2018, 3:41 AM by Sami Lehtinen   [ updated Mar 25, 2018, 3:41 AM ]
  • Cross-origin resource sharing (CORS). It's being used in a few projects, but I'll need to fully study and implement it. Security features like SRI & CORS & CSFS protection can't be ignored. Subresource integrity (SRI), Cross Site Request Forgery (CSRF).
  • Thematic anaylsis. Sounded pretty much something which should be completed using machine learning, unless data is pretty static, analyzing system got very limited resources and high amounts of data are being processed.
  • Life long learning, learning by doing, reading from net versus expensive formal education. That was quite an interesting article. "You can become an expert in anything you choose." - Just wondering how unemployed people aren't using their time to study stuff and develop themselves.
  • Microsoft licensing. It's horrible, absolutely horrible. It's also very hard to get information how to get things right. Yet another reason why I haven't been using any Microsoft products for a decade. No wonder you'll need expensive specialist staff or outside experts to take care licensing, bringing extra cost to already expensive licences.
  • Gone through hundreds of pages of different functional requirements for one interesting project. I really enjoy cases, where customer can present clear requirements documentation.
  • Laughed how bad Microsoft product naming is. Today I've seen several emails which talk about Skype. Which is of course total fail, when it should say Skype for Business. - But we all know how badly Microsoft handles matters like this.
  • One document said that messages are store into SQL queue. Wasn't that classic anti-pattern? - I've actually personally argued that it's totally ok to use SQL database as queue. It that sounds too bad, you can also use directory with files, it has been proven to be a working solution for decades. Or just large append files which are rotated when fully processed. This is more efficient than individual files for small messages.
  • A nice post about APFS filesystem format - But there are still plenty of details missing. Anyway, databases, file systems, memory allocation, etc. Are very interesting topics and as usual, when designing those everything is a trade-off. When you make something faster, you might make some other use cases a lot slower. I've been often wondering why file systems won't use small file packing. Yet 'inlining' is one way to get that done. Another way to get kind of same result, but with seek, would be using single cluster with offset to store data. Yet as it seems storage is growing so fast, that there's no need for that mostly. It's more important to manage large files and free space allocation even more efficiently. Can waste a ton of storage space, if small files are being written.
  • EM Drive is working? - Confirmed by NASA peer rewview. Hmm, that's interesting. Does this mean that Newton got the third law wrong?
  • Analyzed TSQL performance issues on MS SQL Server. It seems that the CXPACKET is the worst bottleneck right now. Of course this is very expected situation. There are certain database access related issues, which always arise on every project, unless especially dealt with. Related links: CXPACKET wait statistics, Parallel Execution Plans, Troubleshooting the CXPACKET, CXPACKETs not your performance problem. Also reminded my about clustered indexes.
  • Interesting article about Fusion Reactors. What kind of problems there are to be expected? Some claim this article has been totally debunked, but afaik interesting points after all.
  • Response to how to never complete anything - This is actually very good post, and among the lines I've written about again and again in my blog. Another interesting related response post: How to complete a side project.
  • is now shutdown and domain has expired. When I run last archive run with wget, it seemed that very high speed full mirroring of the site consumed about 10% of CPU time (after disabling rate limits). So it worked very efficiently. I'm quite happy about that. It was a good experimental project and I learned a lot while creating and maintaining the site.