Sunday, February 11, 2018

빌어먹을 SKT, KT의 무료 Wi-Fi

병원에 입원하고 보니, Wi-Fi 잡히는 게 전부 통신사 것이다. 그 중 Free가 붙은 건 SKT, KT 각 한 개씩 있다. 그런데 진짜 너무한다.

이게, 접속하면 그냥 인터넷이 되지 않는다. 첫 웹 화면에서 메뉴 버튼을 누르고 이 Wi-Fi 사용을 골라야 한다. 그게 끝이 아니다. 그 후 개인 정보 (이름, 전화 전화 등... 물론 나는 가짜 정보를 넣었다.)를 요구하며, 실수로 모든 사항 체크 버튼을 누르면 광고 수신 동의에 체크가 된다. 즉, 잘 모르는 사람이 잠깐 Wi-Fi 쓰겠다고 저 정보를 사실대로 넣었다가는, 통신사로부터 평생 스팸을 받게 되는 것이다. 게다가 거기서 끝나는 것도 아니고, 광고 동영상을 하나 시청해야 한다.

더 웃긴 게, 한 10분만 지나면 연결이 끊긴다는 것이다. 끊기면, 윗 문단에서 언급한 대부분의 과정을 다시 치러야 한다. 아니, 최소 하루는 가야 하는 것 아닌가?

셀률러 데이터도 아니고 싸구려 Wi-Fi 하나 무료로 사용해 주게 하면서 진짜 더럽게 생색내네... 이럴 것이면 차라리 하지를 말든가.

치사해서 그냥 통신사 홈페이지에서 데이터 1G 부가서비스 신청하고 그냥 셀률러로 접속한다.

119 구급차 이용기 + 병원 입원기 1부

나는 지금까지 평생 입원해 본 적이 없었다. 석고 붕대조차도 해 본 적이 없다. 10일 전, 아침에 아무렇지도 않게 허리만 굽혀 바닥에 있는 가벼운 비닐 봉지를 주으려는 순간, 허리가 찢어지는 듯한 통증이 느껴졌다. 정말 참을 수 없고, 비명과 몸 뒤틀림이 조건 반사적으로 나오는 고통이었다.

그 후로 허리를 조금만 굽히면 같은 통증이 느껴졌다. 일단은 저절로 낫기를 바라며 며칠 누워서 쉬어 봤다. 가능한 움직이지 않고, 일어날 때에는 허리를 세우고 무릎의 힘으로 일어났다. 며칠 지나니 좀 나아지나 싶었다. 허리를 많이 굽히지 않으면 그런대로 견딜만했다. 그래서 그저께 밖에 나가서 좀 걸었더니 허리에 조금만 힘이 들어가면 찢어지는 통증이 왔다. 집에 올 때에는 도저히 안 되어서 택시를 탔는데, 허리가 아파서 억지로 내렸다.

즉, 외출하고 왔더니 더 심해졌다. 그날 자고 어제 일어났더니, 이제는 도저히 일어설 수가 없었다. 그래서 하루 종일 누워 있다가, 오줌은 눠야 해서 억지로 일어나려고 했더니, 이제는 그냥 누워만 있어도 통증이 느껴지고, 누워서도 허리에 조금만 힘이 들어가면 찢어지는 통증이 느껴졌다. 휴일이고, 밤이라, 하루만 더 견뎌 보자 싶었다. 자고 일어나면 좀 나을 것이라 기대하며... 그런데 오늘 새벽에 일어났더니, 증상은 그대로이고, 24시간 이상 물과 음식을 전혀 못 먹었더니 속도 메슥거리며 몸 떨림이 나타났다.  문제는 떨리면 허리가 아파다는 것... 도저히 안 되어서 119를 부르기로 했다.

평생 119에 전화 걸어 본 적도 없고, 119 구급차는 죽기 직전의 응급 환자만 부르는 것으로 알고 있어서, 전화 걸었을 때 거절 당할까 봐 고민했다. 새벽 5시인데 전화를 거니 벨 한 두 번 울리고 남자 상담원이 받았다. ARS가 아니었다. 집 주소를 알려 주자, 별 군말없이 바로 구급차 보내 준다고 하고 끊더라. 그 후 정말 5분도 안 되어서 119 구급차가 왔다. 추운 날 새벽인데 남자 두 명이.

