This is:
Guo, Phillip. 2013. “The Two Cultures of Computing.” Blog. December. http://pgbovine.net/two-cultures-of-computing.htm.
This is:
Guo, Phillip. 2013. “The Two Cultures of Computing.” Blog. December. http://pgbovine.net/two-cultures-of-computing.htm.
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.
This is:
Gabriel, Richard P. “LISP: Good News, Bad News, How to Win Big.” AI Expert 6, no. 6 (1991): 30–39.
... and a copy (in HTML) can be found at https://www.dreamsongs.com/WIB.html
This article was originally published in 1991.
Specifically, it's:
Gabriel, Richard P. “LISP: Good News, Bad News, How to Win Big.” AI Expert 6, no. 6 (1991): 30–39.
(NB: this actually comes from export of my annotation of Eytan Adar's piece "On the Value of Command-Line “Bullshittery”" originally published on Medium. See https://hypothes.is/a/zmhLwkkqEfCyyo_A6dOGrw for the original annotation. I used the aforementioned export to annotate the annotation—i.e., to add a true, first-class (though perhaps second-rate) annotation, rather than a reply.)
This is:
Cox, Brad J. “The Message/Object Programming Model.” In Proceedings of Softfair: A Conference on Software Development Tools, Techniques, and Alternatives, 51–60. Arlington, VA: IEEE Computer Society Press, 1983.
This is:
Lampson, B.W. “Hints for Computer System Design.” IEEE Software 1, no. 1 (January 1984): 11–28. https://doi.org/10.1109/MS.1984.233391.
This is:
Cox, Brad J. “Message/Object Programming: An Evolutionary Change in Programming Technology.” IEEE Software 1, no. 1 (January 1984): 50–61. https://doi.org/10.1109/MS.1984.233398.
This is:
Franz, Michael, and Thomas Kistler. “Slim Binaries.” Communications of the ACM 40, no. 12 (December 1, 1997): 87–94. https://doi.org/10.1145/265563.265576.
This is:
Bobrow, Daniel G, and Bertram Raphael. “New Programming Languages for AI Research.” Palo Alto, California, August 20, 1973.
This is:
Engelbart, Douglas C. “Special Considerations of the Individual as User, Generator, and Retriever of Information.” American Documentation 12, no. 2 (1961): 121–25. https://dougengelbart.org/pubs/papers/scanned-original/1960-augment-133181-Special-Considerations-Individual-re-Information.pdf
This is:
Bogart, Christopher, Margaret Burnett, Allen Cypher, and Christopher Scaffidi. “End-User Programming in the Wild: A Field Study of CoScripter Scripts.” In 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, 39–46. Herrsching am Ammersee: IEEE, 2008. https://doi.org/10.1109/VLHCC.2008.4639056
66 · The Vagabond · Feodor Dostoievski · ss (r)
Hmm. I can't find anything about this! It would be nice if we had a scan.
(Since philsp.com links are unstable, this is cited as "Best Stories of All Time [v1 #6, November 1925]")
This is:
Noseworthy, Theodore J., Fabrizio Di Muro, and Kyle B. Murray. “The Role of Arousal in Congruity-Based Product Evaluation.” Journal of Consumer Research 41, no. 4 (2014): 1108–26. https://doi.org/10.1086/678301
This is:
Klosterman, Chuck. The Nineties: A Book. New York: Penguin Press, 2022. https://n2t.net/isbn:/9780735217959
UT has an incomplete copy of volumes 31 and 32:
https://search.lib.utexas.edu/permalink/01UTAU_INST/19i7hhk/alma991030494949706011
This is:
Garlan, David, Robert Allen, and John Ockerbloom. “Architectural Mismatch or Why It’s Hard to Build Systems out of Existing Parts.” In Proceedings of the 17th International Conference on Software Engineering, 179–85. ICSE ’95. New York, NY, USA: Association for Computing Machinery, 1995. https://doi.org/10.1145/225014.225031.
This is:
Taivalsaari, Antero, Tommi Mikkonen, Dan Ingalls, Krzysztof Palacz, Antero Taivalsaari, Tommi Mikkonen, Dan Ingalls, and Krzysztof Palacz. 2008. “Web Browser as an Application Platform: The Lively Kernel Experience.”
This is:
Weiher, Marcel, and Robert Hirschfeld. 2019. “Standard Object out: Streaming Objects with Polymorphic Write Streams.” In Proceedings of the 15th ACM SIGPLAN International Symposium on Dynamic Languages, 104–16. DLS 2019. Athens, Greece: Association for Computing Machinery. https://doi.org/10.1145/3359619.3359748
This is:
Hsu, Hansen. 2009. “Connections between the Software Crisis and Object-Oriented Programming.” SIGCIS: Michael Mahoney and the Histories of Computing.
This is:
Buckland, Michael K. 1997. “What Is a ‘Document’?” Journal of the American Society for Information Science 48 (9): 804–9. https://doi.org/10.1002/(SICI)1097-4571(199709)48:9%3C804::AID-ASI5%3E3.0.CO;2-V.
This is:
Dahl, Ole-Johan, and Kristen Nygaard. “SIMULA: An ALGOL-Based Simulation Language.” Communications of the ACM 9, no. 9 (September 1966): 671–78. https://doi.org/10.1145/365813.365819
This is:
Ciortea, Andrei, Olivier Boissier, and Alessandro Ricci. “Engineering World-Wide Multi-Agent Systems with Hypermedia.” In Engineering Multi-Agent Systems, edited by Danny Weyns, Viviana Mascardi, and Alessandro Ricci, 11375:285–301. Lecture Notes in Computer Science. Cham: Springer International Publishing, 2019. https://doi.org/10.1007/978-3-030-25693-7_15.
This is:
Ashman, Helen. “Electronic Document Addressing: Dealing with Change.” ACM Computing Surveys 32, no. 3 (September 2000): 201–12. https://doi.org/10.1145/367701.367702
Knowledge-Domain Interoperability and an Open Hyperdocument System
It's this: https://doi.org/10.1145/99332.99351.
(Also available from https://www.dougengelbart.org/content/view/114/.)
This is:
Gabriel, Richard P. Patterns of Software: Tales from the Software Community. New York: Oxford University Press, 1996. https://www.dreamsongs.com/Files/PatternsOfSoftware.pdf
A Note on the Confinement Problemby B.W. Lampson. In Communications of the ACM 16(10), October 1973
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>.
This is:
Lampson, Butler. “Hints and Principles for Computer System Design,” November 2020. https://www.microsoft.com/en-us/research/publication/hints-and-principles-for-computer-system-design-3/.
This is:
Hendler, James, Nigel Shadbolt, Wendy Hall, Tim Berners-Lee, and Daniel Weitzner. “Web Science: An Interdisciplinary Approach to Understanding the Web.” Communications of the ACM 51, no. 7 (July 1, 2008): 60–69. https://doi.org/10.1145/1364782.1364798.
This is:
Wang, April Yi, Andrew Head, Ashley Ge Zhang, Steve Oney, and Christopher Brooks. “Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage Tutorials.” In Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, 1–22. Hamburg Germany: ACM, 2023. https://doi.org/10.1145/3544548.3581525.
This is:
Wright, Alex. Cataloging the World: Paul Otlet and the Birth of the Information Age. New York, NY: Oxford University Press, 2014.
Since this is yet another piece of journalism that covers a set of cases before the courts with citing the cases in question by name, here they are: - Students for Fair Admissions v. Harvard - Students for Fair Admissions v. University of North Carolina
This is:
Evans, M.P., and S.M. Furnell. “The Resource Locator Service: Fixing a Flaw in the Web.” Computer Networks 37, no. 3–4 (November 2001): 307–30. https://doi.org/10.1016/S1389-1286(01)00204-3.
This is:
Fielding, Roy T., and Richard N. Taylor. “Principled Design of the Modern Web Architecture.” In Proceedings of the 22nd International Conference on Software Engineering, 407–16. ICSE ’00. Limerick, Ireland: Association for Computing Machinery, 2000. https://doi.org/10.1145/337180.337228.
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.
This is "MSC:CV RESPONSE TO MOTION FOR NEW TRIAL Defendants' Opposition to Plaintiff's Motion for Trial Setting"
This is: Berners-Lee, Tim. “World-Wide Computer.” Communications of the ACM 40, no. 2 (February 1997): 57–58. https://doi.org/10.1145/253671.253704
This is:
Torvalds, Linus torvalds@klaava.helsinki.fi. Reply to "What would you like to see most in minix?"; Google Groups 2005 November edition. Message-ID 1991Aug26.110602.19446@klaava.Helsinki.FI. comp.os.minix, Usenet. 1991 August 26.
This is:
Malone, Thomas W., Keh-Chiang Yu, and Jintae Lee. 1989. “What Good Are Semistructured Objects? : Adding Semiformal Structure to Hypertext.” Working Paper. Cambridge, Mass. : Sloan School of Management, Massachusetts Institute of Technology. https://dspace.mit.edu/handle/1721.1/49393
This is:
Caplan, Priscilla. Support for Digital Formats. Library Technology Reports 44, 19–21 (2008). https://journals.ala.org/index.php/ltr/article/view/4227
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.
This is:
S. Mirhosseini and C. Parnin. “Docable: Evaluating the Executability of Software Tutorials”. 2020. https://chrisparnin.me/pdf/docable_FSE_20.pdf
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.
By Brad J. Cox, December 06, 2004
NB: the footnote at the end indicates that this was originally published in Byte Magazine (October 1990). By a reasonable guess, the 2004 date here is when this online copy was published to drdobbs.com?
(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.)
a blog post
This one, it looks like: https://blog.khinsen.net/posts/2017/01/13/sustainable-software-and-reproducible-research-dealing-with-software-collapse/
事件处理数据的变化,代码的变化呢? 我们可以将这里视为三种广泛的代码更改:新功能、缺陷修复和时序逻辑。
Event Source的挑战,除了与非事件溯源的系统交互即外部互动(含外部更新和外部查询),还包括代码的变更本身。主要设计 时序逻辑的调整、bug fix 和 新 feat 开发
构建事件处理程序逻辑
实现事件的记录可以通过事务处理脚本,也可以通过实体类处理。前者适用于简单的逻辑场景。
Complete Rebuild:我们可以完全丢弃应用程序状态并通过在空应用程序上重新运行事件日志中的事件来重建它。 时间查询:我们可以在任何时间点确定应用程序的状态。从概念上讲,我们通过从空白状态开始并将事件重新运行到特定时间或事件来做到这一点。我们可以通过考虑多个时间线(类似于版本控制系统中的分支)来进一步实现这一点。 事件重播:如果我们发现过去的事件不正确,我们可以通过反转它和以后的事件来计算后果,然后重播新的事件和以后的事件。(或者实际上是通过丢弃应用程序状态并按顺序使用正确事件重播所有事件。)相同的技术可以处理以错误顺序接收的事件——这是与异步消息通信的系统的常见问题。
通过对事件的记录,我们可以完全的将历史重现,也可以查询特定时间点的程序状态。历史的部分重现也可以用于debug。 典型代码就是VCS,git保留了项目开发的完整历史。
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.
Okay, so the original source seems to be Proteus (A Journal of Ideas). ~~Specifically, vol. 3, iss. 1.~~ (Thanks to Nikos Katsikis by way of Neil Brenner for helping track this down.)
This was great for passing things between services where fire-and-forget was adequate.
In which cases, "fire-and-forget" is not adequate?
Information Management, a Proposal.
Available here and here:
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?
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.
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
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.
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?
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.
One alternative would be to have one topic per entity
Other alternative: have a consumer group write a read model to a database, indexed by entity id.
A Crowd-authoring Project on theScholarship of Educational Technology
Lily, Abdulrahman Essa Al. 2015. “A Crowd-Authoring Project on the Scholarship of Educational Technology.” Information Development, December, 266666915622044. doi:10.1177/0266666915622044.