HN user

tommyage

55 karma
Posts1
Comments64
View on HN

All of software is hard-coded algorithm.

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.

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).

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.

- https://www.eiffel.org/doc/solutions/Design_by_Contract_and_...

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.

Keep it up; Sorry.

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.

Is this what we refer to as design by contract?

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.

But don't trust me on this.

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.

People posting such articles (from sites highly neglectable) without their informed take is ruining this community as well.

We shouldn't raise any questions but leave participations to themselves.

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.

Don't be naive.

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.

You are right, I didn't wanted to imply that these lists can only be used by speakers fluent in english. I wanted to imply that grammars of languages are best represented in ASCII.

There are languages written from right to left or top to bottom. No standard I know of are supporting such flexibility in syntax. And it shouldnt be necessary - if the <user text> items within the grammar support unicode but the keywords are ASCII only it can MORE easily adapted than supporting unicode....

- doesn't support UTF-8 checkbox emoji

That's a good thing. Its also unicode, not utf-8. Your plugin can display it with a unicode character. Having a simple ASCII char set helps portability _a lot_. No benefit in supporting unicode code points.

- doesn't support nested lists

If you can tick all items within a nested list, why bother writing it with dedicated TODO items? Additionally, you can just create more files for elaboration. Your file system is at your dispense. Additionally, that can be implemented in your plugin of choice. Goes with your first point in hand.

- specifies a specific space character when a character class would be better

ASCII has no official character class. If your are refering to tabs; I don't think this is bad or good. Maybe you can follow uo on the use case..

- not clear what "item must not contain blank lines" means

Probably that a blank line is used as a separator

- description indentation limit of four space characters is a problem for nested items

I don't see why. The fixed amout of four characters obviously lines up to the start of the text from an item. This helps readability a lot. And is a simple standard for identation rules.

- description supporting blank lines (properly indented) would be useful for longer descriptions

I disagree. A TODO list should be simple to grasp. Details and elaborations can be put in a dedicated directoy and refered to. Also, it is a _very bad_ idea to work with invisible lines. Users are dump and quick to judge.

- date should support an ISO or other standard date format

This is the most portable standard, but extended for human editing..

- timezone is necessary for events happening in specific timezones or across timezones

I tend to agree. But the person hosting the list should probably be the one defining the time zone. But I haven't read anythinf about time zones in the primer. Nothing stops one to simply append it to a time. No need for the standard to define such.

I think it is well put and the first one which checks all the boxes for me. Congratz to the author.

I don't see why such a comment is #1.

Who should fix the bugs in the future? Nerds? Where are they coming from 60 years from now?

E(very) S(ingle) W(ord) S(hould) be (no [ACCEPTED] completion here) W(ritten) W(ith) C(onscience). You should be responsible for your code submitted. Are your feeling confident?

Won't touch Co-Pilot. Probably you are spending equal time proof reading than _understanding what needs to be written_ in advance. At least that is what I am hoping about. Of course you don't have to proof read, and most things can probably be grasp in a glance. But you rely on a black-box. From a corporation. To me that sounds like agreeing with a dictator.

Wouldn't promise my craftmanship for things I didn't grasp in advance. But maybe that's a culture hindrance. I like it though. I want to know the code I am corrected about. I want to archive mastery.

Postponing dependency updates is very, very bad for security. That is not a solution to supply-chain attacks.

You are right; This underlines the thought and care some distributions put into their package management system...

The whole point of APIs is that we do not need to understand the inner workers of code that we're calling. How many of us use bcrypt and couldn't tell you anything about the underlying algorithm?

That is right, but code written by unknown developers can be a huge risk. Of course you are not assumed to read up upon any dependency, but from external sources. A quick glimps on the imports and dependencies goes a long way, I think. In the end your team is responsible for security issues, even if they appear in an external dependency. Companies with direct customer sales are spending tons of money for mitigation strategies. Maybe a chunk of this money should be spend on validating this beforehand.

OK, so we're drawing an arbitrary line of what we read and what we don't.

Imo the line is not arbritary. You are including an library/framework for a purpose. The code path for this purpose should be explored. Recently I allowed a friend of mine to DDOS my server. He used unvisited software. Now my server suffers from thousand wild guesses daily. Previously, I had ten visitors a day. Therefore I conclude that the software leaked my server. And his learning: Don't trust any software; Exspecially if the software is for malicious purposes in the first place..

A basic web application at this point is going to import at least 10k lines of other people's code. A React app probably uses millions.

I think it is a valid assumption to increase the trust in frameworks with a giant user base. React is from Facebook, isn't it? So I would have read the path _and_ random internals to picture the trustworthiness.

There's just no way around this. We all trust code we haven't read and have to continue doing it.

