Manuel Simoni

4.7K posts

Manuel Simoni

Manuel Simoni

@msimoni

geek of programming languages, operating systems, and hypermedia platforms

Katılım Nisan 2008
1.6K Takip Edilen4.7K Takipçiler
Manuel Simoni retweetledi
vitalik.eth
vitalik.eth@VitalikButerin·
"Even more bugs are inevitable, software is all going to become probabilistic now" is cope. "AI bug-finding means we have to embrace closed-source now" is a psyop. Writing buggy code has moved from hard to trivial. Writing secure code has moved from impossible to hard.
English
60
64
520
58.4K
Manuel Simoni retweetledi
Mikael Brockman
Mikael Brockman@meekaale·
these days I explicitly seriously choose C and C++ for the unprecedentedly rigorous and complete form of memory safety they allow
English
0
1
2
378
Manuel Simoni
Manuel Simoni@msimoni·
@joseph_h_garvin @awelonblue @Ngnghm It's a generalized syntax for denotating/serializing arbitrary graphs of objects, something that people always end up adding to other formats like JSON. CL has it built-in from the start in its syntax.
English
0
0
2
34
💻🐴Ngnghm
💻🐴Ngnghm@Ngnghm·
One essential difficulty about programming is that while source code is essentially a tree, running code is essentially a graph. This appears clearly when trying to offer "source level" runtime introspection tools.
English
12
14
135
9K
Manuel Simoni
Manuel Simoni@msimoni·
Just a tidbit: Common Lisp code is actually a graph, always. It has syntax for referring to other forms, e.g. to create the infinite list containing foo symbols, use '#1=(foo . #1#) The #1= gives the list the identifier 1 within this form, and the #1# refers back to this element. $ sbcl * (defparameter *foos* '#1=(foo . #1#)) *FOOS* * (subseq *foos* 0 3) (FOO FOO FOO)
English
4
0
8
404
Manuel Simoni
Manuel Simoni@msimoni·
"When I sat down to draft the personal section of this post and tried to summarize what I remembered most about BeOS, the file system was the first thing I named. That sentiment was common in 2000, and it has not gotten any less correct since." jdhodges.com/blog/bebox-bea…
English
0
1
15
627
Manuel Simoni
Manuel Simoni@msimoni·
@akater I can provide it for every object that can be serialized canonically. E.g. every JSON object with RFC 8785. Plus of course, I can provide it for many other objects, via something like Java's equals().
English
0
0
0
13
Dima
Dima@akater·
@msimoni ? There is no difference. For a hashtable, the equality predicate for keys must be provided. You can't provide such for arbitrary objects.
English
1
0
0
74
Manuel Simoni
Manuel Simoni@msimoni·
One of the biggest differences between the Lisp and Unix traditions is that in Lisp a name may contain any characters whatsoever without restrictions (you can even have a name that's the empty string), whereas in Unix you always have massive restrictions on the characters you can put into a name, and those restrictions explode combinatorially if you need to bridge multiple namespaces. Sad! Even Lisp could be improved though by allowing arbitrary objects as names, and not just strings. Why shouldn't you be able to use a picture or a structured datum as a name?
English
9
1
32
3.9K
Dima
Dima@akater·
@msimoni …not just “complicated”; that's a relavtively minor issue. It becomes straightforwardly ill-defined. Equality for each “structured object” has to be defined individually. There is no universal definition thereof.
English
1
0
0
63
Manuel Simoni
Manuel Simoni@msimoni·
@ElucidationsPod You need _some_ escape character, at least in a plain text syntax, just like you need \ in JSON. But that's just syntactic. What matters is that underlying data can contain any character.
English
1
0
0
14
Manuel Simoni
Manuel Simoni@msimoni·
@MaineFrameworks I agree that threat modelling is warranted, I just don't think that it's that big an issue outside of well-known problem areas (domain names, email addresses, ...). It's not like people creating variables with 0 instead of O is a massive security problem. ;-)
English
0
0
0
23
Chase Saunders
Chase Saunders@MaineFrameworks·
@msimoni All kinds of code can be subtly compromised in this way, e.g. by declaring a variable with a similar name to a legit one. I don't know how common it is in practice.
English
1
0
1
48
Manuel Simoni
Manuel Simoni@msimoni·
Always funny how the idea of being able to use any character in a name ruffles some feathers. This is not some extreme high tech problem. You're able to use any character in a JSON string, aren't you?
English
4
0
12
1.4K
Manuel Simoni
Manuel Simoni@msimoni·
@jameskjx Clearly the problem here is not that a name may contain arbitrary characters but that the query is constructed in an incompetent way (not using prepared statements)?
English
1
0
1
14
Manuel Simoni
Manuel Simoni@msimoni·
@MaineFrameworks Yes, if this is a threat to the system then it needs to be addressed (e.g. for usernames). Otherwise, like for filenames, it's typically not that big of a deal.
English
1
0
2
33
Chase Saunders
Chase Saunders@MaineFrameworks·
@msimoni What do you do bout character spoofing, e.g. malicious attacks replace c for something that looks like c.
English
1
0
1
39
Manuel Simoni
Manuel Simoni@msimoni·
@_Felipe I would guess that there are a billion requests per day to internationalized Wikipedia page titles. (Does it require special care, and should it be restricted for some use cases (domain names, email addresses)? Surely.)
English
0
0
1
54
Felipe O. Carvalho
Felipe O. Carvalho@_Felipe·
@msimoni And that is a cause of many bugs. The devil is in interoperating with many parser implementations. Restricting characters enables (and is governed by) interoperability lessons learned from many failures.
English
1
0
1
165
Matt Teichman
Matt Teichman@ElucidationsPod·
@msimoni I thought parens, delimiters, a pound sign, quotes, etc. were disallowed in a Lisp identifier.
English
1
0
0
40
Manuel Simoni
Manuel Simoni@msimoni·
@muwlgr Would I ever use a picture as a key in hashtable? Maybe. So why should my namespace prevent this?
English
0
0
0
22
Volodymyr Mutel
Volodymyr Mutel@muwlgr·
@msimoni good counter-example, agree. but would you give your "1" a name represented by a picture ?
English
1
0
0
27