dgkim의 재활용 분류법

현재 dgkim이 재활용 쓰레기 분리 배출하는 것에 대한 메모. dgkim 요즘 쓰정남이라서.

 

대표적인 재활용.

  • PET병
    • 라벨을 제거한다. (요즘 보통 커팅 쉽게 하랍시고, 파선을 파두긴 하는데, 딱히 쉽진 않고, 칼을 사용하여, 그어서 제거한다.)
    • 뚜껑을 제거한다. (뚜껑을 닫으면 이물질이 들어가지 않느니 하는데, 딱히 모르겠고, 뚜껑 없이 분류된 걸, 대충., 수거해가면 이물질 들어가는 것 보단, 수거장에서 뚜껑을 핸드로 푸는 것보단 이물질 일부가 자동화 처리를 통해 세척하는 것이 유리하다 생각해서, 뚜껑이 없는 것이 유리하다고 생각)
    • 목찌를 제거한다. (재질이 다르니까, 잘라 내는 것이 맞지 않겠냐?)
    • 물로 대충 헹굼
  • PET 재질 아이스아메리카노컵
    • 인쇄 있는 컵 : 재활용으로 하지 않고, 일반 쓰레기
    • 스타벅스 : 라벨이 손으로 제거 가능하므로 제거
    • 인쇄가 없는 컵 및 뚜껑 : 가능하면 섭취후, 바로 물로 헹구는 정도로 세척 후 PET와 같이 배출
    • 컵홀더 : 이게, ㅋ 드링크류 박스 같은 걸로 모으면, 솔솔하게 모이긴 함. (드링크 박스 채워지는 재미)
  • 드링크병
    • 뚜껑을 제거한다.
    • 목찌 가능하면 제거한다.
    • 물로 대충 헹굼
    • 라벨 : 이건 제거 불가능이라 판단.
  • 술병
    • 위스키 : 뚜껑, 목찌 제거하지 않고 그냥 닫아서 배출한다. ㅋ 보통. 목찌가 두꺼워서 많은 노력이 들어가므로, 걍 닫아서 버린다. 뚜껑까지 닫고 배출하므로, 딱히 세척이고 뭐시고 없고, 걍 배출. rfid랍시고 있는데, 역시 걍 손으로 1회 당겨서 제거하는 정도.
    • 와인 : 보통 코르크병으로 마시므로, 코르크 마게 따진 상태로 물로 헹궈서 배출한다.
    • 희석식 소주병, 희석식 맥주병 : ㅋ 보통 식당에서만 먹으므로, 고민하지 않는다.
    • 일반 수입 맥주캔 : 대충 물로 헹궈서 배출
    • 기네스 드래프트캔 : 캔 뚜껑(?) 목(?) 부분을 따는 가젯을 하나 산 적이 있어서, ㅋ 따고, 안에 있는 플라스틱 공을 제거해서 버리고, 캔만 대충 헹궈서 배출
  • 배달음식 플라스틱 용기
    • 나름 열심히 퐁퐁 사용해서 세척해서 플라스틱으로 퉁쳐서 배출
    • 그릇 부분과 뚜껑은 눌러 닫지 않고 배출. 보통 뚜껑은 PP고 그릇은 다른 재질이길래. 분리. 물론, 수거시 재질별로 분리하진 않고, ‘플라스틱’이라고 섞여서 나가는데, 알아서 분류하겠거니.
    • 아.. 가능하면, 플라스틱 용기에 배달되는 배달음식은 먹지 말고, 고급 식당에서 먹는 것이 정신건강에 좋다.ㅋ
  • 골판지 박스
    • 셀로판 테이프 : 재활용 배출시엔 다 제거해야 한다고 배워서, 제거 가능한한 다 제거
    • 택배 송장 : 역시 배출시에 다 제거해야 한다고 배워서, 제거 가능한한 다 제거
    • 스테이플러 : 이건. 제거 불가능(?)이라 생각해서 제거하지 않는다.
  • 일반 소포장 박스
    • 음. 대충. 뭐, 없고, 걍 종이 같은 걸로 모음. 코팅이라던가, 잘 구별 못안함.
  • 스티로폼
    • 역시, 테이프, 택배송장 깔끔하게 가능한한 제거.
  • 칼날 등
    • 면도칼날 – 양면면도날 – 칼날이 모이므로, 금속재질 커피(?) 같은 걸 사먹고, 세척해서 거기에 모음.
    • 커터칼 – 역시 위와 같이 모음.
    • 옷 핀 – 옷 사면 딸려오는 옷핀 역시, 칼날과 같이 커피통에 모음.
  • 스프레이캔
    • 눌러서 사용하는 플라스틱 부분은 가능하면 제거
    • 캔 뚫는 가젯을 사둬서, 뚫어서 배출

 