그런데 대원에게 마취제나 진통제가 있는지 물으니 없단다. 빌라 건물 4층에서 계단으로 들것에 실려 내려가는데, 대원 분들도 매우 힘드셨겠지만, 그 흔들림 때문에 허리가 찢어지는 것 같아 죽는 줄 알았다. 정말 수면제나 진통제/마취제 정도는 119차 안에 있어야 할 것 같다. 병원 가는 차 안에서도 차가 흔들릴 때마다 아파서 도저히 참을 수가 없었다.

어쨌든, 휴일이고 야간이라, 병원이 다 문 닫았다고, 119 대원분이 알아서 근처 중소 병원 응급실에 데려다 주었다. 비용은 받지 않더라. 국가의 119가 없었다면 집에서 굶어 죽었을지도 모르겠다.

그런데 솔직히 병원 응급실 참 안 좋았다.난방은 제대로 안 하면서 문 하나 밖이 바로 바깥이라 냉기가 쏟아져 들어왔다. 응급실 등록비는 2만 원이란다. 간호사 몇 명과 의사 한 명이 있었는데, 물론 허리 전문 의사는 아니겠지. 왜 왔느냐고 묻길래 증상을 설명하니 디스크 같은데 오늘은 치료가 안 된다고 퉁명스럽게 말을 한다. 사실 내 앞에 오지도 않고 저 멀리 자기 의자에 앉아서 대강 말하더라.

좀 기다리니 간호사가 와서 진통제 하나 놓고, 보호자 있느냐고 하길래 없다고 하니, 그러며 입원이 안 되니 그냥 집에 갔다가 나중에 외래로 오란다. 솔직히 어이가 없었다. 못 걸어서 119에 실려 왔는데 걸어서 나가라니... 못 걷는데 어떻게 가느냐고, 입원비 선불로 낼 테니 입원시켜 달라고 했더니, 보호자가 없으면 절대 안 된다고, 나가야 한단다. 그래서 잠시 생각할 시간을 좀 달라고 했다.

생각 끝에, 혹시 돈 내면 보호자 대신해 줄 사람이 있지 않을까 싶었다. 사실 돈 내면 사람 사이의 일에 안 되는 게 있을까... 간호사에게 혹시 돈 내고 보호자 구해 입원할 수 없느냐고 물었더니, 그제서야 유료 서비스가 있다고 알려 준다. 진작 알려 주지... 못 걷는 사람에게 혼자 걸어서 나가라고 하기 전에, 유료 서비스부터 알려 줘야 하는 게 도리 아닐까?

어쨌든, 비용은 낮만 하면 하루 5만, 하루 종일 하면 하루 10만 원이란다. 그래서 낮만 하기로 하고 입원을 했다. 4인 후줄근한 병실(그러고 보니, 응급실도 참 후줄근하더라, 한 3년은 안 빤 듯한 커텐과 지저분한 벽... 분명히 여기서 2차 감염 왕창 일어날 것이다.) 하루 입원비는 25000원이란다 (내가 잘못 들은 게 아니라면). 뭐, 사실 생각보다 비싼 건 아니었다. 밥도 포함이었으니, 밥 한 끼에 5000원만 잡아도, 병실비는.하루 1만 원 꼴이다.

사실 병실도 문제가 있는 게, 병실 바로 위가 식당이란다.... 그래서 하루 종일 드르륵 쿵쿵하고 진동이 온다.처음에는 지진인 줄 알았다. 바로 오른쪽에 창문이 있는데, 냉기가 쏟아져 들어 온다. 난방비 아끼려는지, 난방을 제대로 안 트는 것 같았다.

