Basic interpreter used $a000 to $c000 if I remember correctly, and screen buffer characters was at $400. If you didn’t need to display anything you could use it for something else.
Yep! For those reasons, it was more or less the "default" target for assembly programs without special requirements. So much so that even as a child I knew "SYS49152" ($C000 in decimal) by heart.
Wikipedia explains it as "an activity done by individuals to protect themselves from possible subsequent criticism, legal penalties, or other repercussions, usually in a work-related or bureaucratic context."[1]
Last time I ordered some lithium primary batteries from Amazon it came with the lithium sticker. I didn't look into the rules.
Lithium poses two risks:
1) The internal resistance is low enough that if it's shorted it can go into thermal runaway. This is the risk they had in mind when saying no loose cells (but note that cells merely need to be securely contained, not specifically in a device.)
2) Secondary cells can grow whiskers inside the cell. If a whisker grows just wrong it can short the cell from inside and drive it into runaway. This is the risk that they are worried about here--and it's a legitimate risk, it's brought a plane down.
The reason the rules are different in the passenger compartment is that while there's nothing on board an airplane that can fight a lithium fire it's generally a small, weak fire (the big e-bike batteries that have been in some rather dramatic videos aren't allowed) that humans can generally keep from turning into a big fire. But if nobody can fight the fire you have a big problem. Hence why lost phones are treated very differently--they could have fallen someplace where the fire wouldn't be fought.
They are more dangerous. They contain significant amounts of lithium metal, the thing that bursts into flames when in contact with water. There are similar restrictions on them for air travel.
Case in point: When Daimler and Chrysler merged, they had a law firm (with no other ties to either company) register the DaimlerChrysler domains weeks before the merger was made public.
I don’t recall if anybody noticed before they went public, but as this thread shows, today it would be noticed for sure.
One of the earlier seasons of Survivor had the winner leaked because of something similar.
Their website had bios of every player, with a <playername>.jpg headshot. As they were voted out, their headshot was replaced with <playername>_eliminated.jpg.
As soon as someone realized that, they entered in every player's name with _eliminated.jpg. One player had a 404 for that file.
I think it might be a typo that was supposed to say VIP Movement.
I've heard ATC use that term when Air Force One was in the area. They won't say who specifically is there, or even that it is AF 1, but instead just say that air space is closed "due to VIP Movement".
I don't think it means they care more about safety when a VIP is around, rather that a VIP movement might shut certain other operations down, which increases the overall workload for ATC.
For example they sometimes (or always?) stop all ground traffic from even moving while AF 1 is taxiing, landing or taking off.
Of course milk doesn't mean milk anymore either, now that we got oat, almond and soy milk. Along with less common alternatives like coconut, hemp, rice, cashew and macadamia milk.
The dairy industry is actually pretty annoyed with that and tries to get the rules changed so those beverages can not be called milk.
If you ask the model what the color of grass is, and it answers blue, then that would indeed be false (or maybe a lie). I think most people wouldn’t call that a hallucination.
But if you ask it for a court case, and it makes up a whole false case file with fake names and fake facts and everything, then calling that ‘false’ seems to be an understatement. Hallucination seems a good label for that kind of thing, imo.
Fair point, but OTOH the 787 was financially engineered to put Boeing on the other side of fixed price contracting. If you're on the purchasing side of fixed price you can tell yourself you don't need experienced engineers, similar to when you're on the selling side of cost plus.
Plus, if you already have a little fiefdom of fixed price subcontractors, you can fool yourself into believing you can take fixed price contracts on novel work, passing the burden and risk onto subcontractors, taking a slice no matter what. And that's exactly what has happened with Starliner, right? AFAIU, these valves were designed and built by subcontractors. Boeing's biggest role seems to be project management, and maybe some assembly? Except now they're even failing at that.
> Because at the end, it's all just graphs with vertices and edges.
That's not the end. At the end there are just objects and morphisms between them. Graphs (with their edges and vertices) are just a special category of... Well, have a look at "Category Theory".
The ast is just the result of a technique for parsing one style of programming involving text.
Visual programming with say boxes and lines at its core should not involve an ast.
You need to think outside the box. Your thinking of textual programming as the core and the visual programming as an abstraction above it which is how the industry has been focused since its inception.
Right, generally but not necessarily. There are many different kinds of visual programming languages, with vastly different pure and hybrid models, including boxes and lines like flow charts, interlocking puzzle-piece blocks without lines like Snap!, Scratch, and Nassi-Shneiderman diagrams, and grids of adjacent cells like spreadsheets and cellular automata.
Some visual programming languages use lines to represent control flow, others use them to represent data flow, and others use a mixture of both. Additionally, different kinds of control and data flow can operate at different frequencies within the same system.
Snap!, which is essentially a visual block based version of Scheme, allows you to pass functions or closures, by wrapping blocks in gray insulating "gaskets" like lambda expressions that delay evaluation, and even supports macros, special forms, continuations, user defined control structures, and threading, just like Scheme.
Another example is Max/MSP, which primarily uses lines to represent control flow and data flow. However, it also distinguishes between data flow at "simulation tick frequency" and a much higher "signal processing frequency". This means thousands of audio samples can flow along one line at every simulation tick, while only a single piece of data or signal (like a pure data-less control flow "bang") may flow along other lines at a slower simulation tick frequency.
In data flow visual programming languages, a data flow box can emit any number of data outputs at once in parallel.
A control flow box typically emits only one control flow output at a time, unless it acts like a "fork" operator. Fork operators, as seen in Petri nets, support concurrent processes by allowing multiple control flow outputs.
A data flow conditional works like a relay with three inputs (A, B, and Select) and one output. The Select input determines whether A or B is the output.
A control flow conditional, like a traditional flowchart "if", has one or more control flow inputs, a Select data input or embedded expression, and multiple control flow outputs. The Select input or expression chooses which control flow output the "program counter" branches to next.
Pure data flow networks do not have a single explicit "program counter." Instead, they typically evaluate nodes in partial dependency order, which may include loops (introducing a one-cycle feedback delay). Petri nets have multiple concurrent control flow "tokens" that flow between boxes along the lines in parallel.
Another example is Body Electric aka Bounce, which is a data flow visual programming system with relay-like data flow conditionals, but also each box has an implicit "enable" input that you can use to switch it on and off (like a power supply), so when it's turned off, the last calculated outputs are latched and buffered, and can be read by downstream dependencies, but the values are not recalculated during simulation frames when it's not enabled.
In Blender geometry nodes, data flows from left to right, while functions can be passed and applied in a way that evaluates right to left against the data flow. That is, functions are passed on the left, but the data is then processed through the function, either once or iteratively.
Functions or operations can be encapsulated within nodes and passed along the data flow. For example, a "Subdivide" node contains a function to subdivide geometry, and this function is applied to the geometry data passed into the node.
Nodes can pass functions as parameters to other nodes. For example, a "Function Input" node can be used to define a custom function that can be passed into another node, such as a "Map Range" node, which applies the function to its input data.
Functions are applied to the data as it flows through the nodes. For example, a "Set Position" node can apply a function that modifies vertex positions based on certain criteria (e.g., noise texture values).
Some nodes, like "Attribute Math" or "Attribute Vector Math," apply mathematical operations to attributes of the geometry, effectively using these operations as functions that transform the data.
Nodes can be configured to apply functions iteratively or conditionally. For example, a "Repeat" node can apply a function multiple times to achieve iterative processing, such as repeated subdivision or transformation.
Conditional nodes, like "Switch" or "Boolean Math," allow functions to be applied based on specific conditions, enabling selective processing of data based on attributes or other criteria.
While data flows left to right, some nodes can evaluate data in a right-to-left manner when applying functions. For instance, a "Function Output" node can send data back up through connected nodes for additional processing before final output.
This evaluation allows for more complex operations where data may need to be processed in multiple stages or cycles.
Another example of 'control flow' is the new behavior graph from Khronos (glTF Interactivity Specification). They did a survey of existing visual programming langauges and are trying to making a standard. It's just been released for public comment: https://www.khronos.org/blog/gltf-interactivity-specificatio...
Programming, especially imperative, is essentially boxes (statements, function calls) and lines (control flow). That’s why algorithms can be represented as flowcharts.
Right. I call it an isomorphism. You can translate one into the other and back. Whatever "other" form of programming exists it can and should be translatable to boxes and diagrams.
But this "other" form on first glance can look very different. There are no boxes and lines in C++ or python for example.
Sure, but code has a level of complexity that boxes and lines abstract away. If you want to describe a certain level of complexity, you'll need code or something that achieves a similar level of capability. If you don't need that high level of complexity, often because you're abstracting complexity away, it's hard to find an alternative that isn't better than boxes and lines. If there's a better alternative, nobody's found it yet. Boxes and lines appear to be a final state to which all roads lead.
No. I did not misread. I believe you misunderstood.
You’re saying c++ and python fit into a category of programs that is foundation-ally really just boxes and lines.
I’m saying that’s not the right way to look at it. Because you can make the opposing statement. You can say that programs that are boxes and lines are foundation-ally just text programs.
So because both contradictory statements can be made both aren’t really correct. There is no hierarchy. Boxes and lines is one concept and textual programming is another peer concept standing on equal footing. Both are isomorphic and thus translatable to each other.
The point of my post is to suggest that there are other concepts that occupy this equivalency space. Imagine a category of interchangeable interpretations of programming that are all translate-able between each other with no hierarchy. It’s similar to the space of human languages. All human languages don’t occupy a hierarchy yet all are isomorphic.
Basic couldn't utilize it, but in assembly it was a great area of extra memory, and you could use it without even switching the ROMs off.
reply