NYC Mayor Announces New NYPD RoboCop That Needs a Cop to Guard It
ConsciousCode @ ConsciousCode @beehaw.org Posts 1Comments 156Joined 2 yr. ago
IIT confuses me. Every time I try to understand it, it sounds like incoherent pseudoscience using technical-sounding language that doesn't actually describe anything actionable. Yet it's also very popular and has some implementations approximating its metric? Maybe I'm just dumb... Though I'm pretty sure random networks of XOR gates aren't conscious fwiw.
This is victim blaming. He isn't at fault for trusting a company to have the bare minimum of respect for his property and autonomy, the company is at fault for not actually having that respect. Whether the company is actually trustworthy is as immaterial as saying someone "deserved" to have their car stolen because they forgot to lock it.
You can criticize him for not being cautious in this low-trust environment, but don't let it get to the point where the party actually at fault gets off without criticism.
They aren't mutually exclusive, I have a few smart lights and I try to plug them into switched outlets so I can turn them off manually and also control digitally.
Can't be a billionaire if you pass a certain threshold of self-awareness, it's the rules.
Hm, yeah I think you're right. I was wondering why it wasn't sitting right in my head. Deflation encourages hoarding because the value of each unit keeps increasing so if you spend now instead of later you lose some amount of potential value. I don't think it was meant to be a scam though. In this case I'd consider it ignorance of the knock-on effects later exploited rather than an explicit conspiracy from the get-go.
Bitcoin at least is inherently deflationary because there's a fixed market cap of 21 million bitcoins. Once all of those are mined, all value from then on is some fraction of a fraction of one of those, thus they decrease in value over time. I should also note, I like Bitcoin as a proof of concept but don't think it's viable as a currency, and PoW isn't viable as a consensus protocol (although it demonstrated that such consensus protocols are possible).
"Squandering" is a great description of what they've been used for. The only implementations I've seen thus far that seem genuinely useful are FileCoin and a few decentralized computing attempts like ICP (not Ethereum). I could see a potential niche use-case for NFTs to decentrally coordinate ownership of abstract properties like domain names, but speculative monkey jpegs ain't it chief.
It's fiat, I won't argue it was ever going to be a good currency with built-in deflation, but that's what it was originally meant to be. It's long since become too volatile to be anything but a speculative asset, though. It does seem curious to me what that says about the actual distinction between legitimate currencies, stock options, and pyramid scheme buy-ins.
My hope is the fintech people will be gone by the time someone thinks of an eco-friendly consensus protocol that isn't Proof of Stake (ie "the people with the most money have the most power").
It's an HTML-like language that defines the browser's interface, you can use it to change the shapes, positions, colors, whatever of your toolbars and tabs. Also they do still have customization via userChrome.css and I think you can re-enable XUL if you dig enough? It does get mixed a bit with HTML-namespaced tags too.
I switched recently as my first baby steps to degoogle, particularly when I saw the writing on the wall with WEI. I was very pleasantly surprised by how customizable it is using XUL.
I have dozens of projects in varying levels of completion and maybe like 2 finished projects. Here's my list, steal to your liking because I come up with ideas I want to see in the world, and clearly I'm not a great medium for that:
- Philotic - p2p network of Python servers based on a generalization of process forking. Every server runs the same file (global scope is initialization) but some id-based guard like an annotation lets them do different things. I designed this to act as a lower layer for eventually splitting an LLM across multiple computers, something very obnoxious to do manually but relatively easy to code.
- Servitor - Actually probably will continue working on this, it's a library which makes it easy to use LLMs as "semantic functions", effectively letting you describe a natural language task and execute it as if it were a normal function.
- TAO - Type Annotated Objects, more or less CBOR with some personal improvements. 0-0x7f are tiny ints, the first nibble is a type, and the second nibble is usually an embedded length prefix (or signal for a longer length prefix). Being nibble-based and having a dedicated DEBUG type makes it a lot easier to read in hexdumps, and gives twice as many type prefixes to work with. I rearranged the types a bit to be more sane than CBOR (which eg has separate types for negative and positive integers), and also added streaming and varint support.
- STM/Snow - Structured Text Markup (in-progress name, "Snow" is a bit too informal?), a text serialization format where all data is (un)quoted text, "tags" which are { followed by data or text: data pairs, then }, or "markup" which is [ followed by plaintext interspersed with tags and ending with ]. The mixed positional/named attribute model of tags makes its object model a generalization of XML using JSON-like syntax and I've found it to be very easy to implement parsing.
- My "pie in the sky" dream is to completely overhaul HTML/CSS/JS for STM/simplified CSS/WASM, but that's never going to happen 😞
- Munchy - IDL-like language for representing file formats as an executable schema. Eventual goal was for it to be powerful enough to parse textual formats like JSON, which tend to be more contextual. At some point I found a similar project using YAML to define the schemas, but not being a DSL made it more confusing IMO.
- RetroArch file - A common file format for RetroArch to combine ROMs, patches, cheats, saves, etc into one cohesive format. Never got far with this one.
- Binary MIME aka contype. I even wrote an RFC apparently? Adorable.
- LLM modification - A paper I wrote about a potential LLM modification replacing the FF layers with a shared vector database to decouple memorization objectives from semantic and syntactic objectives, resulting in smaller foundation models. Predictably no one cared and probably no one should care, but it might be an interesting experiment to implement.
- Probably a more useful modification I haven't seen yet would be to implement kv caching using a prefix tree rather than a per-request cache. That would make semantic functions a lot faster, since it could cache the prompt between requests and it would only have to process the data.
- Preference vectors - Simple stochastic updating of "preference" and "feature" vectors to transparently associate preferences with content. This would allow people to essentially build their own "The Algorithms", since the update operation can be designed to create a linear space so you can eg request content close to "my preferences + my mood + heavy metal + randomness", and share feature vectors on social media. I think when I tested it I made a weird modular space where
d(0, 255) = 1
, and it still worked. Stochastic updates work, even in a distributed context, because it's a kind of "simulated annealing". - Wika - Simplified and standardized WikiText parsing (which is surprisingly not actually standardized and MediaWiki essentially defines it as "whatever our PHP parser can read"). Follow-up is naturally a wiki written in anything other than PHP.
- i2cec - ATtiny11 firmware for bridging the i2c and CEC lines of an HDMI cable so you can send remote control commands via your SMBus to an attached monitor (I accidentally got a TV instead of a normal computer monitor). Never got it to work quite right, timing was very tight.
- U413 - A unix terminal themed BBS forum with a looong history of makes and remakes and a community getting whittled down to a handful of people.
And finally then there's my magnum opus, Espresso, my favorite project I keep coming back to time and time again and bikeshedding refining over many years. If anyone else takes it up I'd be ecstatic.
- Influences: TypeScript, Python, Lua, Rust, C/++, Julia
- Self-hosted prototype-based scripting language with its JIT written in itself (eventually)
- Emphasis on simple rules which build up arbitrary complexity, a pathological avoidance of repetition, conciseness, and near Lispian customizability. SMOL.
- ASCII lexing with unicode support deferred to other stages (compare to Lua, which treats > 0x7e as an identifier - I also treat <= 0x20 as whitespace).
- PDA tokenization (used to be FSA/regex but nested format-strings required more power).
- LR(1) parsing with concurrent bytecode emission (ala Lua), AST is built up until it can be converted to bytecode. The most extreme case is extensive destructuring assignment (Rust, Python, [P2392]) which shares a syntax with object literals, but can be treated as LR(1) by keeping track of a distinction between "lvalue" and "rvalue" compatible syntax.
- All types defined with
proto[...T] Super Sub(...args) { ... }
, egproto class Animal { ... }
andproto Animal Monkey { ... }
- The higher-order types include
class
,enum
,union
,interface
,struct
, etc. Compare to [P0707] - Note that these kinds are objects, not keywords. They define how to convert the body to a type constructor and prototype chain(s).
- It took a few months to figure out this is possible by maintaining separate prototype chains for classes and instances.
- The higher-order types include
- Statements implicitly end,
;
is an optional operator to explicitly disambiguate their ending.after
operator,x() after y() == (var t = x(); y(); t)
- surprisingly useful for conciseness.- "Everything is an expression" - loops are generators, eg list comprehension works like
[...for(var x in 10) x] == list(range(10))
- Operator overloads use the operator itself as the method name, eg
proto class { +(rhs) { console.log("\{this} + \{rhs}"); } }
- Type annotations define compiler semantics: Type objects have a
delegate()
method which define how to represent the variable on the stack. Untyped variables use an inferred type or an implicitany
, which wraps a dynamic object. This lets you create objects likeint32
while still using the prototype semantics. - Recently I thought the syntax itself can be partially dynamic by using static scoping and macros which hook into the compiler when they're encountered, but I've tried similar things a few times and it tends to lead to failure. This would need something like C#'s
unsafe
compilation distinction to avoid catastrophic vulnerabilities. - "Initialization is compilation" - When you run a file, executing the global scope ("initialization") is treated as a stage of compilation, and the resulting module object is what is saved, not just its bytecode. Compare this to Python, which saves just the bytecode of the module.
- Lifetime semantics (ala Rust and friends) are still a WIP.
- Based on [P0709] and Rust's
try!
semantics, exceptions are actually wrapped in a returnedResult[T, E]
type:try
is an operator which unwraps the result and returns if it's an error. Thus you getvar value = try can_fail();
. Using type object operator overloading, theResult
type doesn't need to be explicitly annotated becauseResult[T, E] == T | Result[T, E] == T | fail E
.fail
keyword instead ofthrow
/raise
.
- Really want proper coroutines using PyPy's continulet/stacklet abstraction. Also maybe delimited continuations as the implementation for panics.
- Structured process forking.
- GC based on ideas from this LuaJIT 2.0 GC document.
I could go on for hours with all of the stuff I've thought of for this language. If you want to know more, the README.md and ideas.md are usually the most authoritative, and specification.md is a very formal description of a subset of the stuff that is absolutely 100% decided (mostly syntax). I've written turing complete subsets of it before. First usable implementation to arrive by sometime in 2200 lmao. 🫠 I can also unpack the other projects if you want to know more.
Vaxn't?
When did the Onion become less absurd than reality..? I'm pretty sure I've heard conservatives literally say some of these, and worse.
Now I want to see his reaction when people start breaking out the guillotines because his ilk have made peaceful resolution impossible.
Gates is a weird figure - I don't think he's actually evil (nowadays), because evil implies malicious intent. Rather, he unintentionally commits evil actions (those which harm people and if committed with full understanding would be unambiguously evil) as a result of his own personal extremely warped values. The guy thinks patent law is the highest moral good, so the millions of people who don't get vaccinated as a result are either forgotten about or a necessary sacrifice for the societal good of protecting patents (which he might justify as making these sorts of innovations possible in the first place - demonstrably incorrect, but good luck getting him to listen to anyone who might tell him that).
tl;dr you can't be evil by human standards if you have alien blue and orange morality.
The key search term is "userChrome" (userChrome.css and userChrome.js) and XUL, which is the HTML-like language FF uses to define its chrome. "Chrome" is a term that predates Google's browser, referring to the interface surrounding the displayed web content and Firefox still uses that internally.
Right now mine is pretty minimal, but there's a lot you can change. Essentially, the interface is a kind of HTML page which can use the same features as normal HTML and can even run custom JavaScript. Also look into BetterFox for how to remove Mozilla's own telemetry and bloat.
My userChrome.css for reference; ::: spoiler spoiler
css
/* Move findbar to the top */ .browserContainer > findbar { -moz-box-ordinal-group:0 !important; /* for 112 and older */ order: -1 !important; /* for 113 and newer */ border-top: none !important; border-bottom: 1px solid ThreeDShadow !important; } /* Remove "Open All In Tabs" button in bookmarks folders */ #PlacesToolbarItems .openintabs-menuitem, #placesContext>menuitem[id="placesContext_openContainer:tabs"], #placesContext>menuitem[id="placesContext_openContainer:tabs"]:not([hidden])+menuitem+#placesContext_openSeparator { visibility: collapse !important; } /* Tabs are attached on the bottom */ .tab-background { border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0 !important; margin-top: 1px !important; margin-bottom: 0 !important; padding-bottom: 31px !important; } .tabbrowser-tab[multiselected=true]:not([selected=true]) .tab-background { border-radius: var(--tab-border-radius) !important; margin-top: 2px !important; margin-bottom: 1px !important; padding-bottom: 29px !important; } .tabbrowser-tab[selected=true] .tab-background , .tabbrowser-tab[multiselected=true] .tab-background { background-color: var(--toolbar-bgcolor) !important; background-image: var(--toolbar-bgimage) !important; }
:::
I found this repo which is supposed to apply Chromium styles in line with Google's Material Design guidelines.
Here's an article I found with some simple tweaks.
Death of the author engineer venture capitalist?
They made sure to change it to "do the right thing" first, where "right thing" is probably "become synonymous with the internet".
So how long until people start advocating for the nonhuman, nonsentient robot over actual PoC? "Silicon lives matter"?