어쨌든, 허리에는 속칭 뼈 주사라는 몇 만 원짜리 스테로이드 주사를 맞으면 통증이 바로 사라진다고 하니, 그 것만 맞고 통증이 일시적으로 없어지면 통원 치료를 하려고 했는데, 이 병원에는 그 게 안 된다니, 내일 되어서 다른 척추 전문과가 있는 종합병원으로 트랜스퍼해 달라고 할 생각이다. 웹 검색해 보니, 병원대 병원 이동은 119가 안 되어 병원 측에서 부르는 사설 차를 이용하는데, 비용은 10만 원 이상이란다. 그래도 당장은 집에 가 봤자 밥도 못 먹고 통증이 심할 것이므로, 여기 임시로 입원해 진통제로 아주 심한 통증만 좀 억제하고 견디는 중이다.

그래도 돈이 좋긴 좋구나.... 돈 없었다면 보호자도 못 구했을 테고, 아마 응급실에서 혼자 걸어 나와 영하 날씨의 새벽에 길거리에 쓰려졌을 듯하다... 자본주의 세상, 돈 없는 자는 사람 취급을 받지 못 하는 것이다.

치료비나 그런 것에 대해서는 다음 포스트에.

Monday, September 11, 2017

쌀 벌레 없는 쌀 추천

예전부터 이것에 관해 글을 쓸까 말까 하다가 쓰지만, 나는 쌀 업계와 아무런 관련이 없는 사람이다.

쌀(백미를 사다가 이후로는 현미만)을 여러 군데에서 사 보았다. 이마트/홈플러스에서 소포장으로 파는 것도 사 보고, 인터넷 쇼핑몰에서도 사 보았다. 그런데 홈플러스에서 사면 거의 무조건 쌀 벌레가 나왔 것으로 기억한다. 이마트 것에서도 나왔던 것 같고, 인터넷에서 산 것도 나왔었다.

인터넷에서 주로 10KG짜리 포장을 사는데, 쌀 벌레가 나오면 정말 처치 곤란하다. 10KG을 한꺼번에 다 먹을 수도 없고, 그렇다고 통째로 냉장고에 넣을 수 있는 공간도 없다. 그냥 쌀 벌레가 우글거리는 쌀을 그대로 포대에 두고 매번 밥을 지을 때마다 쌀 벌레를 뜨거운 물로 죽였는데, 사실 보기만 해도 징그럽다. 보기에만 징그러운 게 아니라, 이 벌레들은 쌀 속을 파 먹고 그 안에다가 알을 낳는데, 그 알에 무슨 발암 물질인가가 들어가 있다고 하는 걸 읽은 것 같다.

여러 개 사 보다가 지금은 한 브랜드만 사는데, 이제까지 10KG짜리를 한 15번은 산 것 같은데, 쌀 벌레가 단 한 마리도 나온 적이 없다. 상품 설명 중에는 최신식 세척기가 있어서 벌레 등 이물질이 적다고 적혀 있다. 어쨌든, 쌀 벌레가 없을 뿐 아니라, 돌이나 기타 이물질도 거의 본 적이 없다.

쌀 이름은 조암농협 고시히카리 현미 10KG이다. 네이버 쇼핑에서 "고시히카리 현미 10"을 검색한 후 최저가 순으로 정렬하고, 아래 그림을 찾으면 된다.

파는 쇼핑몰과 최저가는 계속 바뀌는데, 대략, 무료 배송으로 쌀 때는 26000원, 비쌀 때는 30000원 사이이다.

참고로, 현미가 싫으면 똑같은 포장으로 고시히카리 백미 10KG도 있다. 현미를 산다는 게 실수로 백미를 산 적이 있다. 위의 검색어로 검색해서 위의 그림만 보고 샀는데, 하필이면 판매명이 "고시히카리 백미 10KG (사은품 현미 500g 증정)" 비슷한 것이었다. 네이버 쇼핑 검색이 단어가 떨어져 있어도 결과에 보여서, 검색 결과에 나왔던 것 같다. 물론 백미에서도 쌀 벌레는 안 나왔다.

