62 Matching Annotations
  1. Jul 2025
  2. Jun 2025
    1. It appears that we have few specific environments (factory facilities) forthe economical production of programs. I contend that the productioncosts are affected far more adversely by the absence of such anenvironment than by the absence of any tools in the environment… Afactory supplies power, work space, shipping and receiving, labordistribution, and financial controls, etc. Thus a software factory should bea programming environment residing upon and controlled by a computer.Program construction, checkout and usage should be done entirely withinthis environment. Ideally it should be impossible to produce programsexterior to this environment…Economical products of high quality […]are not possible (in most instances) when one instructs the programmer ingood practice and merely hopes that he will make his invisible productaccording to those rules and standards. This just does not happen underhuman supervision. A factory, however, has more than humansupervision. It has measures and controls for productivity and quality.18

      Hsu again cites only Mahoney for this, and the passage here is presented as one quote, but it's actually a quote within a quote: first Bemer and then Mahoney. The original Bemer quote ends with the second sentence ("I contend that the production costs are affected far more adversely by the absence of such an environment than by the absence of any tools in the environment…" which ends prematurely here but ends with a parenthetical "e.g. writing a program in PL/1 is using a tool"), and the remainder is Mahoney's commentary.

      The Bemer source is:

      R.W. Bemer, "Position Paper for Panel Discussion [on] the Economics of Program Production", Information Processing 68, North-Holland Publishing Company, 1969, vol. II, p. 1626.

    Tags

    Annotators

  3. May 2025

    Tags

    Annotators

    Tags

    Annotators

  4. Apr 2025
  5. Dec 2024
  6. Oct 2024
  7. Aug 2024

    Tags

    Annotators

  8. Nov 2023

    Tags

    Annotators

    Tags

    Annotators

    Tags

    Annotators

  9. citeseerx.ist.psu.edu citeseerx.ist.psu.edu
  10. Oct 2023
  11. Sep 2023
  12. Aug 2023
  13. www.dreamsongs.com www.dreamsongs.com
  14. Jul 2023
    1. This is:

      Lampson, Butler W. “Software Components: Only the Giants Survive.” In Computer Systems: Theory, Technology, and Applications, edited by Andrew Herbert and Karen Spärck Jones, 137–45. Monographs in Computer Science. New York, NY: Springer, 2004. <doi:10.1007/0-387-21821-1_21>.

    Tags

    Annotators

    Tags

    Annotators

    Tags

    Annotators

  15. Jun 2023

    Tags

    Annotators

    Tags

    Annotators

    1. This is:

      Fielding, Roy T., Richard N. Taylor, Justin R. Erenkrantz, Michael M. Gorlick, Jim Whitehead, Rohit Khare, and Peyman Oreizy. “Reflections on the REST Architectural Style and ‘Principled Design of the Modern Web Architecture’ (Impact Paper Award).” In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, 4–14. ESEC/FSE 2017. Paderborn, Germany: Association for Computing Machinery, 2017. https://doi.org/10.1145/3106237.3121282.

    Tags

    Annotators

  16. May 2023

    Tags

    Annotators

  17. Apr 2023

    Tags

    Annotators

    Tags

    Annotators

    1. amd [sic.]

      I'm having trouble determining the source of this purported error. This PDF appears to have copied the content from the version published on kurzweilai.net, which includes the same "erratum". Meanwhile, however, this document which looks like it could plausibly be a scan of the original contains no such error: https://documents.theblackvault.com/documents/dod/readingroom/16a/977.pdf

      I wonder if someone transcribed the memo with this "amd" error and that copy was widely distributed (e.g. during the BBS era?) and then someone came across that copy and inserted the "[sic]" adornments.

    Tags

    Annotators

  18. Feb 2023
    1. Event Replay: If we find a past event was incorrect, we can compute the consequences by reversing it and later events and then replaying the new event and later events. (Or indeed by throwing away the application state and replaying all events with the correct event in sequence.) The same technique can handle events received in the wrong sequence - a common problem with systems that communicate with asynchronous messaging.
  19. Dec 2022
  20. Sep 2022
    1. (I feel like I tweeted about this and/or saw it somewhere, but can't find the link)

      visible-web-page looks to have been published and/or written on 2022 June 26.

      I emailed Omar a few weeks earlier (on 2022 June 7) with with a link to plain.txt.htm, i.e., an assembler (for Wirth's RISC machine/.rsc object format) written as a text file that happens to also allow you to run it if you're viewing the text file in your browser.

      (The context of the email was that I'd read an @rsnous tweet(?) that "stuff for humans should be the default context, and the highly constrained stuff parsed by the computer should be an exceptional mod within that", and I recognized this as the same principle that Raskin had espoused across two pieces in ACM Queue: The Woes of IDEs and Comments Are More Important Than Code. Spurred by Omar's comments on Twitter, I sent him a link to the latter article and plain.txt.htm, and then (the next day) the former article, since I'd forgotten to include it in the original email.)

  21. Aug 2022
  22. Jul 2022
    1. 事件处理数据的变化,代码的变化呢? 我们可以将这里视为三种广泛的代码更改:新功能、缺陷修复和时序逻辑。

      Event Source的挑战,除了与非事件溯源的系统交互即外部互动(含外部更新和外部查询),还包括代码的变更本身。主要设计 时序逻辑的调整、bug fix 和 新 feat 开发

    2. Complete Rebuild:我们可以完全丢弃应用程序状态并通过在空应用程序上重新运行事件日志中的事件来重建它。 时间查询:我们可以在任何时间点确定应用程序的状态。从概念上讲,我们通过从空白状态开始并将事件重新运行到特定时间或事件来做到这一点。我们可以通过考虑多个时间线(类似于版本控制系统中的分支)来进一步实现这一点。 事件重播:如果我们发现过去的事件不正确,我们可以通过反转它和以后的事件来计算后果,然后重播新的事件和以后的事件。(或者实际上是通过丢弃应用程序状态并按顺序使用正确事件重播所有事件。)相同的技术可以处理以错误顺序接收的事件——这是与异步消息通信的系统的常见问题。

      通过对事件的记录,我们可以完全的将历史重现,也可以查询特定时间点的程序状态。历史的部分重现也可以用于debug。 典型代码就是VCS,git保留了项目开发的完整历史。

    1. i mean i have a whole speech about that

      @03:06:54:

      Blow: I mean I have a whole speech about that that I can link you to as well.

      Should that be necessary? "Links" (URLs) are just a mechanical way to follow a citation to the source. So to "link you" to it is as easy as giving it a name and then saying that name. In this case, the names are URLs. Naming things is said to be hard, but it's (probably) not as hard as advertised. It turns out that the hard part is getting people to actually do it.

  23. Jun 2022
  24. Jan 2022
  25. Jul 2021
  26. Nov 2019
    1. The second type of these “Imperative Shell” services execute side-effects outside of the bounded context, such as sending an email, SMS, or mobile push notification to a user, or calling out to some other external service.

      What if the bounded context is about managing side effects — say we are implementing a transactional mail service. Should we separate the “functional core” recording mail processing events from the “imperative shell” which performs the actual SMTP?

  27. Sep 2019
    1. Independently on how the schema changes are handled, managing these changes is one of the most complex and error prone drawbacks associated with event sourcing. A strategy should be prepared upfront and considered on the system design.

      Plan for schema evolution upfront.

    2. Also your events will be based on a SomethingCreated or SomethingUpdated which has no business value at all. If the events are being designing like this then it is clear you’re not using DDD at all and you’re better of without event sourcing.

      litmus test

    1. I think you don't hear much about using Kafka for event sourcing primarily because the event sourcing terminology doesn't seem to be very prevalent in the consumer web space where Kafka is most popular.
    1. Another way to get consistency is to assure serialized writes, i.e using the single-writer principle, meaning we make sure all writes concerning a particular entity ID occur on a single thread.

      This is the akka-cluster approach?

    2. If the business logic fails we return an error to the client but if it succeeds a new event is emitted. In that case we must be able to save the new event to our event store with a guarantee that no other event has been stored for this particular entity ID in the meantime, or we would risk breaking the consistency of our domain objects.
  28. Jun 2016