<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://banggaoo.github.io/blog/feed.xml" rel="self" type="application/atom+xml" /><link href="https://banggaoo.github.io/blog/" rel="alternate" type="text/html" /><updated>2024-10-14T09:36:21+00:00</updated><id>https://banggaoo.github.io/blog/feed.xml</id><title type="html">Good Effect Tech Blog</title><subtitle>App Developer</subtitle><author><name>James Lee</name></author><entry><title type="html">Developing App with AI Assistance</title><link href="https://banggaoo.github.io/blog/2024/10/14/Developing_App_AI_Assistance.html" rel="alternate" type="text/html" title="Developing App with AI Assistance" /><published>2024-10-14T00:00:00+00:00</published><updated>2024-10-14T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/10/14/Developing_App_AI_Assistance</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/10/14/Developing_App_AI_Assistance.html"><![CDATA[<h1 id="developing-a-not-to-do-app-with-ai-assistance-a-journey-in-modern-ios-development">Developing a ‘Not To Do’ App with AI Assistance: A Journey in Modern iOS Development</h1>

<h2 id="introduction">Introduction</h2>

<p>In the world of productivity apps, we often focus on what we should do. But what about the things we shouldn’t do? This was the premise behind my latest project: a ‘Not To Do’ app. In this blog post, I’ll walk you through the process of developing this iOS app, highlighting how I leveraged AI assistance (specifically, Claude) to streamline the development process.</p>

<h2 id="the-concept">The Concept</h2>

<p>The ‘Not To Do’ app is designed to help users break bad habits by focusing on behaviors they want to avoid. Instead of checking off completed tasks, users mark the habits they successfully avoided each day. The app includes features like daily tracking, encouraging messages, statistics, and an achievement system to keep users motivated.</p>

<h2 id="development-process">Development Process</h2>

<h3 id="1-initial-planning-and-setup">1. Initial Planning and Setup</h3>

<p>I started by outlining the core features of the app:</p>
<ul>
  <li>A main screen for daily habit tracking</li>
  <li>iCloud sync for cross-device usage</li>
  <li>Statistics to visualize progress</li>
  <li>An achievement system for motivation</li>
</ul>

<p>For the tech stack, I chose:</p>
<ul>
  <li>Swift and SwiftUI for the UI</li>
  <li>Swift Data for local data management</li>
  <li>CloudKit for iCloud sync</li>
</ul>

<h3 id="2-ai-assistance-with-claude">2. AI Assistance with Claude</h3>

<p>Throughout the development process, I used an AI assistant called Claude to help with various aspects of the project. Here’s how Claude assisted:</p>

<ul>
  <li><strong>Brainstorming and Feature Refinement</strong>: Claude helped expand on the initial app concept, suggesting features like the achievement system and cheering messages.</li>
  <li><strong>Code Generation</strong>: Claude provided code snippets and full view implementations, which I could then customize and integrate into the app.</li>
  <li><strong>Problem Solving</strong>: When I encountered issues (like incorrectly implementing the cheering messages), Claude helped identify and correct the problems.</li>
  <li><strong>Best Practices</strong>: Claude offered suggestions on SwiftUI and Swift Data best practices, helping ensure the app was built on a solid foundation.</li>
</ul>

<h3 id="3-key-development-stages">3. Key Development Stages</h3>

<p>a) <strong>Core Functionality</strong>:</p>
<ul>
  <li>Implemented the main dashboard for tracking ‘Not To Do’ items</li>
  <li>Set up Swift Data for local storage</li>
  <li>Integrated CloudKit for iCloud sync</li>
</ul>

<p>b) <strong>User Engagement Features</strong>:</p>
<ul>
  <li>Added encouraging messages when users successfully avoid bad habits</li>
  <li>Implemented a statistics screen to visualize progress</li>
</ul>

<p>c) <strong>Achievement System</strong>:</p>
<ul>
  <li>Designed and implemented an achievement system to gamify the experience</li>
  <li>Created various achievements to keep users engaged long-term</li>
</ul>

<h2 id="key-learnings">Key Learnings</h2>