맛은 뭐, 특별히 좋은지는 모르겠다. 밥솥이 안 좋아서 그런가, 무슨 쌀로 해도 그렇게 맛있지는 않다. 다만, 다른 현미들보다 맛이 나쁘지는 않았기 때문에, 문제가 없다고 보면 될 것 같다.

장점인지 단점인지 모르겠지만, 발아력이 매우 강하다. 쌀을 씻으면 쌀알이 싱크대 수채구에 걸리는데, 다른 현미들도 발아를 좀 하긴 하지만, 이 쌀은 무슨 쌀알들이 거의 100% 발아를 한다. 즉 수채구 청소를 안 하면, 마치 그 안이 콩나물 시루처럼 된다. 물론, 감자처럼 그냥 두면 발아를 하는 게 아니고, 물에 닿았을 때에만 발아를 한다는 것이다.

Monday, September 04, 2017

Directly launch a web page in the Reader Mode of FireFox.

I have created another app. Basically it solves the two problems I had.


1. I need an option to open a web page directly to FireFox's Reader Mode

For example, I use Google's News & Weather app. My default web browser was set to Chrome, so it opened the news in Chrome. But I thought it was an in-built article viewer. It had a "Share" icon so that I can send the URL to another app. But unfortunately, FireFox had only "Add to FireFox", which shows an additional cumbersome menu, and even then it did not open the page in Reader Mode. I had to wait until the page is fully loaded (because the Reader Mode button only appears then) and then tap the Reader Mode button. Repeating this was very annoying.

My app, "Reader launcher for FireFox", solves that. If I choose this app instead of "Add to FireFox", it will launch the article in the Reader Mode directly, without waiting for the page to be loaded. Boy, you cannot imagine how convenient it is for me.

2. My default browser is Chrome, but I open only the URL's from specific apps with FireFox's Reader Mode.

Then I found out that News & Weather does not have its own article viewer. When I click an item, it just opens the article with the default browser. My default browser is Chrome, and I do not want to change it to FireFox. My app can also solve this problem.

My app registers itself as a web browser. So, if I click an article in the News & Weather app, it asks me to choose the default browser. My app has a setting for specifying the apps so that only the URL's received from those apps will be opened in the Reader Mode. Otherwise, the URL's will be opened in the default browser, such as Chrome.

With my setting, when I click an article in the News & Weather app, the article is instantly and directly opened in the Reader Mode of FireFox, but if I open web links in other apps, they are opened in Chrome. Now I can conveniently, and pleasantly use the News & Weather app.

Google Play and the Google Play logo are trademarks of Google Inc.

Thursday, August 24, 2017

Get Google Now back instead of Google Assistant when you long-press the home button.

Android's Google search app was recently updated. When you long-press the home button, it used to show the Google Now screen (where you can see information such as weather before you search), but now it shows the conversational Google Assistant.

I personally did not like the Google Assistant, and wanted Google Now back. After searching the web, I found that it is not possible. There is a hack, though: changing your language to something weird such as "U.S. Virgin Islands". I tried it, and it did work. But that might affect other apps. So I kept look for a better solution.

I could not find a better solution. So, I came up with an idea. What if I create an app that poses as a search assistant and launches Google Now? So I made the app. The app is called Loader for Now, and it is available on Google Play Store. It is a paid app, though. I am sorry for that, but I need some money to live. I wanted to select a very low price like 0.1 GBP or USD, but unfortunately, the minimum allowed price was 0.5 GBP and 0.99 USD.


When you install Loader for Now, you need to set it as the default search assistant. The app itself provide an explanation and shortcut for that, so it is not difficult to use at all. Just do that, and long-pressing will launch the good old Google Now again. Very simple.

Behind stories

I submitted the app 3 times before it was accepted by Google. At first I named the app "Google Now Loader". It was rejected because the app's name started with "Google", which might make the app appear to be endorsed by Google (which is actually not very likely for my case).

So, I renamed the app to "Loader for Now", and put a bold disclaimer at the start of the app description, something like "This app is not affiliated with or endorsed by Google". I re-submitted the app, but it was rejected again. The reason was that it contained "Google Now" in the description. But how can I explain what my app does without the word "Google Now", when the only thing it does is launching Google Now?

