Deep Tech Stack, Peewee, GDPR, Python, Privilege
- More layers and more complexity, deeper stack. I've hear more and more developers / product managers to complain about complexities of today's technology. But hey, it's completely optional to use those complex layers. For many projects, I personally look for simplicity. Use simple and reliable technologies, which are easy to manage, understand. operate and develop. Only use more complex stacks, if it provides some essential value and is worth while. Only reason why I'm not using full cloud platforms for many of my projects is that there are certain risk factors, like how easily and quickly to relocate the project in case of trouble. Can I restore it to 20+ hosting providers around the world, in less than 8 hours, if required. Yes, I can. That's why I have chosen certain widely available stacks.
- Thanks Charles for adding to Peewee the in and not_in operators. stuff.not_in(set) is much more readable than ~(stuff << set). - Thanks - Get_or_create is also very nice, except my data models are so complex that it's practically useless. For simpler stuff, it would be awesome.
- Had some long string editing issues. Implemented a piece table to get rid of the problems. Had a few lame bugs at first, but it was quite easy to get it perfectly working after all.
- I've wondered for a long time why Outlook uses word "Hylätä" when it shows popups. Because in Finnish "hylätä" doesn't only mean dismiss. It also means abandon, forsake, turn down, reject, disqualify, turn away, ditch, cast off, abdicate, let down, disapprove, renounce, throw out, overrule, defeat. That gives kind of impression that you're telling other attendees to get lost when you click it. Keep your meeting, I'm really not interested, don't bother me again. I think that "Close" or "Ok" would be better options.
- Finnish GDPR guide - Miten valmistautua EU:n tietosuoja-asetukseen? - It's just around 80% compacted version of the similar English documents.
- One security expert recommended buying enterprise version of Symantec Endpoint Protection 14. Yet they totally forgot that updating over seven years old versions of Java, Acrobat, Flash and old Office 2010 without updates could be a good idea. Lulz, information security is just so much blah blah, so often. If you by this over priced product, your system will be secure, PCIDSS and GDRP compliant. Yeah right. - Business as usual.
- It's just like backups. When you buy this totally overpriced product, your data is safe. Yet nobody gives a bleep, if backups or restore is working. As long as monthly payments are just running.
- Lately I've used a lot more nice Python structure in my code than earlier. stuff = [func(i) for i in source] as well as value = option_a or option_b and also value = source if func(source) else 'Something_else'. All very very nice syntax which saves lot of extra lines from those simple statements. One thing to remember is also that the for loop value remains outside the loop. for n,i in enumerate(source): after the loop n is still available, to see how many entries got processed. Yet these are structures which might confuse programmers not familiar with these features.
- Played with one old phone. It was nice to find out, that even with Android 4.0 IPv6 works flawlessly. Also once again found out how fked Skype is now, when Microsoft made everything to screw it up.
- I'm wondering when we're ready for "full cloud" solutions. Currently we're using hybrid model, just to be sure that essential data is kept secure. Even then, I would prefer having at least two totally independent cloud providers just to be sure systems remain available. Yes, it causes some overhead to use several vendors, but we all know how bad it is, when you've put all eggs in one basket and then something bad happens.
- I appreciate people with "maximum privilege principle". Which basically means that everyone should have full administrative access to everything. I've seen that way too often. Having any security policy is usually considered to be a "major hindrance" and making things slower to execute. So it's just better to configure everything wide open and things are then easy to do, manage and everything works.