XML/SOAP based protocol was created with modern at the time .Net technologies, but nobody really cared about interoperability, so it screams "old .Net" now.
1,085 karma · joined December 9, 2014
Software Architect, Python/Django enthusiast.
XML/SOAP based protocol was created with modern at the time .Net technologies, but nobody really cared about interoperability, so it screams "old .Net" now.
https://www.eff.org/deeplinks/2018/02/technical-deep-dive-se...
https://htmx.org/attributes/hx-swap/ https://htmx.org/attributes/hx-swap-oob/ https://htmx.org/attributes/hx-target/
But do I (and all my colleagues) need Microsoft Office (Word, Excel at least) and/or Drawing software (Adobe or something) and/or god forbid Visual Studio 2026, and some other corporate software to make a living? Inevitably yes.
If such SIAAS
- Checks that query is SELECT query (can be tricky with CTE, requires proper SQL parser)
- Allows editing said query by superuser only
- Can be parametrized, including implicit $current_user_id$ parameter
- Has it's own permissions and users can run the query if they have permissions
It's safe enough. I've seen and applied such "Edit raw SQL in HTML form" many times. It's super flexible, especially combined with some CSV-to-HTML, CSV-to-PDF, or CSV-to-XLS rendering engine.Remote: Yes
Willing to Relocate: Yes
Technologies: .Net, Ansible, AWS (DynamoDB, EC2, ElasiCache, Lambda, Organizations, RDS, etc.), Azure, C, C++ (Qt), C# (WPF), Jira, Go, Linux, Python (Django), TailwindCSS, Terraform, reverse engineering formats and protocols, cryptocurrencies
LinkedIn: https://www.linkedin.com/in/adontz/
Email: roman@adontz.com
I am an Engineer with experience in backend software development, desktop software development, embedded development, electronics, and infrastructure management. I like to know things.
In recent years I was head of DevOps department in a bank and CTO is an early stage startup. Love open source.
The Georgian Dream party rigged the elections, stole at least 20% of the votes, securing a constitutional majority.
During the election campaign, the Georgian Dream party promised its voters EU membership.
The party approved the composition of the parliament and government with a gross violation of the law.
The party presented an average football player without a higher education as a candidate for the country's president. This same person could not become the president of the football federation due to the lack of a higher education.
The self-appointed prime minister announced that the question of EU membership will not be considered until 2028.
Unorganized protests began simultaneously in five cities. Police dispersed people with a mixture of cold water and pepper spray. Dozens of protesters were hospitalized with chemical burns to their skin.
https://docs.python.org/3/library/exceptions.html#concrete-e...
and standard about exception type hierarchy
https://github.com/psycopg/psycopg/blob/d38cf7798b0c602ff43d...
https://peps.python.org/pep-0249/#exceptions
Also in most languages "catch Exception:" (or similar expression) is considered a bad style. People are taught to catch specific exceptions. Nothing like that happens in Go.
https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...
Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here’s the amazing part: On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away. That’s the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
I suspect CPU spikes are caused by Go's GC, not some Postgres client issue. Anton got similar latency spikes in nginx vs Caddy test, explained them by GC then.
While settings in the video make sense for production, worth noting that SQLite WAL settings can affect performance by an order of magnitude, so YMMV. Also, SQLite may be completely in memory.
>> How did you measure "experiment tolerance"?
Feedback from CS mostly. No formal method. We tried to survey clients to calculate courage metric, but failed to come up with anything useful.
That's a great question. We had no general solution for that. We tried to survey people, but results were inconclusive, not statistically significant.
Most people think of feature flags as boolean on/off switches, maybe per user on/off switches.
If one is testing shades of colors for a "But Now!" button that may be OK. Regarding more complex tests my experience is that there are not a lot of users who tolerate experiments. Our solution was to represent feature flags as thresholds. We assigned a decimal number [0.0, 1.0) to each user (we called it courage) and a decimal number [0.0, 1.0] to a feature flags (we called it threshold). That way not only we enabled more experimental features for most experiment tolerant users, but these were the same users, so we could observe interaction between experimental features too. Also deploying a feature was as simple as rising it's threshold up to 1.0. User courage was 0.95 initially and could be updated manually. We tried to regenerate it daily based on surveys, but without much success.