딱히.. 싶은..

  • 담배갑
    • 음. 딱히, 그냥, 시가 태우고 싶다는 생각만 하면서, ㅋ 일반 쓰레기.
  • 세탁소 옷걸이
    • 이놈. 쇠가 있는 것 같긴 한데, 겉에 플라스틱 옷이니 페인트칠(?)이니 있어서, 재활용 안 되지 싶어서, 요즘은 세탁소에서 옷을 찾을 때, 옷만 벗겨서 가져온다.
  • 뽁뽁이, 과일포장 완충제 등
    • 버릴려니, 부피는 크고, 재사용 하려니, 쓸 일은 없고, 대충, .. 버리까? 대충, 당분간 둬볼까?
  • 비닐류
    • 비닐은, 딱히 재활용이 가능하다고 생각하지 않아서, 거의 종량제로 버림.
  • 종이컵
    • 이건뭐, 재활용 아니다 싶어서, 일반 쓰레기로 버림.

어려운 것

  • 금속 재질 식기구(?)
    • 냄비 후라이팬 등, 가능하면 플라스틱 손잡이가 없으면 좋긴 한데, 플라스틱 손잡이가 나사를 통해 분리가 가능하면 쇠(?) 재질만 금속으로 재활용 배출. (아직 후라이팬 냄비 정도만 버러보고, 칼(?)은 안 버려봄.)
  • 플라스틱 재질 잡
    • 이번에 버리는 플라스틱만으로 구성된 생활용품이 있긴한데, 삼각형이 없어서, 이걸 재활용으로 배출해야 하나 그냥 쓰레기로 버려야 하나 고민.
    • 샴푸통 등 : 대충, 용기부분만 플라스틱으로 배출. 펌프는 일반 쓰레기. 라벨이 제거가 가능하면 제거 하고,
  • 소형 가전
    • 소형 가전류는, 대충 일반 쓰레기로 버림(ex. 소형 스피커 이런)
  • 소형 배터리
    • AA, AAA, C, D, 동전 배터리, 노트북 배터리. – 대충, 동네 배터리 모으는 곳에.
  • 형광등 램프 등
    • 따로 모아두는 곳 없으면 버리기 난감. ㅋ

The year 2021

Dec 2021 – Sphinx, jsdoc. Started to Write documentation for API and SDK.

Dec 2021 – Subscribed Amazon Prime Video

Nov 2021 – Jasper Reports

Nov 2021 – Revealjs, Serverless-Container (python + oracle instant client)

Oct 2021 – Migrate www.dgkim.net from Linode to GCP (the linode iOS app is no longer updated. so I decided to migrate to GCP)

Oct 2021 – Start using Google Workspace (to use google products with my own domain dgkim.net)

Oct 2021 – Switch my main bank from Citibank to Toss bank

Oct 2021 – Move to Seoul (from Gunpo)

Sep 2021 – OLAP, AWS RedShift tested..

Aug 2021 – jupyter, google sheets integration

Jul 2021 – Migrate homeserver to libreboot X200. Re-install Ubuntu on Vostro 260s, Start using lxd container, docker container for homeserver.

Jul 2021 – swagger doc, plantuml

Jun 2021 – Superset, SwiftUI

May 2021 – Sonarqube, AWS App Mesh, http://www.deokgon.kim/

Apr 2021 – Jupyter notebook, Jupyter hub

Mar 2021 – aws ecs devops script

Feb 2021 – openldap, openvpn, devpi, verdaccio, epsagon, doc site, aws api gateway documentation, jupyter notebook

Jan 2021 – Transfer to AWS Route53 (from IBI, DNSEver)

Jan 2021 – AWS App Mesh

MacOS LDAP Authentication

I configured iMac to use My OpenLDAP server. There were several problems.

