3,463 karma · joined November 14, 2013
In the article, the "smart" oven is only a speculation (maybe it works, and maybe someone will pay for it) and as such it is appropriate as a relatively low effort and low risk experiment on the part of an established oven maker (develop rudimentary automation and offer it as a very mildly disruptive feature at a modest price increase).
> I've been thinking about the futsal effect - which is how Brazilian footballers developed superior skills through a constrained small-sided game with 5 on each side, then moving onto a full football game with 11 on each side. My understanding is the constraints are designed such that the most important and difficult skills are trained in a fast, immediate feedback loop.
You might be underestimating how being one player in 10 rather than 1 in 22 and being never far from the ball makes every player more than twice as involved in the game, yielding more intense training than a normal game: feedback loops become more frequent, but not faster.
For even greater intensity it is possible to play football with even smaller fields and teams, and in a cage to reduce interruptions.This has nothing to do with iterations of the kind found in software development, which are about products and external constraints, not about training for individual skill and collective coordination.
Instead, sell expensive one-off consultancy projects to help some company understand one specific code base, with the only long-term relationship of satisfied customers recommending you and calling you again for new projects.
Hopefully this kind of bug is enough to teach the important of measuring, logging and testing to a naive optimist.
In a normal standard development process experimental codecs come first, then those that have proved to work well, including having good enough performance, are described in the spec; after standardization there's very little room to "develop the algorithms" because nonconformant implementations would be useless.
Reverse engineering is limited to the abnormal case of having access to some codec but not to the standard that describes it.
- a startup with legacy personal email addresses from one or two universities
- a spin-off sharing the email domain (and the whole IT infrastructure) of the parent company
- cheapskates using six approved free email services
For security purposes, on the other hand, the important part is proving that the LinkedIn account is owned by the organization.Moreover, the extremely dynamic execution and lack of compilation in Python means that determining in a lint step whether "there is no + operator for int and dictionary" is essentially impossible: if you find some __add__ or __radd__, you need to trust its declaration that it accepts certain types or not and hope it's still there at runtime; if you don't find it, it might exist at runtime when operator + is actually used.
A compiled and sufficiently static language, on the other hand, can inspect source code and libraries and reason about potentially infinite sets of definitions and prove that functions exist or don't exist.
You need to know why you want to spend money, which implies evaluating features, needs and possibilities, virtually guaranteeing that the user learns that OS or firmware updates and OpenWRT exist and are important.
> SQL was not designed for application development, and every attempt to integrate it into higher level programs (ORM, fluent query builders, raw strings, macros/preprocessors) comes with unpleasant rough edges.
Forgetting that interactive SQL queries, and to an even greater degree the underlying databases, are applications.
This is of course silly: the "range of representable values" of floating point colour components is [0,1] independent of quantization and how an invalid input would be quantized is irrelevant.
Looking at the actual "big picture" there are 256 representable values and (taking into account gamma correction, arbitrary ranges other than [0,1], deliberately nonuniform quantization bins, and other plausible complications) their correspondence to 256 floating point values should be regarded as a generic lookup table, abandoning all hope of using elegant and cheap formulas and making it obvious than encoding and decoding differently is not an option.
The article contains only a vague half paragraph of architecture:
> they want to move the permission management from Flatpak into the service layer, through a new service called systemd-appd. Systemd-appd gives applications an identifier and stores their permissions, and then this data can be queried by the rest of the system. In turn, this enables a slew of other features, not least of which is subsandboxing.
At first sight this "new service" seems single purpose enough to get a satisfactory and relatively simple standard specification and multiple implementations with or without systemd: what am I missing? Conversely, isn't depending on future systemd developments rather than current features strangely aggressive?And what other speculated Flatpak features introduce other dependencies from systemd? Discussing whether unwanted dependencies can be made optional or eliminated requires technical details.
volatile int x = 5;
...
int y=x;
printf("%d in hex is 0x%x.\n", y, y);First of all, traffic rules are good, and similar to good C programming rules: check number value ranges when there is a chance of casting or overflow, check Inf and NaN floating point values, declare alignment strategically (e.g. in all memory allocations) to avoid misaligned pointers and variables, and so on. Such rules have alternatives and exceptions and must not be part of the language.
Second, nobody needs perfection and "UB-freeness": it is reasonable to assume that many cases of UB won't be a problem, either because a library will be used correctly and they won't happen, or because the C implementation is neither weird nor hostile and they will be as benign as defined or implementation defined behaviour, or simply because we avoid doing something known to be inexact or hard to write correctly.
Practical programming requires knowing the relevant rules for what one is doing and learning new ones by making, diagnosing and overcoming mistakes; not omniscience, and definitely not the unfounded feeling of omniscience and unlimited resources that LLMs can give.
EDIT: I insist on the signed char example because it would be terribly wrong (processing who-knows-what as if it were a sequence of characters) even without undefined behaviour, even in different languages.