Skip Navigation
Yuu Yin

Keyoxide: https://keyoxide.org/9f193ae8aa25647ffc3146b5416f303b43c20ac3

OpenPGP: openpgp4fpr:9f193ae8aa25647ffc3146b5416f303b43c20ac3

Posts
41
Comments
2
Joined
2 yr. ago
Software Engineering @group.lt
Yuu Yin @group.lt

System Design 101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.

A nice cheatsheet/summary for software architecture

Emacs @lemmy.ml
Yuu Yin @group.lt

Help collecting statistics to optimize Emacs GC defaults

Originally posted on https://emacs.ch/@yantar92/110571114222626270

Please help collecting statistics to optimize Emacs GC defaults

Many of us know that Emacs defaults for garbage collection are rather ancient and often cause singificant slowdowns. However, it is hard to know which alternative defaults will be better.

Emacs devs need help from users to obtain real-world data about Emacs garbage collection. See the discussion in https://yhetil.org/emacs-devel/87v8j6t3i9.fsf@localhost/

Please install https://elpa.gnu.org/packages/emacs-gc-stats.html and send the generated statistics via email to [email protected] after several weeks.

Software Engineering @group.lt
Yuu Yin @group.lt

In May 2023 over 90,000 developers responded to our annual survey about how they learn and level up, which tools they're using, and which ones they want. ... This year, we went deep into AI/ML to capture how developers are thinking about it and using it in their workflows. Stack Overflow is investing heavily in enhancing the developer experience across our products, using AI and other technology, to get people to solutions faster.

Software Engineering @group.lt
Yuu Yin @group.lt

The Future of Software Engineering: A Guiding Vision and a Look at Possible Scenarios by Software Engineering Institute

NOTE: This is primarily an invitation for the "SEI and White House OSTP to Explore the Future of Software and AI Engineering", but there is this big section on the "future of software engineering" that is very interesting.

As discussed in Architecting the Future of Software Engineering: A Research and Development Roadmap, the SEI developed six research focus areas in close collaboration with our advisory board and other leaders in the software engineering research community ... AI-Augmented Software Development: By shifting the attention of humans to the conceptual tasks

Software Engineering @group.lt
Yuu Yin @group.lt

Tackling Collaboration Challenges in the Development of ML-Enabled Systems by Software Engineering Institute

Conclusion: Four Areas for Improving Collaboration on ML-Enabled System Development

Data scientists and software engineers are not the first to realize that interdisciplinary collaboration is challenging, but facilitating such collaboration has not been the focus of organizations developing ML-enabled systems. Our observations indicate that challenges to collaboration on such systems fall along three collaboration points: requirements and project planning, training data, and product-model integration. This post has highlighted our specific findings in these areas, but we see four broad areas for improving collaboration in the development of ML-enabled systems: Communication: To combat problems arising from miscommunication, we advocate ML literacy for software engineers and managers, and likewise software engineering literacy for data scientists.

Documentation: Practices for documenting model requirements, data expectations, and assured model qualities have yet to take root.

Software Engineering @group.lt
Yuu Yin @group.lt

Deep Multi-task Learning and Real-time Personalization for Closeup Recommendations (related pins) by Pinterest Engineering

At Pinterest, Closeup recommendations (aka Related Pins) is typically a feed of recommended content (primarily Pins) that we serve on any pin closeup. Closeup recommendations generate the largest amount of impressions among all recommendation surfaces at Pinterest and are uniquely critical for our users’ inspiration-to-realization journey. It’s important that we surface qualitative, relevant, and context-and-user-aware recommendations for people on Pinterest.

See also: https://group.lt/post/46301

Software Engineering @group.lt
Yuu Yin @group.lt

Penetration Testing Findings Repository by Cybersecurity and Infrastructure Security Agency

The repository consists of three layers:

  1. Finding Category layer lists the overarching categories
  2. General Finding layer lists high-level findings
  3. Specific Finding layer lists low-level findings

Just an overview of the general findings

More: https://cmu-sei-podcasts.libsyn.com/a-penetration-testing-findings-repository

Software Engineering @group.lt
Yuu Yin @group.lt

Designing Miho: An E-Commerce Website From Scratch by UX Planet

  1. Introduction: What are Miho and its role as a brand; what problem are they solving; how they are solving the problem
  2. Competitive analysis
  3. Logo and Design Guidelines
  4. Information Architecture
  5. Iterations ... in the form of wireframes
  6. UI Designs: Homepage: appealing, informative, and engaging... users could easily know “what” and “for whom” this website is for; Product detail page; Gift Shop Page; Gift detail page; About Page;