I will not talk about configuring ‘Directory Utility’. (If you know how to configure LDAP server and the basic method of configuring LDAP client, you will not have much difficulty in configuring LDAP client using ‘Directory Utility’)

  1. First, try to switch user using sudo su command like ‘sudo su – dgkim’, there was problem accessing dgkim’s home directory. no such directory.
    1. /home directory is reserved by mac os, so you need to change home directory to ‘/Users’
      1. Change mapping for ‘Users/NFSHomeDirectory’ using ‘Directory Utility’ : Change Users/NFSHomeDirectory from ‘homeDirectory’ to ‘#/Users/$uid$’
      2. See the page [1]
      3. there were several other topics, to use auto_mount NFS volume as home directory(this case I need NFS server that I don’t have), or disable auto_mount and symlink /Users to /home (but it wasn’t the answer what I was looking for.)
    2. /Users/dgkim directory will not be created automatically
      1. Use LoginHook to create user’s home directory. login hook can be created with ‘defaults write com.apple.loginwindow LoginHook /path/to/hookscript.sh’
      2. I followed instructions on page [1] YOU SHOULD KNOW WHAT THE SCRIPT DOING.
      3. This only works with login screen, it means if you try to access via ssh for the first time, it will not work.
  2. Second, try to su from local user like ‘su – dgkim’, the password authentication failed.
    1. The mac os tries to authenticate the user with mechanism that can’t be used at server. It may not be the problem of mac os, It may caused by openldap. I don’t exactly know clean answer. [2]
    2. This problem was long unsolved problem for me. When I change olcSaslSecProps, the EXTERNAL method is blocked. (it isn’t acceptable.)
    3. I tried first method of [2], I configured ‘olcSaslSecProps’, then the local command like ‘ldapsearch -Y EXTERNAL’, stopped working. It means the root user can’t change or control, the server configuration(by ldapmodify). It took several hours, I researched “How can I disable only ‘*-MD5’ and use only ‘LOGIN or PLAIN'”
    4. but the answer was below, in the page [2], there is a instruction to change access control list.
    5. The page [2] shows static config (like ‘slapd.conf’), but I uses dynamic(?) configuration ‘/etc/ldap/slapd.d/cn=config’. Modifying using ldif file can’t be difficult.
    6. The page [3] is similar answer.

[1] : https://docs.foxpass.com/docs/mac-os-x-logins-over-ldap
[2] : https://serverfault.com/questions/916745/unable-to-authenticate-openldap-users-on-macos-clients-user-not-found-no-secre
[3] : https://www.chriscantwell.co.uk/2009/12/mac-osx-authentication-against-openldap/


Mac OS ldap client testing scripts

# this will clear cache?
dscacheutil -flushcache
# Query user name
dscacheutil -q user -a name dgkim

ldapsearch, and ldapwhoami command

# to check login methods
# Run from server, using EXTERNAL mech, to login as root(uid=0)
ldapsearch -H ldapi:/// -Y EXTERNAL -s base -b "" -LLL "+" | grep -i sasl

# on the other machine, If you configured [2] instructions, it will print nothing
ldapsearch -H ldaps://ldap.domain/ -x -W -s base -b "" -D uid=yourusername,ou=Users,dc=domain -LLL "+" | grep -i sasl
# ldapwhoami
# Run from server, using EXTERNAL mech
ldapwhoami -H ldapi:/// -Y EXTERNAL
# will display 
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn:gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth

# On the other machine, I use simple bind method to login
ldapwhoami -H ldaps://ldap.domain/ -x -D uid=yourusername,ou=Users,dc=domain -W
# will display
dn:uid=yourusername,ou=Users,dc=domain

 

 

The year 2020

TL;DR; AWS/Infra engineer/Dev/Ops …

Dev – Python3, Django, NodeJS, EDA

Ops – AWS, Docker, Container, deployment.

others – APM, ElasticSearch, AWS Lambda, AWS CloudFormation, AWS CloudWatch, TravisCI,

 

What I bought? – Mikrotik hEX, Netgear R7000, Apple Magic Trackpad 2

My Current Devices – MacBook Pro Retina Late 2012, Dell Vostro 260s, Libreboot X200, Raspberry Pi 1 Model B, Raspberry Pi 3 Model B

 

Dec 2020 – Verdaccio(npm repository), serverless-flask

Sep, Oct, Nov 2020 – NodeJS, Fargate. (nodejs, sequelize)

Sep 2020 – Mikrotik hEX

Aug 2020 – AWS ECS Fargate (nodejs, python, php, vuejs)

Jul 2020 – Dell Vostro 260s (2012 ~ 2017 … 2020 ~ ) reborn (SSD migrated from hulk)

Jul 2020 – hulk.dgkim.net (2012 ~ 2020) died

Jul 2020 – Docker / AWS ECS, ECR

Jun 2020 – AWS CloudWatch/X-Ray, ElasticAPM

May 2020 – AWS CodeDeploy (ec2)

Apr 2020 – Serverless Framework(nodejs)