Anyways, I had to remove "Google" or "Google Now" in descriptions, blurred the Google logo promotion image and re-submitted it. Finally it was accepted.

The problem is... searching the Play Store does not show my app. I mean, I searched the Store for "Loader for Now", and weird, unrelated apps showed in the result, not my app. Then I tried searching for "Google Now search Assistant". I understand that my app was not showing at the top of the search result, but there were very many unrelated apps like games, and I kept scrolling down but my app still did not show up. Why should completely unrelated games be listed before my app, when my app is actually related to the search words? I shall never know...

After some try, I concluded that it would probably be impossible for users to find my app by searching the Store for related keywords, so I created this post where I can freely use the word "Google Now", which would make it easy for potential users to discover my app.



Footer:  (They made me do it.)

Google Play and the Google Play logo are trademarks of Google Inc.

Sunday, October 16, 2016

물건 못 받았을 때 이베이 (미국) 고객센터에 전화해서 환불 받기

지난 달에 이베이에서 몇 만 원 정도하는 물건을 중국 판매자에게 주문했다. 무료 배송인데, 다들 알겠지만, 중국에서 한국까지 무료로 오는 저가 제품은 운송장 번호도 없고 그냥 마냥 한 달을 기다려서 받아야 한다. 한 달을 기다렸는데, 물건이 안 왔다.

예전에도 이베이에서 물건을 여러 번 사 봤지만 늦으면 늦었지 못 받은 적은 없었다. 한 달이 지나도 안 오면, 이베이 사이트에 가서 판매자에게 연락하기 옵션을 눌러 못 받았다고 메시지를 보내면, 좀 더 기다려 보라는 등의 답장은 판매자로부터 받을 수 있다.

그런데 이번에는 판매자가 묵묵부답이다.  예정 도착일은 10월 7일까지였다. 도착 안 하길래 7일 밤에 판매자에게 메시지를 보냈다. 그런데 아무런 답장이 없었다. 그래서 10월 10일에 이베이 사이트에서 "물건 못 받았다" 케이스를 열었다. 판매자가 10월 13일까지 응답을 안 하면 이베이 측으로 알려 달라는 메시지가 나왔다.

10월 13일이 되었는데도 판매자로부터 아무 응답이 없었다. 14일이 되자 이베이 측에서 자동 메일이 왔다. "물건을 받았느냐?  판매자가 응답을 하지 않았으면 우리에게 연락해라. 11월 9일까지 연락 안 하면 물건을 받은 걸로 알겠다."라는 내용이었다. 그래서 이베이 홈페이지에 가 봤다. 그런데 해당 케이스에 대해 판매자의 무응답을 이베이측에 알리는 기능이 없었다. 케이스에는 "판매자에게 메일 보내기"와 "문제가 해결되었다"라는 두 가지 옵션만 있었다. 이게 뭐야...

그래서 이베이 고객센터에 바로 연락하는 방법을 찾아 봤다. 고객센터 연락 메뉴는 있었고, 그걸 누르니 연락 옵션은 두 개밖에 없었다. "전화를 내가 걸기"와 "내게 전화를 걸어라". 말로 하는 것보다 이메일이 편한데, 메일 옵션이 없었다. 국제 전화비를 아끼고자 "내개 전화를 걸어라"를 고르려고 했는데, 전화 번호 입력란에 한국이 없었다.  내가 전화를 거는 옵션을 누르니 866으로 시작하는 미국 전화 번호와 "너의 신원과 너의 문제를 빨리 확인할 수 있는" 7자리 one-time passcode가 나왔다. 물건도 못 받아서 짜증나는데 국제 전화비까지 내가 써야 하나 싶어서, (잔액이 0원이어서 유료 전화는 안 걸리는) 스카이프로 테스트해 봤다. 그런데 걸리더라. 검색해 보니 866도 800처럼 무료 전화 번호였다. 다만 800 등은 미국 내에서만 무료이고, 한국에서 걸면 무료가 아니라는 걸 예전에 어디에서 들었기 때문에 스카이프로 걸어야만 무료일 것이다.

