Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mkleczek
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
151.
▲
by
mkleczek
3y ago
Well, it depends on the language. Some are quite good at restricting programs so that it is not possible to execute arbitrary code. Take a look at https://propellor.branchable.com to see how Haskell might be used. Idris might be
152.
▲
by
mkleczek
3y ago
While deceptive at first... Just try to imagine how "extract method" refactoring would work...
153.
▲
by
mkleczek
3y ago
Yes - that's one of the issues with structured exception handling. Relying only on exception type itself is not enough as information is lost (ie. the actual source of exception)
154.
▲
by
mkleczek
3y ago
> No, that's not it. The same problem is true for other error-handling types, such as the "either" or "result" types. Languages without union types or a similar mechanism are unable to define the error types adho
155.
▲
by
mkleczek
3y ago
When structured exception handling was becoming popular (C++ in nineties?) the idea was that immediate error handling (like when you have to check return values for errors) makes the main flow (happy path) blurred and unreadable. You cannot
156.
▲
by
mkleczek
3y ago
Checked exceptions failed in Java because they don't play well with parametric polymorphism. Union types might help (exception list declaration is actually a union type) but I don't think it would succeed anyway as it is not gener
157.
▲
by
mkleczek
3y ago
This is only because you use exceptions incorrectly. You can (and should) write: try { final var fResult = f(g()); //do something with fResult } catch (E1 e) {...} catch (En e) {...} That's the main idea of excepti
158.
▲
by
mkleczek
3y ago
I am afraid it requires "echo" runtime environment, doesn't it?
159.
▲
by
mkleczek
3y ago
> Code smell is usually used to describe code that is suspicious or uses practices that are known to be highly unreliable (e.g. regex) I think this sentence illustrates very well the root of our disagreement. Saying "are well known
160.
▲
by
mkleczek
3y ago
> That's not a bold thing to say. There are plenty of areas that are really hard to study through experiments, but we can still learn things through experience. The whole field of psychology is just on the edge of being amenable to
161.
▲
by
mkleczek
3y ago
> It's because measuring those things is impossible. It's not like people haven't tried - look up cyclomatic complexity for example. Quantification is the basis of scientific process. Are you claiming programming or softwa
162.
▲
by
mkleczek
3y ago
The longer I am in this industry the more I am disappointed about the fact that instead of using disciplined, quantifiable processes we are more and more in the realm of poetry with "analogies" or "metaphors". This kind
163.
▲
by
mkleczek
3y ago
Not sure what language you are talking about. For Java there is an awesome https://www.jooq.org/doc/3.19/manual-single-page/ Having said that: I stopped using it as writing plain SQL seems much more effective
164.
▲
OrioleDB Reached Beta
(github.com)
4 points
by
mkleczek
3y ago
|
1 comments
165.
▲
by
mkleczek
3y ago
One of the most exciting developments (among a few others) in PostgreSQL ecosystem just reached public beta. Congratulations!
166.
▲
by
mkleczek
3y ago
> 2PC tends to have limited throughput due to the participants needing to hold a lock between the voting and commit phase Scalability depends on lock granularity, what's more... > Sagas [...] can have high throughput There is no
167.
▲
by
mkleczek
3y ago
A long, long time ago we used to have two-phase commit protocols and XA. I am afraid most of sagas are 2PC in disguise - just requiring a programmer to explicitly implement rollbacks. The situation is similar to the whole "database ins
168.
▲
by
mkleczek
3y ago
KISS is good... until it isn't. At my work I struggle with the opposite: all problems are being squeezed into "let's put it into static JSON on the CDN" - which ends up with a complex custom JSON based language (schema)
169.
▲
by
mkleczek
4y ago
This begs the question: what data is going to be used as a training set? How do we make sure our black boxes don't become just echo chambers giving us answers we already know? At the end of the day it is always: garbage in, garbage out
170.
▲
by
mkleczek
4y ago
I must say not mentioning two phase commit and distributed transactions in this context seems strange. It looks like nowadays people forgot about XA and that MQ and DBMS can participate in a distributed transaction.
171.
▲
by
mkleczek
4y ago
You can in PostgreSQL and it is very useful: https://www.postgresql.org/docs/current/queries-with.html#QU...
172.
▲
by
mkleczek
4y ago
Maybe https://github.com/sraoss/pg_ivm might be of help?
173.
▲
by
mkleczek
4y ago
> I’d love to see B-Tree primary storage option. Aka store the row data inside the primary index. It is coming: https://github.com/orioledb/orioledb
174.
▲
by
mkleczek
4y ago
I will say it again: please, reconsider JEP411. SecurityManager helps: https://xeraa.net/blog/2021_mitigate-log4j2-log4shell-elasti...
175.
▲
by
mkleczek
4y ago
Ahh, I misread your comment. Indeed, halting is not very interesting property of programs.
176.
▲
by
mkleczek
4y ago
No, dependent types are no the answer - read (or watch) this: https://pron.github.io/posts/correctness-and-complexity
177.
▲
by
mkleczek
4y ago
The need for trust increases risk. Higher risk is higher cost.
178.
▲
by
mkleczek
4y ago
Thanks for this!
179.
▲
by
mkleczek
4y ago
> You still get full access to everything the app can see - all Confluence content. No (with proper policy in place). That's the whole point of SecurityManager. Even if you can execute code - it is sandboxed and has limited (or none
180.
▲
by
mkleczek
4y ago
Not long after log4shell yet another example of why JEP 411 (removal of SecurityManager) is a very questionable decision. Running applications under SecurityManager would have prevented a lot of these vulnerabilities (or rather - their seve
More ›