From: Ruben Beltran del Rio Date: Thu, 22 Dec 2022 06:51:49 +0000 (+0000) Subject: blog-sync-up-1671691909900 X-Git-Url: https://git.r.bdr.sh/rbdr/blog.unlimited.pizza/commitdiff_plain/56cfd22cf81fd39759c69a2417e84697795ad11d?ds=inline blog-sync-up-1671691909900 --- diff --git a/archive/1671691909823/link-why-would-anyone-use-another-centralized-social-media-service-after-this.gmi b/archive/1671691909823/link-why-would-anyone-use-another-centralized-social-media-service-after-this.gmi new file mode 100644 index 0000000..aefaee3 --- /dev/null +++ b/archive/1671691909823/link-why-would-anyone-use-another-centralized-social-media-service-after-this.gmi @@ -0,0 +1,14 @@ +# Link: Why Would Anyone Use Another Centralized Social Media Service After This? + +=> https://www.techdirt.com/2022/12/21/why-would-anyone-use-another-centralized-social-media-service-after-this/ Why Would Anyone Use Another Centralized Social Media Service After This? +> But, really, what’s been fascinating over the past two months has been the rapid resurgence of the fediverse/ActivityPub, with most people focused on Mastodon, one useful and more widely adopted open source software to create a federated social network. + +This is article captures well how I feel about social media. While there are still challenges, I think the FUD around the fediverse is overblown. ActivityPub in particular has a lot of promise! I’m hoping to move some of my photos to pixelfed [1] and I wonder what can be done with music as well. + +=> https://pixelfed.org/ [1] pixelfed + +> We’re at a fork in the road, and it seems like we should be looking to take the other path. The one that is open, not closed. The one that gives us more freedom, not less. The one that pushes the power out to you, the users, rather than the latest billionaire. The power of the internet was that it was built on protocols, and gave the power to the ends of the network. + +I still believe convenience is a big factor, and money a big force. But for the first time in a few years it seems plausible, especially with relatively big names considering adding support. + +I’m here for it and actually excited to hack on the protocol! \ No newline at end of file diff --git a/archive/1671691909823/metadata.json b/archive/1671691909823/metadata.json new file mode 100644 index 0000000..552cd74 --- /dev/null +++ b/archive/1671691909823/metadata.json @@ -0,0 +1,4 @@ +{ + "id": "1671691909823", + "createdOn": 1671691909823 +} \ No newline at end of file diff --git a/posts/0/link-why-would-anyone-use-another-centralized-social-media-service-after-this.gmi b/posts/0/link-why-would-anyone-use-another-centralized-social-media-service-after-this.gmi new file mode 100644 index 0000000..aefaee3 --- /dev/null +++ b/posts/0/link-why-would-anyone-use-another-centralized-social-media-service-after-this.gmi @@ -0,0 +1,14 @@ +# Link: Why Would Anyone Use Another Centralized Social Media Service After This? + +=> https://www.techdirt.com/2022/12/21/why-would-anyone-use-another-centralized-social-media-service-after-this/ Why Would Anyone Use Another Centralized Social Media Service After This? +> But, really, what’s been fascinating over the past two months has been the rapid resurgence of the fediverse/ActivityPub, with most people focused on Mastodon, one useful and more widely adopted open source software to create a federated social network. + +This is article captures well how I feel about social media. While there are still challenges, I think the FUD around the fediverse is overblown. ActivityPub in particular has a lot of promise! I’m hoping to move some of my photos to pixelfed [1] and I wonder what can be done with music as well. + +=> https://pixelfed.org/ [1] pixelfed + +> We’re at a fork in the road, and it seems like we should be looking to take the other path. The one that is open, not closed. The one that gives us more freedom, not less. The one that pushes the power out to you, the users, rather than the latest billionaire. The power of the internet was that it was built on protocols, and gave the power to the ends of the network. + +I still believe convenience is a big factor, and money a big force. But for the first time in a few years it seems plausible, especially with relatively big names considering adding support. + +I’m here for it and actually excited to hack on the protocol! \ No newline at end of file diff --git a/posts/0/metadata.json b/posts/0/metadata.json index 3e7c345..552cd74 100644 --- a/posts/0/metadata.json +++ b/posts/0/metadata.json @@ -1,4 +1,4 @@ { - "id": "1671520456303", - "createdOn": 1671520456303 + "id": "1671691909823", + "createdOn": 1671691909823 } \ No newline at end of file diff --git a/posts/0/link-13-predictions-for-platforms-in-2023.gmi b/posts/1/link-13-predictions-for-platforms-in-2023.gmi similarity index 100% rename from posts/0/link-13-predictions-for-platforms-in-2023.gmi rename to posts/1/link-13-predictions-for-platforms-in-2023.gmi diff --git a/posts/1/metadata.json b/posts/1/metadata.json index 992f4aa..3e7c345 100644 --- a/posts/1/metadata.json +++ b/posts/1/metadata.json @@ -1,4 +1,4 @@ { - "id": "1671392893833", - "createdOn": 1671392893833 + "id": "1671520456303", + "createdOn": 1671520456303 } \ No newline at end of file diff --git a/posts/1/linkblog-2022-12-18.gmi b/posts/2/linkblog-2022-12-18.gmi similarity index 100% rename from posts/1/linkblog-2022-12-18.gmi rename to posts/2/linkblog-2022-12-18.gmi diff --git a/posts/2/metadata.json b/posts/2/metadata.json index 6d86ee5..992f4aa 100644 --- a/posts/2/metadata.json +++ b/posts/2/metadata.json @@ -1,4 +1,4 @@ { - "id": "1671315215263", - "createdOn": 1671315215263 + "id": "1671392893833", + "createdOn": 1671392893833 } \ No newline at end of file diff --git a/posts/2/reading-hermeneutics-and-the-block-model.gmi b/posts/2/reading-hermeneutics-and-the-block-model.gmi deleted file mode 100644 index fd9c48d..0000000 --- a/posts/2/reading-hermeneutics-and-the-block-model.gmi +++ /dev/null @@ -1,71 +0,0 @@ -# Free Voluntary Reading, Hermeneutics and the Block Model: Acquiring Expertise in Problem-Solving with Code - -Software Engineers never stop learning, no matter the skill level: You need to adapt to evolving circumstances, learn new tools, and face new challenges. - -More experienced engineers tend to have an easier time learning new tools and solving new problems, so what's the difference between them and someone just getting started? - -## Novices Solve, Experts Analyze. - -A 1979 study by Jill H. Larkin and Frederick Reif analyzed differences between novices and experts solving physics problems: The former would translate the problem to math first, while experts started by building a "low-detail" model to understand which principles applied. [1] - -By checking that this low-detail construction fit a model without intractable issues, they had a good idea of what equations and principles they would need to apply before creating a mathematical model. On the other hand, novices took longer to discover this as the right concepts only became apparent while trying to solve the equations. - -This same type of behavior is evident in Software Engineering, where upfront analysis, requirements gathering, and decisions on the right tools result in better outcomes: "Measure Twice, Cut Once" [2] - -An upfront analysis is valuable but not easy to do in practice, even if you know the principles behind it: Just reading a book on software architecture won't give you the insight to know where it's best applied. - -## Knowing the right tools is not enough: Organizing Knowledge is Key. - -To properly analyze a problem, having a toolbox of principles is not enough: It's necessary to have a coherent organization of these concepts that lets you evaluate at the general level and then iterate to the specifics. - -Are there tools we can use to build this organization of knowledge and acquire a better approach to problem-solving? Here I explore three tools I believe can work together to help in this effort: Free voluntary reading, the block model, and the hermeneutic cycle. - -## Free Voluntary Reading is Beneficial for Language Acquisition. - -Dr. Stephen Krashen is a linguist that has done extensive research in the field of language acquisition and the role comprehensive input plays in our ability to speak. - -One of the most effective methods for acquiring language is practicing free voluntary reading, which produces better results than direct instruction. Not only that, but reading is also a solid indicator of good writing. [3] and similarly, a working group has found that program comprehension is critical for writing good programs [4], and they propose a model to teach this. - -## The block model is a Great Way to Divide Program Comprehension. - -In 2008, Carsten Schulte (who later formed part of the above working group) proposed a model to teach program comprehension by looking at a program through 2 axes [5]: - -1. Four levels of "granularity": Atoms, Blocks, Relations, and the Macro-structure of the program. -2. Three dimensions of meaning: Text surface (Connotation or "what does it say"), Program execution (Operation or "What happens"), and Function (Denotation or "why") - -The combination of these two axes provides different types of analysis that might be required to understand the text, from atoms at the text surface level to the macro-structure at the functional level. - -This type of analysis can be complex even for experienced engineers, as it requires moving between structure and function. This transition between the parts and the whole has a lot of similarities to the practice of Hermeneutics, where we can find a helpful method for text interpretation. - -## Hermeneutics ties the whole to the parts, and then back again. - -Hermeneutics is a theory and methodology for interpreting texts, that considers how our experience influences our understanding. - -We can see the analysis a cycle: -1. When we consider the whole of a text, our pre-existing assumptions and knowledge give us a better contextualization of what the parts are -2. When we consider the parts, we gain a better understanding of how they come together to form a whole -3. Repeating steps 1 and 2, we gain a more refined understanding. - -This process of understanding is not fixed and will vary over time: our needs change, we have a different mix of skills in the team, we need the program to operate at a different scale, we have to adapt to advances in the environment, etc. Revisiting programs is a frequent occurrence in every software engineering team. - -## Combine all three and learn to write better code by reading. - -With these three tools in mind, a team can improve their understanding of programs and problem-solving skills through reading. - -Run this session on your own or, even better, with a group of your peers: - -1. Pick a piece of code: it can be written by the team, an open-source project of interest, or some of the dependencies in use. -2. Use the block model to pick an area of focus. -3. Read the code and take notes. -4. Use the hermeneutic cycle to shift from one dimension to another and note how your understanding changes. What assumptions changed? What new insights did you get? - -The more you do this, the more your comprehension will improve, and the better you'll be able to organize and apply problem-solving concepts. - -### References - -[1] Larkin, J.H., & Reif, F. (1979). Understanding and Teaching Problem‐Solving in Physics. -[2] McConnell, S. (2014). Code Complete (2nd ed.). Microsoft Press. -[3] Krashen, S. D. (2004). The power of reading: Insights from the research, 2nd edition (2nd ed.). Libraries Unlimited. -[4] Izu, C., Schulte, C., Aggarwal, A., Cutts, Q.I., Duran, R., Gutica, M., Heinemann, B., Kraemer, E.T., Lonati, V., Mirolo, C., & Weeda, R. (2019). Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories. Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education. -[5] Schulte, C. (2008). Block Model: an educational model of program comprehension as a tool for a scholarly approach to teaching. International Computing Education Research Workshop. -[6] Wikipedia contributors. (2022, September 28). Hermeneutics. Wikipedia, The Free Encyclopedia. https://en.wikipedia.org/w/index.php?title=Hermeneutics&oldid=1112903434