<ol>
  <li>
    <p><strong>AI as a Development Partner</strong>: Using Claude as an AI assistant significantly sped up the development process. It was particularly helpful for generating boilerplate code, suggesting implementations, and quickly iterating on ideas.</p>
  </li>
  <li>
    <p><strong>Importance of Clear Communication</strong>: When working with an AI, I learned the importance of being very specific in my requests and providing clear context. This ensured that Claude’s suggestions were directly applicable to my needs.</p>
  </li>
  <li>
    <p><strong>SwiftUI and Swift Data</strong>: This project deepened my understanding of these newer Apple technologies. SwiftUI’s declarative syntax and Swift Data’s seamless integration with SwiftUI views made for a smooth development experience.</p>
  </li>
  <li>
    <p><strong>Balancing Features and Simplicity</strong>: Throughout the development, there was a constant balance between adding engaging features and maintaining the app’s simplicity and focus.</p>
  </li>
</ol>

<h2 id="conclusion">Conclusion</h2>

<p>Developing the ‘Not To Do’ app was an exciting journey that combined modern iOS development techniques with the novel experience of AI-assisted coding. The result is an app that takes a unique approach to productivity and habit-breaking.</p>

<p>The use of AI in the development process opened up new possibilities and significantly sped up certain aspects of development. However, it also highlighted the continued importance of human creativity, decision-making, and the ability to critically evaluate and integrate AI suggestions.</p>

<p>As we move forward, I’m excited to see how tools like Claude will continue to shape the software development landscape, potentially making app creation more accessible and efficient for developers of all levels.</p>]]></content><author><name>James Lee</name></author><category term="iOS" /><category term="App" /><category term="AI" /><summary type="html"><![CDATA[Developing a ‘Not To Do’ App with AI Assistance: A Journey in Modern iOS Development]]></summary></entry><entry><title type="html">Introduce Large Action Model</title><link href="https://banggaoo.github.io/blog/2024/07/04/Introduce-Large_Action_Model.html" rel="alternate" type="text/html" title="Introduce Large Action Model" /><published>2024-07-04T00:00:00+00:00</published><updated>2024-07-04T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/07/04/Introduce-Large_Action_Model</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/07/04/Introduce-Large_Action_Model.html"><![CDATA[<p>A large action model (LAM) is a concept used in decision theory, machine learning, and artificial intelligence to manage and optimize decision-making processes in complex environments. Here are the key points about large action models:</p>

<ol>
  <li><strong>Definition</strong>:
    <ul>
      <li>A large action model deals with situations where there is a vast number of possible actions an agent can take in a given environment. This is common in real-world scenarios like robotics, game playing, and automated planning.</li>
    </ul>
  </li>
  <li><strong>Techniques</strong>:
    <ul>
      <li><strong>Hierarchical Models</strong>: Breaking down the action space into a hierarchy of smaller, more manageable sub-actions. This helps in reducing complexity by solving smaller problems at various levels.</li>
      <li><strong>Function Approximation</strong>: Using techniques like neural networks to approximate the value functions or policies, enabling generalization across similar actions.</li>
      <li><strong>Reinforcement Learning</strong>: Employing RL algorithms to learn optimal policies by interacting with the environment and receiving feedback in the form of rewards or penalties.</li>
      <li><strong>Search Methods</strong>: Implementing search algorithms such as Monte Carlo Tree Search (MCTS) to efficiently explore the action space and make decisions.</li>
    </ul>
  </li>
  <li><strong>Applications</strong>:
    <ul>
      <li><strong>Robotics</strong>: Controlling robots that need to navigate complex environments and perform a wide range of tasks.</li>
      <li><strong>Game Playing</strong>: AI systems in games like chess or Go, where the number of possible moves is exceedingly large.</li>
      <li><strong>Automated Planning</strong>: Systems that need to plan and execute sequences of actions to achieve specific goals in dynamic environments.</li>
    </ul>
  </li>
  <li><strong>Advantages</strong>:
    <ul>
      <li><strong>Scalability</strong>: Designed to handle environments with a large number of actions, making them suitable for real-world applications.</li>
      <li><strong>Flexibility</strong>: Can be adapted to various domains and problem types by incorporating domain-specific knowledge and constraints.</li>
    </ul>
  </li>
</ol>]]></content><author><name>James Lee</name></author><category term="AI" /><summary type="html"><![CDATA[A large action model (LAM) is a concept used in decision theory, machine learning, and artificial intelligence to manage and optimize decision-making processes in complex environments. Here are the key points about large action models:]]></summary></entry><entry><title type="html">Apple Intelligence Analysis and Forecasts</title><link href="https://banggaoo.github.io/blog/2024/06/26/Apple_Intelligence-Analysis_Forecasts.html" rel="alternate" type="text/html" title="Apple Intelligence Analysis and Forecasts" /><published>2024-06-26T00:00:00+00:00</published><updated>2024-06-26T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/06/26/Apple_Intelligence-Analysis_Forecasts</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/06/26/Apple_Intelligence-Analysis_Forecasts.html"><![CDATA[<h2 id="what-is-apple-intelligence"><a href="https://www.apple.com/apple-intelligence/">What is Apple Intelligence</a></h2>
<p>Apple’s artificial intelligence technology and platform</p>

