Hacker Newsnew | past | comments | ask | show | jobs | submit | more stefs's commentslogin

Works for me


is it really that hard to write a report in LibreOffice instead of word? is that more that we can ask of our military top brass?


Don't fall for the whataboutism trap.


neither my answer nor ops point is whataboutism.

they bring up a valid point: libreoffice is (in their opinion) harder to use and probably lower quality, so reports are harder to write and taking away time from more important things.

in my opinion libre office is absolutely good enough for this use case and thus not taking away significant time from other tasks. furthermore, the austrian armed forces are free to contribute to the project to improve the perceived paint points themselves.

on the other hand microsoft products are closed source and probably upload data to datacenters outside the customers (i.e. in this case, the militaries) sphere of influence. this may include the data (for storage and or AI training) and meta data (for advertising and telemetry).

microsoft may even silently introduce or reactivate (after they've been declined) those options after updates (don't quote me on this, but i think i remember this happening at least once).

microsoft apologists may argue that this is only the case for improperly configured corporate deployments, but as the software is closed source nobody can really be sure and if it's that hard to get right, it's a security problem in itself.


> arder to use and probably lower quality, so reports are harder to write and taking away time from more important things.

They almost certainly have templates for their reporting, so its just adding text, figs, and tables. And lower quality how?


My point was rather that officers should have better things to do than feed the bureaucracy with reports no one will ever read, and so the harder you make it to write reports, the less likely they will do more of them!


this tool works by replacing the "general purpose" algorithm by specializing it, which made it less general purpose but simpler and more efficient ... and now there's the request to make it more general purpose.

(it's a joke! and the joke is that those are two different general purpose. but still.)


I do get the joke but it's a tad misplaced here.

Language developers really do struggle with debugging our data-structures since they are often both circular and complex compared to many other applications, I wrote yet-another-UI tool for inspecting code back when I was doing my thesis work.

Maybe I should brush it off (and make it general... ), it would give you a source-code view and navigating the source-text you would be shown compiler nodes related to the lines/statements.

It was almost the only way to make sense of it since I was often generating multiple paths per statement (It was a lossy type-inference system so previous type branchings could lead to multiple subsequent code-paths through each statement and expression).


well, the chinese outsourced hog farms (pork production) to the U.S. because the farms are considered too toxic and environmentally destructive for them.


I'm not sure I get you - "not 0" is a more predicable value than a certain number, isn't it?


I'm talking about output. For sure, if I am reading this bool from FFI I want to have "not 0" be truthy. However if I am writing a bool to a FFI interface I want the value to be predictable (for example 1) rather than "some non-zero value".

Although this does open interesting cases where if you read a bool from one FFI interface and write to another it may have an unexpected value (ex 2). But I still think it is useful for the in-language conversions for example Boolean to LongBool and the True constant to have predictable values.


I presume this FFI goes in both directions; some APIs really want the value of a boolean to be 1 while others really want it to be "all 1s"/0xfff.../-1 because, internally, someone decided to do something silly and compare == or switch on TRUE.


The .Net runtime generates code that relies on bools being either 0 or 1. It's quite easy using interop to inadvertently set a bool to something else and this leads to very odd bugs where simple boolean expressions appear to be giving the wrong result.

(Tangentially, VB traditionally used -1 for true. VB.NET uses the same 0 or 1 internal representation for a bool as C# but if you convert a bool to a number in VB.NET it comes out as -1.)


-1 isn't even a bad choice, since that's basically using 0xFF for true and 0x00 for false. The weirdness is the fact that you're converting a binary value to a signed integer.


This goes all the way to early BASIC, and it's signed because the language didn't have any unsigned numbers to begin with.

The main reason for this particular arrangement is that, so long as you can rely on truth being represented as -1 - i.e. all bits set - bitwise operators double as logical ones. Thus BASIC would have NOT, AND, OR, XOR, IMP, EQV all operating bitwise but mostly used for Booleans in practice (it misses short-circuiting, but languages of that era rarely defaulted to it).


If you can rely on truth being represented as 1 (or 3, fwiw) the same bitwise operations work fine.


NOT doesn't


A lot of the time variables will be in registers. And registers are basically ints. That would be my guess for why many things are ints that could fit in less space.


it may be possible to add - or rather, that they've already added - an mcp function that clears the context?


that is not the same.


Sure they are. They’re both just people using whatever power they have to shape the narrative.


on the one hand you have the owner dictating his political bias to all his employees/journalists. on the other hand you have a person/journalist interpreting reality through their own political bias. what's the difference? in the first case the medium would only report biased in one direction, in the second case it'd report roughly split around the percentages of the (journalistic) population, e.g. 60% this, 40% that.


> The reasoning was that more horses are needed to remove the manure, and these horses produce more manure.

i think that even then, that's not a problem, as one horse drawn cart can remove a lot more manure than it produces, i.e. a small number of extra horses can remove the excess manure of all horses and the overhead the extra horses introduce is mimimal.


If the footprint of the city is large enough, eventually transporting a cart of manure from the center to the edge consumes as many "manure-miles" as it produces. Though that is probably comically large, because as you say: a cart is a pretty big compared to its own horse's output.


You don't have to remove to the edge, you have to remove to the closest railway terminal or water port. No city could grow large without one or both of those.


but you don't do this for strings either, as shown in the examples - partial strings are pushed even though they're not yet ended:

    {"name": "Ale"}


Oh this isn't about the public API, it's about the internal logic of the parser.


cool! how does this compare to dokploy? same niche or are there important differences?


I'd say the biggest difference is in the backend -- canine is built on top of kubernetes, which is what lets it leverage the rich ecosystem of tooling and packages. Kubernetes has a reputation for being difficult to use, and so Canine tries to be super opinionated, and follow a set of best practices.

I'd like to think at this point (about 2 years into development) we've gotten to a place where the end user doesn't even know they are using Kubernetes.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: