patterns   84509

« earlier    

Designing Experiences To Improve Mental Health (Smashing Magazine)
Marli Mesibov из Mad*Pow даёт советы по дизайну интерфейсов, которые помогают в поддержании ментального здоровья пользователей.
UX  psychology  projects+health  patterns  tips  issue 
yesterday by jvetrau
Conversational Concurrency
Concurrent computations resemble conversations. In a conversation, participants direct utterances at others and, as the conversation evolves, exploit the known common context to advance the conversation. Similarly, collaborating software components share knowledge with each other in order to make progress as a group towards a common goal.

This dissertation studies concurrency from the perspective of cooperative knowledge-sharing, taking the conversational exchange of knowledge as a central concern in the design of concurrent programming languages. In doing so, it makes five contributions:

It develops the idea of a common dataspace as a medium for knowledge exchange among concurrent components, enabling a new approach to concurrent programming.
While dataspaces loosely resemble both “fact spaces” from the world of Linda-style languages and Erlang's collaborative model, they significantly differ in many details.

It offers the first crisp formulation of cooperative, conversational knowledge-exchange as a mathematical model.
It describes two faithful implementations of the model for two quite different languages.
It proposes a completely novel suite of linguistic constructs for organizing the internal structure of individual actors in a conversational setting.
The combination of dataspaces with these constructs is dubbed Syndicate.

It presents and analyzes evidence suggesting that the proposed techniques and constructs combine to simplify concurrent programming.
The dataspace concept stands alone in its focus on representation and manipulation of conversational frames and conversational state and in its integral use of explicit epistemic knowledge. The design is particularly suited to integration of general-purpose I/O with otherwise-functional languages, but also applies to actor-like settings more generally.
concurrency  Patterns  research 
3 days ago by janpeuker
From Data Types to Session Types: A Basis for Concurrency and Distribution
Categorising language-based implementations of session types
Binary vs. Multiparty
Are sessions between two participants (generally implemented as a typed channel with dual endpoints), or multiple?

Primitive vs. Library vs. External
What form do the session types take?

Primitive: Session types are implemented as language primitives, or as part of a compiler plugin
Library: Session types are provided using a library
External: A tool checking session types as a static analysis pass, or providing functionality that is not necessarily verifying conformance to a protocol.
Static vs. Dynamic vs. Hybrid Verification
When and how is conformance to the session types checked?

Static: Conformance to session types is fully checked at compile time. Any error (be it sending the wrong message, not completing a session, or duplicating an endpoint) will be reported before a program compiles.
Dynamic: Conformance to session types is checked at runtime. Session types are compiled into communicating finite-state machines, and messages are verified against these CFSMs. These approaches are very flexible, extending session types to dynamically-checked languages, and allowing things like assertions on data.
Hybrid: Sending messages in the right order is checkeed statically. Linearity is checkeed dynamically. This is a promising approach, with drop-in libraries available to be used in general-purpose languages today!
Programming Languages with Native Session Types
Architecture  engineering  Patterns  http  concurrency 
3 days ago by janpeuker
Why local state is a fundamental primitive in stream processing - O'Reilly Media
Another type of join is for “enrichment” of an incoming stream — perhaps you want to take an incoming stream of ad clicks and join on attributes about the user (perhaps for use in downstream aggregations). In this case, you want an index of the user attributes so that when a click arrives you can join on the appropriate user attributes.
integration  Patterns  messaging 
3 days ago by janpeuker
Designing Automation Systems to Be Calm: Five Principles
Improve Efficiency Before Introducing Automation

Efficiency is almost always the primary argument for implementing automation, but that can overlook two key factors:

Automation often covers over deeper rooted issues: If you’ve worked at a large company, you know that during a retreat or company-wide meeting, management might gain some crucial understanding of a systemic problem, and how to fix it. But then a “fire” starts, and the fix is back-burnered. Actually addressing underlying problems can reduce the cost of automation in the first place. Consider what’s crucial to the company, and don’t automate things that aren’t core to the company mission to begin with. For similar reasons, be leery about replacing personnel with automation, especially those at the bottom — they tend to be the people with the most direct insights on improving efficiency at a more substantial level.
ai  design  Patterns  ux  robotics 
3 days ago by janpeuker
Pinterest - An Aphabet for Children (Cross Stitch Patterns)
This alphabet pattern series whose source I'm unsure of. Pinterest user b2witched has compiled them in a board.
cross-stitch  patterns 
3 days ago by hazm8

« earlier    

related tags

accessibility  advice  ai  algorithm  algorithms  animation  anzac  app  appendix  architecture  arguments  art  article  asia  azure  background  backgrounds  behavior  behaviorpatterns  behaviour  behaviourpatterns  best  bestpractices  blog  book  books  brain  c#  calendar  cards  career  challenges  chart  charts  clblog  clojure  closures  cloud  coding  community  components  concurrency  conference  cosmology  crafts  crochet  cross-stitch  css  d3  database  date  datepicker  decisions  design-patterns  design  dev  development  dialogs  docker  documentation  dotnet  drugs  drum  drummachine  ecommerce  empathy  engineering  errors  eventsourcing  exceptions  fashion  filme  flexbox  forms  free  friction  funk  future  game  gds  generative-art  generator  gov_uk  graphics  grid  history  house  howto  html  http  image  images  input  installer  institutionalized  integration  integrations  interesting  interface  ios  iosdev  issue  java  javascript  json  layering  library  list  maps  math  mathematical-recreations  mathematics  messaging  metacognition  microservices  microsoft  model  music  mvc  mvvm  nature  navigation  neighborhood  ngss  node.js  observable  observer  oo  oop  open-source  orm  pattern  personalization  philosophy  poppies  practices  productivity  programming  projects+health  psychogeography  psychology  puzzles  python  rather-interesting  recommendations  recruitment  reference  relationships  research  resources  robotics  scripts  service_design  sewing  singleton  site  smashing  society  software  solid  sqlalchemy  style  subscription  super  svg  swift  talks  tc2004  techno  technology  testing  tips  to-write-about  tr-808  tutorial  twitter  ui  ux  uxdesign  validation  video  vintage  viper  vision  visualization  vue.js  web-design  web  webdesign  webdevelopment  wiki  wizard 

Copy this bookmark: