Deleted Comment
Deleted Comment
> Democratizing the Tools
> We love that corporations are doing all this work, but we don’t love the fact that the opportunity to share information is asymmetric,” Lungren says. “If they amass data but then lock it down, they will be the only ones who can innovate, which would shut out the important contributions by computer scientists and clinicians around the world. That’s not a position we want to be in.”
Uh huh.
Let's scrutinize the "Stanford University School of Medicine MURA: MSK Xrays Dataset Research User Agreement":
> By registering for downloads [...] you are agreeing to this Research Use Agreement [...]
Hiding downloads behind a registration. We're off to a FANTASTIC start. /s
> YOU MAY NOT DISTRIBUTE, PUBLISH, OR REPRODUCE A COPY of any portion or all of the MURA: MSK Xrays Dataset to others without specific prior written permission from the School of Medicine.
> YOU MAY NOT SHARE THE DOWNLOAD LINK to the MURA: MSK Xrays dataset to others.
You know what? I'm going to stop there. The agreement becomes increasingly more hostile.
Someone please inform Stanford on what "Democratizing" actually means.
It's a hard pass from me.
local p = { x = 1, y = 2 }
print( p.x, p.y )
setmetatable( p,
{
__newindex = function() assert( false ) end,
__index = function() assert( false ) end
} )
print( p.z ) -- you get assertion failure
p.k = 12 -- you get assertion failure tooThough, for a 'simple C library for 2d (and actually 3d) game development' -- I would highly recommend https://www.raylib.com/. I really, really dig the API design there. One of the main 'downsides' I guess is it doesn't out of the box build natively for iOS -- but the Wasm support makes it run there pretty fine out of the box and raylib-fork can be used to get a native iOS build going with some work. It's got a lot of stuff out of the box including a GLTF loader and skeletal animation.
The main issue I have with the language is with table accesses and 'nil'. Tables in Lua are the most fundamental type of object in the language, it can be either an array (1-based index) or a hashtable. In this language objects are basically just tables with fields in them, and with metatables you can basically emulate all the features in a typical OOP language (classes, inheritance, traits, operator overloading, etc.) Field access in objects are just table accesses (like what you can imagine with Javascript).
However, when you try to access a field in a table that doesn't exist (such as 'print(table.key_that_doesnt_exist)'): no errors or exceptions are explicitly raised, it just silently returns nil. This is such a dealbreaker that makes the language much harder to debug than other languages (at least Javascript returns undefined, which is different from null! Oh well, that actually has problems of its own though....) Some more horror: global variables are also implemented as tables (imagine that there's a table _G at the top of the scope). This means that any spelling mistakes with variables will also just silently return nil, since if it doesn't find any variable names at the local scope, it tries to find at the global scope.
The global variable thing was actually such a big problem that people came up with some voodoo metatable trickery script like strict.lua (https://github.com/deepmind/strict/blob/master/strict.lua) that prevents this from happening (a showcase of the language's power, but probably not its proudest). I'm sure you could also do this with table creation (make a wrapper function tbl() that automatically adds metatables to tables to prevent invalid field access, so every time you need to do things like 'pos = tbl({x = 1, y = 2})') But still, there isn't a solution baked into the language, and it's cumbersome to do this (and I'm not sure about the performance implications of this addition).
Right now I'm trying to integrate Squirrel (http://www.squirrel-lang.org/) instead of Lua as a scripting language into my game. Squirrel is an embedded scripting language that's hugely inspired from Lua, but also fixes this shortcoming of the language by making invalid table accesses runtime errors. And when you want to add new fields to a table you need to explicitly do so via the <- operator:
table = {}
// print(table.x) (Runtime error)
// table.x = 1 (Runtime error)
table.x <- 1
table.y <- 2
print(table.x) // Outputs 1
which is much more explicit and less error-prone.> No other re-ligion (lit. “back-binding” [one etymological analysis of the word /religion/] to some ideas to rely on for humans) is necessary for a society, but only reasoned about principles: reflection, symmetry, cooperative construction (by too many CAs -> 1CA).
I'm never explained as to how the etymology of re-ligion relates to the whole thesis, much less what the etymology actually means. That first sentence will already make 90% of the people in the humanities to close their tabs. Please explain concepts like these in full sentences, than rather jot out abbreviations and notes that only you could decipher. I'm actually intrigued about this etymology, but I can't understand! What is "CA"? What do you mean by morality relating to symmetry?
> Evolved religions like Christianity also abide to following principles. Their followers do:
1. think/reflect about the world (our thinking: one instance of reflection)
2. they are in search of beauty, of beautiful/good actions/deeds (symmetry (1))
3. they try to establish one text, one book, as core of their religion.
Now you're making very, very huge sweeping generalizations about the nature of religion right away at the second sentence, which would now make the remaining 10% of the humanities people to run away. The particular qualm I have (disclaimer: though as a non-humanities person) is the third part: religion is not operated only by what is explicitly written in the texts, but are also implicitly defined by the cultural norms of that society (which is why some religious people often try to "find" things in the text in support/opposition to current cultural norms (such as women's rights in the Bible or the Quran), rather than interpreting the text and then create a top-down cultural norm based on that!) And the "singular text" thing might just be a byproduct of you thinking Christianity is the only religion in the world... (more specifically, a product of Protestanism) Also you really need to be careful when using the term evolved: I'm not saying you shouldn't use it, but you're now adding a evolutionary view of "progress" in religion that you have never explained!Ah, I don't have the energy to read the rest of this, people deserve a more legible manifesto than that.