If you differ between AI source code and engineer source code say so. "Getting things done" is a business need. Which things get translated to a deterministic language executable by a computer is code.
There are entire languages dedicated for lesser engineers/domain experts to formulate business requirements.
Anyhow; What's your point?
That we received a framework for "soft algorithms" where the output does not need to be correct and deducible?
What's even the point of putting it into software.
Just forward your input to the reader and let him judge on its own.
AI is more "grown" than it is "hard-coded". It's sideways to normal software - the way DSP is sideways to normal software but somehow even worse.
It all comes down to hard logic eventually, but that "eventually" has teeth. None of the interesting behaviors of AI systems live in "engine.py".
My point is: there are tasks where the choices are to use AI, use a meatbag, or suck forever. The "use AI" option going to be flawed, and often in the same ways "use meatbag" is. But it's going to be cheaper, much more scalable, and a lot better than "suck forever". Humanlike flaws are the price you pay for accessing humanlike capabilities.
You sound like the type of meatbag that goes "a human would never make this type of mistake", then makes a mistake at least twice as embarrassing, and either never notices, or immediately memory holes it to preserve his overinflated self-image.
To me, your FAQ quickly addressed all questions I had to get a first grasp of the capabilities.
It appears to me that you had a determined scope and I very much like that!
Your professional input may be desired. Though I did not contribute to Thunderbird either (, yet?).
Thing is, your critique may result in guidance to make part of these changes according to your skillset!
But I am just a hopeless dreamer in the good of many things.
I think if the team are shipping it in this state then either: they don't have the ability to notice the issues on the core team, or they see the issues and ship it anyway. Feedback like this is unlikely to solve either of those cases.
This isn't complex stuff either. I'm not a designer, I don't even do frontend/UI work, I'm basically just a backend engineer. If I'm spotting this stuff on first glance at the main marketing screenshot, which should be the best possible case, then this stuff must be glaringly obvious and pervasive.
You might have a particularly good eye. I saw none of these problems in the marketing screenshot.
I only see one ... icon in the entire screenshot, nothing is fuzzy, and all text looks aligned. The only weirdness is a misalignment between the sidebar header and the main window header, but those don't need to be aligned anyway.
> Unfortunately moving to Gitlab or Sourcehut doesn't really help, because the underlying model (GPT-x) is trained on the entire internet, so that includes all scrape-able websites. The only way for your data not to be used in GPT (and therefore Copilot) is to not to put it on any website or make it very difficult to access, like encrypting it.
Having the entire git history decorates specific chunks (at least entire commits) with context by the commit message. So you may not only process the entire repo at one specific state in time, but the entire history in at this point in time.
There is valuable knowledge while making sense of it; But this is not accessible to us. It relies in the knowledge base of one company (or two).
No. One need a specification of the intended behaviour. Behind this specification lays the interface (data type, here a Object-class). This data type on the other hand can have different representations.
Design by contract is a term i didn't read as an agreed scientific term.
It is used in OO-languages for some pattern, where you "generate" (read imply) a specification. E.g. two unrelated services use the same data type within their communication. This may be injected or included within their dependencies. To me its related to code generation. It may aid the collaborations between multiple developers across multiple projects to 'move faster'. I have limited and bad experience with this.
> If so, what about invariants? Are invariants related to good interface design?
Invariants in my book are then a synonym for mixins. Which in OO-Design would be represented via dependency inversion.
Invariants can be necessary at best.
Its no measure for a good interface.
If your data types are specified such that invariants do not missbehave, they can be used.
Invariants are not a synonym for mixins, I'm not even sure where that idea might have come from. Invariants are assertions that are true throughout a program or subset of a program (like loop invariants). Where did you get this notion they were synonyms for mixins and what would that even mean?
> Invariants are not a synonym for mixins, I'm not even sure where that idea might have come from. Invariants are assertions that are true throughout a program or subset of a program (like loop invariants). Where did you get this notion they were synonyms for mixins and what would that even mean?
It was my own understanding; Thanks for suggesting clarification.
I falsely associated such mixins with encapsulated behaviour. It was my take on mixins and may have translated the term invariant wrong.
Appreciated.
> Thanks for your reply! I will need more research to reflect on the examples you give.
Please note my sibling answer which shows I am opinionated.
I have memorized my own takes from such terms so researching about my answer may be time not used well.
Sorry.
Does indeed overlap.
I only read about contract-based programming; contract by design via API documentation in a java environment.
> and it seemed to me the main concern was program correctness/consistency
It is. There are multiple factors to deploying correct software though.
> Maybe I mix up different concerns and good interface design is more about satisfying use case?
Apparently your are on the right track. But I would strongly agree on the latter. Such formal correctness proves didn't cross my career yet. But I am assuming safety-critical systems or systems haed to update may benefit here the most.
Which would explain my lack of certainty.
> Are square brackets part of the spec now? I can't get over ((((( for everything with no real easily visible distinguishability between parts of a definition. Clojure gets the Lisp-like syntax as right as possible IMO.
Square brackets are replaced by normal parenthesis to my knowledge.
Though I have to admit that I strongly dislike them. They put more cognitive effort into the syntax than they aid.
For me the cognitive effort is greater without the use of []. The meaning of the () following a symbol in a (define) is only determined by it's position. With [] you can, at a glance, know the role of that list. It gives some visual separation to the parts of a function definition that most other languages just have automatically.
> How are you a "creator" (in an attribution-worthy sense) if you are producing an unoriginal implementation of an old algorithm that thousands of coders have produced before you?
So your requirements are pseudo-code which you simply have ti translate. I see. No creativity required. Jepp.
> Most coding is not innovative, and that is the kind of code that these tools are producing and derived from in most cases.
I see what you want to suggest.
Then it woulnb't be required to learn on these datasets and simply build a "fair use" product which covers these cases with a snippet engine.
> Can someone ELI5 what Mozilla did to deserve this derision?
Assumption:
People have troubles with certain web applications like MS teams, goto-meeting,.. or youtube.
Mozilla has to adapt to undocumented changes. There are an increasing amount of applications which do not support firefox (strange, because the web should be browser independent).
People think Mozilla is responsible for this.
Mozilla does not generate income with Firefox (besides dontations!). Why is it so important to have the biggest market share with a browser? I suppose there is data to be collected by the other players.
If you differ between AI source code and engineer source code say so. "Getting things done" is a business need. Which things get translated to a deterministic language executable by a computer is code.
There are entire languages dedicated for lesser engineers/domain experts to formulate business requirements.
Anyhow; What's your point? That we received a framework for "soft algorithms" where the output does not need to be correct and deducible? What's even the point of putting it into software. Just forward your input to the reader and let him judge on its own.