전화는 곧바로 연결되었다. 자연스러운 영어 음성이 나오는데, 처음에는 사람인 줄 알았다. 하지만 곧 프로그램임을 확신했다. 내 아이디의 첫 네 글자를 말하라는데, 말을 하고 나니 엉뚱하게 읽고는 그 네 글자가 맞느냐는 것이었다. 즉, 음성 인식 기능을 이용한 프로그램으로, 전화를 건 사람의 신원과 문제의 분류를 확인하는 것까지는 자동으로 하고, 그 후 실제 상담원에게 연결하는 것이다. 문제는... 몇 번 말했는데 자꾸 틀리게 인식하길래, 아까 나왔던 7자리 one-time passcode를 그냥 눌러 봤다. 안 통했다. 이러려면 7자리 코드는 왜 생성한 건가?

어쨌든 몇 번 다시 시도해 아이디를 인식시켰더니, 그 다음은 문제를 짧게 말하라고 한다. 간단하게 말했더니 "케이스에 관한 것이다. 맞지?" 이런 응답이 나왔다. 아마 문장에서 "케이스"라는 단어를 추출해서 인식한 것 같다. 사실 꼭 Siri나 Google Now 음성과 대화하는 것 같았다. "YES", "NO"같은 대답을 인식한다. "Yes"라고 했더니 상담원을 연결해 준다고 하고, 곧바로 상담원과 연결되었다.

상담원 비용을 아끼려고 미국 업체가 인도 상담원을 쓰는 걸 풍자하는 걸 많이 봐서 이상한 억양의 상담원을 예상했는데, 의외로 그냥 평범한 미국 아줌마 목소리가 나왔다. 내 이메일 주소를 불러 달라고 해서 불러 주었다. 그리고는 아이디 앞 네 자리 부르라고 하고, 그리고는 전화 번호를 묻는데 무슨 전화 번호로 등록했는지 잘 기억이 안 났다. 미국 사이트라... 한국 전화 번호로 등록 안 했을 수도 있기 때문이다. 뭐 어쨌든 그냥 한국 전화 번호 불러 주었다. 우편 번호를 말하라는데 예전에 가입한 거라 우편 번호를 뭘로 했는지 기억이 안 났다. 최근 우편 번호가 다 바뀌기도 했고. 그래서 그냥 옛날 우편 번호 불러 줬는데, 지금 확인해 보니 계정에 등록한 우편 번호는 그 게 아니었다. 우편 번호가 틀렸는데도 그냥 넘어간 걸 보면 별로 중요한 건 아닌 것 같다. 그리고는 해당 물품의 item number를 불러 달라고 한다.

내 예상으로는 one-time passcode를 누르면 자동으로 내 계정과 해당 물품 번호 등이 자동으로 다 연결되어 상담원에게 보여질 거라고 생각했기 때문에, 이런 복잡하고 긴 절차를 왜 하는지 의문이었다. 상담원에게 "홈페이지에 one-time passcode가 있었는데 그 걸 불러 줄까"했더니, (내가 제대로 알아 들었다면) 상담원이 "그 번호는 계정 확인 등 지금까지의 절차를 빠르게 하기 위해 있는 거다"라는 응답을 했다. 사실 내 말이 그 거다. 애초에 그러면 그냥 그 one-time passcode가 있느냐고 바로 묻지, 왜 아이디니, 메일 주소니, 우편 번호니 이런 걸 귀찮게 묻느냐는 거다. 뭐 상담원하고 따질 건 아니니까 그냥 대강 넘어갔다. 아마 이베이 시스템이 유기적으로 제대로 구성된 게 아닌 것 같다.

상담원이 문제가 뭐냐고 해서, "날짜가 지났는데 물건도 못 받았고, 케이스를 열었는데 답장도 안 온다"고 했더니, 잠시 확인한다고 기다리라고 한 후, "판매자가 응답을 안 하면 이베이 측이 개입해서 전액 환불해 줄 수 있다. 그런데 그 게 10월 17일부터 가능하다"고 대답했다. 이런 내용이 왜 홈페이지에서 확인이 안 되는 건가! 애초에 홈페이지 케이스 페이지에서 10월 17일까지 판매자로부터 응답이 없으면 이베이가 개입해 환불하도록 신청할 수 있다고 나와 있었으면 굳이 내가 오늘 전화를 안 걸었을 것이 아닌가.

뭐 어쨌든.... 10월 17일이 되면 이베이 측에서 다시 메일이 갈 것이고, 그 메일의 지시에 따르면 다시 고객센터로 전화하는 번거로움 없이, 홈페이지에서 이베이가 개입해 환불해 주도록 요구할 수 있다고 한다.

Tuesday, October 11, 2016

이마트에서 점포 상품만 표시하게 하기

Chrome 브라우저의 최대 장점은 익스텐션일 것이다. 그동안 남들이 만든 익스텐션들을 유용하게 쓰고 있었고, 가끔 나도 익스텐션을 만들어 볼까 하는 생각은 했지만, Javascript를 안 건드린 지가 거의 10년 가까이 되었고, 그동안 Javascript의 사용이 폭발적으로 늘면서 너무나 많이 바뀌고 늘어나서, 다시 하려면 시간이 많이 걸릴 것 같아 매번 그냥 지나쳤었다.

그런데, 결국 이마트 사이트의 불편함을 견디지 못하고 직접 익스텐션을 만들게 되었다. 이마트 사이트에는 점포 물건과 택배 물건이 있다. 점포 물건만 합쳐서 배송이 가능하다. 그래서 점포 물건만 골라 담아야 하는데, 문제는 상품 목록에 저것들이 섞여 있다는 것이다. 점포 상품만 표시하도록 체크박스에 체크를 하면 되지만, 페이지가 바뀔 때마다 매번 체크하는 게 아주 귀찮고 시간이 드는 일이었다. 그래서 디폴트로 점포 물건만 보이게 하는 익스텐션을 만들었다.



구글이 제공하는 개발 문서와, 구글 검색해 찾은 예제, 그리고 Stack Overflow 등을 참조해서 만들었고, 완전히 처음부터 시작했는데 90% 완성하는 데까지 6시간 정도밖에 안 걸렸다. 그 후에는 버그 수정이나 아이콘 작성, 코드 줄 맞추기... (Javascript의 기본 코딩 스타일이 내가 좋아하는 스타일이 아닌데, 에디터가 자꾸 그렇게 바꾸고, 어떻게 그걸 끄는지 못 찾았다) 등에 시간이 좀 걸렸다. 개발에 특별한 도구는 필요하지 않고, 그냥 일반적 텍스트 에디터와 Chrome 브라우저의 개발자 도구 (F12 누르면 나옴)를 이용하면 된다. 언어는 Javascript 그리고 웹의 기본인 HTTP, HTML, XPath 등을 이해하면 된다.

다만, 소위 gotcha라고 하는 게 역시 좀 있어서, 당연히 문제가 없는 코드라고 작성하고 실행해 보면 원하는 결과가 안 나와서 디버깅하느라 시간을 많이 보내다가 Stack Overflow 검색해 보면 이상한 이유가 있는 경우가 있다. 예를 들면 popup.html에 Javascript를 넣었더니 동작을 하지 않았다. 스크립트 자체가 잘못되었나 싶어 수정하고 계속해 봐도 안 된다. 알고 보니 popup.html에 바로 Javascript를 넣으면 안 되고 링크를 해야 한단다. 그래서 code.js로 빼고 실행해 봤더니 그래도 일부가 동작을 안 한다. 테스트 결과 결론은, code.js 파일에서도 이벤트 핸들러 등록하는 등의 코드만 동작하고 alert("test") 등의 일반 코드는 함수 외부에서 동작을 안 한다는 것이었다. 여기서 한 시간은 소모한 것 같다.