<h2 id="apple-intelligence-architecture">Apple Intelligence Architecture</h2>
<p><img src="https://github.com/banggaoo/blog/assets/284765/93315695-651b-48c5-b9f0-182e83d9a6e8" alt="84d58ca4-f450-403d-b6ca-ff02cd1b2e8a" /></p>

<p>Architecture where foundation model is placed in OnDevice and Cloud respectively and orchestration is performed in OnDevice.</p>

<h2 id="apple-intelligence-features">Apple Intelligence Features</h2>
<h3 id="efficiency">Efficiency</h3>
<p>Minimize model development costs by using the same hardware for both OnDevice and Cloud.</p>

<p>In the case of LLM and Stable Diffusion Model used in OnDevice, it is compressed to about 1GB.</p>

<p>Minimize unnecessary data input when creating models using synthetic data.</p>

<p>Use three methods for extreme compression.
<img width="604" alt="Screenshot 2024-06-14 at 3 50 29 PM" src="https://github.com/banggaoo/blog/assets/284765/565c9420-d352-4923-ba0d-30f10fd5f951" /></p>

<h3 id="task-specific">Task-specific</h3>
<p><img src="https://github.com/banggaoo/blog/assets/284765/b7739f4b-187f-4c0e-94ae-903894e230b3" alt="9c7c7339-34a1-4cb8-9ef7-f9e0d6141a6c" />
A method of operating by replacing a task-specific model on top of the foundation model</p>

<h3 id="privacy">Privacy</h3>
<p>No user information stored in the cloud.</p>

<p>Open sources that allow for external monitoring.</p>

<h3 id="deep-integration">Deep integration</h3>
<p>iOS systems and even third-party apps can be integrated with the Apple Intelligence platform.</p>

<p>We provide a behavior and data sharing platform based on App Intents.</p>

<h2 id="analysis">Analysis</h2>
<p>Apple currently has the most advanced Hybrid AI architecture.</p>

<p>Because LLM-based services that require high costs in the existing cloud are less sustainable, many companies are expected to give up LLM-related services or try to switch to efficient OnDevice AI like Apple.</p>

<p>Apple Intelligence is expected to evolve into an AI platform that can reach the deepest level of user information.</p>

<p>Apple’s lack of ultra-large model-based AI is expected to be made up for through collaboration with OpenAI and others.</p>

<p><a href="https://machinelearning.apple.com/research/introducing-apple-foundation-models">Introducing Apple’s On-Device and Server Foundation Models</a></p>

<p><a href="https://developer.apple.com/videos/play/wwdc2024/102/">Platforms State of the Union</a></p>

<p><a href="https://developer.apple.com/wwdc24/10223">Explore machine learning on Apple platforms</a></p>]]></content><author><name>James Lee</name></author><category term="iOS" /><category term="AI" /><summary type="html"><![CDATA[What is Apple Intelligence Apple’s artificial intelligence technology and platform]]></summary></entry><entry><title type="html">Apple Developer - Platforms State of the Union</title><link href="https://banggaoo.github.io/blog/2024/06/11/Apple_Developer-Platform_State_of_Union.html" rel="alternate" type="text/html" title="Apple Developer - Platforms State of the Union" /><published>2024-06-11T00:00:00+00:00</published><updated>2024-06-11T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/06/11/Apple_Developer-Platform_State_of_Union</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/06/11/Apple_Developer-Platform_State_of_Union.html"><![CDATA[<h2 id="on-device-foundation-model">On-device foundation model</h2>
<p>Task-specific.</p>

<p>Compression with Quantization.</p>

<p>Utilization of language (LLM) and image (Diffusion) models.</p>

<h2 id="private-cloud">Private Cloud</h2>
<p>Do not store data on Cloud.</p>

<p>Open to external audit.</p>

<h2 id="apple-intelligence-architecture">Apple Intelligence Architecture</h2>
<p><img width="1818" alt="Screenshot 2024-06-11 at 16 14 42" src="https://github.com/banggaoo/blog/assets/284765/8ec4d761-81f0-42e3-abb2-6f6977203656" /></p>

<h2 id="app-intents">App Intents</h2>
<p>Expansion into a platform format supported by various domains.</p>

<p>Required to support Siri actions in third-party apps.</p>

<h2 id="model">Model</h2>
<p>Whisper, Stable Diffusion, Llama, etc. can be imported.</p>

<p>Improved LLM performance on latest versions of MacOS.</p>

<h2 id="code-completion">Code Completion</h2>
<p>Function name auto-completion.</p>

<p>Generate code based on comments.</p>

<h2 id="swift-assist">Swift Assist</h2>
<p>Generate code with imperatives.</p>

<h2 id="swift-6">Swift 6</h2>
<p>Data-race safety. Verification at compile time.</p>

<h2 id="swift-testing">Swift Testing</h2>
<p>Declared with @Test attribute.</p>

<p>Write easy-to-read test code.</p>

<p>Easy integration with Test Plan.</p>

<h2 id="swiftui">SwiftUI</h2>
<p>Expanding components shared with UIKit.</p>

<h2 id="swiftdata">SwiftData</h2>
<p>Add attribute.</p>

<p>Index support.</p>

<p>Custom data store support: Repositories other than Core Data can be used.</p>

<p>history tracking.</p>

<h2 id="ios">iOS</h2>
<p>Control Center API Open.</p>

<h2 id="ipados">iPadOS</h2>
<p>Tabbar: Provides shortcut-type UI.</p>

<h2 id="watchos">watchOS</h2>
<p>Smart Stack improvements: Live Activities integration.</p>

<p>Double tap support expanded.</p>]]></content><author><name>James Lee</name></author><category term="iOS" /><category term="AI" /><summary type="html"><![CDATA[On-device foundation model Task-specific.]]></summary></entry><entry><title type="html">Review of app development using SwiftData</title><link href="https://banggaoo.github.io/blog/2024/05/22/app_development_using_SwiftData.html" rel="alternate" type="text/html" title="Review of app development using SwiftData" /><published>2024-05-22T00:00:00+00:00</published><updated>2024-05-22T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/05/22/app_development_using_SwiftData</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/05/22/app_development_using_SwiftData.html"><![CDATA[<p>Share my experience developing apps using SwiftData.
​</p>
<h2 id="how-to-use">How to use</h2>
<p>According to the app design, i created a model, created a screen, and linked the model and screen.</p>

<p>Except for some state values, all data was handled by applying SwiftData.
​</p>
<h2 id="modelcontainer">ModelContainer</h2>
<p>ModelContainer is a space where SwiftData’s Model is stored. Depending on your needs, you can share one or create several separately.</p>

<p>Even if different ModelContainers are applied to the same Model, they are not related to each other, so it can be confusing if it is not clear which ModelContainer is used in the current View.</p>

<p>Since references between models become frequent and the same ModelContainer must be used, i tend to end up using one large, common ModelContainer.
​</p>
<h2 id="query">Query</h2>
<p>This is a method of importing data from a saved model, and sorting/filtering, etc. can be applied if necessary.</p>

<p>You can reconstruct it by creating a computed property.</p>

<p>You can observe data changes with onChange.
​</p>
<h2 id="model">Model</h2>
<p>Although SwiftData’s Model can be referenced, it was felt to be cumbersome because it required creating a model based on the reference and establishing relationships when cross-referencing.</p>

<p>In order to create understandable software, it seems necessary to minimize references between models and use a method of fetching only when necessary.</p>

<p>In this case, performance issues may occur, so using @Trasient to store temporarily is valid.
​</p>
<h2 id="memory-db">Memory DB</h2>
<p>When saving SwiftData in Persistent, there are many additional things to consider, such as Schema Migration. Unless absolutely necessary, Memory DB is recommended.
​</p>
<h2 id="data-management">Data Management</h2>
<p>SwiftData is not a tool for managing large amounts of data. It is a backend for SwiftUI, and if you need to handle large amounts of data internally, it is recommended to use another solution.</p>]]></content><author><name>James Lee</name></author><summary type="html"><![CDATA[Share my experience developing apps using SwiftData. ​ How to use According to the app design, i created a model, created a screen, and linked the model and screen.]]></summary></entry><entry><title type="html">Analyze Ambient UI</title><link href="https://banggaoo.github.io/blog/2024/05/16/Ambient_UI.html" rel="alternate" type="text/html" title="Analyze Ambient UI" /><published>2024-05-16T00:00:00+00:00</published><updated>2024-05-16T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/05/16/Ambient_UI</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/05/16/Ambient_UI.html"><![CDATA[<h2 id="what-is-ambient-uifrom-claude">What is Ambient UI(from Claude)</h2>
<p>Ambient User Interface, refers to a concept in user experience design that aims to seamlessly integrate technology into our everyday environments in a non-intrusive and contextually aware manner.</p>

<p>The idea behind Ambient UI is to make technology blend into the background, providing information and services when needed without demanding our explicit attention or interaction.</p>

<h3 id="key-aspects-of-ambient-ui">Key aspects of Ambient UI</h3>

<ol>
  <li>
    <p>Ubiquitous computing: Ambient UI leverages the widespread availability of computing devices, sensors, and network connectivity to create a digitally augmented environment. This includes smart devices, wearables, and even everyday objects with embedded computing capabilities.</p>
  </li>
  <li>
    <p>Context awareness: Ambient UI systems are designed to be aware of the user’s context, such as their location, activity, and surrounding environment. This awareness allows the system to anticipate the user’s needs and provide relevant information or services without explicit input.</p>
  </li>
  <li>
    <p>Passive interaction: Rather than requiring direct input from the user, Ambient UI systems rely on passive interaction methods, such as voice commands, gestures, or even physiological signals like eye movements or brain activity.</p>
  </li>
  <li>
    <p>Minimal disruption: Ambient UI aims to minimize disruptions to the user’s primary task or activity. Information and services are presented in a subtle and unobtrusive manner, allowing the user to focus on their main task while still benefiting from the technology.</p>
  </li>
  <li>
    <p>Ambient displays: Ambient UI often utilizes ambient displays, which are displays integrated into the environment that provide information in a peripheral and non-intrusive manner. Examples include digital signage, projected displays, or even ambient lighting.</p>
  </li>
  <li>
    <p>Multimodal input/output: Ambient UI systems may employ multiple input and output modalities, such as voice, gestures, haptic feedback, and ambient sounds or visuals, to provide a more natural and intuitive interaction experience.</p>
  </li>
</ol>

<h3 id="goal-of-ambient-ui">Goal of Ambient UI</h3>
<p>To create a seamless and intuitive user experience where technology blends into our daily lives, providing relevant information and services without demanding our explicit attention or disrupting our primary tasks.</p>

<p>This concept is particularly relevant in the context of smart homes, augmented reality, and the Internet of Things (IoT), where devices and environments are becoming increasingly connected and intelligent.</p>

<h2 id="evaluation">Evaluation</h2>
<p>As conversational MultiModal AI technology evolveld, it is expected that there will be a need for AI Assistant-related technology that analyzes the user’s context and provides appropriate services.</p>

<p>Ambient UI is a design required to provide UX optimized for the above technologies.</p>]]></content><author><name>James Lee</name></author><summary type="html"><![CDATA[What is Ambient UI(from Claude) Ambient User Interface, refers to a concept in user experience design that aims to seamlessly integrate technology into our everyday environments in a non-intrusive and contextually aware manner.]]></summary></entry><entry><title type="html">Study AI fundamentals for software engineers</title><link href="https://banggaoo.github.io/blog/2024/05/07/Study_AI_fundamentals_for_software_engineers.html" rel="alternate" type="text/html" title="Study AI fundamentals for software engineers" /><published>2024-05-07T00:00:00+00:00</published><updated>2024-05-07T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/05/07/Study_AI_fundamentals_for_software_engineers</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/05/07/Study_AI_fundamentals_for_software_engineers.html"><![CDATA[<h2 id="motivation">Motivation</h2>
<p>While learning AI on a surface, I felt like it lacked depth, so i wanted to learn the beneath of it.
<a href="https://search.shopping.naver.com/book/catalog/32481492136?cat_id=50010921&amp;frm=PBOKPRO&amp;query=%EC%BD%94%EB%93%9C%EB%A1%9C+%EB%B0%B0%EC%9A%B0%EB%8A%94+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&amp;NaPm=ct%3Dlvw7a0tk%7Cci%3Dee0a5992e5719c8c503ab6679c6ba1ef782e8203%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3Dee9f01eaae94dc80c7cb60ab0049478a7cbf035c">AI fundamentals for software engineers</a> introduces machine learning with a focus on practice. I started studying because I thought it would be helpful in understanding the principles.
​</p>
<h2 id="setting-up-the-environment">Setting up the environment</h2>
<p>For practice smoothly, set up a virtual environment in Visual Studio Code.
​</p>
<ol>
  <li>In VSCode, move to the folder where you want to install the virtual environment.</li>
  <li>Install the virtual environment.
    <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">venv</span> <span class="p">.</span><span class="o">/</span><span class="n">venv</span>
