<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Q1IQ</title>
    <description>The latest articles on DEV Community by Q1IQ (@q1iq).</description>
    <link>https://dev.to/q1iq</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1102296%2F07cd189f-554b-4f0f-ba47-9b5e2fe22634.jpeg</url>
      <title>DEV Community: Q1IQ</title>
      <link>https://dev.to/q1iq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/q1iq"/>
    <language>en</language>
    <item>
      <title>My Career Goals | Outreachy Internship | QEMU</title>
      <dc:creator>Q1IQ</dc:creator>
      <pubDate>Tue, 25 Jul 2023 19:04:47 +0000</pubDate>
      <link>https://dev.to/q1iq/my-career-goals-outreachy-internship-qemu-community-572i</link>
      <guid>https://dev.to/q1iq/my-career-goals-outreachy-internship-qemu-community-572i</guid>
      <description>&lt;p&gt;At this stage in my studies, I am focused on continuing my education rather than seeking paid employment. If I were to seek employment in the future, working for an open source community would be one of my top choices. The two-month internship experience I had was truly rewarding. My mentor provided ample guidance and I was able to improve my skills. The community chat groups were active daily, fostering a great technical atmosphere. It was fulfilling to see the projects become more and more complete. The only potential hurdle for me is the language barrier. My English is rather poor and communicating with native English speakers can be challenging for me. However, I aim to work hard to overcome this.&lt;/p&gt;

&lt;p&gt;The types of work I would enjoy contributing to are more low-level, behind-the-scenes projects. I have some experience with assembly language and reverse engineering that could assist with this kind of work. Being able to dive deeper into how software and systems operate at a lower level has always intrigued me. I find it fascinating to peel back the layers and understand what is happening under the hood. My goal is to continue building up my knowledge in operating systems, computer architecture, and other fundamental computer science concepts. This will allow me to better comprehend and work with lower level systems.&lt;/p&gt;

&lt;p&gt;In terms of skills I currently possess, as mentioned earlier, I have basic proficiency in assembly language and reverse engineering. These skills help provide insight into how programs and binaries function at a machine code level. I also have experience working with C and C++, which are common languages used for lower level development. Additionally, I am eager to learn more tools and technologies to expand my skill set.&lt;/p&gt;

&lt;p&gt;There are a few key skills I would like to focus on improving. Firstly, I want to enhance my English verbal and reading skills. Communication is vital when working on a collaborative open source project, so improving my English proficiency will help me become a productive member of those communities. Secondly, I plan to continue advancing my operating system knowledge by studying kernels, memory management, process scheduling, device drivers, and related topics. This will provide the solid technical foundation I need for low-level systems programming. Finally, I intend to practice my debugging and troubleshooting abilities. These skills are essential when dealing with complex software and hardware interactions. Being meticulous and methodical will help me diagnose and resolve tricky issues.&lt;/p&gt;

&lt;p&gt;In summary, my career aspirations center on contributing to open source projects, particularly those involving lower level programming. I am devoted to continuously developing my abilities in computer science principles, English, and problem-solving skills. Although I still have much to learn, I am passionate about expanding my technical knowledge. I look forward to the day when I can use my expertise to collaborate with an open source community and create valuable contributions. The road ahead will have challenges but also valuable rewards. With dedication and perseverance, I know I can achieve my goals.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introduce My Project | Outreachy Internship | QEMU</title>
      <dc:creator>Q1IQ</dc:creator>
      <pubDate>Tue, 25 Jul 2023 17:59:36 +0000</pubDate>
      <link>https://dev.to/q1iq/think-about-your-audience-outreachy-internship-qemu-community-3551</link>
      <guid>https://dev.to/q1iq/think-about-your-audience-outreachy-internship-qemu-community-3551</guid>
      <description>&lt;p&gt;If you're interested in improving the efficiency of programs running under QEMU, my project may be of interest to you. QEMU's user mode translation can slow down standard library functions that rely on optimization for the guest architecture. My project implements "native library bypass" to overcome this issue.&lt;/p&gt;

&lt;p&gt;The basic idea is simple: for library functions with well-defined semantics, we can implement them natively instead of translating them. Memory-related and string functions tend to see the most performance gains from this approach.&lt;/p&gt;

&lt;p&gt;To achieve native library bypass, I created a shared library containing native implementations of the targeted functions. Using the LD_PRELOAD environment variable, this library is loaded preferentially, overriding the default library functions. During translation, QEMU detects special instructions in the native functions and executes the corresponding native functions instead.&lt;/p&gt;

&lt;p&gt;This approach allows functions to run natively, avoiding the performance overhead of translation. However, it requires identifying functions that are good candidates for optimization and encoding enough information for QEMU to properly translate the native functions.&lt;/p&gt;

&lt;p&gt;I hope this summary provides a useful high-level overview of my project and sparks your interest in applying native optimization techniques within QEMU. Let me know if you have any other questions!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introduce An Open Source Vocabulary Term | Outreachy Internship | QEMU</title>
      <dc:creator>Q1IQ</dc:creator>
      <pubDate>Mon, 26 Jun 2023 17:27:11 +0000</pubDate>
      <link>https://dev.to/q1iq/introduce-an-open-source-vocabulary-term-outreachy-internship-qemu-community-534j</link>
      <guid>https://dev.to/q1iq/introduce-an-open-source-vocabulary-term-outreachy-internship-qemu-community-534j</guid>
      <description>&lt;p&gt;When I first started contributing to QEMU, I came across a lot of new vocabulary terms and concepts. One term that confused me at first was “RFC”. My mentors asked me to submit an RFC for a patch series I was working on. I wasn’t sure what an RFC was or what I needed to do. &lt;/p&gt;

&lt;p&gt;Luckily, QEMU has great documentation that explains what an RFC is:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.qemu.org/docs/master/devel/submitting-a-patch.html#use-the-rfc-tag-if-needed"&gt;https://www.qemu.org/docs/master/devel/submitting-a-patch.html#use-the-rfc-tag-if-needed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;“RFC” stands for “Request For Comments”. An RFC means you aren’t asking for your patch series to be immediately applied, but want to get early feedback and review. Reasons for an RFC include:&lt;/p&gt;

&lt;p&gt;• The patch depends on upcoming kernel changes, so the patch series is blocked. But it’s still worth reviewing.&lt;/p&gt;

&lt;p&gt;• The patch series isn’t finished yet. You want feedback on a major API change or design before continuing work.&lt;/p&gt;

&lt;p&gt;At first, I was hesitant to ask what an RFC was and how I should submit one. I worried that as an intern, I should already understand the process. But after searching QEMU’s documentation and seeing RFC used in the mailing list, I realized I wasn’t the only one who didn’t fully understand. Other newcomers to the project were likely also unsure. &lt;/p&gt;

&lt;p&gt;By asking my mentors and on the mailing list about RFCs, I helped clarify for others. My mentors pointed me to helpful resources and I submitted my RFC patch as a draft to get early feedback.  &lt;/p&gt;

&lt;p&gt;If you’re worried about asking questions in your open source community, remember that everyone starts out not knowing things. Your questions will help other newcomers who are also unsure. Don’t be afraid to ask mentors or others in the community chat. They want to see you succeed, and will be happy to point you to resources to help you learn.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introduce Myself | Outreachy Internship | QEMU</title>
      <dc:creator>Q1IQ</dc:creator>
      <pubDate>Thu, 15 Jun 2023 22:45:55 +0000</pubDate>
      <link>https://dev.to/q1iq/introducing-myself-outreachy-internship-qemu-community-5dgh</link>
      <guid>https://dev.to/q1iq/introducing-myself-outreachy-internship-qemu-community-5dgh</guid>
      <description>&lt;p&gt;Hello everyone! My name is Yeqi Fu, and I am currently a Software Engineering student at Peking University. This year, I have the opportunity to participate in the outreachy Internship program, where I am interning with QEMU. My project focuses on "implementing native library calls for QEMU user mode emulation".&lt;br&gt;
Among the Core Values List, three words have deeply resonated with me: "Curiosity," "Meaningful Work," and "Learning."&lt;br&gt;
"Curiosity" has always been the driving force that propels me forward. Exploring new things brings me great joy and satisfaction.&lt;br&gt;
"Meaningful Work" is a concept I frequently contemplate. I believe that the most meaningful tasks are often the most challenging and difficult to accomplish. This is why I have developed a keen interest in kernel, low-level, and binary-related topics.&lt;br&gt;
"Learning" is a lifelong pursuit that I hold dear. I firmly believe in the importance of continuous learning throughout one's life.&lt;br&gt;
Regarding the application process, I have always been fascinated by QEMU due to its low-level nature and complexity. When I came across the qemu community's recruitment of interns for a project that seemed perfectly suited to my abilities on the outreachy homepage, I knew I couldn't miss this opportunity. During the contribution period, I focused solely on contributing to the QEMU community. I went through a round of interviews and eventually received acceptance. Throughout the project, my mentor demonstrated exceptional technical expertise and patience, from which I gained valuable knowledge. I am immensely grateful to my mentor, qemu community, and outreachy for providing me with this remarkable opportunity.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