어쨌든 완성을 하고 보니, 자기가 만든 익스텐션이라도 그냥은 쓸 수가 없었다. 개발자 모드로 압축되지 않은 익스텐션을 등록해 놓으면, Chrome 브라우저를 실행할 때마다 브라우저가 멈추면서 개발자 모드로 등록한 익스텐션은 위험할 수 있다는 경고 문구가 뜬다. 물론 내가 만든 익스텐션이니 경고 문구를 그냥 무시하고 닫으면 되지만, 브라우저를 실행할 때마다 경고를 보려니 짜증이 났다. 경고를 안 나오게 하는 방법이 있나 찾아 보니, 보안 문제로 없다고 한다. CRX로 만들어 마치 예전에 웹 사이트에서 익스텐션을 다운로드해 설치하듯이 설치를 해 봤다. 처음에는 잘 동작을 했는데, Chrome을 재시작하면 보안 문제로 스토어에서 받지 않은 익스텐션은 제거해야 한다면서 비활성화해 버린다. 제거하지 않는 옵션은 없었다. 즉, 쓸 수가 없었다. 결국, 자기가 만든 익스텐션이라도 마음 편하게 쓰려면 스토어에 등록하고 스토어에서 다시 받아서 설치해야 하는 것이다.

그래서 내가 만든 익스텐션을 스토어에 등록(publish)하려니 요금을 내라고 한다. 5 달러라는데...  굳이 5 달러를 받아야 하는가 하는 생각이 들었지만, 안 내면 등록이 안 되었기 때문에 결제를 했다. 결제 후 등록 버튼은 곧바로 눌러졌고 등록된 것처럼 보였지만, 실제 스토어 검색 결과에 내가 등록한 게 나오기까지는 몇 시간 정도 걸렸다. 그리고 외국에서는 필요가 없는 익스텐션이라 접근 가능한 국가를 한국만으로 한정하려고 했는데, 국가 목록에 한국이 안 보였다. 일본이나 중국, 대만, 베트남 등도 있는데 한국이 왜 없는지 의문이다. 결국 포기하고 그냥 전세계에서 접근 가능하도록 설정했다.

익스텐션 개발의 기본을 익혔으니... 이제 나머지 다른 사이트의 불편한 점도 익스텐션을 만들어 해결해 봐야겠다.

Wednesday, September 21, 2016

Do not install EaseUs Partition Master and their other products. They are scams.

Last year, I accidentally deleted a partition metadata. Not the data itself, but just the metadata. Knowing that the data was still there, I wanted to restore the files. So I tried many data recovery software. None of them were really good and I eventually gave up. One free software was the EaseUs Data Recovery. It was a trial version. I scanned the disk with it. After a lengthy scan it showed files... but fake files. The drive was a data only drive; I did not install Windows on it. But EaseUs' software showed common Windows system directories and files. And then it wanted me to buy the full version to recover those files. That was obviously a scam.

Today, I wanted to resize the Windows partition, so I tried some softwares including EaseUs Partition Master free edition. I made sure not to be tricked to install their other complementary software with it, and I unchecked the customer feedback (i.e., marketing surveillance).

First, it could not resize the C drive as I wanted. Secondly, it started automatically on Windows startup, and wanted to "clean some junk files" for me. Yeah, and notice that EaseUs is a Chinese company, Cheng Du. What is wrong with Chinese companies and spams? They always try this.

A partition manager wants to start automatically to clean your system.

Yeah, improve the system performance... right.


Remember ES File Explorer (by a Chinese company)? I liked it until, they tried to sneak in some system cleaning feature to a file manager. Why does a file manager want to clean my system? Also, I have found that ES File Explorer is constantly running in the background, submitting usage data to their server through ADB log. The Go Dev team is another famous Chinese Android developer. I liked the Go SMS and Keyboard at first, but then they started spam me with unnecessary announcements, features etc. So I ended up deleting all their products. So many Chinese developers are practicing this.

Do not install EaseUs products unless you want to lose your personal data, or be scammed.