</code></pre></div>    </div>
  </li>
  <li>When a separate environment file is created, check the detailed settings in pyvenv.cgf.</li>
  <li>Open a new terminal window in VSCode and move to the terminal in the virtual environment.</li>
  <li>Install the desired package (see page 8).</li>
  <li>Afterwards, run the command below in the folder to start the virtual environment.
    <div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">source</span> <span class="p">.</span><span class="o">/</span><span class="n">venv</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">activate</span>
</code></pre></div>    </div>
    <p>​</p>
    <h2 id="practice-code-repository">Practice code repository</h2>
    <p>Currently, we are practicing based on Python 3.12 version, so there are cases where the example code in the book written based on Python 3.9 version does not run. So, we decided to rewrite the executable code in the repository below.
​
https://github.com/james-learns-to-code/practice_ml</p>
  </li>
</ol>]]></content><author><name>James Lee</name></author><summary type="html"><![CDATA[Motivation While learning AI on a surface, I felt like it lacked depth, so i wanted to learn the beneath of it. AI fundamentals for software engineers introduces machine learning with a focus on practice. I started studying because I thought it would be helpful in understanding the principles. ​ Setting up the environment For practice smoothly, set up a virtual environment in Visual Studio Code. ​ In VSCode, move to the folder where you want to install the virtual environment. Install the virtual environment. python -m venv ./venv When a separate environment file is created, check the detailed settings in pyvenv.cgf. Open a new terminal window in VSCode and move to the terminal in the virtual environment. Install the desired package (see page 8). Afterwards, run the command below in the folder to start the virtual environment. source ./venv/bin/activate ​ Practice code repository Currently, we are practicing based on Python 3.12 version, so there are cases where the example code in the book written based on Python 3.9 version does not run. So, we decided to rewrite the executable code in the repository below. ​ https://github.com/james-learns-to-code/practice_ml]]></summary></entry><entry><title type="html">Review: The 4 things it takes to be an expert</title><link href="https://banggaoo.github.io/blog/2024/05/02/Review-4-things-takes-to-be-expert.html" rel="alternate" type="text/html" title="Review: The 4 things it takes to be an expert" /><published>2024-05-02T00:00:00+00:00</published><updated>2024-05-02T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/05/02/Review-4-things-takes-to-be-expert</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/05/02/Review-4-things-takes-to-be-expert.html"><![CDATA[<p>This is a review of Veritasium’s YouTube video The 4 things it takes to be an expert.
https://www.youtube.com/watch?v=5eW6Eagr9XA</p>

<h2 id="what-is-an-expert">What is an expert?</h2>
<p>A person who recognizes patterns and uses them to gain insight</p>

<h3 id="how-to-develop-professionalism">How to develop professionalism</h3>
<p>Through repetitive learning, patterns are recognized and used to derive insights.</p>

<h3 id="expertise-cannot-be-developed">Expertise cannot be developed</h3>
<p>It is difficult to demonstrate expertise in an environment with high uncertainty that cannot be controlled by humans.
The reason is that it is difficult to predict the next situation through past patterns.</p>

<h2 id="why-professional-growth-stops">Why Professional Growth Stops</h2>
<p>Experts may become accustomed to patterns they have already learned and may be reluctant to learn or recognize new patterns.</p>

<h3 id="why-we-need-to-get-out-of-our-comfort-zone">Why we need to get out of our comfort zone</h3>
<p>This may not lead to the best insights or may lead to a tendency to remain stuck in past technologies.
Currently, this pattern-finding expertise is rapidly being replaced by AI.</p>

<h3 id="how-to-develop-our-expertise">How to develop our expertise</h3>
<p>We need to continuously find new patterns and think about better solutions.</p>]]></content><author><name>James Lee</name></author><category term="Expert" /><category term="Self-development" /><summary type="html"><![CDATA[This is a review of Veritasium’s YouTube video The 4 things it takes to be an expert. https://www.youtube.com/watch?v=5eW6Eagr9XA]]></summary></entry><entry><title type="html">Book Review: The Mind is flat</title><link href="https://banggaoo.github.io/blog/2024/03/05/Book-Review-The-Mind-is-flat.html" rel="alternate" type="text/html" title="Book Review: The Mind is flat" /><published>2024-03-05T00:00:00+00:00</published><updated>2024-03-05T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/03/05/Book-Review-The-Mind-is-flat</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/03/05/Book-Review-The-Mind-is-flat.html"><![CDATA[<h2 id="about-the-book">About the book</h2>
<p>If you say that human intelligence is not special, most people will reject it.
This is because I believe that humans are special and intelligent.</p>

<h3 id="illusion-of-being-intelligent">Illusion of being intelligent</h3>
<p>Nevertheless, many experiments on human intelligence, especially the brain, have found that the brain is gullible and sometimes even says nonsense.</p>

<p>This book goes further and says that the profound intellectual ability that humans believe to have is a fiction and nothing more than an impromptu pattern finding.</p>

<h3 id="misunderstanding-in-the-title">Misunderstanding in the title</h3>
<p>I think the Korean title of this book, “The Illusion of Thinking,” is a mistaken title. This is because the author is not claiming that humans do not think.
The original title is “The Mind is Flat: The Illusion of Mental Depth and The Improvised Mind,” and if I were to interpret it in Korean, it would be something like “the illusion of thinking.” It’s not a book title that will sell particularly well.</p>

<h3 id="controversial-claims">Controversial claims</h3>
<p>Because the way our brain operates is not fully revealed, and the author’s argument is also an opinion, it is necessary to accept the contents of the book critically.</p>

<p>Nevertheless, the author supports his claims with various experimental results, and some of them are considered persuasive.</p>

<h2 id="in-my-opinion">In my opinion</h2>
<p>From here on out, these are my thoughts, which may differ from the author’s claims.</p>

<h3 id="how-do-humans-think">How do humans think?</h3>
<p>Human consciousness creates the stage through our experiences and current environment.
Through this stage, patterns are found and decisions are made.
This process happens one at a time, improvisationally.</p>

<p>It’s not surprising that humans think spontaneously. Because we have all thought and acted spontaneously. There are times when we make split-second decisions that can be called reflexive.</p>

<p>The author’s argument is that all our thoughts and decisions are made spontaneously as above.</p>

<h3 id="illusion-of-consideration">Illusion of consideration</h3>
<p>Everyone has probably done something called reflection. It is the act of wrapping your head, closing your eyes, and thinking about one thing.
According to the author’s argument, these actions are useless. This is because with the same experience and environment, only the same patterns will be found.</p>

<p>The reason why new ideas come to mind easily when we sometimes go outside for a walk or go to an unfamiliar place is because we gain new experiences and environments there, increasing the likelihood of finding new patterns.</p>

<p>It also reminds us how much our decisions are influenced by our experiences and environment.</p>

<h3 id="the-brain-that-makes-things-up">The brain that makes things up</h3>
<p>The most shocking content in the book is an experiment on how our brains deceive us.</p>

<p>The brain does not hesitate to use drawings to rationalize decisions made through thinking.
These drawings are accepted without criticism because they themselves accept them without question.
In reality, the brain does not know why it made the decisions it made. This is because it is an impromptu pattern finding.</p>

<h3 id="why-humans-are-special">Why humans are special</h3>
<p>Unless the human brain structure is completely changed from before, the way we think cannot be very different from that of other animals.
Nevertheless, I believe that language is the reason why human intellectual ability is special. Humans can put a variety of information on the stage through language.</p>

<h2 id="conclusion">Conclusion</h2>
<p>We live in a world where metacognition is important. It is the ability to know what I know and what I do not know.
I am reminded of the flaws in my decision-making, and I try to accept them in ways that are actually helpful.
Even if the author’s argument is completely wrong, there is no harm in thinking it through.</p>

<h3 id="improvement">Improvement</h3>
<p>If humans only think spontaneously, existing decision-making methods need to be reexamined.</p>

<ul>
  <li>Preferences</li>
</ul>

<p>Because the environment is so important in decision-making, I need to remind myself what kind of environment I am thinking about.</p>

<ul>
  <li>Prejudice</li>
</ul>

<p>Beware of bias due to experience when making decisions. This may be a focus due to my specific experience rather than to make the right decision.</p>

<ul>
  <li>Visualization</li>
</ul>

<p>I believe that by visualizing reliable data and logical structures and putting them on stage, there is a possibility of producing more correct results when finding patterns.</p>

<ul>
  <li>Doubt</li>
</ul>

<p>Keep in mind how fragile your decision-making is.</p>

<p>https://search.shopping.naver.com/book/catalog/32476110643</p>]]></content><author><name>James Lee</name></author><category term="Brain" /><category term="Think" /><category term="Intelligence" /><summary type="html"><![CDATA[About the book If you say that human intelligence is not special, most people will reject it. This is because I believe that humans are special and intelligent.]]></summary></entry><entry><title type="html">Book Review: The End of Online Shopping</title><link href="https://banggaoo.github.io/blog/2024/02/14/Book-Review-The-End-of-Online-Shopping.html" rel="alternate" type="text/html" title="Book Review: The End of Online Shopping" /><published>2024-02-14T00:00:00+00:00</published><updated>2024-02-14T00:00:00+00:00</updated><id>https://banggaoo.github.io/blog/2024/02/14/Book-Review-The-End-of-Online-Shopping</id><content type="html" xml:base="https://banggaoo.github.io/blog/2024/02/14/Book-Review-The-End-of-Online-Shopping.html"><![CDATA[<h2 id="introduction">Introduction</h2>
<p>The subtitle of this book is “The Future of New Retail In An Always Connected World,” which talks about changes in the business environment due to technological advancement.
If you’re surprised by the pessimistic headline “The End of Online Shopping,” you’re as hooked as me.</p>

<p>The technologies introduced in the book are ones that those working in the IT industry are already familiar with, and the future business environment the author envisions is also unexpected.
This is a book that easily becomes boring because it explains techniques you already know in a repetitive manner.</p>

<p>This book was published in 2018, and as the author predicted, society is changing rapidly.</p>

<p>The main contents of the book are summarized below.</p>

<h3 id="integration-of-online-and-offline">Integration of Online and Offline</h3>
<ul>
  <li>Forms of online shopping are deeply integrated with the world of offline retail</li>
  <li>A new mixed retail environment</li>
  <li>Importance of data and technology</li>
</ul>

<h3 id="key-technologies">Key Technologies</h3>
<ul>
  <li>Big data</li>
  <li>Internet of Things</li>
  <li>Virtual reality, augmented reality, mixed reality</li>
  <li>3D printing</li>
  <li>Robotization</li>
  <li>AI</li>
</ul>

<h3 id="key-trends">Key Trends</h3>
<ul>
  <li>Smart economy</li>
  <li>Sharing economy</li>
  <li>Circular economy</li>
  <li>Platform economy</li>
</ul>

<h3 id="future-of-retail">Future of Retail</h3>
<ul>
  <li>Experience-oriented</li>
  <li>Seamless experience</li>
  <li>Hyper-personalization</li>
  <li>Sustainable, ethical</li>
</ul>

<h3 id="key-passages">Key passages</h3>

<p>“Pure e-commerce will be reduced to traditional business, giving way to new retail that integrates online, offline, logistics and data across the value chain.”</p>

<p>“An era where everyone sells to everyone”</p>

<p>“If a customer is only interested in price, it’s probably because they haven’t been given anything else to care about.”</p>

<p>“We must start from customer experience and return to technology.”</p>

<h2 id="impression">Impression</h2>
<p>Despite the book’s boring structure, the shocking title and several passages provide insight.</p>

<h3 id="rapid-change">Rapid change</h3>
<p>Technology and society are developing so rapidly that it seems that it will not be long before pure e-commerce will be treated as an old-fashioned business.
We need to think broadly about better user experience without any more anachronistic distinctions such as online/offline.</p>

<h3 id="importance-of-customer-experience">Importance of customer experience</h3>
<p>When I visited an offline mart a few years ago, I remember feeling uncomfortable after using the newly introduced self-checkout counter.
At the time, while Coupang was doing its best to improve customer experience, offline marts were actually doing the opposite.
I believe that if customer experience is undermined for short-term results, the business will be ignored regardless of whether it is online or offline.</p>

<p><a href="https://www.google.co.kr/books/edition/End_Of_Online_Shopping_The_The_Future_Of/3lZoDwAAQBAJ?hl=en&amp;gbpv=0">Book: End Of Online Shopping</a>
<a href="http://news.bizwatch.co.kr/article/consumer/2023/11/16/0025">Article: Musinsa enters offline market</a>
<a href="https://isplus.com/article/view/isp202305100172">Article: Flagship Stores Embracing Local/Brand Identity Gain Attention</a></p>]]></content><author><name>James Lee</name></author><category term="Retail" /><category term="Future" /><category term="Shopping" /><summary type="html"><![CDATA[Introduction The subtitle of this book is “The Future of New Retail In An Always Connected World,” which talks about changes in the business environment due to technological advancement. If you’re surprised by the pessimistic headline “The End of Online Shopping,” you’re as hooked as me.]]></summary></entry></feed>