For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | sterasody's commentsregister

In January 2022, my mother died in the hospital. At the time, she had severe dementia and COPD. I moved back to take care of her, but I also lost my job. The stress was insurmountable: caregiving, sleep deprivation, and poor financial condition. It's like I used up all my energy at that time, just to fight the inevitable.

It's been three years and now I can manage my life on a certain level. But all those unsightly, dark struggles still haunt me. I never overcome them. Deep down I know, I'm a runaway, forever.


https://jackschaedler.github.io/circles-sines-signals/

There is also this wonderful primer on signal processing for people who love visualizations.


LinkedIn is still the main source I use. But sometimes I search on ATS boards to explore opportunity. For example, use operators like "site:greenhouse.io" and "site:lever.co" to search if there is any interesting opening.


Couldn't agree more! It's really nice work with all the beautiful visualization.


Is this what we refer to as design by contract?

If so, what about invariants? Are invariants related to good interface design?


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


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.

I discovered the concept from books and documentations, for example:

- https://learn.adacore.com/courses/intro-to-ada/chapters/cont...

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

and it seemed to me the main concern was program correctness/consistency.

Maybe I mix up different concerns and good interface design is more about satisfying use case?


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


I wonder if it is as easy as not hiring someone from other organization to prevent mental disease in your own.

What is the cause of the unhealthy behavior in the first place? As opposed to social contagion, what is the origin?


What is the cause of the unhealthy behavior in the first place? Combination of culture and personal choice. e.g., A culture where it is permissible to take advantage of others as they are not as equal as your are. A personal choice to take advantage/abuse others as long as you get yours, screw everyone else.


Wow thanks for sharing! What a well-organized note.


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

Search:

HN For You