Software Engineering @group.lt
Yuu Yin @group.lt

7 AI Tools for Product Designers by UX Planet

  1. Affectiva's Emotion AI ... facial analysis and emotion recognition to understand user emotional responses
  2. Ceros' Gemma ... generate new ideas, optimize existing designs, ... learn from your ideas and creative inputs, providing designers with personalized suggestions
  3. A/B Tasty ... UX designers to run A/B tests and optimize user experiences
  4. Slickplan ... sitemap generator and information architecture tool
  5. SketchAR ... creating accurate sketches and illustrations
  6. Xtensio ... user personas, journey maps, and other UX design deliverables
  7. Voiceflow ... create voice-based applications and conversational experiences

PS: Sounds like an ad, but still interesting to see tools in the

Software Engineering @group.lt
Yuu Yin @group.lt

Facilitating effective ideation meetings by UX Collective

In today’s hybrid work landscape, meetings have become abundant, but unfortunately, many of them still suffer from inefficiency and ineffectiveness. Specifically, meetings aimed at generating ideas to address various challenges related to people, processes, or products encounter recurring issues. The lack of a clear goal in these meetings hinders active participation, and the organizer often dominates the conversation, resulting in a limited number of ideas that fail to fully solve the problem. Both the organizer and attendees are left feeling dissatisfied with the outcomes.

...

