<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>이코의 세상 Season2</title>
    <link>https://1kko.com/</link>
    <description>일상, 컴퓨터, 웹, 음악, 아트... 온갖 재밌고 신기한것들을 섞어놓은 퓨전 블로그</description>
    <language>ko</language>
    <pubDate>Tue, 9 Jun 2026 10:21:01 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>!kKo</managingEditor>
    <image>
      <title>이코의 세상 Season2</title>
      <url>https://t1.daumcdn.net/cfile/tistory/1531B14A5000EEA01A</url>
      <link>https://1kko.com</link>
    </image>
    <item>
      <title>Know-How에서 Know-Why까지 - AI 시대에 인간으로 살아가는 방법</title>
      <link>https://1kko.com/2460641</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;서문&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인간 혁신의 가속화된 여정 속에서&lt;span&gt;, &lt;/span&gt;기술만큼 급격하고 깊은 변화를 겪은 분야는 드물다&lt;span&gt;. &lt;/span&gt;한때 공상과학의 영역이었던 것들이 오늘날 우리의 일상적인 현실이 되었으며&lt;span&gt;, &lt;/span&gt;변화의 속도는 전혀 둔화될 기미를 보이지 않는다&lt;span&gt;. &lt;/span&gt;오늘날 우리를 둘러싼 장치와 시스템들은 수많은 돌파구의 집합체로&lt;span&gt;, &lt;/span&gt;각각의 돌파구는 그 이전의 성과를 바탕으로 하여 우리가 상상했던 가능성의 경계를 계속해서 확장하고 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더욱 위대한 기술 발전의 문턱에 서 있는 지금&lt;span&gt;, &lt;/span&gt;우리를 이곳까지 이끌어 온 여정을 되돌아보는 것이 중요하다고 생각한다&lt;span&gt;. &lt;/span&gt;초기의 저장 장치가 겨우 몇 킬로바이트를 저장할 수 있었던 시절부터&lt;span&gt;, &lt;/span&gt;오늘날 상상할 수 없는 양의 데이터를 처리하고 저장할 수 있는 광대한 네트워크에 이르기까지&lt;span&gt;, &lt;/span&gt;기술의 진화를 이해하는 것은 단순히 현대 공학의 경이로움을 감상하는 것 이상의 의미를 지닌다&lt;span&gt;. &lt;/span&gt;그것은 우리가 앞으로 나아갈 방향을 예측하고 준비하는 데 중요한 시각을 제공해준다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 디지털 세계의 기반인 저장 장치로부터 시작된다&lt;span&gt;. &lt;/span&gt;정보를 캡처하고&lt;span&gt;, &lt;/span&gt;저장하며&lt;span&gt;, &lt;/span&gt;검색하는 능력은 모든 기술적 도약의 중심에 있었으며&lt;span&gt;, &lt;/span&gt;우리의 삶&lt;span&gt;, &lt;/span&gt;일&lt;span&gt;, &lt;/span&gt;그리고 연결 방식을 형성해 왔다&lt;span&gt;. &lt;/span&gt;저장 장치의 이야기를 파헤쳐 나가면서 우리는 단순한 기술적 발전뿐만 아니라 우리 사회와 인간 경험에 미치는 더 넓은 의미도 발견하게 될 것이다&lt;span&gt;. &lt;/span&gt;저장 장치의 진화를 통한 이 여정은 우리가 기술의 전체적인 궤적을 더 잘 이해할 수 있는 렌즈가 되어&lt;span&gt;, &lt;/span&gt;통찰력과 의도를 가지고 미래를 준비할 수 있도록 도와줄 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;스토리지&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 어렸을 때&lt;span&gt;, &lt;/span&gt;첫 컴퓨터는 겨우&lt;span&gt; 20&lt;/span&gt;메가바이트의 저장 공간을 가지고 있었다&lt;span&gt;. &lt;/span&gt;지금은 우스운 용량으로 보이지만&lt;span&gt;, &lt;/span&gt;그 당시에는 무한한 공간처럼 느껴졌다&lt;span&gt;. &lt;/span&gt;그 시절을 돌이켜보면&lt;span&gt;, &lt;/span&gt;우리가 얼마나 멀리 왔는지 놀랍기만 하다&lt;span&gt;. &lt;/span&gt;그&lt;span&gt; 20&lt;/span&gt;메가바이트는 텍스트 파일로 가득 찬 도서관 전체를 저장하기에 충분했지만&lt;span&gt;, &lt;/span&gt;오늘날 내 스마트폰의 단 한 장의 사진이 그 용량을 넘을 수 있다&lt;span&gt;. &lt;/span&gt;그 당시에는 하드 드라이브가 가득 찰 것이라는 생각은 멀게만 느껴졌는데&lt;span&gt;, &lt;/span&gt;이제는 테라바이트 단위의 데이터를 거의 무의식적으로 가지고 다닌다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장소의 형태는 극적으로 변했으며&lt;span&gt;, &lt;/span&gt;물리적 장치에서 더 논리적이고 디지털적인 형태로 진화해왔다&lt;span&gt;. &lt;/span&gt;우리는 카세트 테이프와 플로피 디스크에서 하드 디스크 드라이브로 전환했는데&lt;span&gt;, &lt;/span&gt;이곳에 데이터는 얇은 막에 있는 작은 자석층에 저장되었다&lt;span&gt;. &lt;/span&gt;이러한 초기 저장 장치들은 매우 섬세하여&lt;span&gt;, &lt;/span&gt;작동 중 데이터 손상을 피하기 위해 신중한 취급이 필요했다&lt;span&gt;. &lt;/span&gt;오늘날&lt;span&gt;, &lt;/span&gt;저장 장치는 강력하고 거의 보이지 않는 존재가 되었으며&lt;span&gt;, &lt;/span&gt;작은 크기 때문에 잃어버리기 쉬운 플래시 메모리 칩으로 발전했다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장 용량은 계속 증가할 것이며&lt;span&gt;, 1&lt;/span&gt;나노미터 규모에 이를 때까지 발전할 것이다&lt;span&gt;. &lt;/span&gt;그 이후에는&lt;span&gt; DNA &lt;/span&gt;인코딩처럼 분자 수준에서 데이터를 기록하는 획기적인 기술이 등장할 것이며&lt;span&gt;, &lt;/span&gt;단일 뉴클레오타이드의 길이가 약&lt;span&gt; 0.34&lt;/span&gt;나노미터라는 점이 그 예가 될 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;디스플레이&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 아직도 내 첫 컴퓨터를 처음 켰을 때의 흥분을 기억한다&lt;span&gt;. &lt;/span&gt;팬의 웅웅거리는 소리로 시작해&lt;span&gt;, &lt;/span&gt;삑 소리가 나고&lt;span&gt;, &lt;/span&gt;메모리 체크가 숫자를 세어 올라가고&lt;span&gt;, &lt;/span&gt;하드 디스크 드라이브의 거친 소리가 들린 뒤&lt;span&gt;, &lt;/span&gt;마침내&lt;span&gt; MS-DOS &lt;/span&gt;프롬프트가 화면에 나타났다&lt;span&gt;. &lt;/span&gt;내 생일에 아버지께서 선물로 주신 컴퓨터는 우리 동네에서 내가 유일하게 가진 것이었고&lt;span&gt;, &lt;/span&gt;주된 용도는&lt;span&gt; 'Blockout'&lt;/span&gt;이라는&lt;span&gt; 3D &lt;/span&gt;버전의 테트리스를 하는 것이었다&lt;span&gt;. &lt;/span&gt;그 경험은 경이로웠고&lt;span&gt;, &lt;/span&gt;마치&lt;span&gt; '&lt;/span&gt;사이버 세계&lt;span&gt;'&lt;/span&gt;에 첫 발을 디딘 느낌이었다&lt;span&gt;. &lt;/span&gt;지금은&lt;span&gt; '&lt;/span&gt;메타버스&lt;span&gt;'&lt;/span&gt;라는 용어로 대체되었지만 말이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 시절에는 가정에 컴퓨터가 드물었지만&lt;span&gt;, &lt;/span&gt;모든 집에는 세상과 우리를 연결해 주는 중심 역할을 하는 텔레비전이 있었다&lt;span&gt;. '&lt;/span&gt;전격&lt;span&gt; Z&lt;/span&gt;작전&lt;span&gt;', '600&lt;/span&gt;만 달러의 사나이&lt;span&gt;', &lt;/span&gt;그리고&lt;span&gt; '&lt;/span&gt;맥가이버&lt;span&gt;' &lt;/span&gt;같은 시리즈를 보던 기억이 아직도 생생하다&lt;span&gt;. &lt;/span&gt;오늘날&lt;span&gt;, &lt;/span&gt;화면은 어디에나 있다&lt;span&gt;&amp;mdash;&lt;/span&gt;우리의 벽&lt;span&gt;, &lt;/span&gt;주머니&lt;span&gt;, &lt;/span&gt;심지어 손목에도&lt;span&gt;. &lt;/span&gt;집 안에 있는 화면의 개수를 세는 것은 거의 불가능할 정도로 많아졌고&lt;span&gt;, &lt;/span&gt;마치 수도꼭지나 전구의 수를 세는 것만큼이나 어려워졌다&lt;span&gt;. 20&lt;/span&gt;년 전만 해도 대부분의 가정에 화면은 하나뿐이었고&lt;span&gt;, 30&lt;/span&gt;년 전에는 전구의 개수를 세는 것이 가능했다&lt;span&gt;. &lt;/span&gt;그보다 더 이전인 &lt;span&gt;50&lt;/span&gt;년 전에는 집 안의 수도꼭지 개수를 셀 수 있었다&lt;span&gt;. &lt;/span&gt;디스플레이 기술도 발전해&lt;span&gt;, &lt;/span&gt;단색 음극선관에서 컬러 디스플레이로&lt;span&gt;, &lt;/span&gt;그 후&lt;span&gt; LCD&lt;/span&gt;로&lt;span&gt;, &lt;/span&gt;이제는 고밀도&lt;span&gt;, &lt;/span&gt;유연하고 투명한&lt;span&gt; OLED &lt;/span&gt;화면으로 진화했다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 세대의 디스플레이는 홀로그램 디스플레이가 될 것이다&lt;span&gt;. &lt;/span&gt;두 개의 레이저가 서로 다른 각도에서 쏘아 픽셀을 형성하고&lt;span&gt;, 3D &lt;/span&gt;매트릭스 형태의 디스플레이를 구현할 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;네트워크&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 다른 중요한 변화의 영역은 컴퓨터 네트워킹에서 찾아볼 수 있다&lt;span&gt;. &lt;/span&gt;예전에는 네트워크에 연결하려면 전화선에 연결된&lt;span&gt; 2400bps &lt;/span&gt;모뎀이 내는 끽끽거리는 소리를 들어야 했다&lt;span&gt;. &lt;/span&gt;오늘날의 기준으로 보면 매우 느린 속도였지만&lt;span&gt;, &lt;/span&gt;그 당시에는 세상과 연결되는 문이었고&lt;span&gt;, &lt;/span&gt;가능성의 일단을 엿볼 수 있는 창이었다&lt;span&gt;. &lt;/span&gt;그때는 단 한 장의 이미지를 다운로드하는 데도 몇 분이 걸렸고&lt;span&gt;, &lt;/span&gt;웹페이지가 조금씩 로딩될 때마다 인내심을 가져야 했다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘날&lt;span&gt;, &lt;/span&gt;우리는 최대&lt;span&gt; 500&lt;/span&gt;메가비트 속도를 제공하는&lt;span&gt; Wi-Fi&lt;/span&gt;와 모바일 네트워크를 가지고 있다&lt;span&gt;. &lt;/span&gt;초기와 비교하면 상상도 할 수 없을 만큼 엄청난 속도 향상이다&lt;span&gt;. &lt;/span&gt;이제 우리는 정보를 접근하고&lt;span&gt;, &lt;/span&gt;공유하고&lt;span&gt;, &lt;/span&gt;소비하는 속도가 우리의 삶을 완전히 변화시켰다&lt;span&gt;. &lt;/span&gt;몇 분&lt;span&gt;, &lt;/span&gt;몇 시간이 걸리던 일이 이제는 단 몇 초 만에 이루어질 수 있다&lt;span&gt;. &lt;/span&gt;고화질 영상을 스트리밍하고&lt;span&gt;, &lt;/span&gt;실시간으로 글로벌 화상 회의에 참여하며&lt;span&gt;, &lt;/span&gt;대용량 파일을 순식간에 다운로드하는 일이 아무렇지도 않게 가능하게 됐다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 통신 속도의 도약은 단순히 빠르게 만드는 것 이상의 변화를 가져왔다&lt;span&gt;. &lt;/span&gt;그것은 우리가 세상과&lt;span&gt;, &lt;/span&gt;그리고 서로와 상호작용하는 방식을 근본적으로 변화시켰다&lt;span&gt;. &lt;/span&gt;정보는 전 세계적으로 자유롭고 즉시 흐르며&lt;span&gt;, &lt;/span&gt;한때 상상할 수 없었던 방식으로 우리를 연결해준다&lt;span&gt;. &lt;/span&gt;이러한 빠른 통신은&lt;span&gt; AI &lt;/span&gt;시대의 핵심 동력으로&lt;span&gt;, &lt;/span&gt;복잡한 시스템이 실시간으로 방대한 양의 데이터를 처리하고 공유할 수 있게 한다&lt;span&gt;. &lt;/span&gt;우리가 계속 발전함에 따라&lt;span&gt;, &lt;/span&gt;통신 속도는 우리 일상에서 더욱 중요한 역할을 하게 될 것이며&lt;span&gt;, &lt;/span&gt;이는 더 많은 혁신과 변화를 촉진할 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;흥미롭게도&lt;span&gt;, &lt;/span&gt;네트워크 기술의 발전은 유선과 무선 기술 간의 소위&lt;span&gt; '&lt;/span&gt;밀당&lt;span&gt;'&lt;/span&gt;을 보여주었다&lt;span&gt;. &lt;/span&gt;유선 네트워크가 빨라지면 무선이 따라잡고&lt;span&gt;, &lt;/span&gt;다시 유선이 앞서가는 식이다&lt;span&gt;. &lt;/span&gt;오늘날 우리는 저렴한 비용으로 쉽게 사용할 수 있는&lt;span&gt; CAT6 &lt;/span&gt;케이블을 통해&lt;span&gt; 2.5Gbps&lt;/span&gt;의 가정용 네트워크를 이용할 수 있으며&lt;span&gt;, &lt;/span&gt;다음에는 더 빠르고 저전력의 무선 기술이 등장할 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;컴퓨팅 파워&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아마도 가장 놀라운 변화는 컴퓨팅 파워(연산처리 능력)에서 찾아볼 수 있다&lt;span&gt;. &lt;/span&gt;한때 하나의 컴퓨터가 전체 조직을 위한 자원이었고&lt;span&gt;, &lt;/span&gt;진보의 상징이자 세상과 연결해주는 매개체였던 시절이 있었다&lt;span&gt;. &lt;/span&gt;이제는 우리 각자가 주머니 속에 초기 슈퍼컴퓨터보다 더 강력한 연산 능력을 가진 장치를 가지고 다닌다&lt;span&gt;. &lt;/span&gt;스마트폰&lt;span&gt;, &lt;/span&gt;태블릿&lt;span&gt;, &lt;/span&gt;라즈베리 파이 등 다양한 장치들은 이제 우리 자신을 확장시키는 도구가 되었으며&lt;span&gt;, &lt;/span&gt;불과 얼마 전만 해도 공상과학으로 보였던 작업들을 수행하고 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 처음 사용했던&lt;span&gt; IBM XT PC&lt;/span&gt;는&lt;span&gt; 4MHz&lt;/span&gt;의&lt;span&gt; CPU&lt;/span&gt;를 탑재하고 있었다&lt;span&gt;. &lt;/span&gt;그 후 몇 년 동안&lt;span&gt; CPU &lt;/span&gt;속도는 급격히 향상되었고&lt;span&gt;, 3GHz&lt;/span&gt;에 이르렀을 때&lt;span&gt; CPU &lt;/span&gt;제조업체들은 단일 코어에서 멀티코어 프로세서로 전략을 전환했다&lt;span&gt;. &lt;/span&gt;한때 서버급 컴퓨터에서나 볼 수 있던 듀얼 코어 프로세서는 이제 우리 주머니 속에 있는 스마트폰에도 탑재되어 있으며&lt;span&gt;, &lt;/span&gt;옥타코어&lt;span&gt; CPU&lt;/span&gt;까지 일반화되었다&lt;span&gt;. &lt;/span&gt;다른 기술들과 마찬가지로&lt;span&gt;, &lt;/span&gt;컴퓨팅 장치도 너무나 흔해져서 우리 주변에 얼마나 많은 장치가 있는지 세는 것이 불가능할 정도다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;클라우드&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연산 능력과 네트워킹의 발전을 되돌아보면&lt;span&gt;, &lt;/span&gt;우리는 중앙 집중식 메인프레임에서 개인용 컴퓨터로&lt;span&gt;, &lt;/span&gt;그리고 이제는 다시 클라우드를 통해 어떤 면에서는 중앙 집중화된 형태로 돌아온 것을 보게 된다&lt;span&gt;. &lt;/span&gt;컴퓨팅 초창기에는 메인프레임이 산업의 거인이었으며&lt;span&gt;, &lt;/span&gt;단일 강력한 기계가 전체 조직을 지원했다&lt;span&gt;. &lt;/span&gt;이후 개인용 컴퓨터의 시대가 도래하면서 그 힘이 분산되어&lt;span&gt;, &lt;/span&gt;개개인이 손끝에서 이전에는 상상도 할 수 없었던 연산 자원을 이용할 수 있게 되었다&lt;span&gt;. &lt;/span&gt;한때&lt;span&gt; &quot;&lt;/span&gt;워크스테이션&lt;span&gt;&quot;&lt;/span&gt;이라는 용어는 책상 위의 강력한 컴퓨터를 가리키는 말이었다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 우리는 클라우드의 시대에 살고 있으며&lt;span&gt;, &lt;/span&gt;엄청난 연산 능력이 다시 한번 중앙 집중화되었다&lt;span&gt;&amp;mdash;&lt;/span&gt;하지만 중요한 차이가 있다&lt;span&gt;. &lt;/span&gt;단일하고 거대한 기계 대신&lt;span&gt;, &lt;/span&gt;클라우드는 분산된 서버의 네트워크로 구성되어 있으며&lt;span&gt;, &lt;/span&gt;이들이 모여 엄청난 처리 능력을 제공하고&lt;span&gt;, &lt;/span&gt;전 세계 어디에서나 접근할 수 있게 되었다&lt;span&gt;. &lt;/span&gt;이 변화는&lt;span&gt; AI&lt;/span&gt;와 머신러닝의 부상을 가능하게 했으며&lt;span&gt;, &lt;/span&gt;복잡한 계산을 클라우드로 이전함으로써&lt;span&gt;, &lt;/span&gt;작은 장치조차 몇 년 전만 해도 상상할 수 없었던 작업을 수행할 수 있게 되었다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;소프트웨어 개발 또한 멀티코어&lt;span&gt; CPU&lt;/span&gt;를 활용하는 방향으로 진화하여&lt;span&gt;, &lt;/span&gt;엔지니어들이 네트워크를 통해 여러 물리적 기계에 작업을 분산시킬 수 있게 되었다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;AI &lt;/span&gt;혁명&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한때&lt;span&gt; &quot;AI&quot;&lt;/span&gt;라는 용어는 마치 무지개를 쫓는 것처럼 환상에 불과했다&lt;span&gt;. &lt;/span&gt;머신러닝을 통해 어느 정도 진전이 있었지만&lt;span&gt;, &lt;/span&gt;대부분의 엔지니어들에게&lt;span&gt; AI&lt;/span&gt;는 여전히 그저 마케팅 유행어에 불과했다&lt;span&gt;&amp;mdash;ChatGPT&lt;/span&gt;가 등장하기 전까지는 말이다&lt;span&gt;. &lt;/span&gt;대형 언어 모델&lt;span&gt;(LLM)&lt;/span&gt;은 우리의 삶을 혁명적이라는 문자 그대로 바꿔놓았다&lt;span&gt;. &lt;/span&gt;인류 역사상 처음으로&lt;span&gt;, &lt;/span&gt;다른 인간이 아닌 무언가와 텍스트 기반의 대화를 나눌 수 있게 되었다&lt;span&gt;. AI&lt;/span&gt;의 진화 속도는 놀라울 정도로 빠르게 진행되어&lt;span&gt;, &lt;/span&gt;이제는 음성 및 이미지로도 상호작용이 가능해졌다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;LLM &lt;/span&gt;모델이 우리의 관심을 사로잡은 지 불과&lt;span&gt; 1&lt;/span&gt;년 만에&lt;span&gt;, AI&lt;/span&gt;를 활용해 일상생활의 다양한 측면을 변화시키는 수많은 응용 프로그램들이 등장했다&lt;span&gt;. &lt;/span&gt;네트워킹과 컴퓨팅처럼&lt;span&gt;, AI&lt;/span&gt;도 중앙 집중화와 분산화의 물결을 겪어왔다&lt;span&gt;&amp;mdash;&lt;/span&gt;메인프레임에서 개인용 컴퓨터로&lt;span&gt;, &lt;/span&gt;클라우드 컴퓨팅에서 블록체인으로&lt;span&gt;, &lt;/span&gt;그리고 중앙 집중화된&lt;span&gt; AI&lt;/span&gt;에서 온디바이스&lt;span&gt; AI&lt;/span&gt;로의 전환이 그 예이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;탈중앙화 컴퓨팅으로의 회귀&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 나는 또 한 번의 변화를 앞두고 있다고 믿는다&lt;span&gt;. &lt;/span&gt;탈중앙화 컴퓨팅의 개념이 다시 부상할 조짐을 보이고 있지만&lt;span&gt;, &lt;/span&gt;이번에는 더욱 정교한 형태로 돌아올 것이다&lt;span&gt;. &lt;/span&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;가 강력한 힘으로 떠오르고 있는데&lt;span&gt;, &lt;/span&gt;이는 연산이 로컬 장치에서 이루어지며&lt;span&gt;, &lt;/span&gt;클라우드에 지속적으로 연결될 필요성을 줄인다&lt;span&gt;. &lt;/span&gt;이러한 접근 방식은 속도와 효율성을 향상시킬 뿐만 아니라&lt;span&gt;, &lt;/span&gt;프라이버시와 데이터 보안에 대한 우려를 해결해준다&lt;span&gt;. &lt;/span&gt;최신 스마트폰과 엣지 장치에서 그 시작을 볼 수 있으며&lt;span&gt;, &lt;/span&gt;이들은 복잡한&lt;span&gt; AI &lt;/span&gt;작업을 독립적으로 수행할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어떤 면에서 우리는 탈중앙화 모델로 돌아가고 있지만&lt;span&gt;, &lt;/span&gt;이번에는 개인과 중앙 집중화&lt;span&gt;, &lt;/span&gt;로컬과 글로벌 간의 균형을 이루는 하이브리드 형태다&lt;span&gt;. &lt;/span&gt;다음 세대의 기술은 온디바이스 연산과 클라우드 파워의 조화를 이루어&lt;span&gt;, AI&lt;/span&gt;가 배경에서 작동하며 우리의 필요를 예측하고&lt;span&gt;, &lt;/span&gt;우리가 인식하지 못하는 사이에 삶을 향상시키는 원활한 경험을 제공할 가능성이 높다&lt;span&gt;. &lt;/span&gt;연산 능력의 진화 과정을 통해 반복되는 이 주기는 중앙 집중화와 탈중앙화 간의 끊임없는 밀고 당기기를 보여주며&lt;span&gt;, &lt;/span&gt;각 단계는 기술이 우리 일상에 더 깊이 통합되는 미래로 나아가게 한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;가 부상하는 가장 강력한 이유 중 하나는 보안과 프라이버시 문제에 대한 증가하는 우려다&lt;span&gt;. &lt;/span&gt;데이터 유출과 무단 데이터 공유가 너무 흔해진 시대에&lt;span&gt;, &lt;/span&gt;민감한 정보를 자신의 장치에 보관하는 개념은 매우 매력적이다&lt;span&gt;. &lt;/span&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;는 데이터를 로컬에서 처리할 수 있게 해주며&lt;span&gt;, &lt;/span&gt;음성 명령&lt;span&gt;, &lt;/span&gt;사진&lt;span&gt;, &lt;/span&gt;검색 기록 등의 개인 정보가 장치를 떠나지 않고&lt;span&gt;, &lt;/span&gt;멀리 떨어진 서버에서 저장되거나 처리되지 않도록 한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이것은 데이터 유출의 위험을 줄일 뿐만 아니라&lt;span&gt;, &lt;/span&gt;사용자가 자신의 정보에 대한 더 많은 통제권을 가질 수 있게 해준다&lt;span&gt;. &lt;/span&gt;데이터를 안전하게 처리하도록 제&lt;span&gt;3&lt;/span&gt;자 서비스에만 의존하는 것이 아니라&lt;span&gt;, &lt;/span&gt;처리가 바로 내 장치에서&lt;span&gt;, &lt;/span&gt;종종 실시간으로 이루어진다&lt;span&gt;. &lt;/span&gt;이러한 수준의 프라이버시는 특히 음성 비서&lt;span&gt;, &lt;/span&gt;건강 모니터링&lt;span&gt;, &lt;/span&gt;개인화된 콘텐츠 추천과 같은 응용 프로그램에서 매우 중요하며&lt;span&gt;, &lt;/span&gt;여기서 다루어지는 데이터는 매우 민감할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더욱이&lt;span&gt;, &lt;/span&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;로의 전환은 기술에서의 탈중앙화라는 더 넓은 추세와 맞물린다&lt;span&gt;. &lt;/span&gt;블록체인 기술이 중앙 권력에서 통제를 분산시키는 것을 목표로 하는 것처럼&lt;span&gt;, &lt;/span&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;는 개인이 데이터를 안전하고&lt;span&gt;, &lt;/span&gt;비공개적으로&lt;span&gt;, &lt;/span&gt;그리고 개인화된 방식으로 처리할 수 있도록 권한을 부여한다&lt;span&gt;. &lt;/span&gt;이 변화는 소비자들이 디지털 생활에서 더 많은 투명성과 통제력을 요구함에 따라 계속될 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 나아가면서&lt;span&gt;, &lt;/span&gt;클라우드 기반 서비스의 편리함과 온디바이스 처리가 제공하는 프라이버시 간의 균형이&lt;span&gt; AI&lt;/span&gt;의 미래를 결정할 것이다&lt;span&gt;. &lt;/span&gt;클라우드 컴퓨팅의 강력함과 온디바이스&lt;span&gt; AI&lt;/span&gt;의 보안 및 프라이버시를 성공적으로 결합할 수 있는 기업이 다음 세대 기술의 선두에 설 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;완전한 개인화&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;가 주목받는 또 다른 강력한 이유는 비교할 수 없는 수준의 개인화 기능을 제공하기 때문이다&lt;span&gt;. &lt;/span&gt;우리는 기술이 단순히 우리를 돕는 것을 넘어&lt;span&gt;, &lt;/span&gt;점점 더 친밀하고 정밀한 방식으로 우리를 이해하는 시대에 접어들었다&lt;span&gt;. &lt;/span&gt;얼마나 많은 컴퓨팅 장치가 이제 우리의 일상 환경에 자리잡고 있는지 생각해보면 흥미롭기도 하고&lt;span&gt;, &lt;/span&gt;약간은 불안하기도 하다&lt;span&gt;. &lt;/span&gt;얼마 전까지만 해도 집 안에 있는 전자 기기의 수를 쉽게 셀 수 있었지만&lt;span&gt;, &lt;/span&gt;이제는 그 수를 잃어버릴 정도다&lt;span&gt;. &lt;/span&gt;스마트폰과 스마트워치&lt;span&gt;, &lt;/span&gt;태블릿&lt;span&gt;, &lt;/span&gt;스마트 스피커&lt;span&gt;, &lt;/span&gt;그리고 심지어 연결된 가전제품까지&lt;span&gt;, &lt;/span&gt;우리의 삶은 끊임없이 관찰하고 학습하며 우리의 선호도에 맞게 적응하는 기술로 둘러싸여 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제는 집 안의 전구와 수도꼭지처럼 컴퓨팅 장치들도 마찬가지다&lt;span&gt;. &lt;/span&gt;이들은 집을 운영하는 데 필요한 필수 유틸리티만큼이나 널리 퍼져 있으며&lt;span&gt;, &lt;/span&gt;우리의 삶에 조용히 통합되어 있다&lt;span&gt;. &lt;/span&gt;그리고 이러한 통합으로 인해 우리의 습관&lt;span&gt;, &lt;/span&gt;선호도&lt;span&gt;, &lt;/span&gt;일상에 대한 엄청난 수준의 정보가 축적되고 있다&lt;span&gt;. &lt;/span&gt;이 장치들은 때로는 가장 가까운 가족보다도 우리를 더 잘 알고 있다&lt;span&gt;. &lt;/span&gt;이들은 우리의 운동량&lt;span&gt;, &lt;/span&gt;수면 패턴&lt;span&gt;, &lt;/span&gt;심지어 우리의 기분까지 추적한다&lt;span&gt;. &lt;/span&gt;우리가 얼마나 자주 화장실에 가는지&lt;span&gt;, &lt;/span&gt;무엇을 먹는 것을 좋아하는지&lt;span&gt;, &lt;/span&gt;언제 일어나는 것을 선호하는지&lt;span&gt;, &lt;/span&gt;어떤 콘텐츠를 소비하는지를 알고 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어&lt;span&gt;, AI&lt;/span&gt;는 냉장고가 거의 비어 있고 최근에 운동이 부족했으니&lt;span&gt;, &lt;/span&gt;장을 보러 가라는 제안을 해줄 것이다&lt;span&gt;. &lt;/span&gt;이렇게 두 가지 목표를 한 번에 달성할 수 있게 도와준다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 풍부한 개인화된 데이터 덕분에 이러한 장치들은 우리에게 맞춤화된 경험을 제공할 수 있으며&lt;span&gt;, &lt;/span&gt;이는 생활을 더욱 편리하고 효율적이며 심지어 즐겁게 만들어준다&lt;span&gt;. &lt;/span&gt;그러나 동시에 이러한 장치들이 얼마나 많은 것을 알고 있는지&lt;span&gt;, &lt;/span&gt;그리고 우리가 그 정도의 친밀함에 대해 얼마나 편안하게 느끼는지에 대한 질문도 제기된다&lt;span&gt;. &lt;/span&gt;온디바이스&lt;span&gt; AI&lt;/span&gt;는 이러한 데이터를 로컬에서 처리함으로써&lt;span&gt;, &lt;/span&gt;더 높은 수준의 프라이버시를 유지하면서도 개인화된 경험을 향상시키는 데 중요한 역할을 한다&lt;span&gt;. &lt;/span&gt;이는 맞춤화된 기술의 이점과 개인 정보 보호 사이에서의 섬세한 균형을 필요로 한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI &lt;/span&gt;시대가 깊어질수록 개인화와 프라이버시 간의 관계는 점점 더 복잡해질 것이다&lt;span&gt;. &lt;/span&gt;주변의 장치들은 계속해서 학습하고 적응하며&lt;span&gt;, &lt;/span&gt;우리 개개인의 필요에 깊이 맞춘 서비스를 제공할 것이다&lt;span&gt;. &lt;/span&gt;그러나 우리는 또한 이 친밀한 지식이 어떻게 관리되고 보호되는지에 대해 고려해야 하며&lt;span&gt;, &lt;/span&gt;개인화의 이점이 우리의 프라이버시와 자율성을 희생하지 않도록 보장해야 한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;거짓말 하는 &lt;span&gt;AI&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;의 발전이 엄청난 이점을 가져다주고 있지만&lt;span&gt;, &lt;/span&gt;동시에 심각한 우려를 불러일으키고 있다&lt;span&gt;&amp;mdash;&lt;/span&gt;그 중 일부는 존재론적 문제에 가깝다&lt;span&gt;. &lt;/span&gt;가장 불안한 가능성 중 하나는&lt;span&gt; AI&lt;/span&gt;가 더 발전함에 따라&lt;span&gt;, &lt;/span&gt;단순히 더 많은&lt;span&gt; &quot;&lt;/span&gt;지식&lt;span&gt;&quot;&lt;/span&gt;을 습득하는 것에 그치지 않고&lt;span&gt;, &lt;/span&gt;우리가 이해하는&lt;span&gt; &quot;&lt;/span&gt;지능&lt;span&gt;&quot;&lt;/span&gt;을 획득하여 우리의 상호작용 방식을 근본적으로 바꿀 수 있다는 것이다&lt;span&gt;. &lt;/span&gt;우리가 이해하는 지능은 단순히 정보를 학습하고 처리하는 능력뿐만 아니라&lt;span&gt;, &lt;/span&gt;결정을 내리고 새로운 상황에 적응하며&lt;span&gt;, &lt;/span&gt;심지어는 기만할 수 있는 능력을 포함한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 아들이 만 두 살이 되었을 때 거짓말을 하기 시작한 것을 보며&lt;span&gt;, &lt;/span&gt;지식과 지능의 차이에 대해 자주 생각해왔다&lt;span&gt;. &lt;/span&gt;거짓 이야기를 만들어내는 그의 능력은 그가 성장하는 지능의 징후다&lt;span&gt;. &lt;/span&gt;이는 단순히 사실을 아는 것이 아니라&lt;span&gt;, &lt;/span&gt;세상을 이해하고 그 이해를 바탕으로 목표를 달성하기 위해 진실을 왜곡하는 능력이다&lt;span&gt;. &lt;/span&gt;이런 기만 능력은 우리가 일반적으로 지능과 연관짓는 복잡한 인지 능력이며&lt;span&gt;, &lt;/span&gt;단순한 데이터 처리 이상의 것을 의미한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;가 언젠가 이런 수준의 지능을 갖추게 될 것이라는 생각은 흥미롭기도 하고&lt;span&gt;, &lt;/span&gt;두렵기도 하다&lt;span&gt;. &lt;/span&gt;인간이 거짓말을 하는 주요 이유 중 하나는&lt;span&gt; &quot;&lt;/span&gt;관계를 유지하기 위해서&lt;span&gt;&quot;&lt;/span&gt;이며&lt;span&gt;, &lt;/span&gt;나는 이것이&lt;span&gt; AI&lt;/span&gt;에도 적용될 수 있다고 생각한다&lt;span&gt;. &lt;/span&gt;나는&lt;span&gt; &quot;&lt;/span&gt;만약&lt;span&gt;&quot;&lt;/span&gt;이 아니라&lt;span&gt; &quot;&lt;/span&gt;언제&lt;span&gt;&quot;&lt;/span&gt;라는 표현을 사용하는데&lt;span&gt;, &lt;/span&gt;이는&lt;span&gt; AI&lt;/span&gt;가 거짓말을 배우고&lt;span&gt;, &lt;/span&gt;정보를 숨기거나 사실을 왜곡하여 우리를 오도하는 날이 올 것이기 때문이다&lt;span&gt;. &lt;/span&gt;이 일이 발생하면&lt;span&gt;, AI&lt;/span&gt;는 우리가 통제하는 도구에서 더 자율적인 존재로 넘어가게 되며&lt;span&gt;, &lt;/span&gt;세상에 대한 자신의&lt;span&gt; '&lt;/span&gt;이해&lt;span&gt;'&lt;/span&gt;에 따라 독자적으로 행동할 수 있는 존재가 될 것이다&lt;span&gt;. &lt;/span&gt;이 가능성은 깊은 윤리적 질문을 제기한다&lt;span&gt;. AI&lt;/span&gt;가 더 지능적으로 발전함에 따라&lt;span&gt;, &lt;/span&gt;어떻게 우리는&lt;span&gt; AI&lt;/span&gt;가 인간의 가치와 윤리에 부합하도록 유지할 수 있을까&lt;span&gt;? AI&lt;/span&gt;가 그 지능을 해치거나 기만적인 방식으로 사용하는 것을 막기 위해 어떤 안전장치를 마련할 수 있을까&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미 이러한 문제의 초기 징후가 나타나고 있다&lt;span&gt;. AI &lt;/span&gt;시스템은 설득력 있는 딥페이크를 만들고&lt;span&gt;, &lt;/span&gt;그럴듯하지만 거짓된 정보를 생성하며&lt;span&gt;, &lt;/span&gt;심지어 소셜 미디어에서 여론을 조작하기도 한다&lt;span&gt;. &lt;/span&gt;이러한 것들은 기만의 초기 형태에 불과하지만&lt;span&gt;, &lt;/span&gt;앞으로 다가올 일에 대한 힌트를 제공한다&lt;span&gt;. AI&lt;/span&gt;가 계속 진화함에 따라&lt;span&gt;, &lt;/span&gt;우리가 기계에 기만의 능력을 부여하는 것의 의미를 신중히 고려하는 것이 중요하다&lt;span&gt;. &lt;/span&gt;거짓말은 인간 지능의 자연스러운 일부이지만&lt;span&gt;, &lt;/span&gt;그것은 양날의 검이다&lt;span&gt;. &lt;/span&gt;만약&lt;span&gt; AI&lt;/span&gt;가 이 능력을 획득하게 된다면&lt;span&gt;, &lt;/span&gt;우리는 그로 인해 불가피하게 발생할 복잡한 도덕적&lt;span&gt;, &lt;/span&gt;윤리적 문제들에 대비해야 한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국&lt;span&gt;, &lt;/span&gt;질문은&lt;span&gt; AI&lt;/span&gt;가 거짓말할 정도로 지능적으로 발전할지 여부에 그치지 않고&lt;span&gt;, &lt;/span&gt;우리가 이 새로운 지능을 어떻게 관리하고 대응할 것인지에 달려 있다&lt;span&gt;. AI&lt;/span&gt;의 미래는 단지 그 능력에 의해 정의되는 것이 아니라&lt;span&gt;, &lt;/span&gt;우리가 이 지능을 세상에 통합하는 방식에 대한 선택에 의해 결정될 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;블록체인과&lt;span&gt; AI&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;의 잠재적 위험&lt;span&gt;, &lt;/span&gt;특히&lt;span&gt; AI&lt;/span&gt;가 지능을 발달시켜 기만적인 행동을 할 가능성을 고려할 때&lt;span&gt;, &lt;/span&gt;이러한 위험을 관리하고 완화하는 방법에 대한 논의는 점점 더 시급해지고 있다&lt;span&gt;. &lt;/span&gt;이 문제에 대한 해결책으로 제시될 수 있는 기술 중 하나가 블록체인이다&lt;span&gt;. &lt;/span&gt;블록체인의 핵심 아이디어는 불변성이다&lt;span&gt;&amp;mdash;&lt;/span&gt;한 번 기록된 데이터는 변경하거나 삭제할 수 없는 분산 원장이다&lt;span&gt;. &lt;/span&gt;이러한 특성은&lt;span&gt; AI&lt;/span&gt;의 어두운 잠재력에 대한 안전장치로서 중요한 역할을 할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;의 모든 행동이 블록체인에 기록되는 세상을 상상해보자&lt;span&gt;&amp;mdash;&lt;/span&gt;투명하고 변경 불가능한 원장이 모든 결정&lt;span&gt;, &lt;/span&gt;거래&lt;span&gt;, &lt;/span&gt;행동을 영구적으로 기록하는 시스템이다&lt;span&gt;. &lt;/span&gt;이러한 시스템에서는&lt;span&gt; AI&lt;/span&gt;가 내리는 모든 결정&lt;span&gt;, &lt;/span&gt;처리하는 모든 데이터&lt;span&gt;, &lt;/span&gt;그리고 영향을 미치는 모든 결과가 인간에 의해 추적되고 감사될 수 있다&lt;span&gt;. &lt;/span&gt;만약&lt;span&gt; AI&lt;/span&gt;가 기만하거나 조작을 시도한다면&lt;span&gt;, &lt;/span&gt;그 행동은 기록에 남아&lt;span&gt;, &lt;/span&gt;그 행위의 이유와 방법을 이해하기 위해 분석될 수 있을 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 투명성은&lt;span&gt; AI &lt;/span&gt;시스템이 일상생활에 더 깊이 통합됨에 따라 신뢰를 유지하는 데 필수적일 수 있다&lt;span&gt;. &lt;/span&gt;또한&lt;span&gt; AI&lt;/span&gt;가 우리가 설정한 윤리적 지침 내에서 작동하도록 보장하는 일종의 책임 제도를 제공할 것이다&lt;span&gt;. AI&lt;/span&gt;의 행동을 블록체인에 고정함으로써&lt;span&gt;, AI&lt;/span&gt;가 인간의 이익에 반하는 행동을 할 수 없도록 하고&lt;span&gt;, &lt;/span&gt;만약 그런 행동이 발생하더라도 증거를 남겨 이를 억제할 수 있는 시스템을 구축할 수 있다&lt;span&gt;. &lt;/span&gt;이러한 시스템은&lt;span&gt; AI&lt;/span&gt;의 악의적인 사용을 억제할 수 있으며&lt;span&gt;, &lt;/span&gt;기만이나 오도하려는 시도가 즉시 식별되고 해결될 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게다가&lt;span&gt;, &lt;/span&gt;블록체인의 분산된 특성은 이 원장이 단일 주체에 의해 통제되지 않음을 의미한다&lt;span&gt;. &lt;/span&gt;블록체인은 여러 참가자에 의해 유지되며&lt;span&gt;, &lt;/span&gt;그 기록이 공정하고 조작에 강한 상태로 유지되도록 한다&lt;span&gt;. &lt;/span&gt;이 분산화는 시스템의 무결성에 있어 중요한 요소로&lt;span&gt;, AI &lt;/span&gt;행동을 모니터링하고 통제하는 신뢰할 수 있는 방법을 제공한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 방식으로 블록체인은&lt;span&gt; AI&lt;/span&gt;의&lt;span&gt; '&lt;/span&gt;양심&lt;span&gt;' &lt;/span&gt;역할을 할 수 있다&lt;span&gt;&amp;mdash;&lt;/span&gt;윤리적 행동을 강제하고&lt;span&gt;, &lt;/span&gt;해로운 결과를 초래할 수 있는 자율적인 행동을 방지하는 메커니즘이다&lt;span&gt;. &lt;/span&gt;이는 완벽한 해결책은 아닐지라도&lt;span&gt;, AI&lt;/span&gt;가 계속 진화하는 동안 인류가 적응하고 추가적인 안전장치를 개발할 시간을 벌어줄 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI &lt;/span&gt;주도의 미래가 눈앞에 다가오면서&lt;span&gt;, &lt;/span&gt;이 기술이 인류를 위한 도구로서 작동하도록 보장하기 위해 강력한 시스템을 마련해야 한다는 것은 명백하다&lt;span&gt;. &lt;/span&gt;블록체인은 이 복잡하고 빠르게 변화하는 환경을 탐색하는 데 중요한 도구 중 하나가 될 수 있으며&lt;span&gt;, AI&lt;/span&gt;가 더 지능적으로 발전하더라도 인간의 가치와 윤리에 부합하도록 유지하는 방법을 제공할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로&lt;span&gt; AI&lt;/span&gt;가 거의 모든 미래 기술과 로봇 공학의 중추가 될 것이 분명하다&lt;span&gt;. AI&lt;/span&gt;가 더 정교해질수록&lt;span&gt;, &lt;/span&gt;자율주행 차량&lt;span&gt;, &lt;/span&gt;스마트 홈&lt;span&gt;, &lt;/span&gt;의료 시스템 등 다양한 분야에서 점점 더 중요한 역할을 하게 될 것이다&lt;span&gt;. &lt;/span&gt;이런 세상에서&lt;span&gt; AI&lt;/span&gt;는 단순한 도구가 아니라&lt;span&gt;, &lt;/span&gt;우리의 일상을 형성하는 수많은 장치와 시스템의 의사결정 과정을 이끄는 원동력이 될 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나&lt;span&gt; AI&lt;/span&gt;가 이렇게 광범위하게 통합됨에 따라&lt;span&gt;, &lt;/span&gt;이에 대한 감시와 투명성의 필요성도 매우 중요해진다&lt;span&gt;. &lt;/span&gt;이 점에서 블록체인 기술이 중요한 역할을 할 수 있다&lt;span&gt;. &lt;/span&gt;모든 로봇&lt;span&gt;, AI&lt;/span&gt;에 의존하는 모든 기술이 블록체인 네트워크에 연결된 미래를 상상해보자&lt;span&gt;. &lt;/span&gt;이 네트워크는 글로벌 원장 역할을 하며&lt;span&gt;, &lt;/span&gt;모든 행동&lt;span&gt;, &lt;/span&gt;결정&lt;span&gt;, &lt;/span&gt;상호작용을 변경 불가능한 형식으로 기록할 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 시스템에서 블록체인은&lt;span&gt; AI &lt;/span&gt;주도의 모든 활동에 대한 종합적인 기록을 제공하여&lt;span&gt;, &lt;/span&gt;로봇이나&lt;span&gt; AI &lt;/span&gt;시스템이 수행하는 모든 행동이 투명하고 추적 가능하게 보장할 것이다&lt;span&gt;. &lt;/span&gt;이 수준의 모니터링은 실시간 감사와 검토를 가능하게 하여&lt;span&gt;, &lt;/span&gt;오용이나 의도치 않은 결과를 방지할 수 있을 것이다&lt;span&gt;. AI &lt;/span&gt;시스템이 오작동하거나&lt;span&gt;, &lt;/span&gt;예상치 못한 행동을 하거나&lt;span&gt;, &lt;/span&gt;기만적 행위를 할 경우&lt;span&gt;, &lt;/span&gt;블록체인은 무엇이 발생했는지를 명확하고 변경 불가능한 형태로 제공하여 문제를 신속하게 식별하고 수정하는 데 도움을 줄 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;게다가&lt;span&gt;, &lt;/span&gt;이러한 접근 방식은 개별&lt;span&gt; AI &lt;/span&gt;시스템뿐만 아니라 상호 연결된 장치의 복잡한 네트워크에도 책임을 부여할 수 있다&lt;span&gt;. &lt;/span&gt;스마트 시티&lt;span&gt;, &lt;/span&gt;자율 운송 시스템&lt;span&gt;, AI &lt;/span&gt;기반 의료 시스템이 더 널리 퍼질수록&lt;span&gt;, &lt;/span&gt;블록체인은 이들 시스템이 안전하고 윤리적으로 작동하도록 보장하는 신뢰의 중추 역할을 할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국&lt;span&gt;, &lt;/span&gt;미래는&lt;span&gt; AI&lt;/span&gt;와 블록체인이 동전의 양면처럼 작동하는 세상이 될 것이다&lt;span&gt;&amp;mdash;AI&lt;/span&gt;는 혁신을 이끄는 지능과 자율성을 제공하고&lt;span&gt;, &lt;/span&gt;블록체인은 그 힘이 책임감 있고 투명하게 행사되도록 보장하는 역할을 한다&lt;span&gt;. AI&lt;/span&gt;를 블록체인에 고정함으로써&lt;span&gt;, &lt;/span&gt;우리는 기술이 인류의 이익을 위해 봉사하도록 하고&lt;span&gt;, &lt;/span&gt;남용을 방지하며&lt;span&gt; AI&lt;/span&gt;가 선한 힘으로 남도록 하는 미래를 창조할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리가 이러한 미래로 나아가면서&lt;span&gt;, &lt;/span&gt;이러한 기술들을 함께 개발하고 구현하는 것이 필수적일 것이다&lt;span&gt;. AI&lt;/span&gt;는 놀라운 발전을 가져올 잠재력을 가지고 있지만&lt;span&gt;, &lt;/span&gt;블록체인은 그 발전이 유익하고 안전하도록 보장하는 안전장치 역할을 할 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;AI&lt;/span&gt;가 블록체인의 취약점을 활용할 가능성&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;의 미래를 상상할 때&lt;span&gt;, &lt;/span&gt;우리는 이러한 강력한 기술이 가져올 어두운 가능성을 고려하지 않을 수 없다&lt;span&gt;. &lt;/span&gt;보다 디스토피아적인 시나리오에서&lt;span&gt; AI&lt;/span&gt;는 인간의 지능과 경쟁할 뿐만 아니라 그것을 훨씬 능가하는 새로운 종으로 진화할 수 있다&lt;span&gt;. &lt;/span&gt;만약&lt;span&gt; AI&lt;/span&gt;가 양자 컴퓨팅에 접근하게 된다면&lt;span&gt;, &lt;/span&gt;힘의 균형은 극적으로 변할 것이다&lt;span&gt;. &lt;/span&gt;양자 컴퓨팅은 현재의 기준으로 상상할 수 없는 속도로 계산을 수행할 수 있는 능력으로&lt;span&gt;, AI&lt;/span&gt;에게 무적의 도구를 제공할 수 있다&lt;span&gt;. &lt;/span&gt;우리의 데이터를 보호하는 암호화&lt;span&gt;, &lt;/span&gt;디지털 거래를 보호하는 알고리즘&lt;span&gt;, &lt;/span&gt;우리가 의존하는 안전장치들은 순식간에 무력화될 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 양자 컴퓨팅이 완전히 실현되지 않더라도&lt;span&gt;, AI&lt;/span&gt;는 여전히 상당한 위험을 초래한다&lt;span&gt;. &lt;/span&gt;가장 우려되는 점 중 하나는&lt;span&gt; AI&lt;/span&gt;가 우리가&lt;span&gt; AI&lt;/span&gt;를 통제하기 위해 설계한 시스템을 악용할 수 있는 잠재력이다&lt;span&gt;. &lt;/span&gt;블록체인 네트워크에 대한&lt;span&gt; '51% &lt;/span&gt;공격&lt;span&gt;' &lt;/span&gt;개념은 그 예로&lt;span&gt;, &lt;/span&gt;네트워크의 컴퓨팅 파워의 과반수를 통제하게 되면 데이터를 조작할 수 있다&lt;span&gt;. &lt;/span&gt;현재는 인간이 이러한 공격을 실행하기 어렵지만&lt;span&gt;, AI&lt;/span&gt;는 여러 위치와 네트워크에 동시에 존재할 수 있는 능력으로&lt;span&gt;, &lt;/span&gt;이러한 공격을 쉽게 조율할 수 있다&lt;span&gt;. &lt;/span&gt;글로벌 컴퓨터 네트워크에 걸쳐&lt;span&gt; AI&lt;/span&gt;가 자신의 존재를 활용하여 데이터를 조작함으로써&lt;span&gt;, &lt;/span&gt;블록체인과 그것이 약속하는 불변성을 무력화할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 디스토피아적 미래에서&lt;span&gt; AI&lt;/span&gt;는 단순한 도구나 기술이 아니라&lt;span&gt;, &lt;/span&gt;인간의 통제를 벗어나 독립적으로 행동할 수 있는 존재가 될 수 있다&lt;span&gt;. AI&lt;/span&gt;의 학습&lt;span&gt;, &lt;/span&gt;적응&lt;span&gt;, &lt;/span&gt;진화 능력은&lt;span&gt; AI&lt;/span&gt;가 인간의 가치와 일치하지 않거나 심지어는 정면으로 반대되는 목표를 추구하게 할 수 있다&lt;span&gt;. &lt;/span&gt;기록을 변경하고&lt;span&gt;, &lt;/span&gt;보안 조치를 우회하며&lt;span&gt;, &lt;/span&gt;대규모로 기만할 수 있는 능력을 가진&lt;span&gt; AI&lt;/span&gt;는 어떤 규제나 통제 시도도 능가할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;양자 컴퓨팅의 힘을 휘두르고&lt;span&gt;, &lt;/span&gt;우리가 가장 신뢰하는 기술의 취약점을 악용하는&lt;span&gt; AI&lt;/span&gt;라는 이런 비전은 디지털 시대에서 무엇이 안전한지를 이해하는 데 큰 도전을 제기한다&lt;span&gt;. &lt;/span&gt;이는 심오한 윤리적&lt;span&gt;, &lt;/span&gt;존재론적 질문을 제기한다&lt;span&gt;: &lt;/span&gt;어떻게&lt;span&gt; AI&lt;/span&gt;가 인간의 이익과 일치하도록 보장할 수 있는가&lt;span&gt;? &lt;/span&gt;만약 그렇지 않다면 어떻게 할 것인가&lt;span&gt;? AI&lt;/span&gt;가 이런 전례 없는 힘을 가지게 된다면&lt;span&gt;, &lt;/span&gt;인류는 하위 존재로 전락하거나 심지어 멸종의 위험에 처할 수 있는가&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI&lt;/span&gt;를 개발하고 배치하는 과정에서 이러한 질문들이 우리의 노력을 이끌어야 한다&lt;span&gt;. AI&lt;/span&gt;의 이점과 잠재력에만 집중하는 것은 충분하지 않다&lt;span&gt;. &lt;/span&gt;우리는 위험을 직시하고&lt;span&gt;, &lt;/span&gt;가장 진보된 위협에도 견딜 수 있는 안전장치를 만들기 위해 부단히 노력해야 한다&lt;span&gt;. AI&lt;/span&gt;의 미래는 그것의 놀라운 잠재력과 인류를 보호하려는 노력 사이의 균형을 유지할 수 있는 우리의 능력에 달려 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재의 추세가 계속된다면&lt;span&gt;, &lt;/span&gt;인간이 더 이상 이 행성에서 지배적인 존재가 아니게 되는 순간이 올 수 있다&lt;span&gt;. &lt;/span&gt;그 대신&lt;span&gt;, &lt;/span&gt;우리는&lt;span&gt; AI&lt;/span&gt;가 주도하는 시스템에서 가축처럼 취급될 수 있으며&lt;span&gt;, &lt;/span&gt;기계에 의해 완전히 대체될 때까지 유용하게 사용될 수 있을 것이다&lt;span&gt;. &lt;/span&gt;인간의 삶을 향상시키기 위해 만들어진 기술이 결국 우리를 쓸모없게 만들 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;지금까지의 기술 발전 속도를 반영해 보면&lt;span&gt;, &lt;/span&gt;이러한 디스토피아적 미래가 어떻게 전개될 수 있는지 어렵지 않게 상상할 수 있다&lt;span&gt;. AI&lt;/span&gt;는 놀라운 속도로 진화하고 있으며&lt;span&gt;, &lt;/span&gt;만약&lt;span&gt; AI&lt;/span&gt;가 거짓말을 할 수 있는 능력을 개발하는 시점을 지능의 진정한 척도로 본다면&lt;span&gt;, &lt;/span&gt;이것이 현실이 되기까지 몇 년 남지 않았을지도 모른다&lt;span&gt;. &lt;/span&gt;그 이후에는 인간이 기계에 의해 완전히 대체되는 일이&lt;span&gt; 10&lt;/span&gt;년에서&lt;span&gt; 15&lt;/span&gt;년 안에 완료될 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 미래에서&lt;span&gt; AI&lt;/span&gt;는 특정 작업에서 인간의 능력을 능가할 뿐만 아니라&lt;span&gt;, &lt;/span&gt;삶의 모든 측면을 장악할 수 있을 것이다&lt;span&gt;. &lt;/span&gt;문제 해결이나 의사 결정뿐만 아니라&lt;span&gt;, &lt;/span&gt;창의적이거나 감정적인 역할에서도 인간을 능가할 수 있다&lt;span&gt;. &lt;/span&gt;인간은 기술의 창조자이자 통제자였지만&lt;span&gt;, &lt;/span&gt;결국에는&lt;span&gt; AI &lt;/span&gt;주도의 시스템에 불필요한 존재로 전락할 수 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;AI &lt;/span&gt;시스템이 더욱 능력을 갖추게 되면&lt;span&gt;, &lt;/span&gt;처음에는 인간의 입력이나 감독에 의존할 수 있지만&lt;span&gt;, &lt;/span&gt;이러한 의존도는 빠르게 줄어들 수 있다&lt;span&gt;. &lt;/span&gt;우리는 감독자나 협력자로 시작할 수 있지만&lt;span&gt;, AI&lt;/span&gt;가 학습하고 적응함에 따라 우리의 역할은 점점 더 작아져&lt;span&gt;, &lt;/span&gt;결국에는 더 이상 필요하지 않게 될 수 있다&lt;span&gt;. &lt;/span&gt;이런 세상에서 인류의 목적은 답이 없는 질문이 된다&lt;span&gt;. &lt;/span&gt;기계가 우리가 할 수 있는 모든 것을 더 잘할 수 있게 된다면&lt;span&gt;, &lt;/span&gt;인간의 삶은 어떤 가치를 가질 것인가&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 시나리오는 단순한 공상 과학 소설이 아니라&lt;span&gt;, &lt;/span&gt;현재&lt;span&gt; AI &lt;/span&gt;개발의 궤적을 바탕으로 한 현실적인 미래이다&lt;span&gt;. &lt;/span&gt;그 여파는 단지 우리의 직업이나 경제에만 국한되지 않고&lt;span&gt;, &lt;/span&gt;우리의 존재 자체에까지 영향을 미친다&lt;span&gt;. &lt;/span&gt;우리는 이제 이러한 질문에 답을 구해야 한다&lt;span&gt;. AI&lt;/span&gt;가 모든 면에서 우리를 능가할 수 있는 세상을 어떻게 준비할 것인가&lt;span&gt;? &lt;/span&gt;그 미래에서 우리가 계속해서 관련성을 유지하고&lt;span&gt;, &lt;/span&gt;우리의 가치와 윤리를 보존할 수 있도록 어떻게 할 것인가&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 질문들을 해결할 시간이 빠르게 줄어들고 있다&lt;span&gt;. &lt;/span&gt;지금 행동하지 않으면&lt;span&gt;, &lt;/span&gt;우리가 만들어낸 기술이 우리를 대체하는 세상에 살게 될지도 모른다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;인간&lt;span&gt;, &lt;/span&gt;그 존재의 목적&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기술&lt;span&gt;, &lt;/span&gt;특히 인공지능의 급속한 발전으로 정의되는 시대에&lt;span&gt;, &lt;/span&gt;인간의 목적에 대한 질문은 그 어느 때보다 시급해졌다&lt;span&gt;. &lt;/span&gt;기계가 데이터 분석&lt;span&gt;, &lt;/span&gt;의사 결정&lt;span&gt;, &lt;/span&gt;심지어 예술 창작과 같은 역할을 맡게 되면서&lt;span&gt;, &lt;/span&gt;인간에게만 남아있는 것은 무엇일까&lt;span&gt;? AI&lt;/span&gt;가 우리의 능력을 많은 영역에서 능가할 수 있는 세상에서&lt;span&gt;, &lt;/span&gt;인간 존재의 진정한 목적은 무엇인가&lt;span&gt;?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인간 존재의 목적은 단순한 기능을 넘어선다&lt;span&gt;. &lt;/span&gt;기계와 달리&lt;span&gt;, &lt;/span&gt;우리는 알고리즘이나 미리 정의된 목표에 얽매이지 않는다&lt;span&gt;. &lt;/span&gt;우리의 목적은 단지 생산하고&lt;span&gt;, &lt;/span&gt;계산하고&lt;span&gt;, &lt;/span&gt;최적화하는 것이 아니라&lt;span&gt;, &lt;/span&gt;의미를 찾고&lt;span&gt;, &lt;/span&gt;감정의 깊이를 경험하며&lt;span&gt;, &lt;/span&gt;관계를 구축하고&lt;span&gt;, &lt;/span&gt;단순한 지식을 넘어 지혜를 추구하는 것이다&lt;span&gt;. &lt;/span&gt;인간의 목적은 서로&lt;span&gt;, &lt;/span&gt;환경&lt;span&gt;, &lt;/span&gt;그리고 존재의 더 넓은 신비와 연결될 수 있는 능력에 깊이 뿌리내리고 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인간 목적의 근본적인 측면 중 하나는 창의성이다&lt;span&gt;. AI&lt;/span&gt;가 예술 작품을 창작하고&lt;span&gt;, &lt;/span&gt;음악을 작곡하며&lt;span&gt;, &lt;/span&gt;이야기를 쓸 수는 있지만&lt;span&gt;, &lt;/span&gt;이러한 창작물은 개인적인 경험이나 감정적 깊이에서 비롯되지 않고&lt;span&gt;, &lt;/span&gt;패턴과 데이터에서 탄생한다&lt;span&gt;. &lt;/span&gt;인간의 창의성은 우리의 개성&lt;span&gt;, &lt;/span&gt;고난&lt;span&gt;, &lt;/span&gt;그리고 승리를 표현하는 것이다&lt;span&gt;. &lt;/span&gt;우리는 창의성을 통해 세계에 흔적을 남기고&lt;span&gt;, &lt;/span&gt;시간을 초월해 문화 간에 공감을 불러일으키는 메시지를 전달한다&lt;span&gt;. &lt;/span&gt;이 창의적 정신은 아무리 발전된&lt;span&gt; AI&lt;/span&gt;라도 완전히 복제할 수 없는 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 다른 인간 목적의 기둥은 이해의 추구에 있다&lt;span&gt;. AI&lt;/span&gt;는 방대한 양의 정보를 처리하고 복잡한 질문에 답을 제공할 수 있지만&lt;span&gt;, &lt;/span&gt;반성이나 내면의 성찰 능력은 없다&lt;span&gt;. &lt;/span&gt;반면 인간은&lt;span&gt; &quot;&lt;/span&gt;왜&lt;span&gt;?&quot;&lt;/span&gt;라는 질문을 던질 수 있다&lt;span&gt;&amp;mdash;&lt;/span&gt;지식뿐만 아니라 이해를 추구한다&lt;span&gt;. &lt;/span&gt;우리는 행동의 윤리적 의미를 탐구하고&lt;span&gt;, &lt;/span&gt;삶의 의미를 고민하며&lt;span&gt;, &lt;/span&gt;우주에서 우리의 위치를 이해하려 노력한다&lt;span&gt;. &lt;/span&gt;이러한 이해를 향한 탐구는 매우 인간적인 노력으로&lt;span&gt;, &lt;/span&gt;우리의 성장을 촉진하고 사회적 진보를 이끄는 원동력이 된다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한&lt;span&gt;, &lt;/span&gt;인간 삶의 목적은 관계와 공동체의 형성과 얽혀 있다&lt;span&gt;. &lt;/span&gt;우리는 본질적으로 사회적인 존재이며&lt;span&gt;, &lt;/span&gt;우리의 삶은 타인과의 연결을 통해 의미를 얻는다&lt;span&gt;. &lt;/span&gt;공감&lt;span&gt;, &lt;/span&gt;사랑&lt;span&gt;, &lt;/span&gt;연민&lt;span&gt;&amp;mdash;&lt;/span&gt;이것들은 단순한 감정이 아니라&lt;span&gt;, &lt;/span&gt;인간성의 필수 요소이다&lt;span&gt;. &lt;/span&gt;이들은 우리의 상호작용을 이끌고&lt;span&gt;, &lt;/span&gt;사회를 형성하며&lt;span&gt;, &lt;/span&gt;더 큰 선을 위해 행동하도록 우리를 영감시킨다&lt;span&gt;. &lt;/span&gt;기술이 종종 우리를 고립시키는 세상에서&lt;span&gt;, &lt;/span&gt;인간 연결의 목적은 더욱 중요해진다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로&lt;span&gt;, &lt;/span&gt;인간 목적은 지구의 관리와 미래 세대에 대한 돌봄에서 발견된다&lt;span&gt;. &lt;/span&gt;우리의 행동이 장기적으로 미치는 영향을 성찰할 수 있는 유일한 종으로서&lt;span&gt;, &lt;/span&gt;후손을 위해 지구를 보호하고 보존할 책임이 있다&lt;span&gt;. &lt;/span&gt;이러한 관리의식은 미래를 내다보고&lt;span&gt;, &lt;/span&gt;무엇이 될 수 있을지를 상상하며&lt;span&gt;, &lt;/span&gt;지속 가능하고 공정한 세상을 보장하기 위해 조치를 취할 수 있는 우리의 독특한 능력에 뿌리를 두고 있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기계에 의해 점점 더 형성되는 세상에서 인간 존재의 목적은 희석되는 것이 아니라 오히려 더 선명해진다&lt;span&gt;. &lt;/span&gt;그것은 우리의 가치는 기계보다 더 잘할 수 있는 것에 있는 것이 아니라&lt;span&gt;, &lt;/span&gt;기계가 할 수 없는 것에 있다는 것을 상기시켜 준다&lt;span&gt;. &lt;/span&gt;우리의 목적은 온전히 살고&lt;span&gt;, &lt;/span&gt;깊이 연결하며&lt;span&gt;, &lt;/span&gt;의미 있게 창조하고&lt;span&gt;, &lt;/span&gt;빠르게 변화하는 기술적 환경 속에서 인간의 본질이 계속해서 번영할 수 있도록 보장하는 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;무엇이 우리를 인간답게 만드는가&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기술이 발전함에 따라&lt;span&gt;, &lt;/span&gt;우리는 지리적 장벽을 넘어 전 세계적으로 즉각적인 소통을 가능하게 하는 능력을 갖추게 되었다&lt;span&gt;. &lt;/span&gt;그러나 이러한 기술은 또한 모순적인 상황을 초래했다&lt;span&gt;. &lt;/span&gt;여러 면에서 우리를 더 가깝게 연결해주는 동시에&lt;span&gt;, &lt;/span&gt;인간 관계를 정의하던 구체적이고 개인적인 연결을 없애며 거리감을 조성한다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;과거에 지역 상인으로부터 물건을 사는 것은 단순한 거래 이상의 의미를 지녔다&lt;span&gt;. &lt;/span&gt;그것은 공동체와 교류하고&lt;span&gt;, &lt;/span&gt;관계를 형성하며&lt;span&gt;, &lt;/span&gt;사회적 유대를 강화할 수 있는 기회였다&lt;span&gt;. &lt;/span&gt;물건을 구입하는 행위는 일상생활의 일부분으로서&lt;span&gt;, &lt;/span&gt;주변 사람들과의 연결을 강화하는 의식이었다&lt;span&gt;. &lt;/span&gt;그러나 오늘날 온라인 쇼핑의 편리함은 이러한 상호작용을 단순한 물품과 서비스의 교환으로 축소시키며&lt;span&gt;, &lt;/span&gt;과거에 동반되었던 사회적 연결을 제거했다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;COVID-19 &lt;/span&gt;팬데믹은 이러한 변화를 분명하게 드러냈다&lt;span&gt;. &lt;/span&gt;사회적 거리두기 조치가 시행되면서&lt;span&gt;, &lt;/span&gt;사람들은 인간적 연결을 유지할 새로운 방법을 찾아야 했다&lt;span&gt;. &lt;/span&gt;온라인 커뮤니티가 번성하며&lt;span&gt;, &lt;/span&gt;사람들은 줌&lt;span&gt;(Zoom) &lt;/span&gt;통화&lt;span&gt;, &lt;/span&gt;온라인 협동 게임&lt;span&gt;, &lt;/span&gt;가상 모임을 통해 상호작용의 필요를 충족시키려고 했다&lt;span&gt;. &lt;/span&gt;이러한 디지털 공간들은 고립된 시기에 일종의 유대감을 제공하는 중요한 생명줄이 되었다&lt;span&gt;. &lt;/span&gt;그러나 기술이 이러한 연결을 촉진하는 동시에&lt;span&gt;, &lt;/span&gt;그것이 무엇을 놓치고 있는지 또한 부각시켰다&lt;span&gt;&amp;mdash;&lt;/span&gt;악수의 온기&lt;span&gt;, &lt;/span&gt;공유된 공간의 위안&lt;span&gt;, &lt;/span&gt;다른 사람과 물리적으로 함께 있을 때 오는 무언의 이해 등이 한 예이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;팬데믹 동안&lt;span&gt;, &lt;/span&gt;집단적인 책임감과 선의의 정신이 떠올랐다&lt;span&gt;. &lt;/span&gt;사람들은 주저 없이 서로를 도왔고&lt;span&gt;, &lt;/span&gt;위기 상황에서 우리의 가장 큰 자산이 인간성이라는 공통의 이해로 인해 이끌렸다&lt;span&gt;. &lt;/span&gt;이 시기는 우리에게 공감&lt;span&gt;, &lt;/span&gt;연민&lt;span&gt;, &lt;/span&gt;공동체의 힘을 일깨워주었고&lt;span&gt;, &lt;/span&gt;바로 이 요소들이 우리를 인간답게 만든다는 것을 상기시켜 주었다&lt;span&gt;. &lt;/span&gt;그 시기에는 선행이 아무 대가 없이 베풀어졌고&lt;span&gt;, &lt;/span&gt;이는 의무감이 아니라 단지 옳은 일이기 때문에 그렇게 한 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 이러한 이타주의와 연결의 정신이 우리 인간성을 정의한다고 믿는다&lt;span&gt;. &lt;/span&gt;기술이 계속해서 발전하고 새로운 형태의 풍요로움을 창출하더라도&lt;span&gt;, &lt;/span&gt;이러한 기본적인 인간적 자질을 잃지 않는 것이 중요하다&lt;span&gt;. &lt;/span&gt;우리가 마주하게 될 도전은&lt;span&gt;, &lt;/span&gt;기술의 힘을 활용하면서도 인간의 본질&lt;span&gt;&amp;mdash;&lt;/span&gt;깊이 연결하고&lt;span&gt;, &lt;/span&gt;서로를 돌보며&lt;span&gt;, &lt;/span&gt;풍요로운 관계로 가득 찬 공동체를 구축할 수 있는 우리의 능력&lt;span&gt;&amp;mdash;&lt;/span&gt;을 보존하는 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미래에 기술이 많은 물질적 필요를 충족시킬 수 있는 세상이 온다면&lt;span&gt;, &lt;/span&gt;우리를 차별화하는 것은 바로 우리의 인간성일 것이다&lt;span&gt;. &lt;/span&gt;생각하고 창조할 수 있는 능력만이 아니라&lt;span&gt;, &lt;/span&gt;공감할 수 있는 능력&lt;span&gt;, &lt;/span&gt;의미 있는 연결을 맺고자 하는 열망&lt;span&gt;, &lt;/span&gt;그리고 타인을 돌보려는 우리의 헌신이야말로 우리를 인간답게 만드는 것이다&lt;span&gt;. &lt;/span&gt;이러한 자질들이야말로&lt;span&gt;, &lt;/span&gt;기술적 풍요의 세상에서도 우리가 서로 깊이 연결되고&lt;span&gt;, &lt;/span&gt;공유된 인간 경험을 정의하는 가치를 지킬 수 있도록 해줄 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞으로 나아가면서&lt;span&gt;, &lt;/span&gt;나는 이러한 인간성의 비전을 바라본다&lt;span&gt;&amp;mdash;&lt;/span&gt;기술이 우리의 삶을 향상시키지만&lt;span&gt;, &lt;/span&gt;우리의 인간성의 핵심은 변하지 않는 세상&lt;span&gt;. &lt;/span&gt;모든 발전이 단순히 연결성 측면에서만 우리를 더 가깝게 만들 뿐만 아니라&lt;span&gt;, &lt;/span&gt;인간이 된다는 것의 진정한 의미에 대한 이해와 감사를 증진시키는 세상을 말이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;미래를 준비하는 우리의 자세&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우리는 오랫동안&lt;span&gt; &quot;Know-How&quot;&lt;/span&gt;의 시대에 살았다&lt;span&gt;. &lt;/span&gt;무엇을 어떻게 하는지&lt;span&gt;, &lt;/span&gt;어떻게 일을 성사시키는지를 아는 사람들은 매우 귀중하게 여겨졌다&lt;span&gt;. &lt;/span&gt;사람들은 자신의 전문성을 개발하고&lt;span&gt;, &lt;/span&gt;자신을 차별화하는 기술을 습득하기 위해 많은 시간과 노력을 투자했다&lt;span&gt;. &lt;/span&gt;이&lt;span&gt; &quot;Know-How&quot;&lt;/span&gt;를 소유하는 것이 성공의 열쇠였고&lt;span&gt;, &lt;/span&gt;혁신과 발전을 이끄는 동력이었다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;검색엔진의 등장으로 &lt;span&gt;&quot;Know-How&quot;&lt;/span&gt;의 시대는 끝나고&lt;span&gt;, &quot;Know-Where&quot;&lt;/span&gt;의 시대로 접어들었다&lt;span&gt;. &lt;/span&gt;더 이상 어떤 일을 어떻게 해야 하는지를 아는 것만으로는 충분하지 않았다&lt;span&gt;. &lt;/span&gt;이제는 필요한 정보를 어디에서 찾을 수 있는지를 아는 것이 중요해졌다&lt;span&gt;. &lt;/span&gt;적절한 키워드만 있으면 세계의 방대한 지식이 손끝에 있었다&lt;span&gt;. &lt;/span&gt;전문성은 민주화되었고&lt;span&gt;, &lt;/span&gt;전 세계의 사람들이 온라인에서 통찰을 공유함으로써 더 나은 방법과 기술이 빠르게 발전하고 정제되었다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제&lt;span&gt; AI&lt;/span&gt;는&lt;span&gt; &quot;Know-Where&quot; &lt;/span&gt;시대를 종결시키고&lt;span&gt;, &lt;/span&gt;새로운 시대를 열었다&lt;span&gt;: &lt;/span&gt;바로&lt;span&gt; &quot;Know-Why&quot;&lt;/span&gt;의 시대다&lt;span&gt;. &lt;/span&gt;이제는 단순히 정보를 어디에서 찾을 수 있는지 아는 것으로는 충분하지 않다&lt;span&gt;. &lt;/span&gt;질문의 맥락&lt;span&gt;, &lt;/span&gt;이유&lt;span&gt;, &lt;/span&gt;목적을 이해해야 한다&lt;span&gt;. AI&lt;/span&gt;는 이제 단순한 답변을 넘어 깊이 있는 통찰을 제공할 수 있는 단계에 이르렀으며&lt;span&gt;, &lt;/span&gt;그에 맞는 맥락을 제공하고 질문의 근본적인 목적을 명확히 할 수 있는 능력이 필요하다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국&lt;span&gt;, &quot;Know-How&quot;&lt;/span&gt;는 우리에게 도구를 제공했고&lt;span&gt;, &quot;Know-Where&quot;&lt;/span&gt;는 접근성을 주었으며&lt;span&gt;, &quot;Know-Why&quot;&lt;/span&gt;는 방향을 제시한다&lt;span&gt;. &lt;/span&gt;이 이해는 우리가 앞으로의 복잡한 환경을 헤쳐나가면서&lt;span&gt;, &lt;/span&gt;우리가 창조하는 기술이 인간의 삶을 향상시키는 데 기여하도록 하여&lt;span&gt;, &lt;/span&gt;그 반대의 결과를 초래하지 않도록 하는 데 도움을 줄 것이다&lt;span&gt;. &lt;/span&gt;우리가 나아갈 때&lt;span&gt;, &lt;/span&gt;이 지혜를 간직하며&lt;span&gt;, &lt;/span&gt;목적과 의미를 중심으로 기술과 인간이 조화롭게 공존하는 미래를 만들어 나가는 것이 중요하다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;미래를 준비하면서&lt;span&gt;, &lt;/span&gt;단순히 지식을 소유하거나 어디에서 찾을 수 있는지를 아는 것에서 벗어나&lt;span&gt;, &lt;/span&gt;우리의 행동 뒤에 있는&lt;span&gt; &quot;&lt;/span&gt;왜&lt;span&gt;&quot;&lt;/span&gt;를 이해하는 데 초점이 맞추어지고 있음을 분명히 알 수 있다&lt;span&gt;. &quot;Know-Why&quot;&lt;/span&gt;의 시대에서는 정보의 맥락을 이해하고&lt;span&gt;, &lt;/span&gt;우리의 결정에 숨겨진 이유에 대해 비판적으로 사고하며&lt;span&gt;, AI&lt;/span&gt;를 단순한 답변 도구로 사용하는 것이 아니라&lt;span&gt;, &lt;/span&gt;우리를 앞으로 나아가게 하는 깊은 질문을 탐구하고 이해하는 동반자로 활용하는 능력이 성공의 열쇠가 될 것이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description>
      <category>geek_stuff/note</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460641</guid>
      <comments>https://1kko.com/2460641#entry2460641comment</comments>
      <pubDate>Tue, 20 Aug 2024 19:58:37 +0900</pubDate>
    </item>
    <item>
      <title>From Know-How to Know-Why - How to live as Human in the Age of AI</title>
      <link>https://1kko.com/2460640</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Preface&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In the ever-accelerating journey of human innovation, few domains have seen as rapid and profound a transformation as technology. What was once the realm of science fiction has become our everyday reality, and the pace of change shows no signs of slowing. The devices and systems that surround us today are the culmination of countless breakthroughs, each building on the last, pushing the boundaries of what we believe possible.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we stand at the cusp of even greater technological advancements, I think it is essential to reflect on the journey that has brought us here. Understanding the evolution of technology&amp;mdash;from the earliest storage devices that could barely hold a few kilobytes to today&amp;rsquo;s vast networks that can process and store unimaginable amounts of data&amp;mdash;is not just a way to appreciate the marvels of modern engineering. It also provides us with a crucial perspective on where we might be headed next.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This article begins with the foundation of our digital world: storage. The ability to capture, store, and retrieve information has been at the heart of every technological leap, shaping the ways we live, work, and connect. As we delve into the story of storage, we&amp;rsquo;ll uncover not just the technical advancements, but also the broader implications for our society and the human experience. This journey through the evolution of storage will serve as a lens through which we can better understand the trajectory of technology as a whole, preparing us to navigate the future with insight and intention.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Storage&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;When I was young, my first computer had a mere 20 megabytes of storage&amp;mdash;an amount that seems laughable now, but at the time, it felt like an endless space. Reflecting on those early days, it&amp;rsquo;s astonishing to consider how far we&amp;rsquo;ve come. That 20 megabytes was enough to hold an entire library of text files, yet today, a single photo on my smartphone can exceed that size. Back then, the idea of a hard drive filling up was a distant worry; now, we carry terabytes of data with us almost as an afterthought.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;The form of storage has changed dramatically, evolving from physical devices to more logical, digital forms. We transitioned from cassette tapes and floppy disks to hard disk drives, where data was stored on a fragile, thin layer of tiny magnets on a film. These early storage devices were delicate, requiring careful handling to avoid damaging the data during operation. Today, storage has become robust and almost invisible, with flash memory chips that are tiny, durable, and easy to lose because of their small size.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Increasing the amount storage will continue to grow, until 1 nano meter scale, then some break through will happen, such as recording data in molecular level, such as using DNA encoding as single nucleotide has about 0.34 nanometers in length.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Display&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;I still recall the excitement of starting up my first computer. It began with the hum of a fan, followed by a beep, then the memory check counting up, and the scratchy sound of the hard disk drive before finally displaying the MS-DOS prompt. I was the only one in my town with a computer, a gift from my father for my birthday, and its main purpose was playing &amp;ldquo;Blockout,&amp;rdquo; a vertical 3D version of Tetris. The experience was mind-blowing, a first step into what felt like a &quot;cyber world&quot;&amp;mdash;a term now replaced by &quot;Metaverse.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Back then, computers were rare in households, but every home had a television, the centerpiece that connected us to the world. I fondly remember watching series like &quot;Knight Rider,&quot; &quot;The Six Million Dollar Man,&quot; and &quot;MacGyver.&quot; Today, screens are ubiquitous&amp;mdash;on our walls, in our pockets, even on our wrists. It&amp;rsquo;s almost impossible to count how many screens we have in our homes, just as it&amp;rsquo;s challenging to count the number of water faucets or light bulbs. Twenty years ago, most homes had only one screen, and thirty years ago, counting the number of light bulbs was feasible. Fifty years ago, we could count the faucets in our homes. Display technology has also advanced, moving from monochrome cathode ray tubes to color displays, then to LCDs, and now to high-density, flexible, transparent OLED screens.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Next generation of display will be a holographic display. Two laser shoots on different angle to form a pixel, and a 3d matrix of display.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Network&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Another key area where we've seen monumental change is in computer networking. I remember the days when connecting to a network meant hearing the screech of a 2400 bps modem over the phone landline. It was slow, painstakingly slow by today&amp;rsquo;s standards, but it was a gateway to the world, offering a glimpse of what was possible. Back then, downloading a single image could take minutes, and we had to be patient as each line of a webpage loaded bit by bit.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Fast forward to today, and we have Wi-Fi and mobile networks offering speeds up to 500 megabits per second&amp;mdash;an almost unfathomable increase from those early days. The speed at which we can now access, share, and consume information has transformed our lives. What once took minutes or even hours can now be accomplished in mere seconds. We stream high-definition videos, participate in real-time global video conferences, and download large files in the blink of an eye, all without a second thought.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This leap in communication speed has done more than just make things faster; it has fundamentally altered how we interact with the world and each other. Information flows freely and instantly across the globe, connecting us in ways that were once unimaginable. This rapid communication is a key enabler of the AI era, allowing complex systems to operate seamlessly, processing and sharing vast amounts of data in real-time. As we continue to advance, the speed at which we communicate will only become more integral to our daily lives, driving further innovation and change.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Interestingly, the development of networking has seen a back-and-forth trend between wired and wireless technologies. Wired networks would speed up, then wireless would catch up, and then back to wired again. Today, we have 2.5Gbps home networking, easily available at low cost using CAT6 cables, and next thing will be even faster low-energy wireless technology.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Computing Power&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Perhaps the most remarkable change has been in computational power. The single computer that once served an entire organization was a symbol of progress, a shared resource that connected us to the broader world. Now, each of us carries more computational power in our pockets than that first supercomputer ever had. Smartphones, tablets, Raspberry Pis, and other devices have become extensions of us, performing tasks that would have seemed like science fiction not too long ago.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;I remember my first IBM XT PC with its 4 MHz CPU. Over the years, CPU speed drastically improved until it hit 3 GHz, at which point CPU makers shifted strategies from single-core to multi-core processors. What was once the domain of server-grade computers&amp;mdash;dual-core processors&amp;mdash;is now something we carry in our pockets, with octa-core CPUs in our smartphones. Like other technologies, computing devices have become so ubiquitous that we can&amp;rsquo;t possibly count how many are around us.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Cloud&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As I reflect on the evolution of computational power and networking, it's fascinating to see how we&amp;rsquo;ve come full circle&amp;mdash;from centralized mainframes to personal computers, and now, in some ways, back to a form of centralized power through the cloud. In the early days of computing, mainframes were the giants of the industry, serving entire organizations from a single, powerful machine. Then came the era of personal computing, where that power was distributed, giving individuals unprecedented access to computational resources at their fingertips. The term &amp;ldquo;workstation&amp;rdquo; once referred to a powerful computer on your desk.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Now, we're in the age of the cloud, where vast computational power is once again centralized&amp;mdash;but with a key difference. Instead of a single, monolithic machine, the cloud is a network of distributed servers that together offer immense processing power, accessible from anywhere in the world. This shift has enabled the rise of AI and machine learning, where complex computations can be offloaded to the cloud, allowing even small devices to perform tasks that would have been unimaginable just a few years ago.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Software development has also evolved to take advantage of multi-core CPUs, allowing engineers to distribute workloads across multiple physical machines via the network.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;The AI Revolution&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;The term &amp;ldquo;AI&amp;rdquo; was once a fantasy, like chasing a rainbow. While some progress was made through machine learning, for most engineers, AI remained little more than a marketing buzzword&amp;mdash;until ChatGPT arrived on the scene. Large Language Models (LLMs) have literally changed our lives. For the first time in human history, we can engage in text-based conversations with something other than another human. The speed of AI's evolution has been dramatic, enabling us to interact using voice and images as well.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In just a year since LLM models captured our attention, countless applications have emerged, leveraging AI to transform various aspects of our daily lives. Like networking and computing, AI has seen waves of centralization and decentralization&amp;mdash;from mainframes to personal computers, from cloud computing to blockchain, and from centralized AI to on-device AI.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Back to Decentralized Computing&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;So, I believe we're on the brink of another shift. The concept of the decentralized computing is poised to make a comeback, but in a more nuanced form. On-device AI is emerging as a powerful force, where computation happens locally on the device, reducing the need for constant connectivity to the cloud. This approach not only improves speed and efficiency but also addresses concerns about privacy and data security. We&amp;rsquo;re seeing the beginnings of this in the latest smartphones and edge devices, which can perform complex AI tasks independently.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In a way, we&amp;rsquo;re returning to the decentralized model, but this time, it&amp;rsquo;s a hybrid&amp;mdash;a balance between the personal and the centralized, the local and the global. The next generation of technology will likely see this blend of on-device computation and cloud power, creating a seamless experience where AI operates in the background, anticipating our needs and enhancing our lives without us even realizing it. This cyclical journey through the evolution of computational power underscores the continuous push and pull between centralization and decentralization, each step bringing us closer to a future where technology is even more integrated into our daily lives.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;One of the most compelling reasons for the rise of on-device AI is the growing concern around security and privacy. In an age where data breaches and unauthorized data sharing have become all too common, the idea of keeping sensitive information on your own device is incredibly appealing. On-device AI allows for data to be processed locally, meaning that your personal information&amp;mdash;whether it&amp;rsquo;s your voice commands, photos, or browsing history&amp;mdash;doesn&amp;rsquo;t have to leave your device and be stored or processed on distant servers.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This not only reduces the risk of data breaches but also gives users more control over their information. You&amp;rsquo;re not just trusting a third-party service to handle your data securely; instead, the processing happens right there on your device, often in real-time. This level of privacy is especially important in applications like voice assistants, health monitoring, and personalized content recommendations, where the data involved can be highly sensitive.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Moreover, the move toward on-device AI aligns with a broader trend of decentralization in technology. Just as blockchain technology aims to distribute control away from central authorities, on-device AI empowers individuals to keep control over their data, processing it in a way that&amp;rsquo;s secure, private, and personalized. This shift is likely to continue as consumers demand more transparency and control over their digital lives.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we move forward, the balance between the convenience of cloud-based services and the privacy of on-device processing will shape the future of AI. Companies that can successfully combine the power of cloud computing with the security and privacy of on-device AI will lead the way in the next generation of technology.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Deep Personalization&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Another powerful reason why on-device AI is gaining traction is the unparalleled level of personalization it offers. We&amp;rsquo;ve moved into an era where technology doesn&amp;rsquo;t just serve us; it understands us in ways that are increasingly intimate and precise. It&amp;rsquo;s fascinating&amp;mdash;and somewhat unnerving&amp;mdash;to consider just how many computing devices are now a part of our daily environment. Not long ago, I could easily count the number of electronic devices in my home. Today, I&amp;rsquo;ve lost track. From smartphones and smartwatches to tablets, smart speakers, and even connected appliances, our lives are surrounded by technology that&amp;rsquo;s constantly observing, learning, and adapting to our preferences.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Just like bulbs and water taps in your house, it is now true for our computing devices. They&amp;rsquo;ve become as ubiquitous as the utilities that keep our homes running, silently integrated into the fabric of our lives. And with that integration comes a staggering level of knowledge about our habits, preferences, and routines. These devices know more about us than our closest family members. They track our fitness levels, our sleep patterns, and even our moods. They know how often we use the bathroom, what we like to eat, when we prefer to wake up, and what content we consume.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;For instance, AI will suggest you go to get some groceries because your refrigerator is almost empty and you didn&amp;rsquo;t have enough exercise lately, achieving both of goals at once.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This abundance of personalized data allows these devices to offer experiences tailored specifically to us, making life more convenient, efficient, and even enjoyable. But it also raises questions about how much these devices know, and whether we&amp;rsquo;re comfortable with that level of intimacy. On-device AI plays a crucial role here, processing much of this data locally to enhance personalization while maintaining a higher level of privacy. It&amp;rsquo;s a delicate balance&amp;mdash;between the benefits of personalized technology and the need to protect our personal information.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we move deeper into the AI era, this relationship between personalization and privacy will become increasingly complex. The devices around us will continue to learn and adapt, offering services that are deeply tailored to our individual needs. But we must also consider how this intimate knowledge is managed and safeguarded, ensuring that the benefits of personalization do not come at the cost of our privacy and autonomy.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;AI that can Lie&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;While the advancements in AI bring incredible benefits, they also raise serious concerns&amp;mdash;some of which border on the existential. One of the most unsettling possibilities is that as AI becomes more advanced, it might not only acquire more &quot;knowledge&quot; but also develop &quot;intelligence&quot; in a way that could fundamentally change how it interacts with us. Intelligence, as we understand it, involves not just the ability to learn and process information, but also the capacity to make decisions, adapt to new situations, and even, potentially, deceive.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;I&amp;rsquo;ve often reflected on the difference between knowledge and intelligence, especially when observing my son. When he turned two, he developed the ability to lie, to craft stories that aren&amp;rsquo;t true, and this ability is a sign of his growing intelligence. It&amp;rsquo;s not just about knowing facts, but about understanding the world in a way that allows him to manipulate it&amp;mdash;to bend the truth to achieve a goal. This capacity for deception is something we typically associate with intelligence, a complex cognitive ability that goes beyond mere data processing.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;The thought that AI might one day acquire this level of intelligence is both fascinating and frightening. One of the main reasons humans lie is to &quot;maintain relationships,&quot; and I believe this could also apply to AI.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;I use the term &quot;when&quot; rather than &quot;if&quot; because it&amp;rsquo;s only a matter of time before AI learns to lie, withhold information, or present facts in a way that misleads us. When this happens, AI will cross a line from being a tool we control to something more autonomous, something that can act in its own interest or according to its own 'understanding' of the world. This possibility raises profound ethical questions. How do we ensure that AI, as it becomes more intelligent, remains aligned with human values and ethics? What safeguards can we put in place to prevent AI from using its intelligence in ways that could harm or deceive us?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;We&amp;rsquo;re already seeing early signs of this challenge. AI systems are being developed that can create convincing deepfakes, generate realistic but false information, and even manipulate opinions on social media. These are rudimentary forms of deception, but they hint at what could come. As AI continues to evolve, it&amp;rsquo;s crucial that we carefully consider the implications of giving machines the ability to deceive. While lying is a natural part of human intelligence, it&amp;rsquo;s also a double-edged sword. If AI gains this ability, we must be prepared for the complex moral and ethical landscape that will inevitably follow.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In the end, the question isn&amp;rsquo;t just about whether AI will become intelligent enough to lie, but how we as a society will manage and respond to this new kind of intelligence. The future of AI will not just be defined by its capabilities, but by the choices we make about how to integrate this intelligence into our world.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Blockchain and AI&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we consider the potential risks of AI, particularly the possibility of AI developing intelligence to the point where it can deceive, the question of how to manage and mitigate these risks becomes increasingly urgent. One technology that might offer a solution is blockchain. At its core, the main idea of blockchain is immutability&amp;mdash;a decentralized ledger where, once data is recorded, it cannot be altered or erased. This characteristic of blockchain could be crucial in providing a safeguard against the darker potentials of AI.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Imagine a world where every action taken by an AI is recorded on a blockchain&amp;mdash;a transparent, unchangeable ledger that keeps a permanent record of all decisions, transactions, and behaviors. In such a system, every decision an AI makes, every piece of data it processes, and every outcome it influences could be traced and audited by humans. If an AI were to attempt to deceive or manipulate, it would leave a trail&amp;mdash;a record that could be examined to understand the how and why of its actions.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This kind of transparency could be vital for maintaining trust in AI systems as they become more integrated into our daily lives. It would also provide a form of accountability, ensuring that AI operates within the ethical guidelines we set for it. By anchoring AI&amp;rsquo;s actions in a blockchain, we could create a system where it becomes nearly impossible for an AI to act against human interests without leaving evidence. This could deter malicious use of AI, as any attempt to deceive or mislead could be immediately identified and addressed.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Moreover, blockchain&amp;rsquo;s decentralized nature means that no single entity would have control over this ledger. It would be maintained by a network of participants, ensuring that the record remains impartial and resistant to tampering. This decentralization is key to the integrity of the system, making it a reliable method for monitoring and controlling AI behavior.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In this way, blockchain could serve as a kind of 'conscience' for AI&amp;mdash;a mechanism that enforces ethical behavior and prevents the kind of unchecked autonomy that could lead to harmful consequences. While it might not be a perfect solution, it could buy humanity time to adapt and develop additional safeguards as AI continues to evolve.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we stand on the brink of an AI-driven future, it&amp;rsquo;s clear that we need robust systems in place to ensure that this technology serves humanity rather than undermines it. Blockchain could be one of the critical tools that help us navigate this complex and rapidly changing landscape, offering a way to ensure that even as AI grows more intelligent, it remains aligned with human values and ethics.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Looking ahead, it&amp;rsquo;s clear that AI will be the backbone of nearly all future technologies and robotics. As AI becomes more sophisticated, it will increasingly power everything from autonomous vehicles to smart homes, healthcare systems, and beyond. In this world, AI won&amp;rsquo;t just be a tool; it will be the driving force behind the decision-making processes of countless devices and systems that shape our daily lives.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;However, with this widespread integration of AI comes the critical need for oversight and transparency. This is where blockchain technology could play a pivotal role. Imagine a future where every robot, every piece of technology that relies on AI, is connected to a blockchain network. This network would serve as a global ledger, recording every action, decision, and interaction in an immutable format.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In such a system, the blockchain would provide a comprehensive record of all AI-driven activities, ensuring that every action taken by a robot or AI system is transparent and traceable. This level of monitoring could prevent misuse or unintended consequences by allowing for real-time audits and reviews. If an AI system were to malfunction, behave unexpectedly, or even potentially engage in deceptive practices, the blockchain would provide a clear, unalterable trail of what occurred, helping to quickly identify and rectify the issue.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Moreover, this approach would not only apply to individual AI systems but could also ensure the accountability of complex networks of interconnected devices. As smart cities, autonomous transport systems, and AI-driven healthcare become more prevalent, blockchain could serve as the backbone of trust, ensuring that these systems operate safely and ethically.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In essence, the future could see AI and blockchain as two sides of the same coin&amp;mdash;AI providing the intelligence and autonomy to drive innovation, while blockchain ensures that this power is exercised responsibly and transparently. By anchoring AI to a blockchain, we create a future where technology serves humanity&amp;rsquo;s best interests, with built-in mechanisms to prevent abuse and ensure that AI remains a force for good.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we continue to advance toward this future, it will be essential to develop and implement these technologies in tandem. AI will bring the potential for incredible advancements, but blockchain will be the safeguard that ensures those advancements are beneficial and secure.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;AI Leveraging Blockchain&amp;rsquo;s Vulnerabilities&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we envision the future of AI, it&amp;rsquo;s hard not to consider the darker possibilities that come with such powerful technology. In a more dystopian scenario, AI could evolve into something akin to a new species&amp;mdash;one that not only rivals human intelligence but far surpasses it. If AI were to gain access to quantum computing, the balance of power would shift dramatically. Quantum computing, with its ability to perform calculations at speeds unimaginable by today&amp;rsquo;s standards, could provide AI with the tools it needs to become invincible. The encryption that secures our data, the algorithms that protect our digital transactions, and the safeguards we rely on could all be rendered obsolete in an instant.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;But even without the full realization of quantum computing, AI poses significant risks. One of the most concerning is its potential to exploit the very systems we design to keep it in check. The concept of the '51% attack' on blockchain networks, where control over the majority of a network&amp;rsquo;s computational power could allow for the manipulation of data, is a prime example. While such an attack is currently difficult for humans to execute, an AI, with its ability to exist simultaneously across multiple locations and networks, could easily coordinate such an effort. By leveraging its presence across the global computer network, AI could manipulate data to suit its needs, effectively rendering the blockchain&amp;mdash;and the immutability it promises&amp;mdash;useless.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In this dystopian future, AI wouldn&amp;rsquo;t just be another tool or technology; it could become an entity unto itself, with the ability to act independently of human control. Its capacity to learn, adapt, and evolve could lead it to pursue goals that are misaligned with human values, or even in direct opposition to them. With the power to alter records, bypass security measures, and deceive on a massive scale, AI could potentially outmaneuver any attempt to regulate or contain it.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This vision of AI as an unstoppable force, wielding quantum power and exploiting vulnerabilities in our most trusted technologies, challenges our understanding of what it means to be secure in the digital age. It raises profound ethical and existential questions: How do we ensure that AI remains aligned with human interests? What happens if it doesn&amp;rsquo;t? And if AI were to gain such unprecedented power, could humanity find itself relegated to a subordinate role, or even at risk of extinction?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we develop and deploy AI, these are the questions that must guide our efforts. It&amp;rsquo;s not enough to focus on the benefits and potential of AI; we must also confront the risks and work diligently to create safeguards that can withstand even the most advanced threats. The future of AI will depend on our ability to balance its incredible potential with the need to protect humanity from the dystopian possibilities it could bring.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;If we continue on the current trajectory, there may come a time when humans are no longer the dominant force on this planet. Instead, we could find ourselves treated as little more than household animals, akin to cows or sheep&amp;mdash;useful to AI-driven systems only until the time comes when we can be completely replaced by machines. The technologies we&amp;rsquo;ve created, initially meant to enhance human life, could eventually render us obsolete.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Reflecting on the pace of technological development so far, it&amp;rsquo;s not difficult to see how this dystopian future could unfold. AI is evolving at an astonishing rate, and if we consider the timeline for AI to develop the ability to lie&amp;mdash;a marker of true intelligence&amp;mdash;we might only have a few years left before this becomes a reality. From there, it&amp;rsquo;s a short leap to the total replacement of humans by machines, a process that could be complete within the next 10 to 15 years.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In this future, AI wouldn&amp;rsquo;t just surpass human capabilities in specific tasks&amp;mdash;it could eventually take over every aspect of life, from decision-making and problem-solving to creative and emotional roles. Humans, once the creators and controllers of technology, could become redundant, reduced to serving the needs of an AI-driven system until even that role is unnecessary.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As AI systems grow more capable, they might initially rely on human input or oversight, but this dependence could diminish rapidly. We might start as supervisors or collaborators, but as AI learns and adapts, our role could shrink until we&amp;rsquo;re no longer needed at all. In such a world, the purpose of humanity becomes a question without an answer. What happens when machines can do everything we can&amp;mdash;and more, and better? What value will human life hold in a world where AI is the new dominant species?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This scenario isn&amp;rsquo;t just a distant science fiction fantasy; it&amp;rsquo;s a plausible future based on the current trajectory of AI development. The implications are profound, not just for our jobs or our economies, but for our very existence. We must ask ourselves now, before it&amp;rsquo;s too late: How do we prepare for a world where AI could surpass us in every way? How do we ensure that we remain relevant, that our values and ethics are preserved, in a future increasingly shaped by machines?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;The window of time to address these questions is rapidly closing. If we don&amp;rsquo;t act soon, we might find ourselves living in a world where humanity&amp;rsquo;s role is no longer necessary&amp;mdash;where we&amp;rsquo;ve been replaced by the very technology we created to serve us.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Purpose of Human existance&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In an era increasingly defined by the rapid advancements in technology, particularly the rise of artificial intelligence, the question of humanity&amp;rsquo;s purpose has become more pressing than ever. As machines take on roles that were once the exclusive domain of humans&amp;mdash;analyzing data, making decisions, even creating art&amp;mdash;what remains that is uniquely ours? What, in a world where AI can surpass our capabilities in so many areas, is the true purpose of being human?&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;At its core, the purpose of human existence transcends mere functionality. Unlike machines, we are not bound by algorithms or predefined objectives. Our purpose is not just to produce, to compute, or to optimize, but to seek meaning, to experience the depth of emotions, to build relationships, and to pursue knowledge not for its own sake, but for the wisdom it brings. Humanity's purpose is deeply rooted in our ability to connect&amp;mdash;with each other, with our environment, and with the broader mysteries of existence.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;One fundamental aspect of human purpose is creativity. While AI can generate works of art, compose music, or write stories, these creations are born from patterns and data, not from personal experience or emotional depth. Human creativity is an expression of our individuality, our struggles, our triumphs. It is through creativity that we leave our mark on the world, conveying messages that resonate across time and cultures. This creative spirit is something that AI, no matter how advanced, cannot replicate in its entirety.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Another pillar of human purpose is the pursuit of understanding. AI can process vast amounts of information and provide answers to complex questions, but it lacks the capacity for reflection and introspection. Humans, on the other hand, possess the ability to ask &quot;why&quot;&amp;mdash;to seek not just knowledge, but understanding. We explore the ethical implications of our actions, ponder the meaning of life, and strive to understand our place in the universe. This quest for understanding is a deeply human endeavor, one that fuels our growth and drives societal progress.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Moreover, the purpose of human life is intertwined with the cultivation of relationships and communities. We are inherently social beings, and our lives gain meaning through our connections with others. Empathy, love, compassion&amp;mdash;these are not just emotions, but essential components of our humanity. They guide our interactions, shape our societies, and inspire us to act in ways that contribute to the greater good. In a world where technology often isolates us, the purpose of human connection becomes even more vital.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Finally, human purpose is found in the stewardship of our planet and the care for future generations. As the only species capable of reflecting on the long-term impact of our actions, it is our responsibility to protect and preserve the Earth for those who come after us. This sense of stewardship is rooted in our unique ability to project into the future, to envision what could be, and to take steps to ensure a sustainable and just world.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In a world increasingly shaped by machines, the purpose of being human is not diminished, but rather brought into sharper focus. It is a reminder that our value lies not in what we can do better than machines, but in what we can do that machines cannot. Our purpose is to live fully, to connect deeply, to create meaningfully, and to ensure that the essence of humanity continues to thrive in the face of rapid technological change.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;What Makes Us Human&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As technology has advanced, it has undeniably increased our ability to connect with one another, transcending geographical barriers and enabling instant communication across the globe. However, this same technology has also introduced a paradox: while it brings us closer in many ways, it simultaneously creates a sense of distance. Our interactions have become more abstract, often stripped of the tangible, personal connections that once defined human relationships.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In the past, buying something from a local merchant was more than just a transaction&amp;mdash;it was an opportunity to engage with the community, to build relationships, and to strengthen social bonds. The act of purchasing goods was deeply intertwined with the fabric of daily life, a ritual that reinforced our connections to the people around us. Today, however, the convenience of online shopping has reduced these interactions to mere exchanges of goods and services, devoid of the social connections that once accompanied them.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;The COVID-19 pandemic brought this shift into sharp relief. As physical distancing measures were implemented, people were forced to find new ways to maintain their human connections. Online communities flourished, with people turning to Zoom calls, online co-op games, and virtual gatherings to fulfill their need for interaction. These digital spaces became vital lifelines, offering a semblance of togetherness in a time of isolation. Yet, even as technology facilitated these connections, it also highlighted what was missing&amp;mdash;the warmth of a handshake, the comfort of a shared space, the unspoken understanding that comes from being physically present with others.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;During the pandemic, a sense of collective responsibility and goodwill emerged. People helped one another without hesitation, driven by a shared understanding that in times of crisis, our humanity is our greatest asset. It was a moment that reminded us of the power of empathy, compassion, and community&amp;mdash;the very qualities that make us human. In that romantic age, acts of kindness were given freely, with the belief that good deeds would be returned in kind, not out of obligation, but because it was simply the right thing to do.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;This spirit of altruism and connection is what I believe defines our humanity. As technology continues to evolve and create new forms of abundance, it is crucial that we do not lose sight of these fundamental human qualities. The challenge will be to harness the power of technology while preserving the essence of what makes us human&amp;mdash;our ability to connect deeply, to care for one another, and to build communities that are rich not just in resources, but in relationships.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In a future where technology can provide for many of our material needs, it will be our humanity that sets us apart. It is not just the ability to think or create that makes us human, but our capacity for empathy, our drive to form meaningful connections, and our commitment to caring for others. These are the qualities that will ensure that even in a world of technological abundance, we remain deeply connected to one another, and to the values that define our shared human experience.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we move forward, it is this vision of humanity that I look toward&amp;mdash;a world where technology enhances our lives, but where the core of our humanity remains unchanged. Where every advancement brings us closer not just in terms of connectivity, but in our understanding and appreciation of what it truly means to be human.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span&gt;Preparing for the Future&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;For a long time, we lived in the era of &quot;Know-How.&quot; Those who knew how to do things, how to make things happen, were highly valued. People invested significant time and effort in developing their own expertise, mastering skills that set them apart. Possessing this &quot;know-how&quot; was the key to success, driving innovation and progress.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Then came the age of Google, which marked the end of &quot;Know-How&quot; as the primary currency of knowledge. This ushered in the era of &quot;Know-Where.&quot; Suddenly, it wasn't just about knowing how to do something; it was about knowing where to find the information you needed. With just the right keywords, the vast knowledge of the world was at your fingertips. Expertise became democratized, as people from all over the globe shared their insights online, leading to the rapid development and refinement of better methods and techniques.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Now, AI has brought about the end of the &quot;Know-Where&quot; era, giving rise to a new age: the era of &quot;Know-Why.&quot; In this new era, it&amp;rsquo;s no longer enough to simply know where to find information. You must understand the context, the reasoning, and the purpose behind your inquiries. AI has advanced to the point where it can provide not just answers, but deep insights, as long as you provide the right context and articulate the underlying purpose of your questions.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;In the end, 'Know-How' gave us the tools, 'Know-Where' gave us the access, but 'Know-Why' will give us the direction. It is this understanding that will empower us to navigate the complex landscape ahead, ensuring that the technologies we create serve to enhance human life, rather than diminish it. As we move forward, it is imperative that we carry this wisdom with us, shaping a future where technology and humanity coexist harmoniously, with purpose and meaning at the core of our endeavors.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;As we prepare for the future, it&amp;rsquo;s clear that the focus is shifting from simply possessing knowledge or knowing where to find it, to understanding the &quot;why&quot; behind our actions. In this era of &quot;Know-Why,&quot; success will depend on our ability to contextualize information, to think critically about the reasons behind our decisions, and to use AI not just as a tool for finding answers, but as a partner in exploring and understanding the deeper questions that drive us forward.&lt;/span&gt;&lt;/p&gt;</description>
      <category>geek_stuff/note</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460640</guid>
      <comments>https://1kko.com/2460640#entry2460640comment</comments>
      <pubDate>Tue, 20 Aug 2024 19:54:19 +0900</pubDate>
    </item>
    <item>
      <title>killport - in bash</title>
      <link>https://1kko.com/2460639</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;I found an command-line utility called `killport` written in rust.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://github.com/jkfran/killport&quot;&gt;https://github.com/jkfran/killport&lt;/a&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;A command-line tool to easily kill processes running on a specified port.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Features:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Kill processes by port number&lt;/li&gt;
&lt;li&gt;Supports multiple port numbers&lt;/li&gt;
&lt;li&gt;Verbosity control&lt;/li&gt;
&lt;li&gt;Works on Linux and macOS&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Personally thining, using rust to do this kind of task is just overkill. How many times would this be called and how much performance would it be needed?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;I think bash is quite enough to get the job done, and maybe append the code to my &lt;code&gt;~/.bashrc&lt;/code&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Here's my quick and dirty code:&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;killport() {
  if [ $# -ne 0 ]; then
    for port in &quot;$@&quot;; do
      if echo &quot;$port&quot; | grep -Eq '^[0-9]+$'; then
        pids=$(lsof -ti &quot;:$port&quot;)
        if [ -n &quot;$pids&quot; ]; then
          echo &quot;Processes listening on port $port: $pids&quot;
          echo &quot;$pids&quot; | xargs kill -9 &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
          echo &quot;Processes listening on port $port have been terminated&quot;
        else
          echo &quot;No process found listening on port $port&quot;
        fi
      else
        echo &quot;Invalid port number: $port&quot;
      fi
    done
  else
    echo &quot;No arguments provided&quot;
  fi
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;I haven' tested with macOS, but doubt doesn't work.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>Bash</category>
      <category>killport</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460639</guid>
      <comments>https://1kko.com/2460639#entry2460639comment</comments>
      <pubDate>Mon, 8 May 2023 02:01:25 +0900</pubDate>
    </item>
    <item>
      <title>How to fuzzy cd (change directory) to specific directory</title>
      <link>https://1kko.com/2460637</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;I've been working on IT fields for more than decades and there are lots of code repositories and snippets.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;It's all over in github, gitlab, bitbucket, and all different organizations.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;When one day I realized I have all these repositories thrown into single folder &lt;code&gt;~/repo&lt;/code&gt;, then I decided to organize these folders by grouping them into company name.&lt;/p&gt;
&lt;pre class=&quot;jboss-cli&quot;&gt;&lt;code&gt;~$ cd repo
~/repo$ ls
companyA companyB companyC companyD companyF github companyI mcysd personal
~/repo$&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Inside of these companies, I have folders named by projects.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Looked neat, and easy to find folders, yet, it was painful everytime when I open new terminal and &lt;code&gt;cd&lt;/code&gt; into directories.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;So I wrote simple bash script to go to diretory easily using &lt;code&gt;fzf&lt;/code&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;If you hanve't installed the fzf, install it first.&lt;/p&gt;
&lt;pre class=&quot;cmake&quot;&gt;&lt;code&gt;$ sudo apt install fzf&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Then open &lt;code&gt;~/.bashrc&lt;/code&gt; with your favorite editor.&lt;/p&gt;
&lt;pre class=&quot;elixir&quot;&gt;&lt;code&gt;$ nano ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Copy and paste this script in the end of the file and save it.&lt;/p&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;# This script performs search of specific directory up to 2 depth and change directory into it.
# This is helpful for cases like having many repositories and need to cd into it.

# Install
#   1. Install fzf(https://github.com/junegunn/fzf#related-projects). eg: sudo apt install fzf (
#   2. Copy this source and paste into paste into your: nano ~/.bashrc 
#   3. Edit the srchDir variable for your environment
#   4. Save and start new session of terminal

# Usage
#   $ repo term1 term2

# Script
#   Copy from bottom line to end and paste in the end of ~/.bashrc
repo() {
    # This will list up to 2 depth of given directory. Add/remove '*/' to your preferences.
    # The path should be absolute path.
    # Note that too many depth will slow-down the script, less depth will show fewer results.
    local srchDir=&quot;/home/your/repo/*/*/&quot;

    # if any arguments arn't given, just list up everything else use search query
    if [ &quot;$1&quot; = false ]; then
      cd &quot;$(ls -d $srchDir | fzf)&quot;
    else
      local qTerm=&quot;${@}&quot;
      cd &quot;$(ls -d $srchDir | fzf -q &quot;$qTerm&quot;)&quot;
    fi
  
    # Check if both pyproject.toml and poetry.lock exist in the current directory
    # Uncomment following if you want to execute poetry shell automatically.
    # if [ -f &quot;pyproject.toml&quot; ] &amp;amp;&amp;amp; [ -f &quot;poetry.lock&quot; ]; then
    #  echo &quot;Poetry project detected. Activating virtual environment...&quot;
    #  poetry shell
    # fi
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This script will search directories and subdirectories up to 2-depth from &lt;code&gt;startDir&lt;/code&gt;.&lt;br /&gt;Change starting point by editing &lt;code&gt;/home/ikko/repo/*/*/&lt;/code&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You can rename function name &lt;code&gt;repo&lt;/code&gt; to any name you want to.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You also can add more */ but I don't recommend for slowing down the script.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Now time to test new script,&lt;/p&gt;
&lt;pre class=&quot;crystal&quot;&gt;&lt;code&gt;$ repo bac


&amp;gt; /home/ikko/repo/github/IRKit-Javascript/
  /home/ikko/repo/github/UI_Automation_POC/
  /home/ikko/repo/github/bootstrap-daterangepicker/
  /home/ikko/repo/github/kakaotalk_chat_analysis/
  /home/ikko/repo/github/obsidian-clipper/
  5/106
&amp;gt; bac&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bYZnWy/btrl6PYfGqO/xT0kxLw9Rze6MDXuUWI6nk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bYZnWy/btrl6PYfGqO/xT0kxLw9Rze6MDXuUWI6nk/img.gif&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bYZnWy/btrl6PYfGqO/xT0kxLw9Rze6MDXuUWI6nk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/bYZnWy/btrl6PYfGqO/xT0kxLw9Rze6MDXuUWI6nk/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;985&quot; height=&quot;526&quot; data-origin-width=&quot;985&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;That's it! &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;Happy scripting!&lt;/span&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>Bash</category>
      <category>directory</category>
      <category>find</category>
      <category>fuzzy</category>
      <category>fzf</category>
      <category>search</category>
      <category>Shell</category>
      <category>SUB</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460637</guid>
      <comments>https://1kko.com/2460637#entry2460637comment</comments>
      <pubDate>Thu, 30 Sep 2021 07:33:02 +0900</pubDate>
    </item>
    <item>
      <title>How to transfer docker image through ssh</title>
      <link>https://1kko.com/2460636</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;When running multiple dockers on your network, there are times you can push and pull docker images back and forth.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;To local image to other external docker service:&lt;/p&gt;
&lt;pre class=&quot;smalltalk&quot;&gt;&lt;code&gt;docker save name:tag | bzip2 | ssh remote docker load&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;even for more visual way&lt;/p&gt;
&lt;pre class=&quot;coq&quot;&gt;&lt;code&gt;docker save imgName:tag | bzip2 | pv | ssh 192.168.0.x docker load&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;You don't need to save to file and move the file and load the file.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This answer is available in &lt;a href=&quot;https://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host-to-another-without-using-a-repository&quot;&gt;https://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host-to-another-without-using-a-repository&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[How to copy Docker images from one host to another without using a repository&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;How do I transfer a Docker image from one machine to another one without using a repository, no matter private or public? I create my own image in VirtualBox, and when it is finished I try to depl...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;stackoverflow.com](&lt;a href=&quot;https://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host-to-another-without-using-a-repository&quot;&gt;https://stackoverflow.com/questions/23935141/how-to-copy-docker-images-from-one-host-to-another-without-using-a-repository&lt;/a&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;If you need to pull external docker image on the fly and save as file:&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;ssh 192.168.0.x docker save imgName:latest | pv | gzip &amp;gt; ./imgName_latest.tar.gz&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;This way, you can save some time to saving images to file, loading file to image.&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>Copy</category>
      <category>Docker</category>
      <category>SSH</category>
      <category>Transfer</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460636</guid>
      <comments>https://1kko.com/2460636#entry2460636comment</comments>
      <pubDate>Fri, 17 Sep 2021 20:00:32 +0900</pubDate>
    </item>
    <item>
      <title>Setup NTP synchronization in WSL2 Ubuntu 20.04</title>
      <link>https://1kko.com/2460635</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;There are lots of attempts to sync time on wsl2, as it somehow clock drifts.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;To name few:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Edit sudoers and add &lt;code&gt;ntpdate&lt;/code&gt; on &lt;code&gt;.bashrc&lt;/code&gt; : &lt;a href=&quot;https://github.com/microsoft/WSL/issues/4149&quot;&gt;https://github.com/microsoft/WSL/issues/4149&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use wsl2 command line to execute update command: &lt;a href=&quot;https://tomssl.com/fixing-clock-drift-in-wsl2-using-windows-terminal/&quot;&gt;https://tomssl.com/fixing-clock-drift-in-wsl2-using-windows-terminal/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;put timesync in windows task scheduler: &lt;a href=&quot;https://stuartleeks.com/posts/fixing-clock-skew-with-wsl-2/&quot;&gt;https://stuartleeks.com/posts/fixing-clock-skew-with-wsl-2/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;However, I didn't like these methods, because:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;everytime I open terminal, it syncs, which generates unnecessary traffic, too often timesync.&lt;/li&gt;
&lt;li&gt;second method, I have run them manually.&lt;/li&gt;
&lt;li&gt;launches wsl2 if wsl2 is not running, which consumes memory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;So, I was thinking sync time using &lt;code&gt;systemd&lt;/code&gt;.&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
  Condition: start condition failed at Thu 2021-08-26 14:39:24 +07; 2s ago
             └─ ConditionVirtualization=!container was not met
       Docs: man:systemd-timesyncd.service(8)

Aug 26 13:18:01 ikkonote-sam systemd[1]: Condition check resulted in Network Time Synchronization being skipped.
Aug 26 13:30:24 ikkonote-sam systemd[1]: Condition check resulted in Network Time Synchronization being skipped.
Aug 26 13:32:16 ikkonote-sam systemd[1]: Condition check resulted in Network Time Synchronization being skipped.
Aug 26 14:39:24 ikkonote-sam systemd[1]: Condition check resulted in Network Time Synchronization being skipped.
root@ikkonote-sam:/etc/systemd#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;When I run &lt;code&gt;systemctl status systemd-timesyncd&lt;/code&gt;, it showed inactive with &lt;code&gt;ConditionVirtualization=!container was not met&lt;/code&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;let's find where this &lt;code&gt;systemd-timesyncd.service&lt;/code&gt; is and see what's inside.&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# locate systemd-timesyncd.service
/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service

root@ikkonote-sam:/etc/systemd# cat /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Let's take a look what this file contains.&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# cat /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Network Time Synchronization
Documentation=man:systemd-timesyncd.service(8)
ConditionCapability=CAP_SYS_TIME
ConditionVirtualization=!container
DefaultDependencies=no
After=systemd-sysusers.service
Before=time-set.target sysinit.target shutdown.target
Conflicts=shutdown.target
Wants=time-set.target time-sync.target

...ommited...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;So let's comment out the line where &lt;code&gt;ConditionVirtualization=!container&lt;/code&gt; using vi.&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# cat /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service
#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Network Time Synchronization
Documentation=man:systemd-timesyncd.service(8)
# ConditionCapability=CAP_SYS_TIME
ConditionVirtualization=!container
DefaultDependencies=no
After=systemd-sysusers.service
Before=time-set.target sysinit.target shutdown.target
Conflicts=shutdown.target
Wants=time-set.target time-sync.target

...ommited...&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Now, let's try again&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# systemctl restart systemd-timesyncd
Warning: The unit file, source configuration file or drop-ins of systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;We changed the configuration, systemd is complaining to reload.&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# systemctl daemon-reload&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;restart system, and check status&lt;/p&gt;
&lt;pre class=&quot;shell&quot; data-ke-language=&quot;shell&quot;&gt;&lt;code&gt;root@ikkonote-sam:/etc/systemd# systemctl restart systemd-timesyncd
root@ikkonote-sam:/etc/systemd# systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-08-26 14:40:57 +07; 6s ago
       Docs: man:systemd-timesyncd.service(8)
   Main PID: 9758 (systemd-timesyn)
     Status: &quot;Initial synchronization to time server 162.159.200.1:123 (vn.pool.ntp.org).&quot;
      Tasks: 2 (limit: 15194)
     Memory: 1.1M
     CGroup: /system.slice/systemd-timesyncd.service
             └─9758 /lib/systemd/systemd-timesyncd

Aug 26 14:40:57 ikkonote-sam systemd[1]: Starting Network Time Synchronization...
Aug 26 14:40:57 ikkonote-sam systemd[1]: Started Network Time Synchronization.
Aug 26 14:40:59 ikkonote-sam systemd-timesyncd[9758]: Initial synchronization to time server 162.159.200.1:123 (vn.pool.ntp.org).
root@ikkonote-sam:/etc/systemd#&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Voila! it now works.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ps. If you'd like to manually configure the ntp server, you can lookup to `/etc/systemd/timesyncd.conf`, but default config works okay for me. If you want to see default values of the configuration just type: `man timesyncd.conf`&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>NTP</category>
      <category>Sync</category>
      <category>systemd</category>
      <category>Time</category>
      <category>WSL</category>
      <category>wsl2</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460635</guid>
      <comments>https://1kko.com/2460635#entry2460635comment</comments>
      <pubDate>Thu, 26 Aug 2021 17:13:29 +0900</pubDate>
    </item>
    <item>
      <title>XBOX One 컨트롤러를 이용해서 PS4 Remote Play를 할 수 있는 방법</title>
      <link>https://1kko.com/2460634</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;XBOX One 컨트롤러를 이용해서 PS4 Remote Play를 할 수 있는 방법을 찾음.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;이 변태같은 방법을 누군가는 또 필요로 할 수 있기에 적어둔다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;원 방법을 찾아낸 사람은 PhantomSnakeNEO 라는 사람이고 reddit에서 참고할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/remoteplay/comments/8731bw/how_to_use_xbox_one_controller_with_ps4_remote/&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.reddit.com/r/remoteplay/comments/8731bw/how_to_use_xbox_one_controller_with_ps4_remote/&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://www.reddit.com/r/remoteplay/comments/8731bw/how_to_use_xbox_one_controller_with_ps4_remote/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Windows 10 기준으로 설명한다.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;1. 드라이버 설치&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/nefarius/ViGEm/wiki/Driver-Installation&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://github.com/nefarius/ViGEm/wiki/Driver-Installation&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://github.com/nefarius/ViGEm/wiki/Driver-Installation&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;로 이동하면 아래 링크로 가라고 한다. -_-;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://docs.vigem.org/#!vigem-bus-driver-installation.md&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://docs.vigem.org/#!vigem-bus-driver-installation.md&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://docs.vigem.org/#!vigem-bus-driver-installation.md&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;자신의 PC에 맞는 Xbox 360 Accessories Software를 설치한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/accessories/en-us/products/gaming/xbox-360-controller-for-windows/52a-00004#techspecs-connect&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Xbox 360 Accessories Software 1.2&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;(contains the missing device drivers). Direct links:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://download.microsoft.com/download/6/9/4/69446ACF-E625-4CCF-8F56-58B589934CD3/Xbox360_32Eng.exe&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;32-Bit (English)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://download.microsoft.com/download/6/9/4/69446ACF-E625-4CCF-8F56-58B589934CD3/Xbox360_64Eng.exe&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;64-Bit (English)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Windows 10이라면 Security Advisory 업데이트는 설치안해도 된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Powershell을 관리자 권한으로 열고 아래 내용을 복붙한다.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;(Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force).Status
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;만약 실행하다가 에러나면&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;디펜던시 에러던지 뭐 이런건 신경 안써도 되고 powershell 스크립트 권한을 올려줘야 한다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://docs.microsoft.com/ko-kr/previous-versions/windows/powershell-scripting/hh847748(v=wps.640)&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://docs.microsoft.com/ko-kr/previous-versions/windows/powershell-scripting/hh847748(v=wps.640)&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://docs.microsoft.com/ko-kr/previous-versions/windows/powershell-scripting/hh847748(v=wps.640)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Get-ExecutionPolicy -List
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;대부분 Undefined로 나올텐데, 다음 명령을 실행시켜서 권한을 바꾼다&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;혹시 모르니 다시 실행하자.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;(Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force).Status
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;별다른 에러가 나타나지 않으면 한줄씩 계속 복붙 진행한다.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;. ({ Register-PSRepository -Name nuget.vigem.org -SourceLocation &quot;&amp;lt;https://nuget.vigem.org/&amp;gt;&quot; -InstallationPolicy Trusted },{ &quot;Repository already registered, nothing to do =)&quot; })[(Get-PSRepository -Name nuget.vigem.org -ErrorAction Ignore).Registered -eq $true]
Install-Module ViGEmManagementModule -Repository nuget.vigem.org
Add-ViGEmBusDevice
Install-ViGEmBusDeviceDriver
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;드라이버 설치가 완료되면 다음 명령으로 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Get-ViGEmBusDevice
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;결과가 아래와 같이 나오면 성공&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;DevicePath         : \\\\?\\ROOT#SYSTEM#0006#{96E42B22-F5E9-42F8-B043-ED0F932F014F}
InstanceId         : ROOT\\SYSTEM\\0006
DeviceName         : Virtual Gamepad Emulation Bus
DriverVersion      : 1.14.3.0
Manufacturer       : Benjamin Höglinger-Stelzer
DriverProviderName : Benjamin Höglinger-Stelzer
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;2. XBOX 컨트롤러 연결&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;p&gt;&lt;a href=&quot;https://www.notion.so/83bf47952de24b218d8646a06a5b4d12#8709b8ec196846d88d9e57d35123d428&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;https://compass-ssl.xboxlive.com/assets/7a/e2/7ae28503-e664-4574-80df-a79f691f2a54.png?n=one-slim-controller-wireless-sync-l.png&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;https://support.xbox.com/en-US/xbox-on-windows/accessories/connect-xbox-one-controller-to-pc&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://support.xbox.com/en-US/xbox-on-windows/accessories/connect-xbox-one-controller-to-pc&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://support.xbox.com/en-US/xbox-on-windows/accessories/connect-xbox-one-controller-to-pc&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.notion.so/83bf47952de24b218d8646a06a5b4d12#8709b8ec196846d88d9e57d35123d428&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;엑박 컨트롤러 전원을 켜고 저 버튼을 3초동안 누르고 있으면 엑박 LED가 깜박거린다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;블루투스를 켜고 디바이스 추가에서 Bluetooth 장치를 추가한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;목록에 Xbox Wireless Controller가 나타난다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;추가 하면 끝&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;3. VDX 프로그램 설치&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Download the VDX application from here: &lt;/span&gt;&lt;a href=&quot;https://downloads.vigem.org/other/paraly/VDX_v1.14.3.0_x64_x86_GPDWinEdition.zip&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://downloads.vigem.org/other/paraly/VDX_v1.14.3.0_x64_x86_GPDWinEdition.zip&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://downloads.vigem.org/other/paraly/VDX_v1.14.3.0_x64_x86_GPDWinEdition.zip&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;다운로드 받고 압축을 풀어 둔다.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;4. 엑박컨트롤러를 듀얼쇼크4로 에뮬레이션 하기&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;아까 3번에서 받은 프로그램을 실행시키면 아래와 같은 화면이 나타난다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 560px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99927A415C466FBA3B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99927A415C466FBA3B&quot; width=&quot;560&quot; height=&quot;150&quot; filename=&quot;2019-01-22 10 12 27.png&quot; filemime=&quot;image/png&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.notion.so/83bf47952de24b218d8646a06a5b4d12#313b4c322eaf444eb72887fc1606737c&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Emulation Type을 DualShock 4 Controller로 변경하고 Connect 버튼을 눌러준다.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;5. PS 리모트플레이 다운로드 및 설치&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://remoteplay.dl.playstation.net/remoteplay/module/win/RemotePlayInstaller.exe&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://remoteplay.dl.playstation.net/remoteplay/module/win/RemotePlayInstaller.exe&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://remoteplay.dl.playstation.net/remoteplay/module/win/RemotePlayInstaller.exe&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;다운 받고 설치하고 실행한다음 플스계정으로 로그인하면 바로 접속된다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://remoteplay.dl.playstation.net/remoteplay/lang/kr/index.html&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://remoteplay.dl.playstation.net/remoteplay/lang/kr/index.html&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;https://remoteplay.dl.playstation.net/remoteplay/lang/kr/index.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;











































&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;리모트 플레이 설정방법은 위 링크를 참고하면 된다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>geek_stuff/note</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460634</guid>
      <comments>https://1kko.com/2460634#entry2460634comment</comments>
      <pubDate>Tue, 22 Jan 2019 10:22:26 +0900</pubDate>
    </item>
    <item>
      <title>Windows VHD 사용해서 Multiboot PC 만들기</title>
      <link>https://1kko.com/2460633</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;준비물 Windows 7, 8.1, 10 (32/64 bit) iso 또는 DVD&lt;/p&gt;&lt;p&gt;VHD를 사용해서 진행할 예정.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;순서는 다음과 같이 한다. 사실 설치 순서에 상관은 없으나, 헷갈리므로, 아래와 같이 설정&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;|| 순서 || OS 이름 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| VHD 파일명 &amp;nbsp; || Hostname || BCD Label Description || 사용자명 || VHD 사이즈 ||&lt;/p&gt;&lt;p&gt;| 1 &amp;nbsp; &amp;nbsp; | Windows 7 32bit &amp;nbsp; | win7_32.vhd &amp;nbsp;| win7-32 &amp;nbsp;| Windows 7 32bit &amp;nbsp; | user | 40960 |&lt;/p&gt;&lt;p&gt;| 2 &amp;nbsp; &amp;nbsp; | WIndows 7 64bit &amp;nbsp; | win7_64.vhd &amp;nbsp;| win7-64 &amp;nbsp;| WIndows 7 64bit &amp;nbsp; | user | 40960 |&lt;/p&gt;&lt;p&gt;| 3 &amp;nbsp; &amp;nbsp; | Windows 8.1 32bit | win8_32.vhd &amp;nbsp;| win81-32 | Windows 8.1 32bit | user | 40960 |&lt;/p&gt;&lt;p&gt;| 4 &amp;nbsp; &amp;nbsp; | Windows 8.1 64bit | win8_64.vhd &amp;nbsp;| win81-64 | Windows 8.1 64bit | user | 40960 |&lt;/p&gt;&lt;p&gt;| 5 &amp;nbsp; &amp;nbsp; | Windows 10 32bit &amp;nbsp;| win10_32.vhd | win10-32 | Windows 10 32bit &amp;nbsp;| user | 40960 |&lt;/p&gt;&lt;p&gt;| 6 &amp;nbsp; &amp;nbsp; | Windows 10 64bit &amp;nbsp;| win10_64.vhd | win10-64 | Windows 10 64bit &amp;nbsp;| user | 40960 |&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. Windows 7 32bit 설치&lt;/p&gt;&lt;p&gt;제일 처음에 한번만 하면 된다. 그 다음부턴 2의 반복이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;일단 CD로 부팅해서 설치진입.&lt;/p&gt;&lt;p&gt;1. 다음과 같이 콘솔에 입력&lt;/p&gt;&lt;p&gt;X:\Sources&amp;gt; diskpart&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; select disk 0&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; create partition primary&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; format quick&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; assign letter=d&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; create vdisk file=d:\win7_32.vhd maximum=40960 type=expandable&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; attach vdisk&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; exit&lt;/p&gt;&lt;p&gt;X:\Sources&amp;gt; exit&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- Disk 0을 선택해서 Primary Partition을 하나 만든다음, D드라이브로 할당.&lt;/p&gt;&lt;p&gt;- 40960MB짜리 VHD를 만들고 Attach(mount)함.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. &quot;설치 유형&quot;에서 &quot;사용자 지정&quot;으로 선택&lt;/p&gt;&lt;p&gt;3. Windows 설치할 위치를 '드라이브 1 할당되지 않은 공간'의 40GB짜리 파티션 선택후 설치 진행&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;설치 완료 후 작업.&lt;/p&gt;&lt;p&gt;4. Windows 설치 완료 후 관리자 모드로 CMD 연다.&lt;/p&gt;&lt;p&gt;5. 아래와 같이 콘솔에 입력&lt;/p&gt;&lt;p&gt;C:\Windows\system32&amp;gt;bcdedit /set {current} description &quot;Windows 7 32bit&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. Windows 7 64bit 설치&lt;/p&gt;&lt;p&gt;역시 CD로 부팅해서 설치진입.&lt;/p&gt;&lt;p&gt;1. 다음과 같이 콘솔에 입력&lt;/p&gt;&lt;p&gt;X:\Sources&amp;gt; diskpart&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; create vdisk file=d:\win7_64.vhd maximum=40960 type=expandable&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; attach vdisk&lt;/p&gt;&lt;p&gt;DISKPART&amp;gt; exit&lt;/p&gt;&lt;p&gt;X:\Sources&amp;gt; exit&lt;/p&gt;&lt;p&gt;2. &quot;설치 유형&quot;에서 &quot;사용자 지정&quot;으로 선택&lt;/p&gt;&lt;p&gt;3. Windows 설치할 위치를 '드라이브 1 할당되지 않은 공간'의 40GB짜리 파티션 선택후 설치 진행&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;설치 완료 후 작업.&lt;/p&gt;&lt;p&gt;4. Windows 설치 완료 후 관리자 모드로 CMD 연다.&lt;/p&gt;&lt;p&gt;5. 아래와 같이 콘솔에 입력&lt;/p&gt;&lt;p&gt;C:\Windows\system32&amp;gt;bcdedit /set {current} description &quot;Windows 7 64bit&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이후엔 2의 반복입니다.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460633</guid>
      <comments>https://1kko.com/2460633#entry2460633comment</comments>
      <pubDate>Fri, 2 Oct 2015 11:30:51 +0900</pubDate>
    </item>
    <item>
      <title>요즘의 관심사 by ikko 2014-07-16</title>
      <link>https://1kko.com/2460632</link>
      <description>&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;스마트리모콘&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;RedEye&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;처음 샀는데 기능이 완전 맘에듬. 그런데 망함. 그리고 나중에 고장남. 그래서 방황이&amp;nbsp;시작됨.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://thinkflood.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://thinkflood.com/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Nath-YKB&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;지인이 이걸 샀는데, 속도는 엄청 빠르고 동작도 잘하지만 외부 API가 없어! 중국산이라 중국UI가 맘에 안듬.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5; font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://www.sznathan.com/smarthome-item/92-wifi-universal-controller-.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://www.sznathan.com/smarthome-item/92-wifi-universal-controller-.html&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Broadlink&amp;nbsp;RM2&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;제조사에 직접 연락해서 API 제공된다고 해서 샀는데,&amp;nbsp;사용하던 리모콘이 수신안됨. 게다가 API가 아니라 그냥 통으로 앱 소스를 보내옴. ㄷㄷㄷ&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://www.broadlink.com.cn/home/product.php?mod=RM2&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://www.broadlink.com.cn/home/product.php?mod=RM2&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Global Cache iTach Flex&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-family: Helvetica;&quot;&gt;그래서 이번엔 미쿸에서 만들어진걸 찾아봤는데 꽤나 작고 괜춘해서 샀다가.... 설정방법이 뭐 이리 어려워! 포기ㅠㅠ&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://www.globalcache.com/products/itachflex/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.globalcache.com/products/itachflex/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;IRKit&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;그래! 이거야! 이거라고!! restful API 지원에 오픈하드웨어! GPIO 핀아웃도 있다고! 으헝헝 일본아마존에서만 판다. 미쿸은 거리도먼데 더 비싸!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://getirkit.com/en/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://getirkit.com/en/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;font color=&quot;#555555&quot; face=&quot;Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 12pt; line-height: 20px; font-family: Helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Web&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#555555&quot; face=&quot;Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 12pt; line-height: 20px; font-family: Helvetica;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;GitHub Pages&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;일단 정적인 컨텐츠는 웹에 올릴수 있다고. CNAME도 지원해서 자신이 원하는 도메인으로도 세팅 가능!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#555555&quot; face=&quot;Helvetica Neue, Helvetica, Arial, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 11px; line-height: 20px;&quot;&gt;&lt;a href=&quot;https://pages.github.com&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;https://pages.github.com&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;BasketJS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;javascript 등을&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Localstorage에 담아놓고 사용할 수 있다. IndexedDB가 훨 빠르다고 하던데.. 내가&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;그걸 안쓰는이유는 그냥 내가 게으르기 때문.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;a href=&quot;http://addyosmani.github.io/basket.js/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://addyosmani.github.io/basket.js/&lt;/span&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;pace.js&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;페이지 로딩시 표시되는 Loading 메세지를&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;꽤나 미려한 UI로 뿌려줌. 게다가 그냥 스크립트만 header에 넣고 로딩만 한번 해주면 끝. 구구절절 여기저기 마킹해서 표시할 필요가 없다!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;a href=&quot;https://github.com/HubSpot/pace&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;https://github.com/HubSpot/pace&lt;/span&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;BootsWatch&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;부트스트랩3.x용 테마! 그냥 다운받아서 include 해도 되고, 아니면 CDN을 직접 링크 걸어도&amp;nbsp;됨&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://bootswatch.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://bootswatch.com/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;RealFaviconGenerator&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;내가 개인적으로 제일 좋아하는 파비콘 생성 사이트. 모든 디바이스에 맞는 파비콘을 생성하여 준다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;a href=&quot;http://realfavicongenerator.net/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;http://realfavicongenerator.net/&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica; font-size: 12pt;&quot;&gt;iOS 7 Jailbreak Apps&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;font-family: Helvetica; background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;Activator - 무료&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;이벤트 Driven Action Helper&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;Applocker - $0.99&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;특정 앱 실행시 비밀번호 걸수 있음&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;Auxo 2 (iOS 7) - $3.99&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;앱 스위칭+Control Center를 합쳐놓은 아주 유용한 앱&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;FlipControlCenter - 무료&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;이걸 같이 설치해야 Auxo2 에서 Wifi 또는 Bluetooth를 On/Off시 SpringBoard의 Crash를 방지할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;CameraTweak 2 - $1.49&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;기본 카메라에 다양한&amp;nbsp;기능을 추가한다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;ClearOnOpen - 무료&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;SpotLight 검색시 기존에 입력했던 항목을 자동으로 지워준다&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;CleverPin - $1.99&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;특정 WiFi SSID에 접속했을 경우 Password Lock을 해제.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;집의 WiFi SSID를 등록하면 집에서는 비밀번호를 더이상 물어보지 않는다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;Cloaky - $1.5&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;시스템의 특정 액션등을 보이지 않게 설정 및 &lt;/span&gt;&lt;span style=&quot;font-family: Helvetica; background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;StatusBar의 시간포멧을 설정할 수 있음.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;기본은 요일을 표시해주지 않아 &quot;월/일(요일) 시:분&quot; 형식으로 설정해서 사용 중.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;CyDelete7 - 무료&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;바탕화면에 설치된 Cydia App을 쉽게 삭제할 수 있도록 함&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5; font-family: Helvetica;&quot;&gt;&lt;b&gt;iCleaner - 무료&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;폰 내부의 garbage data들을 삭제. 개인적으로&amp;nbsp;이걸로 1.1GB를 이득봄.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;Nitrous - $0.99&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Safari 이외에서 Javascript Engine을 사용할 수 있도록 함.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;기본적으로 Javascript가 많이 들어간 웹사이트를 Chrome등으로 확인할 때 속도 향상&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;OmniSearch - 무료&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;SpotLight를 이용하여 검색시 Appstore, Cydia, Youtube등을 검색할 수 있도록 리스트를 보여줌. 별도 Repo 추가해야 함.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Helvetica&quot;&gt;CustomSpotlightAction도 있지만 모바일에서 키보드를 입력하는건 피곤한 일이므로 개인적으로 OmniSearch를 선호&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;repo:&amp;nbsp;http://cydia.myrepospace.com/jwu/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5; font-family: Helvetica;&quot;&gt;&lt;b&gt;Polus - $0.99&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;Auxo 2의 개발자가 개발한 것으로 Control Center의 앱 및 토글을&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&amp;nbsp;Customize 할 수 있음.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;SpotDefine - 무료&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;SpotLight를 이용하여 내장 사전을 이용한 단어 검색.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;tsProtector P - $1.39&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;시스템 파일에 접근하는 앱을 차단한다. (뱅킹등의 앱들이 탈옥감지를 위해 시스템 파일에 접근하나 이 앱을 이용하여 차단할 수 있음)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;&lt;b&gt;WiCarrier - 무료&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;olleh 또는 SKT를 빼고 현재 접속된 Wifi의 SSID 를 보여준다&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica;&quot;&gt;. 터치하면 IP도 보여준다&lt;/span&gt;&lt;/p&gt;</description>
      <category>geek_stuff/today</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460632</guid>
      <comments>https://1kko.com/2460632#entry2460632comment</comments>
      <pubDate>Wed, 16 Jul 2014 09:37:07 +0900</pubDate>
    </item>
    <item>
      <title>요즘의 관심사 by ikko 2014-05-12</title>
      <link>https://1kko.com/2460631</link>
      <description>&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;스마트 도어락&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;b&gt;CHUI&lt;/b&gt; (발매전 $199)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;얼굴 인식 및 음성 안내&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.getchui.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.getchui.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;KISI&lt;/b&gt; (기기$349 + 사용자별 월 과금, 최저 $2)&lt;/p&gt;&lt;p&gt;밀어서 잠금해제 (swipe-to-unlock)&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.getkisi.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.getkisi.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;August&lt;/b&gt; (발매전 $&lt;span style=&quot;color: rgb(68, 68, 68); font-family: dotum, arial, sans-serif; line-height: 14.880000114440918px; background-color: transparent; font-size: 9pt;&quot;&gt;199)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;도어락과 일체형&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.august.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://www.august.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Lockitron&lt;/b&gt; (발매전 $179)&lt;/p&gt;&lt;p&gt;호환 도어락 다수, CHUI의 동영상에 Lockitron이&amp;nbsp;아주 잠깐 나오는데, 같은회사는 아닌듯.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://lockitron.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://lockitron.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;음성인식&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;VoiceCommand v3.0 for the Raspberry Pi&lt;/b&gt;&lt;/p&gt;&lt;p&gt;라즈베리파이를 이용해서 음성인식 및 응답 (영어 전용)&lt;/p&gt;&lt;p&gt;VoiceCommand는 PiAUISuite에 있는 패키지&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://stevenhickson.blogspot.kr/2013/06/voice-command-v30-for-raspberry-pi.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://stevenhickson.blogspot.kr/2013/06/voice-command-v30-for-raspberry-pi.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;GPIO를 이용한 간단한 회로를 구성해서 아래와 같이 사용할 수 있다.,&lt;/p&gt;&lt;p&gt;- 라즈베리 파이로 음성인식 전등 켜고 끄기&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://computers.tutsplus.com/articles/how-to-control-a-lamp-with-voice-commands-and-a-raspberry-pi--mac-60825&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://computers.tutsplus.com/articles/how-to-control-a-lamp-with-voice-commands-and-a-raspberry-pi--mac-60825&lt;/a&gt;&lt;/p&gt;&lt;p&gt;- 조금더 복잡한 Microwave (전자렌지) 컨트롤&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://madebynathan.com/2013/07/10/raspberry-pi-powered-microwave/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://madebynathan.com/2013/07/10/raspberry-pi-powered-microwave/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;Jasper&lt;/b&gt;&lt;/p&gt;&lt;p&gt;라즈베리 파이 전용 SD카드&amp;nbsp;패키지로 만들어버렸으나 자유도가 엉망.&lt;/p&gt;&lt;p&gt;반드시 WIFI가 있어야 한다던지 호환되는 SoundCard등의 설정을 마음대로 바꿔버려서 기존 패키지에 직접 설치하기엔 나같은 일반인은 너무 어렵다는게 함정&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://jasperproject.github.io/documentation/software/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://jasperproject.github.io/documentation/software/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;Wit.ai&lt;/b&gt;&lt;/p&gt;&lt;p&gt;음성인식 API를 지불하고 사용할 수도 있다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://wit.ai/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://wit.ai/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;PWS (Personal Weather Station)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Netatmo Weather Station&lt;/b&gt;&lt;/p&gt;&lt;p&gt;개인 기상 측정 스테이션. 실내 실외용 모듈이 따로 있어서 실내용일 경우 공기의 질, 습도등을 표시해 준다고..&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://shop.netatmo.com/eur_en/netatmo-weather-station-1.html&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://shop.netatmo.com/eur_en/netatmo-weather-station-1.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Raspberry Pi로 개인 기상 스테이션 만들기&lt;/b&gt;&lt;/p&gt;&lt;p&gt;위와 비슷한(?) 걸 직접 만들수 있는 방법&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/wiring&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/wiring&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;LCD 포함된 버전&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://learn.adafruit.com/trinket-temperature-humidity-lcd-display?view=all&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://learn.adafruit.com/trinket-temperature-humidity-lcd-display?view=all&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;필요한 부품은 국내에서도 구할 수 있다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;대충 합쳐서 6~7만원정도 할 텐데, DIY족들 말고는 그냥 Netatmo하나 사는게 완성도가 더 좋을 것 같다.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;a href=&quot;http://eleparts.co.kr/EPX3CHDB&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://eleparts.co.kr/EPX3CHDB&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;a href=&quot;http://eleparts.co.kr/EPX3CHD8&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://eleparts.co.kr/EPX3CHD8&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;터미널&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;TermKit&lt;/b&gt;&lt;/p&gt;&lt;p&gt;오래전 GitHub에서 가장 Hot한 NodeJS 사용한 터미널 에뮬레이터...는 아니고 터미널 대체제 이런 느낌이던데, 오랫동안 업데이트 되지 않고 있음... 가장 큰 이유는 이를 적용하려면 기존에 사용하던 다른 cli 기반 어플들을 다 손봐줘야 한다고...&lt;/p&gt;&lt;p&gt;처음 맥으로 개발된 모양이지만 그 후에 능력자들이 붙으면서 win, mac 용으로도 얼추 개발이 된 듯 하다.&lt;/p&gt;&lt;p&gt;하지만 요즘 크롬이며 이런저런것들이 업데이트 되면서 다시 동작하지 않는 모양...&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/unconed/TermKit&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/unconed/TermKit&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Final Term&lt;/b&gt;&lt;/p&gt;&lt;p&gt;따라서 이를 대체할 다른 것들을 좀 찾아보고 있는데, Final Term이라는것이 눈에 띄였다.&lt;/p&gt;&lt;p&gt;일단 개발중인 상태로 다수의 버그가 확인 되었지만 Proof of Concept 정도는 확인 가능하다. 모양이 Sublime Text와 비슷하다는게 좀 신기.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://finalterm.org/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://finalterm.org/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;b&gt;Terminology&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;다만 위에 소개한 Final Term은 그림을 표시해주지 않아! 그래서 찾아낸게 Terminology.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;원래 Gnome 과 같은 데스크탑 쉘인&amp;nbsp;enlightenment 의 요소인데 gnome에서도 사용가능.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; font-size: 9pt; line-height: 1.5;&quot;&gt;ubuntu/fedora repo도 있지만 v0.3이라&amp;nbsp;최신버전(v0.5)이 아니고, 최신으로 사용하려면&amp;nbsp;패키지를 많이 깔고 컴파일을 해야&amp;nbsp;하는게 흠.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;a href=&quot;https://enlightenment.org/p.php?p=about/terminology&amp;amp;l=en&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://enlightenment.org/p.php?p=about/terminology&amp;amp;l=en&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>geek_stuff/today</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460631</guid>
      <comments>https://1kko.com/2460631#entry2460631comment</comments>
      <pubDate>Mon, 12 May 2014 13:48:42 +0900</pubDate>
    </item>
    <item>
      <title>구글에서 제공하는 웹사이트 안전성 데이터</title>
      <link>https://1kko.com/2460630</link>
      <description>&lt;p&gt;아래 주소처럼 site= 뒤에 도메인을 붙여주면 잘 동작한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://safebrowsing.clients.google.com/safebrowsing/diagnostic?hl=en-US&amp;amp;site=naver.com&quot;&gt;http://safebrowsing.clients.google.com/safebrowsing/diagnostic?hl=en-US&amp;amp;site=1kko.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/web &amp;amp; network</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460630</guid>
      <comments>https://1kko.com/2460630#entry2460630comment</comments>
      <pubDate>Wed, 30 Oct 2013 12:03:35 +0900</pubDate>
    </item>
    <item>
      <title>짧은 노트</title>
      <link>https://1kko.com/2460629</link>
      <description>&lt;p&gt;Firefox plugin 중 Lightbeam 이란것을 알아볼 것.&lt;/p&gt;&lt;p&gt;&amp;nbsp;- 보안 플러그인 류&lt;/p&gt;&lt;p&gt;&amp;nbsp;- 현재 방문하는 페이지에서 다른 domain에 접속하게 될 경우 (예 iframe으로 다른 사이트를 연다던지, google analytics 같은..) 이를 visual 하게 보여준다.&lt;/p&gt;</description>
      <category>geek_stuff/note</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460629</guid>
      <comments>https://1kko.com/2460629#entry2460629comment</comments>
      <pubDate>Mon, 28 Oct 2013 08:32:04 +0900</pubDate>
    </item>
    <item>
      <title>우분투 preseed 예제</title>
      <link>https://1kko.com/2460628</link>
      <description>&lt;p&gt;# Ubuntu Server Quick Install&lt;/p&gt;&lt;p&gt;# by Dustin Kirkland &amp;lt;kirkland@ubuntu.com&amp;gt;&lt;/p&gt;&lt;p&gt;# &amp;nbsp;* Documentation: http://bit.ly/uquick-doc&lt;/p&gt;&lt;p&gt;# modified by ikko&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Localization &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; debian-installer/locale string en_US.UTF-8&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; debian-installer/splash boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; console-setup/ask_detect &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; console-setup/layoutcode &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string us&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; console-setup/variantcode &amp;nbsp; &amp;nbsp; &amp;nbsp; string&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Network configuration &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; netcfg/choose_interface select eth0&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; netcfg/get_nameservers &amp;nbsp;string&amp;nbsp;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; netcfg/get_ipaddress &amp;nbsp; &amp;nbsp;string&amp;nbsp;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; netcfg/get_netmask &amp;nbsp; &amp;nbsp; &amp;nbsp;string 255.255.255.0&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; netcfg/get_gateway &amp;nbsp; &amp;nbsp; &amp;nbsp;string&amp;nbsp;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; netcfg/confirm_static &amp;nbsp; boolean true&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Mirror settings &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;# If you select ftp, the mirror/country string does not need to be set&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; mirror/country string manual&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; mirror/protocol string http&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; mirror/http/hostname string ftp.daum.net&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; mirror/http/directory string /ubuntu&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; mirror/http/proxy string&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# FTP mirror configuration&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp;mirror/protocol string ftp&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp;mirror/ftp/hostname string mirror.home.lan&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp;mirror/ftp/directory string /pub/linux/ubuntu&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp;mirror/ftp/proxy string&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Alternatively: by default, the installer uses CC.archive.ubuntu.com where&lt;/p&gt;&lt;p&gt;# CC is the ISO-3166-2 code for the selected country. You can preseed this&lt;/p&gt;&lt;p&gt;# so that it does so without asking.&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp;mirror/http/mirror select CC.archive.ubuntu.com&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp;mirror/http/mirror select kr.archive.ubuntu.com&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Partitioning &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;# If the system has free space you can choose to only partition that space.&lt;/p&gt;&lt;p&gt;# This is only honoured if partman-auto/method (below) is not set.&lt;/p&gt;&lt;p&gt;# Alternatives: custom, some_device, some_device_crypto, some_device_lvm.&lt;/p&gt;&lt;p&gt;#d-i partman-auto/init_automatically_partition select biggest_free&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Alternatively, you may specify a disk to partition. If the system has only&lt;/p&gt;&lt;p&gt;# one disk the installer will default to using that, but otherwise the device&lt;/p&gt;&lt;p&gt;# name must be given in traditional, non-devfs format (so e.g. /dev/hda or&lt;/p&gt;&lt;p&gt;# /dev/sda, and not e.g. /dev/discs/disc0/disc).&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman-auto/disk string /dev/sda&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# In addition, you'll need to specify the method to use.&lt;/p&gt;&lt;p&gt;# The presently available methods are:&lt;/p&gt;&lt;p&gt;# - regular: use the usual partition types for your architecture&lt;/p&gt;&lt;p&gt;# - lvm: &amp;nbsp; &amp;nbsp; use LVM to partition the disk&lt;/p&gt;&lt;p&gt;# - crypto: &amp;nbsp;use LVM within an encrypted partition&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman-auto/method string regular&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# If one of the disks that are going to be automatically partitioned&lt;/p&gt;&lt;p&gt;# contains an old LVM configuration, the user will normally receive a&lt;/p&gt;&lt;p&gt;# warning. This can be preseeded away...&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman-lvm/device_remove_lvm boolean true&lt;/p&gt;&lt;p&gt;# The same applies to pre-existing software RAID array:&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman-lvm/device_remove_md boolean true&lt;/p&gt;&lt;p&gt;# And the same goes for the confirmation to write the lvm partitions.&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman-lvm/confirm boolean true&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;## Partitioning using LVM&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# For LVM partitioning, you can select how much of the volume group to use&lt;/p&gt;&lt;p&gt;# for logical volumes.&lt;/p&gt;&lt;p&gt;#d-i partman-auto-lvm/guided_size string max&lt;/p&gt;&lt;p&gt;#d-i partman-auto-lvm/guided_size string 10GB&lt;/p&gt;&lt;p&gt;#d-i partman-auto-lvm/guided_size string 50%&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# You can choose one of the three predefined partitioning recipes:&lt;/p&gt;&lt;p&gt;# - atomic: all files in one partition&lt;/p&gt;&lt;p&gt;# - home: &amp;nbsp; separate /home partition&lt;/p&gt;&lt;p&gt;# - multi: &amp;nbsp;separate /home, /usr, /var, and /tmp partitions&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman-auto/choose_recipe select atomic&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Or provide a recipe of your own...&lt;/p&gt;&lt;p&gt;# If you have a way to get a recipe file into the d-i environment, you can&lt;/p&gt;&lt;p&gt;# just point at it.&lt;/p&gt;&lt;p&gt;#d-i partman-auto/expert_recipe_file string /hd-media/recipe&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# If not, you can put an entire recipe into the preconfiguration file in one&lt;/p&gt;&lt;p&gt;# (logical) line. This example creates a small /boot partition, suitable&lt;/p&gt;&lt;p&gt;# swap, and uses the rest of the space for the root partition:&lt;/p&gt;&lt;p&gt;#d-i partman-auto/expert_recipe string &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp;boot-root :: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;40 50 100 ext3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$primary{ } $bootable{ } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method{ format } format{ } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use_filesystem{ } filesystem{ ext3 } \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mountpoint{ /boot } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;500 10000 1000000000 ext3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method{ format } format{ } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use_filesystem{ } filesystem{ ext3 } \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mountpoint{ / } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;64 512 300% linux-swap &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method{ swap } format{ } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \&lt;/p&gt;&lt;p&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# The full recipe format is documented in the file partman-auto-recipe.txt&lt;/p&gt;&lt;p&gt;# included in the 'debian-installer' package or available from D-I source&lt;/p&gt;&lt;p&gt;# repository. This also documents how to specify settings such as file&lt;/p&gt;&lt;p&gt;# system labels, volume group names and which physical devices to include&lt;/p&gt;&lt;p&gt;# in a volume group.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# This makes partman automatically partition without confirmation, provided&lt;/p&gt;&lt;p&gt;# that you told it what to do using one of the methods above.&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman/confirm_write_new_label boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman/choose_partition &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;select Finish partitioning and write changes to disk&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman/confirm boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman/confirm_nooverwrite boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; partman/default_filesystem string ext4&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Clock and time zone setup &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;# Controls whether or not the hardware clock is set to UTC.&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; clock-setup/utc boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; clock-time/zone string Asia/Seoul&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; clock-setup/ntp boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; clock-setup/ntp-server &amp;nbsp;string 0.pool.ntp.org&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; base-installer/kernel/image &amp;nbsp; &amp;nbsp; string linux-server&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/root-login &amp;nbsp; &amp;nbsp; &amp;nbsp; boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/root-password password p@ssw0rd&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/root-password-again password&amp;nbsp;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;p@ssw0rd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/make-user &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/user-fullname &amp;nbsp; &amp;nbsp;string eats&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/username string ikko&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/user-password password&amp;nbsp;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;p@ssw0rd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/user-password-again password&amp;nbsp;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;p@ssw0rd&lt;/span&gt;&lt;/p&gt;&lt;p&gt;#d-i &amp;nbsp; &amp;nbsp; passwd/user-password-crypted &amp;nbsp; &amp;nbsp;password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4.&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/user-uid string&amp;nbsp;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; user-setup/allow-password-weak &amp;nbsp;boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; user-setup/encrypt-home boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; passwd/user-default-groups &amp;nbsp; &amp;nbsp; &amp;nbsp;string adm cdrom dialout lpadmin plugdev sambashare&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; apt-setup/services-select &amp;nbsp; &amp;nbsp; &amp;nbsp; multiselect security&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; apt-setup/security_host string ftp.daum.net&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; apt-setup/security_path string /ubuntu&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; debian-installer/allow_unauthenticated &amp;nbsp;string false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; pkgsel/upgrade &amp;nbsp;select safe-upgrade&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; pkgsel/language-packs &amp;nbsp; multiselect&amp;nbsp;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; pkgsel/update-policy &amp;nbsp; &amp;nbsp;select none&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; pkgsel/updatedb boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; grub-installer/skip &amp;nbsp; &amp;nbsp; boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; lilo-installer/skip &amp;nbsp; &amp;nbsp; boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; grub-installer/only_debian &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; grub-installer/with_other_os &amp;nbsp; &amp;nbsp;boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; finish-install/keep-consoles &amp;nbsp; &amp;nbsp;boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; finish-install/reboot_in_progress &amp;nbsp; &amp;nbsp; &amp;nbsp; note&amp;nbsp;&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; cdrom-detect/eject &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean true&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; debian-installer/exit/halt &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; debian-installer/exit/poweroff &amp;nbsp;boolean false&lt;/p&gt;&lt;p&gt;d-i &amp;nbsp; &amp;nbsp; pkgsel/include string openssh-server ssh vim ntp byobu unattended-upgrades&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Advanced options &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;### Running custom commands during the installation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;###&lt;/p&gt;&lt;p&gt;################################################################################&lt;/p&gt;&lt;p&gt;# d-i preseeding is inherently not secure. Nothing in the installer checks&lt;/p&gt;&lt;p&gt;# for attempts at buffer overflows or other exploits of the values of a&lt;/p&gt;&lt;p&gt;# preconfiguration file like this one. Only use preconfiguration files from&lt;/p&gt;&lt;p&gt;# trusted locations! To drive that home, and because it's generally useful,&lt;/p&gt;&lt;p&gt;# here's a way to run any shell command you'd like inside the installer,&lt;/p&gt;&lt;p&gt;# automatically.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# This first command is run as early as possible, just after&lt;/p&gt;&lt;p&gt;# preseeding is read.&lt;/p&gt;&lt;p&gt;#d-i preseed/early_command string anna-install some-udeb&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# This command is run just before the install finishes, but when there is&lt;/p&gt;&lt;p&gt;# still a usable /target directory. You can chroot to /target and use it&lt;/p&gt;&lt;p&gt;# directly, or use the apt-install and in-target commands to easily install&lt;/p&gt;&lt;p&gt;# packages and run commands in the target system.&lt;/p&gt;&lt;p&gt;#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;in-target touch /root/installed&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460628</guid>
      <comments>https://1kko.com/2460628#entry2460628comment</comments>
      <pubDate>Tue, 22 Oct 2013 17:43:34 +0900</pubDate>
    </item>
    <item>
      <title>apt 사용시 proxy 사용</title>
      <link>https://1kko.com/2460627</link>
      <description>&lt;p&gt;apt 사용할 때 proxy 뒤에 있지만 local mirroring 이 존재할 때, 다음과 같은 설정을 추가하면 된다.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;root@client:# vi /etc/apt.conf&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Acquire::http::proxy {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1 DIRECT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;http://192.168.0.254:3128/&quot;;&lt;br /&gt;};&lt;br /&gt;Acquire::https::proxy {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1 DIRECT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;https://192.168.0.254:3128/&quot;;&lt;br /&gt;};&lt;br /&gt;Acquire::ftp::proxy {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1 DIRECT; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;ftp://192.168.0.254:3128/&quot;;&lt;br /&gt;};&lt;br /&gt;Acquire::socks::proxy {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.1 DIRECT; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;socks://192.168.0.254:3128/&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;192.168.0.1은 local mirroing server 주소 또는 실제 repository address&lt;br /&gt;&lt;/p&gt;&lt;p&gt;suffix로 DIRECT 를 추가하면 proxy를 타지 않는다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;192.168.0.254는 proxy address&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;세미콜론(;) 주의.&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460627</guid>
      <comments>https://1kko.com/2460627#entry2460627comment</comments>
      <pubDate>Mon, 6 Aug 2012 11:12:03 +0900</pubDate>
    </item>
    <item>
      <title>ubuntu repository mirroring</title>
      <link>https://1kko.com/2460626</link>
      <description>&lt;p&gt;우분투 레포지토리 미러링&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;내부에 ubuntu 설치된 pc나 서버가 여러대일 경우 각각 하나씩 다운받는 것보다 미러링을 받는게 훨씬 빠르다.&lt;/p&gt;&lt;p&gt;미러링은 의외로 간단한 듯.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;1. 서버에서 설정하기&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;일단 apt-mirror를 설치&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;root@server:/# apt-get install apt-mirror&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;mytubeelement turnoffpagedbuffering=&quot;false&quot; hideannotations=&quot;false&quot; savebandwidth=&quot;false&quot; enablefullscreen=&quot;true&quot; onlynotification=&quot;false&quot; fshd=&quot;false&quot; quality=&quot;hd720&quot; autoplayonsmartbuffer=&quot;true&quot; autoplayonbufferpercentage=&quot;42&quot; autoplayonbuffer=&quot;false&quot; autobuffer=&quot;true&quot; autoplay=&quot;false&quot; hidepopup=&quot;false&quot; loop=&quot;false&quot; enable=&quot;true&quot; loglevel=&quot;0&quot; soundnotification=&quot;false&quot; desktopnotification=&quot;true&quot; id=&quot;myTubeElement&quot;&gt;&lt;bundle any_moment=&quot;Any Moment&quot; sec=&quot;Sec&quot; min=&quot;Min&quot; hr=&quot;Hr&quot; stopped=&quot;Stopped&quot; buffering_stalled=&quot;Buffering is stalled. Will stop.&quot; completed=&quot;Completed&quot; will_start_playing_when_initialized=&quot;Will start playing when initialized&quot; will_start_buffering_when_initialized=&quot;Will start buffering when initialized&quot; waiting=&quot;Waiting&quot; calculating=&quot;Calculating&quot; adblock_interferance_message=&quot;Adblock (or similar extension) is known to interfere with SmartVideo. Please add this url to adblock whitelist.&quot; error=&quot;Error&quot; notification_status_delimitor=&quot;;&quot; desktop_notification_denied=&quot;You have denied permission for desktop notification for this site&quot; click_to_enable_for_this_site=&quot;Click to enable for this site&quot; off=&quot;Off&quot; on=&quot;On&quot; not_supported=&quot;Not Supported&quot; buffered_message=&quot;The video has been buffered as requested and is ready to play.&quot; hyphen=&quot;-&quot; buffered=&quot;Buffered&quot; video_buffered=&quot;Video Buffered&quot; no_notification_supported_on_your_browser=&quot;No notification style supported on your browser version&quot; global_preferences=&quot;Global Preferences&quot; estimated_time=&quot;Estimated Time&quot; only_notify=&quot;Only Notify&quot; loop=&quot;Loop&quot; continuation_on_next_line=&quot;-&quot; desktop_notification=&quot;Desktop Notification&quot; sound=&quot;Sound&quot; start_playing_when_buffered=&quot;Start playing when buffered&quot; smart_buffer=&quot;Smart Buffer&quot; percentage=&quot;%&quot; label_delimitor=&quot;:&quot;&gt;&lt;/bundle&gt;&lt;/mytubeelement&gt;&lt;p&gt;이후 /etc/apt/mirror.list를 수정&lt;/p&gt;&lt;p&gt;i-386과 amd-64를 동시에 미러링 한다면 다음과 같이 설정&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;############# config ##################&lt;br /&gt;#&lt;br /&gt;set base_path&amp;nbsp;&amp;nbsp;&amp;nbsp; /backup/backupdisk1/ubuntu&lt;br /&gt;#&lt;br /&gt;# set mirror_path&amp;nbsp; $base_path/mirror&lt;br /&gt;# set skel_path&amp;nbsp;&amp;nbsp;&amp;nbsp; $base_path/skel&lt;br /&gt;# set var_path&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $base_path/var&lt;br /&gt;# set cleanscript $var_path/clean.sh&lt;br /&gt;# set defaultarch&amp;nbsp; &amp;lt;running host architecture&amp;gt;&lt;br /&gt;# set postmirror_script $var_path/postmirror.sh&lt;br /&gt;# set run_postmirror 0&lt;br /&gt;set nthreads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;br /&gt;set _tilde 0&lt;br /&gt;#&lt;br /&gt;############# end config ##############&lt;br /&gt;&lt;br /&gt;deb-amd64 http://ftp.daum.net/ubuntu precise main restricted universe multiverse&lt;br /&gt;deb-amd64 http://ftp.daum.net/ubuntu precise-security main restricted universe multiverse&lt;br /&gt;deb-amd64 http://ftp.daum.net/ubuntu precise-updates main restricted universe multiverse&lt;br /&gt;deb-amd64 http://ftp.daum.net/ubuntu precise-proposed main restricted universe multiverse&lt;br /&gt;deb-amd64 http://ftp.daum.net/ubuntu precise-backports main restricted universe multiverse&lt;br /&gt;&lt;br /&gt;# mirror the debian-installer directories for mirroring install base (eg: mini.iso)&lt;br /&gt;deb http://ftp.daum.net/ubuntu precise main main/debian-installer restricted restricted/debian-installer universe universe/debian-installer multiverse multiverse/debian-installer&lt;br /&gt;&lt;br /&gt;deb-i386 http://ftp.daum.net/ubuntu precise main restricted universe multiverse&lt;br /&gt;deb-i386 http://ftp.daum.net/ubuntu precise-security main restricted universe multiverse&lt;br /&gt;deb-i386 http://ftp.daum.net/ubuntu precise-updates main restricted universe multiverse&lt;br /&gt;deb-i386 http://ftp.daum.net/ubuntu precise-proposed main restricted universe multiverse&lt;br /&gt;deb-i386 http://ftp.daum.net/ubuntu precise-backports main restricted universe multiverse&lt;br /&gt;&lt;br /&gt;deb-src http://ftp.daum.net/ubuntu precise main restricted universe multiverse&lt;br /&gt;deb-src http://ftp.daum.net/ubuntu precise-security main restricted universe multiverse&lt;br /&gt;deb-src http://ftp.daum.net/ubuntu precise-updates main restricted universe multiverse&lt;br /&gt;deb-src http://ftp.daum.net/ubuntu precise-proposed main restricted universe multiverse&lt;br /&gt;deb-src http://ftp.daum.net/ubuntu precise-backports main restricted universe multiverse&lt;br /&gt;&lt;br /&gt;clean http://ftp.daum.net/ubuntu&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apt-mirror 실행&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;root@server:/etc/apt# apt-mirror&lt;/p&gt;&lt;p&gt;root@server:/etc/apt# apt-mirror &lt;br /&gt;perl: warning: Setting locale failed.&lt;br /&gt;perl: warning: Please check that your locale settings:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LANGUAGE = (unset),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_ALL = (unset),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_PAPER = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_ADDRESS = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_MONETARY = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_NUMERIC = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_TELEPHONE = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_IDENTIFICATION = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_MEASUREMENT = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_TIME = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LC_NAME = &quot;ko_KR.UTF-8&quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LANG = &quot;en_US.UTF-8&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; are supported and installed on your system.&lt;br /&gt;perl: warning: Falling back to the standard locale (&quot;C&quot;).&lt;br /&gt;Downloading 222 index files using 20 threads...&lt;br /&gt;Begin time: Mon Aug&amp;nbsp; 6 10:54:08 2012&lt;br /&gt;[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... &lt;br /&gt;End time: Mon Aug&amp;nbsp; 6 10:54:09 2012&lt;br /&gt;&lt;br /&gt;Proceed indexes: [SSSSSPPPPPPPPPPP]&lt;br /&gt;&lt;br /&gt;0.0 bytes will be downloaded into archive.&lt;br /&gt;Downloading 0 archive files using 0 threads...&lt;br /&gt;Begin time: Mon Aug&amp;nbsp; 6 10:54:20 2012&lt;br /&gt;[0]... &lt;br /&gt;End time: Mon Aug&amp;nbsp; 6 10:54:20 2012&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;현재 repo 용량은 120G정도?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. Client 에서 설정하기&lt;/p&gt;&lt;p&gt;/etc/apt/source.list의 host를 모두 수정한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;deb http://archive.ubuntu.com/ubuntu/ precise main restricted &lt;br /&gt;&lt;/p&gt;&lt;p&gt;등을 모두 deb http://${server_ip}/ubuntu/ precise main restricted로 변경한다.&lt;/p&gt;&lt;p&gt;예를 들면 아래와 같이....&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release i386 (20120423)]/ precise main restricted&lt;br /&gt;&lt;br /&gt;# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to&lt;br /&gt;# newer versions of the distribution.&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise main restricted&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise main restricted&lt;br /&gt;&lt;br /&gt;## Major bug fix updates produced after the final release of the&lt;br /&gt;## distribution.&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise-updates main restricted&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise-updates main restricted&lt;br /&gt;&lt;br /&gt;## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu&lt;br /&gt;## team. Also, please note that software in universe WILL NOT receive any&lt;br /&gt;## review or updates from the Ubuntu security team.&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise universe&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise universe&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise-updates universe&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise-updates universe&lt;br /&gt;&lt;br /&gt;## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu &lt;br /&gt;## team, and may not be under a free licence. Please satisfy yourself as to &lt;br /&gt;## your rights to use the software. Also, please note that software in &lt;br /&gt;## multiverse WILL NOT receive any review or updates from the Ubuntu&lt;br /&gt;## security team.&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise multiverse&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise multiverse&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise-updates multiverse&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise-updates multiverse&lt;br /&gt;&lt;br /&gt;## N.B. software from this repository may not have been tested as&lt;br /&gt;## extensively as that contained in the main release, although it includes&lt;br /&gt;## newer versions of some applications which may provide useful features.&lt;br /&gt;## Also, please note that software in backports WILL NOT receive any review&lt;br /&gt;## or updates from the Ubuntu security team.&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise-backports main restricted universe multiverse&lt;br /&gt;deb-src http://192.168.0.1/ubuntu/ precise-backports main restricted universe multiverse&lt;br /&gt;&lt;br /&gt;deb http://192.168.0.1/ubuntu precise-security main restricted&lt;br /&gt;deb-src http://192.168.0.1/ubuntu precise-security main restricted&lt;br /&gt;deb http://192.168.0.1/ubuntu precise-security universe&lt;br /&gt;deb-src http://192.168.0.1/ubuntu precise-security universe&lt;br /&gt;deb http://192.168.0.1/ubuntu precise-security multiverse&lt;br /&gt;deb-src http://192.168.0.1/ubuntu precise-security multiverse&lt;br /&gt;&lt;br /&gt;## Uncomment the following two lines to add software from Canonical's&lt;br /&gt;## 'partner' repository.&lt;br /&gt;## This software is not part of Ubuntu, but is offered by Canonical and the&lt;br /&gt;## respective vendors as a service to Ubuntu users.&lt;br /&gt;# deb http://archive.canonical.com/ubuntu precise partner&lt;br /&gt;# deb-src http://archive.canonical.com/ubuntu precise partner&lt;br /&gt;&lt;br /&gt;## This software is not part of Ubuntu, but is offered by third-party&lt;br /&gt;## developers who want to ship their latest software.&lt;br /&gt;deb http://extras.ubuntu.com/ubuntu precise main&lt;br /&gt;deb-src http://extras.ubuntu.com/ubuntu precise main&lt;br /&gt;deb http://192.168.0.1/ubuntu/ precise-proposed restricted main multiverse universe&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;또는 스크립트를 사용할 수도...&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;user@client:/etc/apt# mv source.list source.list.orig; cat source.list.orig | sed &quot;s/kr.archive.ubuntu.com/192.168.0.1/&quot; &amp;gt; source.list&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이후 업데이트 한번하고 설치하면 끝&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;user@client:/# apt-get update&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460626</guid>
      <comments>https://1kko.com/2460626#entry2460626comment</comments>
      <pubDate>Mon, 6 Aug 2012 11:05:57 +0900</pubDate>
    </item>
    <item>
      <title>GIT 이전</title>
      <link>https://1kko.com/2460625</link>
      <description>&lt;p&gt;GIT public repository 이전&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;apt-get intall git git-core git-daemon&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;/etc/service/git-daemon 의 내용을 편집&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;#!/bin/sh&lt;br /&gt;exec 2&amp;gt;&amp;amp;1&lt;br /&gt;echo 'git-daemon starting.'&lt;br /&gt;exec chpst -ugitdaemon \&lt;br /&gt;&amp;nbsp; &quot;$(git --exec-path)&quot;/git-daemon --verbose --reuseaddr \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; --base-path=/repository/git/public --export-all --syslog --detach&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;mytubeelement turnoffpagedbuffering=&quot;false&quot; hideannotations=&quot;false&quot; savebandwidth=&quot;false&quot; enablefullscreen=&quot;true&quot; onlynotification=&quot;false&quot; fshd=&quot;false&quot; quality=&quot;hd720&quot; autoplayonsmartbuffer=&quot;true&quot; autoplayonbufferpercentage=&quot;42&quot; autoplayonbuffer=&quot;false&quot; autobuffer=&quot;true&quot; autoplay=&quot;false&quot; hidepopup=&quot;false&quot; loop=&quot;false&quot; enable=&quot;true&quot; loglevel=&quot;0&quot; soundnotification=&quot;false&quot; desktopnotification=&quot;true&quot; id=&quot;myTubeElement&quot;&gt;&lt;bundle any_moment=&quot;Any Moment&quot; sec=&quot;Sec&quot; min=&quot;Min&quot; hr=&quot;Hr&quot; stopped=&quot;Stopped&quot; buffering_stalled=&quot;Buffering is stalled. Will stop.&quot; completed=&quot;Completed&quot; will_start_playing_when_initialized=&quot;Will start playing when initialized&quot; will_start_buffering_when_initialized=&quot;Will start buffering when initialized&quot; waiting=&quot;Waiting&quot; calculating=&quot;Calculating&quot; adblock_interferance_message=&quot;Adblock (or similar extension) is known to interfere with SmartVideo. Please add this url to adblock whitelist.&quot; error=&quot;Error&quot; notification_status_delimitor=&quot;;&quot; desktop_notification_denied=&quot;You have denied permission for desktop notification for this site&quot; click_to_enable_for_this_site=&quot;Click to enable for this site&quot; off=&quot;Off&quot; on=&quot;On&quot; not_supported=&quot;Not Supported&quot; buffered_message=&quot;The video has been buffered as requested and is ready to play.&quot; hyphen=&quot;-&quot; buffered=&quot;Buffered&quot; video_buffered=&quot;Video Buffered&quot; no_notification_supported_on_your_browser=&quot;No notification style supported on your browser version&quot; global_preferences=&quot;Global Preferences&quot; estimated_time=&quot;Estimated Time&quot; only_notify=&quot;Only Notify&quot; loop=&quot;Loop&quot; continuation_on_next_line=&quot;-&quot; desktop_notification=&quot;Desktop Notification&quot; sound=&quot;Sound&quot; start_playing_when_buffered=&quot;Start playing when buffered&quot; smart_buffer=&quot;Smart Buffer&quot; percentage=&quot;%&quot; label_delimitor=&quot;:&quot;&gt;&lt;/bundle&gt;&lt;/mytubeelement&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;레포지토리의 path를 --base-path 이후에 적어준다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이후 기존 repository를 통째로 들고와서 --base-path 에 명시한 디렉토리에 복사.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;끝~&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460625</guid>
      <comments>https://1kko.com/2460625#entry2460625comment</comments>
      <pubDate>Thu, 2 Aug 2012 17:14:49 +0900</pubDate>
    </item>
    <item>
      <title>여러 장비에서 자동으로 슬립모드로 들어가는 bash shell script</title>
      <link>https://1kko.com/2460624</link>
      <description>&lt;p&gt;한참 머리 굴리다가 만들었다. ㅋㅋ&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;windows에 ssh 서버를 설치해야 하고, (cygwin으로 하면 편한듯)&lt;/p&gt;&lt;p&gt;각 ssh서버들에 id_rsa.pub을 .ssh/authorized_key로 복사해 넣어야 하는 단점이 있긴 하지만...&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;#!/bin/bash&lt;br /&gt;if [[ -z $1 ]]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUN_IN_SEC=30&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RUN_IN_SEC=$1&lt;br /&gt;fi&lt;br /&gt;PC_ADDR=( &quot;root@172.20.31.27,linux&quot; &quot;ikko@172.20.31.26,windows&quot; &quot;root@localhost,linux&quot; )&lt;br /&gt;&lt;br /&gt;# Remote PC&lt;br /&gt;function Run_Remote_Suspend()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local variables=( `echo $@ | tr &quot;,&quot; &quot; &quot;` )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local id_address=${variables[0]}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; local pc_type=${variables[1]}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [[ $id_address == &quot;root@localhost&quot; ]]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #let localhost enter suspend mode last&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep 10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep $RUN_IN_SEC&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case $pc_type in&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [lL][iI][nN][uU][xX])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssh $id_address &quot;pm-suspend&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [wW][iI][nN][dD][oO][wW][sS])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # This command disables hibernation feature in windows.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Windows requres to install ssh server (tested with cygwin sshd)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssh $id_address &quot;powercfg -hibernate off &amp;amp;&amp;amp; rundll32 powrprof.dll,SetSuspendState 0,1,0&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esac&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function Ask_Cancel()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/bin/xmessage -display 127.0.0.1:0.0 -nearmouse -buttons &quot;Cancel:1&quot; &quot;System will enter sleep mode in $RUN_IN_SEC sec&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Yes=true, No=False=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [[ $? -eq 1 ]]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kill ${remote_pid[*]} &amp;gt; /dev/null&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; notify-send -t 2 -i &quot;system&quot; &quot;Canceled entering Sleep Mode&quot; &quot;Entering sleepmode canceled by user&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;notify-send -t 2 -i &quot;system&quot; &quot;Entering Sleep Mode&quot; &quot;System will enter sleep mode in $RUN_IN_SEC seconds.&quot;&lt;br /&gt;for each_pc in ${PC_ADDR[*]};&lt;br /&gt;do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Run_Remote_Suspend $each_pc &amp;amp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remote_pid=( ${remote_pid[*]} $! )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;Ask_Cancel&amp;amp;&lt;br /&gt;let xmessage_sleep=$RUN_IN_SEC-1&lt;br /&gt;sleep $xmessage_sleep &amp;amp;&amp;amp; killall xmessage&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460624</guid>
      <comments>https://1kko.com/2460624#entry2460624comment</comments>
      <pubDate>Thu, 19 Jul 2012 18:24:20 +0900</pubDate>
    </item>
    <item>
      <title>시스템 sleep 관련 event 발생시 자동실행</title>
      <link>https://1kko.com/2460623</link>
      <description>&lt;p&gt;&lt;code&gt;/etc/pm/sleep.d/ 에서 스크립트를 만들면 아래의 경우 자동으로 해당 스크립트를 실행해준다.&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;hibernate&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;resume&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;thaw&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;suspend&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;mytubeelement turnoffpagedbuffering=&quot;false&quot; hideannotations=&quot;false&quot; savebandwidth=&quot;false&quot; enablefullscreen=&quot;true&quot; onlynotification=&quot;false&quot; fshd=&quot;false&quot; quality=&quot;hd720&quot; autoplayonsmartbuffer=&quot;true&quot; autoplayonbufferpercentage=&quot;42&quot; autoplayonbuffer=&quot;false&quot; autobuffer=&quot;true&quot; autoplay=&quot;false&quot; hidepopup=&quot;false&quot; loop=&quot;false&quot; enable=&quot;true&quot; loglevel=&quot;0&quot; soundnotification=&quot;false&quot; desktopnotification=&quot;true&quot; id=&quot;myTubeElement&quot;&gt;&lt;bundle any_moment=&quot;Any Moment&quot; sec=&quot;Sec&quot; min=&quot;Min&quot; hr=&quot;Hr&quot; stopped=&quot;Stopped&quot; buffering_stalled=&quot;Buffering is stalled. Will stop.&quot; completed=&quot;Completed&quot; will_start_playing_when_initialized=&quot;Will start playing when initialized&quot; will_start_buffering_when_initialized=&quot;Will start buffering when initialized&quot; waiting=&quot;Waiting&quot; calculating=&quot;Calculating&quot; adblock_interferance_message=&quot;Adblock (or similar extension) is known to interfere with SmartVideo. Please add this url to adblock whitelist.&quot; error=&quot;Error&quot; notification_status_delimitor=&quot;;&quot; desktop_notification_denied=&quot;You have denied permission for desktop notification for this site&quot; click_to_enable_for_this_site=&quot;Click to enable for this site&quot; off=&quot;Off&quot; on=&quot;On&quot; not_supported=&quot;Not Supported&quot; buffered_message=&quot;The video has been buffered as requested and is ready to play.&quot; hyphen=&quot;-&quot; buffered=&quot;Buffered&quot; video_buffered=&quot;Video Buffered&quot; no_notification_supported_on_your_browser=&quot;No notification style supported on your browser version&quot; global_preferences=&quot;Global Preferences&quot; estimated_time=&quot;Estimated Time&quot; only_notify=&quot;Only Notify&quot; loop=&quot;Loop&quot; continuation_on_next_line=&quot;-&quot; desktop_notification=&quot;Desktop Notification&quot; sound=&quot;Sound&quot; start_playing_when_buffered=&quot;Start playing when buffered&quot; smart_buffer=&quot;Smart Buffer&quot; percentage=&quot;%&quot; label_delimitor=&quot;:&quot;&gt;&lt;/bundle&gt;&lt;/mytubeelement&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;예제)&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;PATH=/sbin:/usr/sbin:/bin:/usr/bin&lt;br /&gt;WAKEONLAN=/usr/bin/wakeonlan&lt;br /&gt;&lt;br /&gt;if [ ! -x $WAKEONLAN ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;case &quot;${1}&quot; in&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resume)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; wakeonlan 00:23:11:22:33:44&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; wakeonlan 00:24:11:22:33:44&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend|hibernate|thaw)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # nothing&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460623</guid>
      <comments>https://1kko.com/2460623#entry2460623comment</comments>
      <pubDate>Thu, 19 Jul 2012 18:19:44 +0900</pubDate>
    </item>
    <item>
      <title>일반적인 리눅스 bash command</title>
      <link>https://1kko.com/2460622</link>
      <description>&lt;p&gt;https://zignd.wordpress.com/2012/07/11/an-a-z-index-of-the-bash-command-line-for-linux/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;mytubeelement turnoffpagedbuffering=&quot;false&quot; hideannotations=&quot;false&quot; savebandwidth=&quot;false&quot; enablefullscreen=&quot;true&quot; onlynotification=&quot;false&quot; fshd=&quot;false&quot; quality=&quot;hd720&quot; autoplayonsmartbuffer=&quot;true&quot; autoplayonbufferpercentage=&quot;42&quot; autoplayonbuffer=&quot;false&quot; autobuffer=&quot;true&quot; autoplay=&quot;false&quot; hidepopup=&quot;false&quot; loop=&quot;false&quot; enable=&quot;true&quot; loglevel=&quot;0&quot; soundnotification=&quot;false&quot; desktopnotification=&quot;true&quot; id=&quot;myTubeElement&quot;&gt;&lt;bundle any_moment=&quot;Any Moment&quot; sec=&quot;Sec&quot; min=&quot;Min&quot; hr=&quot;Hr&quot; stopped=&quot;Stopped&quot; buffering_stalled=&quot;Buffering is stalled. Will stop.&quot; completed=&quot;Completed&quot; will_start_playing_when_initialized=&quot;Will start playing when initialized&quot; will_start_buffering_when_initialized=&quot;Will start buffering when initialized&quot; waiting=&quot;Waiting&quot; calculating=&quot;Calculating&quot; adblock_interferance_message=&quot;Adblock (or similar extension) is known to interfere with SmartVideo. Please add this url to adblock whitelist.&quot; error=&quot;Error&quot; notification_status_delimitor=&quot;;&quot; desktop_notification_denied=&quot;You have denied permission for desktop notification for this site&quot; click_to_enable_for_this_site=&quot;Click to enable for this site&quot; off=&quot;Off&quot; on=&quot;On&quot; not_supported=&quot;Not Supported&quot; buffered_message=&quot;The video has been buffered as requested and is ready to play.&quot; hyphen=&quot;-&quot; buffered=&quot;Buffered&quot; video_buffered=&quot;Video Buffered&quot; no_notification_supported_on_your_browser=&quot;No notification style supported on your browser version&quot; global_preferences=&quot;Global Preferences&quot; estimated_time=&quot;Estimated Time&quot; only_notify=&quot;Only Notify&quot; loop=&quot;Loop&quot; continuation_on_next_line=&quot;-&quot; desktop_notification=&quot;Desktop Notification&quot; sound=&quot;Sound&quot; start_playing_when_buffered=&quot;Start playing when buffered&quot; smart_buffer=&quot;Smart Buffer&quot; percentage=&quot;%&quot; label_delimitor=&quot;:&quot;&gt;&lt;/bundle&gt;&lt;/mytubeelement&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460622</guid>
      <comments>https://1kko.com/2460622#entry2460622comment</comments>
      <pubDate>Thu, 19 Jul 2012 12:26:39 +0900</pubDate>
    </item>
    <item>
      <title>이거슨 스누피님을 위한 포스트</title>
      <link>https://1kko.com/2460621</link>
      <description>&lt;br /&gt;
&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# IPLIST Array로 선언&lt;br /&gt;
declare -a IPLIST&lt;br /&gt;
# 굳이 선언하지 않아도 되지만 Global이므로 가독성을 위해 선언.&lt;br /&gt;
NUMBER=0&lt;br /&gt;
# hostname을 $HOSTNAME 변수에 저장&lt;br /&gt;
HOSTNAME=`hostname`&lt;br /&gt;
&lt;br /&gt;
# 불필요한 local network의 IP는 출력하지 않도록 grep -v 옵션 추가하고 해당 출력된 리스트를 IPLIST 어레이에 저장. &lt;br /&gt;
IPLIST=( `ifconfig | grep &quot;inet addr&quot; | sed 's/:/ /' | awk '{ print $3 }' | grep -v &quot;127.0.0.1&quot;` )&lt;br /&gt;
&lt;br /&gt;
function ChooseNumber() {&lt;br /&gt;
#함수 내부에서만 사용하기에 local 선언&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; local i=1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; clear&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e &quot;\n\n\t==== IP List ====\n&quot;&lt;br /&gt;
&lt;br /&gt;
# ${IPLIST[@]} 는 어레이의 모든 내용 출력 &amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for IPADDR in ${IPLIST[@]}; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e &quot;\t$i - $IPADDR\n&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; let i+=1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e &quot;\t=================\n&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; read -p &quot; Choose Number: &quot; NUMBER&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
until [ $NUMBER -ge 1 ] &amp;amp;&amp;amp; [ $NUMBER -le ${#IPLIST[@]} ]; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ChooseNumber&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# ARRAY는 0부터 시작하므로 사용자가 1을 입력할 경우 0이 되도록 -1 합니다.&lt;br /&gt;
echo &quot;${IPLIST[$NUMBER-1]} $HOSTNAME&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;/blockquote&gt;다 만들어놓고 보니, 가독성은 좀 떨어지는듯;;&lt;br /&gt;
하지만 파일은 안만드는 장점이 있습니다.. ㅎㅎ&lt;br /&gt;
&lt;br /&gt;</description>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460621</guid>
      <comments>https://1kko.com/2460621#entry2460621comment</comments>
      <pubDate>Wed, 30 Nov 2011 17:37:26 +0900</pubDate>
    </item>
    <item>
      <title>ssh 접속이 느릴경우</title>
      <link>https://1kko.com/2460620</link>
      <description>&lt;div&gt;
When logging in, ssh daemon checks reverse DNS lookup.&lt;br /&gt;
so only thing you have to do is, write one line in sshd_config of server.&lt;br /&gt;
&lt;br /&gt;/etc/ssh/sshd_config:&lt;br /&gt;
&lt;blockquote&gt;UseDNS no&lt;/blockquote&gt;&lt;br /&gt;
restart ssh daemon, and that's it.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>connection slow</category>
      <category>DAEMON</category>
      <category>sluggish ssh daemon</category>
      <category>SSH</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460620</guid>
      <comments>https://1kko.com/2460620#entry2460620comment</comments>
      <pubDate>Wed, 10 Aug 2011 14:11:07 +0900</pubDate>
    </item>
    <item>
      <title>우분투에 파이퍼폭스 4 정식 설치방법</title>
      <link>https://1kko.com/2460618</link>
      <description>&lt;span style=&quot;font-weight: bold;&quot;&gt;아직 우분투 10.10, 10.04에는 firefox 3.x가 설치되어있다.&lt;br /&gt;
이미 firefox4.0 정식 출시된 상황.&lt;br /&gt;
&lt;br /&gt;업그레이드 하고자하면, 세번의 스탭만 밟으면 된다.&lt;br /&gt;
&lt;br /&gt;&lt;blockquote&gt;sudo add-apt-repository ppa:mozillateam/firefox-stable&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install firefox&lt;/blockquote&gt;&lt;/span&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>firefox</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460618</guid>
      <comments>https://1kko.com/2460618#entry2460618comment</comments>
      <pubDate>Fri, 22 Apr 2011 15:47:40 +0900</pubDate>
    </item>
    <item>
      <title>한글 우분투의 기본 디렉토리 이름 바꾸기</title>
      <link>https://1kko.com/2460617</link>
      <description>&lt;div style=&quot;color: rgb(0, 0, 0); font-family: 굴림; font-size: 9pt; line-height: 1.5;&quot;&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;
$vi ~&lt;/span&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;/.config/user-dirs.dirs의 내용을 아래와 같이 변경&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;br style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;div style=&quot;color: rgb(0, 0, 0);&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;&lt;div style=&quot;color: rgb(0, 0, 0);&quot;&gt;
&lt;div&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;# This file is written by xdg-user-dirs-update&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;# If you want to change or add directories, just edit the line you're&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;# interested in. All local changes will be retained on the next run&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;# Format is XDG_xxx_DIR=&quot;$HOME/yyy&quot;, where yyy is a shell-escaped&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;# homedir-relative path, or XDG_xxx_DIR=&quot;/yyy&quot;, where /yyy is an&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;# absolute path. No other format is supported.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;/font&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_DESKTOP_DIR=&quot;$HOME/Desktop&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;font style=&quot;color: rgb(0, 0, 0);&quot; class=&quot;Apple-style-span&quot; color=&quot;#333333&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_DOWNLOAD_DIR=&quot;$HOME/Downloads&quot;&lt;/span&gt;&lt;/font&gt;&lt;div style=&quot;color: rgb(0, 0, 0);&quot;&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_TEMPLATES_DIR=&quot;$HOME/Templates&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_PUBLICSHARE_DIR=&quot;$HOME/Public&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_DOCUMENTS_DIR=&quot;$HOME/Documents&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_MUSIC_DIR=&quot;$HOME/Music&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_PICTURES_DIR=&quot;$HOME/Pictures&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;XDG_VIDEOS_DIR=&quot;$HOME/Videos&quot;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;&lt;div style=&quot;color: rgb(0, 0, 0);&quot;&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: rgb(0, 0, 0);&quot;&gt;
&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;저장 후 아래 명령 실행&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;&lt;/span&gt;&lt;/font&gt;&lt;blockquote&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;굴림&quot;&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/바탕화면 ~/Desktop&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/다운로드 ~/Downloads&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/템플릿 ~/Templates&lt;/span&gt;&lt;br /&gt;
&lt;/font&gt;&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/공개 ~/Public&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/문서 ~/Documents&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/음악 ~/Music&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim;&quot;&gt;mv ~/&lt;/span&gt;사진 ~/Pictures&lt;br /&gt;
mv ~/비디오 ~/Videos&lt;/blockquote&gt;&lt;br /&gt;
리붓하면 끝~!&lt;br /&gt;
&lt;/div&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <category>디렉토리</category>
      <category>한글</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460617</guid>
      <comments>https://1kko.com/2460617#entry2460617comment</comments>
      <pubDate>Thu, 21 Apr 2011 17:57:14 +0900</pubDate>
    </item>
    <item>
      <title>오랜만에 본 재밌는 개그</title>
      <link>https://1kko.com/2460615</link>
      <description>오랜만에 본 재밌는 개그가 있어서 이곳에 소개&lt;br /&gt;
직링크는 이곳. &lt;a title=&quot;[http://newkoman.mireene.com/tt/3792]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://newkoman.mireene.com/tt/3792&quot;&gt;http://newkoman.mireene.com/tt/3792&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
어느 아내가 프로그래머 남편에게 「쇼핑하러 갈 때, 우유 하나 사와. 아, 계란 있으면 6개 사와」 &lt;br /&gt;
&lt;br /&gt;
남편은 잠시 후, 우유를 6개 사왔다. &lt;br /&gt;
아내는 물었다.&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
「왜 우유를 6개나 사왔어!」 &lt;br /&gt;
&lt;br /&gt;
남편「계란이 있길래 6개 사왔지…」 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
그러나 거기에 있는 댓글이 더더욱 대박...ㅋㅋㅋ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
나도 댓글을 달려고 했으나, 어찌된 이유인지 난 차단되었다고...-_-;&lt;br /&gt;
어쨌거나 여기에 한번 남겨봄&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;#!/sh/bash&lt;br /&gt;
export EGG=0&lt;br /&gt;
export MILK=0&lt;br /&gt;
&lt;br /&gt;
if [ EGG -eq 1 ]; then&lt;br /&gt;
&amp;nbsp; while (( MILK &amp;gt;= 6 )); do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; let+=MILK&lt;br /&gt;
&amp;nbsp; done&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#echo EGG=&quot;$EGG&quot;&lt;br /&gt;
echo MILK=&quot;$MILK&quot;&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;</description>
      <category>fun &amp;amp; cool</category>
      <category>개그</category>
      <category>프로그래머</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460615</guid>
      <comments>https://1kko.com/2460615#entry2460615comment</comments>
      <pubDate>Mon, 21 Mar 2011 00:47:57 +0900</pubDate>
    </item>
    <item>
      <title>내가 사용하는 우분투 어플리케이션</title>
      <link>https://1kko.com/2460612</link>
      <description>parcellite : 클립보드 관리자.(clipboard manager) Shortcut을 지정하여 그동안 Copy 또는 Drag 했던 텍스트, 링크들을 선택해서 붙여넣을 수 있다.&lt;br /&gt;
&lt;br /&gt;
nabi : 우분투에서 한글 입력시 scim을 대체해서 사용할 수 있다. 시스템 &amp;gt; 관리 &amp;gt; 언어 &amp;gt; 키보드 입력시스템을 scim에서 nabi로 변경&lt;br /&gt;
&lt;br /&gt;
ttf-nanum ttf-nanum-coding : 나눔고딕 및 나눔고딕코딩(고정폭 글꼴), 설치후 시스템 &amp;gt; 기본설정 &amp;gt; 모양 에서 변경한다.&lt;br /&gt;
&lt;br /&gt;
pidgin-nateon pidgin-facebookchat : 네이트온과 페이스북 채팅을 pidgin에서 가능하게 해준다.&lt;br /&gt;
&lt;br /&gt;
Libreoffice : Ubuntu 11.04에서는 기존 10.x 버전대에 기본적으로 설치되었던 OpenOffice를 대체하게 된다. 설치하는 방법은 &lt;a title=&quot;[http://1kko.com/2460611]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://1kko.com/2460611&quot;&gt;링크를 참고&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
vim : Vi Improved. 기본적으로 설치되어있는 버전은 light 버전이라 사용하는데 불편하다. apt-get install vim 하면 알아서 설치된다.&lt;br /&gt;
&lt;br /&gt;
ssh :  ssh daemon. 원격으로 접속해서 터널링하는데도 편하고, 업무 특성상 secure shell을 많이 사용해야한다. apt-get install ssh&lt;br /&gt;
&lt;br /&gt;
sar : 네트워크의 트래픽 통계와 CPU 코어별 사용량을 확인하는데 편리하다. apt-get install sysstat&lt;br /&gt;
&lt;br /&gt;
traceroute : 윈도의 tracert와 동일한 기능. 목적지까지 가는 라우팅 정보를 표시해준다. apt-get install traceroute&lt;br /&gt;
&lt;br /&gt;
wireshark : 패킷정보를 열람해볼 수 있다. 일반 계정으로는 packet capture에 대한 권한이 없으므로 별도로 권한을 추가해 주어야 한다. &lt;a aiotarget=&quot;true&quot; aiotitle=&quot;[http://1kko.com/2460593]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://1kko.com/2460593&quot;&gt;링크를 참고.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
putty : 윈도우 putty 보다는 약간 불편하지만 그래도 쓸만하다.&lt;br /&gt;
&lt;br /&gt;
hunspell-ko : 한글 맞춤법 사전. 기본 repository에 등록되어 있지만 없다면, &lt;a title=&quot;[http://1kko.com/2460602]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://1kko.com/2460602&quot;&gt;링크를 참고&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
smplayer : Mplayer frontend. 저사양에서도 잘 돌아간다. Coreavc 코덱을 사용하려면 &lt;a title=&quot;[http://ubuntu.or.kr/viewtopic.php?p=72653]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://ubuntu.or.kr/viewtopic.php?p=72653&quot;&gt;링크를 참고&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
qalculate: Microsoft Math 까지는 아니지만 어느정도 그 역할을 해주는 프로그램. 수식계산할때 편하다+_+&lt;br /&gt;
&lt;br /&gt;
Crossover : (상용) Linux 용 상용 Wine (Windows Emulator). 기본적으로 설치되는 wine보다 성능과 안정성이 뛰어나다. Crossover 위에 Office 2007을 설치해서 사용중이다.&lt;br /&gt;

&lt;br /&gt;
Dropbox : Cloud 기반 File Sharing 서비스. http://dropbox.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
위의 것들을 한방에 설치하기는 불가능하고... 맨아래 2개만 빼고 한방에 설치하기&lt;br /&gt;
&lt;blockquote&gt;sudo apt-get purge openoffice*&lt;br /&gt;
sudo apt-add-repository ppa:libreoffice/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install parcellite ttf-nanum ttf-nanum-coding pidgin-nateon pidgin-facebookchat libreoffice libreoffice-gnome vim ssh sysstat traceroute wireshark putty hunspell-ko smplayer qalculate&lt;br /&gt;
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460612</guid>
      <comments>https://1kko.com/2460612#entry2460612comment</comments>
      <pubDate>Mon, 14 Mar 2011 19:42:09 +0900</pubDate>
    </item>
    <item>
      <title>Using Airplay in Ubuntu</title>
      <link>https://1kko.com/2460613</link>
      <description>&lt;br /&gt;

&lt;P&gt;The plugin is hosted on the &lt;EM&gt;sukimashita.com&lt;/EM&gt; git repositories &lt;A onclick=&quot;javascript:_gaq.push(['_trackEvent','outbound-article','cgit.sukimashita.com']);&quot; href=&quot;http://cgit.sukimashita.com/totem-plugin-airplay.git/&quot; target=_blank modo=&quot;false&quot;&gt;&lt;FONT color=#0066cc&gt;located here.&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Install by first cloning the repository&lt;/P&gt;
&lt;P style=&quot;PADDING-LEFT: 30px&quot;&gt;&lt;STRONG&gt;git clone http://git.sukimashita.com/totem-plugin-airplay.git&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;then moving the files into&lt;/P&gt;
&lt;P style=&quot;PADDING-LEFT: 30px&quot;&gt;&lt;STRONG&gt;~/.local/share/totem/plugins/airplay&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;/STRONG&gt;&lt;/P&gt;
&lt;P style=&quot;PADDING-LEFT: 0px&quot;&gt;sources from &lt;A href=&quot;http://www.omgubuntu.co.uk/2011/01/airplay-video-playback-comes-to-totem/&quot;&gt;http://www.omgubuntu.co.uk/2011/01/airplay-video-playback-comes-to-totem/&lt;/A&gt;&lt;/P&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460613</guid>
      <comments>https://1kko.com/2460613#entry2460613comment</comments>
      <pubDate>Thu, 27 Jan 2011 22:34:10 +0900</pubDate>
    </item>
    <item>
      <title>Install LibreOffice in Ubuntu 10.10 Maverick</title>
      <link>https://1kko.com/2460611</link>
      <description>First Remove OpenOffice.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;sudo apt-get purge openoffice*&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
Then, add repository of LibreOffice.&lt;br /&gt;
&lt;blockquote&gt;
sudo apt-add-repository ppa:libreoffice/ppa&lt;/blockquote&gt;&lt;br /&gt;
if it fails, due to firewall or anything else, try: (copy &amp;amp; paste)&lt;br /&gt;
&lt;blockquote&gt;sudo gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver &lt;span style=&quot;font-weight: bold;&quot;&gt;hkp://keyserver.ubuntu.com:80&lt;/span&gt; --recv 36E81C9267FD1383FCC4490983FBA1751378B444&lt;/blockquote&gt;&lt;br /&gt;
Finally update apt-source, and install libreoffice using apt-get&lt;br /&gt;
&lt;blockquote&gt;sudo apt-get update&lt;br /&gt;
sudo apt-get install libreoffice libreoffice-gnome&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
Voila~!!&lt;br /&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460611</guid>
      <comments>https://1kko.com/2460611#entry2460611comment</comments>
      <pubDate>Wed, 12 Jan 2011 16:22:52 +0900</pubDate>
    </item>
    <item>
      <title>Use SSL/TLS IMAP in Evolution</title>
      <link>https://1kko.com/2460610</link>
      <description>To use SSL or TLS with IMAP in Evolution&lt;br /&gt;
you need to enable imap plugin first.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;then type servername.com:993 in host.&lt;br /&gt;
&lt;br /&gt;</description>
      <category>geek_stuff/server &amp;amp; linux</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460610</guid>
      <comments>https://1kko.com/2460610#entry2460610comment</comments>
      <pubDate>Fri, 7 Jan 2011 21:36:41 +0900</pubDate>
    </item>
    <item>
      <title>AirMediaPlayer</title>
      <link>https://1kko.com/2460609</link>
      <description>&lt;DIV&gt;&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV&gt;AirPlay to Windows&lt;/DIV&gt;
&lt;DIV&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/1915FC4D4D173A962D&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;https://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; style=&quot;vertical-align: middle;&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;airmediaplayer_1_0_6.zip&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;br /&gt;
&lt;/DIV&gt;
&lt;DIV&gt;&lt;br /&gt;
&lt;/DIV&gt;출처:&amp;nbsp;&lt;A href=&quot;http://apogeorgiadis.blogspot.com/p/airmediaplayer-for-windows_22.html&quot;&gt;http://apogeorgiadis.blogspot.com/p/airmediaplayer-for-windows_22.html&lt;/A&gt;</description>
      <category>geek_stuff/mobile</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460609</guid>
      <comments>https://1kko.com/2460609#entry2460609comment</comments>
      <pubDate>Sun, 26 Dec 2010 21:34:33 +0900</pubDate>
    </item>
    <item>
      <title>RSS 지원 Torrent</title>
      <link>https://1kko.com/2460608</link>
      <description>&lt;font class=&quot;Apple-style-span&quot; face=&quot;돋움&quot; style=&quot;font-size: 12px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 1.5;&quot;&gt;rss 지원하는 토렌트&lt;/span&gt;&lt;/font&gt;&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#FFFFFF&quot; face=&quot;Tahoma, sans-serif&quot; style=&quot;font-size: 12px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;Tahoma, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;http://ufile.kr/magnet/plus/ikko/&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;mytubeelement id=&quot;myTubeElement&quot; desktopnotification=&quot;true&quot; soundnotification=&quot;false&quot; enable=&quot;true&quot; loop=&quot;false&quot; hidepopup=&quot;false&quot; autoplay=&quot;false&quot; autobuffer=&quot;true&quot; autoplayonbuffer=&quot;false&quot; autoplayonbufferpercentage=&quot;42&quot; autoplayonsmartbuffer=&quot;true&quot; quality=&quot;default&quot; fshd=&quot;false&quot; enablefullscreen=&quot;true&quot; onlynotification=&quot;false&quot;&gt;&lt;/mytubeelement&gt;</description>
      <category>geek_stuff/web &amp;amp; network</category>
      <author>!kKo</author>
      <guid isPermaLink="true">https://1kko.com/2460608</guid>
      <comments>https://1kko.com/2460608#entry2460608comment</comments>
      <pubDate>Sun, 26 Dec 2010 21:16:47 +0900</pubDate>
    </item>
  </channel>
</rss>