![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
The UI is desktop only for now, I’ll make the mobile UI some day.
The UI is desktop only for now, I’ll make the mobile UI some day.
I didn’t know the answer either, but usually you can compose solution from solutions of smaller problems.
solution(0): There are no disks. Nothing to do. solution(n): Let’s see if I can use solution(n-1) here. I’ll use solution(n-1) to move all but last disk A->B, just need to rename the pins. Then move the largest disk A->C. Then use solution(n-1) to move disks B->C by renaming the pins. There we go, we have a stack based solution running in exponential time.
It’s one of the easiest problem in algorithm design, but running the solution by hand would give you a PTSD.
Replacing “Programmers:” with “Program:” is more accurate.
Tower of Hanoi is actually easy to write program for. Executing it on the other hand…
Technically, containers always run in Linux. (Even on windows/OS X; on those platforms docker runs a lightweight Linux VM that then runs your containers.)
And I wasn’t even using Docker.
How I lost a Postgres database:
I was thinking along the lines of
Plenty of libraries can build the XML using structs/classes. e.g. with serde:
//Data type for row
#[derive(serde::Serialize)]
pub struct Foo {
pub status: String,
pub name: String,
}
//Example row
let ent = Foo {
status: "paid".into(),
name: "bob".into(),
}
//Example execution
sqlx::query(&serde_xml_rs::to_string(&InsertStmt{
table: "foo".into(),
value: &ent,
})?).execute(&conn)?;
Or with jackson-dataformat-xml:
//Data type for row
public class Foo {
public string status;
public string name;
}
//Example row
Foo ent = new Foo();
foo.status = "paid";
foo.value = "bob";
//Example execution
XmlMapper xmlMapper = new XmlMapper();
String xml = xmlMapper.writeValueAsString(new InsertStmt("foo", ent));
try (Statement stmt = conn.createStatement()) {
stmt.executeUpdate(xml)
}
I don’t do JS (yet) but maybe JSX could also do similar things with XML queries.
No more matching $1, $2, … (or ?
for mysql) with individual columns, I could dump entire structs/objects into a query and it would work.
1 a : to propel oneself in water by natural means (such as movements of the limbs, fins, or tail) b : to play in the water (as at a beach or swimming pool) 2 : to move with a motion like that of swimming : glide a cloud swam slowly across the moon 3 a : to float on a liquid : not sink b : to surmount difficulties : not go under sink or swim, live or die, survive or perish— Daniel Webster 4 : to become immersed in or flooded with or as if with a liquid potatoes swimming in gravy 5 : to have a floating or reeling appearance or sensation
https://www.merriam-webster.com/dictionary/swim
Apparently, swimming inherently requires a liquid.
Better than parameterized queries. Yes, we have stuff like query("INSERT INTO table(status, name) VALUES ($1, $2);").bind(ent.status).bind(ent.name).execute...
, but that’s kind of awful isn’t it?
With XML queries, we could use any of the XML libraries we have to create and manipulate XML queries without risking ‘XML injection’. e.g we could convert ordinary structs/classes into column values automatically without having to use any ORM.
I actually like this. This would allow reuse of all the infrastructure we have around XML. No more SQL injection and dealing with query parameters? Sign me up!
We can say default is and
and add an Or
node for or
. Similar to SoP notation, you only write +
.
Nothing will ever top “Galaxy Note 7”. Super fun in planes, especially if they’re flying.
You have rust.
You get a horse and arrive at the castle within seconds but the horse is too old and doesn’t work with the castle.
You remove the horse, destructure the castle and rescue the princess within seconds, but now you have no horse.
While you’re finding a compatible horse and thinking whether you should write your own horse, Bowser recaptures the princess and moves her to another castle.
I agree.
However, I love looking back at those “in action” pictures. The ones where people are laughing, talking with each other, looking at stuff, playing games, going places, etc.
We have one (and just one) such picture, and my parents have framed it on the wall. And it wasn’t even shot at any special location, just a random roadside.
“It could be yesterday’s newspaper”, it’s not reliable. Better get a TV showing news in the background instead.
You, sir, are a genius.
I agree. I do have a handful of pictures that I look at, like when I pointed a camera just above some buildings and cranked the shutter time to the max to capture the skyglow. But for every such picture there are a hundred more that are just sitting there.
There is where I stand, but other people continue telling me to do these things…
Maybe you’re right, I might appreciate it 30/40years down the road but definitely not 10 years. I have photos from 10 years back but I never look at them. They only stay because storage is cheap.
That advertisement would be interpreted as Node
C
’s advertisement.The plan is to treat public keys as node’s identity and trust mechanism similar to OpenPGP (e.g. include any node key signed by a master key as a cluster member)
Right now, none of the encryption part is done and it is not a priority right now. I need to first implement transitive node detection, actually forward packets between nodes, some way to store and manage routes, and then trust and encryption mechanisms before I’d dare to test this stuff on a real network.