It shouldn't be black-and-white thinking. When introducing a _new_ dependency I see myself responsible for estimating the trustworthiness. But yes, with an increasing amount of dependencies the process of updating such needs more effort as well. But then, we can postpone such updates, if the application under development is safety critical...

Reading code doesn't even guarantee finding security flaws. Most of us aren't security researchers, and none of us can understand an entire project's source code the first time we read it.

Well, one should be able to judge about the workings imo. Otherwise maintainability can get painful in the long run. So better grasp it before deciding to build upon it.

Another comment stated that we are trusting cars we drive, etc. etc. This is about the users running our code. A proper craftsman will inspect its material, before using it in quality products. When building a throwable tool for his work, he doesn't spent to much time worrying, of course.

I have a fully working setup. In order to be useful for my personal budget management though I need some program to scan receipts and invoices via camera or pdf, to be honest.

Nonetheless. I am from germany and I successfully integrated sync with multiple bank accounts via aquafinance. I can pull down and automatically categorize transactions and even issue transfers.

There are more reasons i did not fully commit yet:

I have no automatic backup configured. I do not have an designated desktop-pc yet. Having all this important data on a mobile device is insecure imo. I have no _real_ usecase to apply double-checked accounting (hopefully this is the correct term).

Nonetheless, it's great. If one had a tax-guy I guess it is even more beneficial.

Well, its a vote. And you can suggest an recepient.

I think it is honorable that all these People are listed by name. And carefully summarized (apparently by hand). It shows gratitude.

Hopefully the number of votes do not get published afterwards. Otherwise the whole thing would backfire, I guess.

Thank your for your reply!

I'm a web dev, so I'm not comply to web spec but chasing it, as a web dev, I'm happy about this, so I take the web spec as granted.

Okay, now I see: As a web dev you are able to make use of all these new features. I do not know about current conveniences. FWIW is that CSS should be portable across any browser/web view. And given that browsers nowadays occupy tons of memory (even though they are written in highly performant languages) I am still impressed by sciters small shipping size.

If I'm building a app biz company, I may choose sciter. sciter is not "free" to use, I remember sciter used to tring allowed the static linking if the donation is good enough, but seems not reach the goal, which means can not get a static exe like https://github.com/wailsapp/wails .

Thank you for the recommendation!! It appears to me that his previous attempts to market his product have left a serious impression. I do remember stumbling about sciter a while ago, neglecting it as well. But I can't recall my reasoning.

BTW, I'm sorry for the small app part, small should mean adapt or bend to sciter.

No worries, thanks for your input!!

sciter looks good, but just don't think about the recent modern web feature, current web feature is impossible to make it right/full by a small team, even ms can not catch up, so they just choose the chromium.

Not every feature needs to be supported, which feature are you referring to? Also, given the use case: what is required in your opinion? How does the shift in microsofts scope translate to the efforts to sciter? What did the shift imply?

sciter is good if you looking for make a small app which not depends too much on web spec.

Since when is it a feature to comply to "web spec"? Why should anyone continue to comply with all new requirements? And why do you feel it is required for portable desktop applications? Why not settle on some proven essentials? And why I am talking about browser now?

Hopefully you elaborate your thoughts: I am sincerly curious about your opinion.

I did not read the post, but scanned for the first contra-argument: A very dense syntax. This is the reason Rust did not attract me.

I want to raise the following: Rust is overengineered. If these highly-intelligent contributors would settle on D, I think humanity/developer-community would archive more collaborations on essential pieces of software.

Imo a statically-typed language is required to develop maintainable code. Human communications, read documentation, is much easier to extend than compilation-restrictions of a programming language.

What are the non-fixable downsizes, which prevent serious adaptation of D? readsupuponthepostbecauseaCcomparsionwasspotted

My personal opinion is: The convenience of tooling. Currently I am developing a language agnostic language server, which aims to be integrated in unix environmets without requiring exorbitant memory (currently 8 MB + file-contents). I feel, that this is my only contribution I can submit to the community iff I suceed.

I had to go through these things with a psychologist when i was in school and beeing suspended. My focus is very fragile, but these kinds of test actually satisfy so much that I am not paying any attention to the clock ticking. These tasks stimulate the mind, imo. Anyways, I am only scoring the average, nowadays. Now i know, that there are things I can excel at, but at others I dont.

These kind of tests were complemented with a few other days, where I had to answer questions, recall stories, talk about things fascinating me, myself and my opinions, picture interpretations, sequences of digits, multiple choices and other things I cant recall. At the start of the following week, these test were rated for multiple sections of knowledge. Then, the average IQ was estimated.

What I want to say is: This is only part of the actual estimation. It is the first test, who actually reminded me of these tests.

I did not suceed in school. I did start consume drugs on purpose, getting rejected from my school and only did the necessarities. After a few years working, I did start wondering about knowledge and started to pursue studies.

If there is a topic that facinates you, such test would complement one. In the end we are all median overall.

:)