The below sample agenda assumes that problem definition is clear. If that is not the case, hold a session prior to the ideation session to align on the problem. Tools such as interviewing, Affinity Mapping, and developing User Need statements and ["How Might We"](https://www.nngroup.c

  • When I was packaging Flatpaks, the greatest downside is

    No built in package manager

    There is a repo with shared dependencies, but it is very few. So needs to package all the dependencies... So, I personally am not interested in packaging for flatpak other than in very rare occasions... Nix and Guix are definitely better solutions (except the isolation aspect, which is not a feature, you need to do it manually), and one can use at many distros; Nix even on MacOS!

  • Some of them will detect if using virtualization. For example http://safeexambrowser.org/ by ETH Zurich

    Ironically enough, it is free software https://github.com/SafeExamBrowser

  • Software Engineering @group.lt
    Yuu Yin @group.lt

    cross-posted from: https://group.lt/post/65921

    Saving for the comparison with the next year

    Lemmy Support @lemmy.ml
    Yuu Yin @group.lt

    How could we attract the free and open source communities to Lemmy?

    I suppose it only makes sense to raise awareness on the benefits of the freely licensed software and services from the fediverse over the dangerous and unethical proprietary services in existence such as Reddit now going to IPO. That happened to Twitter->Mastodon, can happen to Reddit->Lemmy as well.

    I suppose as well that the users most likely to be open to the idea would be the free software, culture users to try it. Besides, an effort on content creation and content creators to make it an attractive place.

    What are your thoughts? What were the efforts so far? What are the challenges? Is it so hard to make people migrate?

    Software Engineering @group.lt
    Yuu Yin @group.lt

    Design experiences based on storytelling: Nubank’s framework

    Always interesting to read real world applications of the concepts. Nubank's framework is a mix of storytelling, design thinking, empathy mapping, ...

    storytelling can be used to develop better products around the idea of understanding and executing the “why’s” and “how’s” of the products. Using the techniques related to it, such as research, we can simplify the way we pass messages to the user.

    Nubank's framework has three phases:

    1. Understanding: properly understand the customer problem. After that, we can create our first storyboard. When working on testing with users, a framework is good to guarantee that we’re considering all of our ideas.
    2. Defining: how we’re going to communicate the narrative. As you can see, the storyboard is very strategic when it comes to helping influence the sequence of events and craft the narrative. Here the "movie script" is done. Now make de "movie's scene".
    3. Designing: translate the story you wrote, because, before you started doing an
    Sysadmins for sysadmins @group.lt
    Yuu Yin @group.lt

    Foundational DevOps Patterns

    cross-posted from [email protected]: https://group.lt/post/46385

    Adopting DevOps practices is nowadays a recurring task in the industry. DevOps is a set of practices intended to reduce the friction between the software development (Dev) and the IT operations (Ops), resulting in higher quality software and a shorter development lifecycle. Even though many resources are talking about DevOps practices, they are often inconsistent with each other on the best DevOps practices. Furthermore, they lack the needed detail and structure for beginners to the DevOps field to quickly understand them.

    In order to tackle this issue, this paper proposes four foundational DevOps patterns: Version Control Everything, Continuous Integration, Deployment Automation, and Monitoring. The patterns are both detailed enough and structured to be easily reused by practitioners and flexible enough to accommodate different needs and quirks that might a

    DevOps @lemmy.ml
    Yuu Yin @group.lt
    arxiv.org Foundational DevOps Patterns

    Adopting DevOps practices is nowadays a recurring task in the industry. DevOps is a set of practices intended to reduce the friction between the software development (Dev) and the IT operations (Ops), resulting in higher quality software and a shorter development lifecycle. Even though many resource...

    Foundational DevOps Patterns

    cross-posted from [email protected]: https://group.lt/post/46385

    Adopting DevOps practices is nowadays a recurring task in the industry. DevOps is a set of practices intended to reduce the friction between the software development (Dev) and the IT operations (Ops), resulting in higher quality software and a shorter development lifecycle. Even though many resources are talking about DevOps practices, they are often inconsistent with each other on the best DevOps practices. Furthermore, they lack the needed detail and structure for beginners to the DevOps field to quickly understand them.

    In order to tackle this issue, this paper proposes four foundational DevOps patterns: Version Control Everything, Continuous Integration, Deployment Automation, and Monitoring. The patterns are both detailed enough and structured to be easily reused by practitioners and flexible enough to accommodate different needs and quirks that might a

    Software Engineering @group.lt
    Yuu Yin @group.lt

    Foundational DevOps Patterns

    Adopting DevOps practices is nowadays a recurring task in the industry. DevOps is a set of practices intended to reduce the friction between the software development (Dev) and the IT operations (Ops), resulting in higher quality software and a shorter development lifecycle. Even though many resources are talking about DevOps practices, they are often inconsistent with each other on the best DevOps practices. Furthermore, they lack the needed detail and structure for beginners to the DevOps field to quickly understand them.

    In order to tackle this issue, this paper proposes four foundational DevOps patterns: Version Control Everything, Continuous Integration, Deployment Automation, and Monitoring. The patterns are both detailed enough and structured to be easily reused by practitioners and flexible enough to accommodate different needs and quirks that might arise from their actual usage context. Furthermore, the **patterns are tuned to the DevOps principle of Continuous Improv

    Software Engineering @group.lt
    Yuu Yin @group.lt

    The Attention Economy by NN/g Nielsen Norman Group

    www.nngroup.com The Attention Economy

    Digital products are competing for users’ limited attention. The modern economy increasingly revolves around the human attention span and how products capture that attention.

    The Attention Economy

    Attention economy is a pretty important concept in today's socioeconomic systems. Here an article by Nielsen Norman Group explaining it a bit in the context of digital products.

    Digital products are competing for users’ limited attention. The modern economy increasingly revolves around the human attention span and how products capture that attention.

    Attention is one of the most valuable resources of the digital age. For most of human history, access to information was limited. Centuries ago many people could not read and education was a luxury. Today we have access to information on a massive scale. Facts, literature, and art are available (often for free) to anyone with an internet connection.

    We are presented with a wealth of information, but we have the same amount of mental processing power as we have always had. The number of minutes has also stayed exactly the same in every day. Today attention, not information, is the limiting factor.

    There are many scientific works

    Software Engineering @group.lt
    Yuu Yin @group.lt
    Software Engineering @group.lt
    Yuu Yin @group.lt

    Highlights

    • Software development research is divided into two incommensurable paradigms.
    • The Rational Paradigm emphasizes problem solving, planning and methods.
    • The Empirical Paradigm emphasizes problem framing, improvisation and practices.
    • The Empirical Paradigm is based on data and science; the Rational Paradigm is based on assumptions and opinions.
    • The Rational Paradigm undermines the credibility of the software engineering research community.

    Very good paper by @[email protected] discussing Rational Paradigm (non emprirical) and Empiriral Paradigm (evidence-based, scientific) in software engineering. Historically the Rational Paradigm has dominated both the software engineering research and industry, which is also evident in software engineering international standards, bodies of knowledge (e.g. IEEE CS SWEBOK), curriculum guidelines, ... Basically, much of the "standard" knowledge and mainstream literature has no basis in science,

    Software Engineering @group.lt
    Yuu Yin @group.lt

    @[email protected] a software engineering researchers group on Mastodon (Guppe Groups)

    There are people/researchers from ACM and so on sharing pretty interesting, useful content about software engineering.