Apr 2020 – new job. DevOps. NodeJS, Python3

Mar 2020 – Netgear R7000

 

Oct 2019 ~ Apr 2020 : OpenStack, …

The year 2019

    • January
      • Japanese – Just hiragana, katakana
    • February
      • my first Apple Watch(1st generation) died. 2015.07. ~ 2019.02. (battery is swollen)
    • March
      • Spring Web MVC + Spring Security archetype project. (https://github.com/deokgonkim/spring-archetype)
      • Python server project. (2-tier to 3-tier application renovation, http server that provides JSON data service. extended SimpleHTTPServer module. first-try of Decorator.) Spring based module also will be.
    • May
      • retirement of Vostro 260s (My main desktop switched to Hulk, i7, 32GB RAM, 128 SSD, 1TB(*2 RAID1) HDD
      • Beginning Swift
      • Glimpse of Qt 4.8.6 C++, with Visual Studio 2008 C++ project.
      • Purchased another Raspberry Pi 3 Model B
        • Purchased sensor kits for RPi, especially DHT11 temperature, humidity sensor.
    • June
      • Spring Web Project (RPi Sensor chart, and MQ, and IoT control)
    • July, August, September
      • Job seeking.
    • October
      • New job, OpenStack operations. new town.
    • November
      • New Server, LDAP, Django Project(id service)
      • OpenStack Queens Test
      • DBA Role : PostgreSQL
    • December
      • New Django Project (Linux monitoring)

2019 May IoT project

As I previously posted, I made a WiFi AC remote controller project. see telegram bot for HVAC

Today, I begin a new project to go further.

I purchased another Raspberry Pi 3 Model B, AND Raspberry Pi Sensor Kit. (http://m.eleparts.co.kr/goods/view?no=3730500 and http://m.eleparts.co.kr/goods/view?no=3030452)

(I just wanted to purchase sensor only, but I can’t sure, I could attach these sensors to my existing RPi, so I posted a question to a forum https://www.cooking-hacks.com/forum/viewtopic.php?f=43&t=19434&sid=d89e064868d4a0dce0c58ea7a6490bde)

And, I tested DHT11 as https://github.com/deokgonkim/rpi_sensor

 

My next step will be,

1. set up a messaging queue, like Rabbit MQ

2. set up a web/api server for gathering the data and the controll center.

3. my existing bot code shoud be migrated to a new server, and these two RPi should listen to MQ for commands, and should send data to MQ.

 

To be continued…

Continue reading 2019 May IoT project

My first Apple Watch died.

My first Apple Watch died. (1st generation 42mm stainless steel)

I have worn it for about 3.5 years. (since 2015.08. ~ 2019.02. )

Yesterday, I noticed top panel is popped up.

So, I googled some known issues like this kind of accident. and I found there was an issue regarding battery swollen.

(you may see the swollen battery or not. I think it is swollen.)

The warranty is limited to 3 years, so I can’t get the repair service from authorized apple repair center. (I don’t want buy old/refurbished one)

And I don’t know local private repair shop that can repair watch. (There is one private apple repair shop near here, but they don’t repair watch)

There is another option. ifixit.

https://ko.ifixit.com/Guide/Apple+Watch+Battery+Replacement/41080

https://ko.ifixit.com/Guide/Apple+Watch+Adhesive+Replacement/41083

https://ko.ifixit.com/Store/Parts/Apple-Watch-42-mm-Original-Series-1-Replacement-Battery/IF308-000-1

it seems not too hard to repair myself, the most difficult part would be pulling off the screen, but the screen is already popped up 🙂

 

But there is a critical(?) serious(?) problem. 🙁

They don’t ship internationally ㅋㅋ

 

So, I give up repair, give up my watch, .. (buy new one? ㅋㅋ)

or, keep it for sometime? or put it into a trashcan? (what if the battery blow up?)

2018년 자동차 주유대금 요약

2018년에 주유한 내역에 대해서 간략히 단가 계산을 해보았습니다. ( 2018년에 그다지 주유를 많이 하지 않았고, 주로 리터 주유를 하다보니, 아래와 같은 표가 나옵니다.)

ps. 2017년엔 리터주유말고 금액주유가 있어서 정확한 계산은 안 되지만, 대략 계산해보면(51건) 1,470원 정도로 나왔다.

ps. 대충 계산하면, 6% 정도 오른 것인가?

2018년 기록

1. Python Tkinter Desktop App
2. Raspberry pi HVAC Wifi Remote, Telegram chatbot
3. 9월 : 쌀밥 -> 고기야채로 전환 (저녁만 해당, 아침은 라면(밥->라면으로 복귀))
4. Hulk server reborn -> 빈 서버로 몇 달간 방치되어 있다가, 일반적인 개발 서버로 용도 전환. (메모리도 32GB로 확장)
5. 10월 iPhone 7으로 바꿈. (iPhone 6S 3년)
6. iOS 앱 개발 준비중(Objective-C) : 여전히 앱스토어에는 올리지 못하고, 연습만 계속 중.

Python 개발 기록
– 3월 : 에이전트 형태의 데몬 개발. 분산된 서버(에이전트)의 운용 상황을 중앙서버로 전송하는 역할
Python, log parsing(no library, not re), cx_Oracle, Periodic Data Collection, Windows WMI and CMD, Sqlite3
– 9월 : 위 에이전트에서 수집한 정보를 편하게 보는 프로그램 개발
Python, Tkinter, cx_Oracle, Chat(udp broadcasting), Socket Proxy, RDP Proxy, encryption with 3rd party software
– 12월 : 데이터 연계를 위한 XMLRPC 데몬
Python, SimpleXMLRPCServer, argparser

지른 것.
– iPhone 7 (10월)
– iPhone 7용 지갑형 케이스 (카드 3장 휴대하여, 지갑을 휴대하지 않을 수 있게 되었다.)
– iPhone용 Lightning Digital AV 어댑터 : HDMI 디스플레이에 iPhone 화면을 띄울 수 있다.

– Youtube Premium : 더 이상 광고를 보지 않고, 동영상을 볼 수 있다.

– IR Transceiver for aduino : 에어컨, TV를 Raspberry pi를 통해 원격 제어하는 것을 만들었지.

trivial
– FANN 시작만 하다가 접음.
– tensorflow 시작만 하다가 접음.
– Libreboot X200 Linux – Trisquel 업그레이드(7.0 -> 8.0), 96DPI -> 125DPI로 변경. DPI변경이 이렇게 보기 좋은 것이구나(?)
– sharedrop
– pgp everywhere, GPG, Yubikey SMIME
– openvpn notification https://www.gargoyle-router.com/phpbb/viewtopic.php?t=5756

telegram bot 제 2탄

텔레그램 봇을 만들어 보았었지요.

이번엔 그 두 번째 이야기.

HVAC IR Remote라는 라즈베리파이에 올릴 수 있는 IR Transceiver를 구매하고,
원격에서 집에 있는 장치를 리모콘 조작하듯이 켜고 끌 수 있는 것을 만들어 보았습니다.

Github : https://github.com/deokgonkim/lirc-telegram-bot


# hvac-telegram-bot

## My Hardware

* Raspberry Pi Model B. (old one)
* HVAC IR Remote for arduino / Raspberry Pi
* https://www.cooking-hacks.com/hvac-ir-remote-shield-for-raspberry-pi
* https://www.cooking-hacks.com/documentation/tutorials/control-hvac-infrared-devices-from-the-internet-with-ir-remote/

## Setting up HVAC IR Remote for LIRC

* Instructions

> https://www.hackster.io/austin-stanton/creating-a-raspberry-pi-universal-remote-with-lirc-2fd581

* Install lirc package

```
sudo apt-get install lirc
```

* Configure kernel module

```
vi /etc/modules
lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=23
```
> note I/O port is different than above documentation.
> You can find GPIO port for HVAC IR Remote in arduPi.cpp

```
vi /etc/lirc/hardware.conf
```
> see above document

```
vi /etc/lirc/lirc_options.conf
```
> https://raspberrypi.stackexchange.com/questions/50873/lirc-wont-transmit-irsend-hardware-does-not-support-sending
> set driver to 'default'

* Record IR signal or obtain configuration file.
> http://lirc.sourceforge.net/remotes/

> My testing board didn't work as expected.
> I can only control IR LED, two buttons, two indication LEDs. but can't read IR signal. I don't know board is broken or something.

## Preparations

following my own blog https://www.dgkim.net/wordpress/2017/08/24/telegram-bot-%ed%85%8c%ec%8a%a4%ed%8a%b8-%eb%85%b8%ed%8a%b8/

### python-telegram-bot
> I tried
```
git clone https://github.com/python-telegram-bot/python-telegram-bot

cd python-telegram-bot
git submodule update
```

> But, today I changed plan.
> https://pypi.org/project/python-telegram-bot/

## programming part

> I referenced https://github.com/python-telegram-bot/python-telegram-bot/tree/master/examples

> quickly created firstbot.py