• 0 Posts
  • 58 Comments
Joined 3 years ago
cake
Cake day: June 16th, 2023

help-circle


  • Hard disagree. I’m a security engineer by training and actually learned C at university among other languages. Most security weaknesses are human error. Therefore most used and therefore read and audited code tends to be the most secure. C is a perfectly reasonable language for low level things like embedded controllers where rust is hard to get. But safer by design is always more reliable than skill or willpower or even experience. So its just not likely that his C code is safer than something written in current technology. I get feeling comfortable in a language, but that should not ignore technological progress. I’m not a fan of all thee rust hype, but in terms of security it is a signifikant leap forward and feels alot like C.









  • Had a coding firm costing 1k+ euros which was unfamiliar with django select all() from DB just to cast that into a list each time a user opens the tool. That got real funny real fast when the customer started adding the announced 50k objects per day. They did that buried in about 50-60 api endpoints conveniently coded by hand instead of using genetic api endpoints available from django rest framework.

    When the loading times hit 50s per click, the company took the money and ran. My colleagues and me spent 2 years and half that to fix that shit.




  • Ask them to generate a schema file that you can download from the api. Or at least an endpoint that returns a hash of the current api schema file. That’s cheap versioning telling you if something changes.

    You can always use the swagger schema to verify the api. So ask some basic questions what should always be true and put that into validation scripts. If they use a framework, HEAD requests usually tell you some things.

    Last really bad vendor had an openapi page that listed the endpoints but the api wouldn’t adhere to the details given there. I discovered that their website used the api all the time and surfing that i was able to discover which parameters were required etc.

    Last idea is statistics. Grab any count data you can get, like from pagination data and create a baseline of available data over time. That gives you an expected count and you can detect significant divergences.

    I tend to show up at the vendors it guys in person and bribe them into helping me behind their bosses backs. Chocolate, coffee and some banter can do wonders.


  • I have long suspected that its a techies responsibility to take care of their immediate friends and family in regards to self hosting. SoiI usually offer that service for free to my extended family. I usually tell them they have to rely/trust someone, might as well be me and if it weren’t them I would charge customers X money for that service monthly. So it becomes a gift and something personal and they feel taken care of and when the dreaded “help me with my email” call comes you just pop open their account without trying all the password on that crusty sticky note and look into it. I especially love those “they claim they didn’t get that email” calls. Pop open the log and send the excerpt of their server accepting the email to the claimant and boom number one of all the standard excuses is done for. I once saved my mums job that way.




  • I use sogo for that. Includes a web interface as well as proper authentication mechanisms and sync integration. Is also lightweight and even allows LDAP integration oif you like.

    Also caldav support for tasks and events as well as carddav for contacts. Also allows connections to any email account for sharing calendar events and being invited via email.