2017-12-31

About Debian : Alioth to Salsa

https://wiki.debian.org/Alioth
를 보면
Alioth 는 깨졌다는데...
https://alioth.debian.org/
들어가 보면 그런 흔적이 안 보입니다.

https://lists.debian.org/debian-devel-announce/ 를 보라기에 좀 봤습니다.
https://lists.debian.org/debian-devel-announce/2017/12/msg00003.html
읽어보니
새로운 서비스가
https://salsa.debian.org
에서 가능하다고 합니다.

https://wiki.debian.org/Alioth 에서 News 를 보면
2018-05-01: planned: alioth shut down, mailing list archived
2018-02-01: planned: mailing lists on Alioth are disabled; incoming mail is no longer accepted
라고 나옵니다.
2018년 5월 1일이면 Alioth 내려가네요...

우리나라 사람중에 데비안에 기여하시는 분들이 전에는 여러분 계셨던 거 같은데... 지금은...
조용하네요...

2017-12-28

Korean translation of Debian Netinst

최소 CD를 이용한 네트워크 설치 많이 사용할 텐데 아직까지 번역이 안 되어있었다는 게 신기하다.
https://alioth.debian.org/scm/viewvc.php/webwml/korean/CD/netinst/?root=webwml

내 번역이 적용되면
https://www.debian.org/CD/netinst/
에서 한국어 설명을 볼 수 있다.

2017-12-27

Debian L10n

데비안 시스템 관리 방법이 바뀔 거 같네요.

아직 확정된 건 아니지만...
https://lists.debian.org/debian-l10n-korean/2017/12/msg00019.html

아래 링크도 참고.
https://lists.debian.org/debian-www/2017/12/msg00025.html

2017-12-26

With a drone make money?

드론으로 돈을 벌 수 있을까?
학원에서는 돈을 벌 것 같다.
사람들 가르쳐서.
그것도 쉽진 않을 거 같다.
드론 선생님에게 월급 주려면.

드론 조종할 수 있다고 일확천금 꿈꾸진 말 지어다.

http://www.hani.co.kr/arti/society/society_general/824819.html

2017-12-25

Debian on the Go

가면서 데비안.
https://www.debian.org/misc/laptops/index.en.html
번역.

https://alioth.debian.org/scm/viewvc.php/webwml/korean/misc/laptops/?root=webwml

https://www.debian.org/misc/laptops/index.ko.html
에서 조만간 볼 수 있겠다.

현재까지 36개 더함, 40개 커밋.

2017-12-24

arduino blink withoutdelay Korean translation

https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
번역하려다가 일단 아래와 같이 만들어 봄.
https://github.com/sebuls/arduino-tutorial-ko/blob/master/blinkwithoutdelay.adoc

cvs add directory

cvs add: No CVSROOT specified!  Please use the `-d' option
cvs [add aborted]: or set the CVSROOT environment variable.
라는 에러 메시지에 어찌할 줄 모르고 며칠을 보냈다.
디렉토리를 먼저 더하라고 알려주면 좋으련만 에러 메시지는 위와 같이 어렵다.

디렉토리를 만들고 그 아래에 파일을 만들었을 때,
파일만 cvs add 하려니 에러가 난다.
이럴 때는
디렉토리를 먼저 cvs add 한 후,
파일을 cvs add 하면 된다.

https://lists.debian.org/debian-www/2017/12/msg00090.html

2017-12-23

cvs FAQ

데비안 웹 사이트 번역을 취미삼아 하고 있는데, 하다보면 기초에서 헤맨다.
cvs 요즘은 많이 안 쓰는 것 같은데 데비안 웹 사이트 에서는 아직도 많이 쓴다.

https://wiki.kldp.org/wiki.php/CVS/FAQ

자주 들러 봐야 할 것 같다. 위키니까 아무나 수정 가능. 잘못되었거나 오래되어서 지금과는 다른 부분은 최신 내용으로 바꾸면 더욱 좋겠다.

2017-12-19

Arduino LED blink without delay

아두이노 자습서 : Delay 없이 LED 깜빡이기

때때로 한 번에 두 가지 일을 할 필요가 있다.
예를들어 버튼 읽기를 기다리는 동안 LED를 깜빡이길 바랄 거다.
이 경우, delay()를 쓸 수 없는데, 왜냐면
아두이노는 delay() 동안 여러분의 프로그램을 멈추기 때문이다.
아두이노가 delay() 가 지나길 기다리는 동안 버튼이 눌려진다면,
여러분의 프로그램은 버튼 눌림을 놓칠 거다.

이 스케치는 delay()를 쓰지 않고 어떻게 LED를 깜빡일지 보여준다.
LED는 켜지고 그 시간을 기록한다.
그러면,  loop() 가 도는 각 시간마다, 요구되는 깜빡임 시간이 지났는지 점검한다.
그렇게 되면, LED 켜짐 또는 꺼짐은 토글하고 새 시간을 기록한다.
이 방법으로 LED 깜빡임이 계속되며 스케치 실행 동안 단일 명령에 뒤지지 않는다.

비슷한 것이 전자렌지에서 피자를 데우며, 어떤 중요한 이메일을 기다리는 거다.
피자를 전자렌지에 넣고 10분을 맞춘다.
delay()를 쓰는 것과 비슷한 것은 전자렌지 앞에 앉아 카운트가 10분에서 0 될 때까지 시간을 보는 거다.
중요한 메일이 그 시간동안 도착하면 그걸 놓칠 수 있다.

여러분이 실생활에서 할 일은 피자로 돌아와서, 여러분의 메일을 체크하고, 뭔가 다른 일을 하고
(그리 오래 걸리지 않는다!) 전자렌지로 자주 돌아와서 시간이 0이 되어 피자가 다 되었는지 보는 거다.

이 투토리얼에서 여러분은 비슷한 타이머를 어떻게 맞추는지 배울 거다.

하드웨어 요구사항

- 아두이노 또는 제누이노 보드
-  LED
- 220옴 저항

회로

회로를 만들기 위해, 저항의 한 끝을 보드의 핀 13에 연결한다.
LED의 긴 다리(+ 다리, anode라 불림)를 저항의 다른 끝에 연결한다.
LED의 짧은 다리(- 다리, cathode라 불림)를 위 그림과 아래 회로도와 같이 보드의 GND에 연결한다.

대부분의 아두이노와 제누이노 보드는 이미 핀 13에 LED가 붙어있다.
이 예를 하드웨어 없이 돌리면, LED 깜빡임을 볼 것이다.

회로도

회로도를 보드에 만들고 컴퓨터에 연결하고, 아두이노 소프트웨어(IDE)를 시작하고, 아래 코드를 입력하라.

코드

아래 코드는 LED를 깜빡이기 위해 millis() 함수를 쓰는데, 이 함수는 보드가 현재 스케치를 돌리기 시작한 다음 지나간 밀리초 수를 반환한다.

/*
  Blink without Delay

  Turns on and off a light emitting diode (LED) connected to a digital pin,
  without using the delay() function. This means that other code can run at the
  same time without being interrupted by the LED code.

  The circuit:
  - Use the onboard LED.
  - Note: Most Arduinos have an on-board LED you can control. On the UNO, MEGA
    and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN
    is set to the correct LED pin independent of which board is used.
    If you want to know what pin the on-board LED is connected to on your
    Arduino model, check the Technical Specs of your board at:
    https://www.arduino.cc/en/Main/Products

  created 2005
  by David A. Mellis
  modified 8 Feb 2010
  by Paul Stoffregen
  modified 11 Nov 2013
  by Scott Fitzgerald
  modified 9 Jan 2017
  by Arturo Guadalupi

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
*/

// constants won't change. Used here to set a pin number:
const int ledPin =  LED_BUILTIN; // LED 핀 번호

// Variables will change:
int ledState = LOW;             // ledState 써서 LED 맞춤

// Generally, you should use "unsigned long" for variables that hold time
// The value will quickly become too large for an int to store
unsigned long previousMillis = 0;        // LED 가 업데이트된 마지막 시간

// constants won't change:
const long interval = 1000;           // 깜빡일 간격 (마이크로 초)

void setup() {
  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // here is where you'd put code that needs to be running all the time.

  // check to see if it's time to blink the LED; that is, if the difference
  // between the current time and last time you blinked the LED is bigger than
  // the interval at which you want to blink the LED.
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    // LED 를 깜빡인 마지막 시간 저장
    previousMillis = currentMillis;

    // LED 가 켜졌으면 끄고, 그 반대도 함
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    // LED 맞춤 ledState 변수:
    digitalWrite(ledPin, ledState);
  }
}

위 글은 https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay 를 번역한 것입니다.
그림과 회로도는 원문을 참고하셔요.

2017-12-15

debian cvs checkout


cvs -d:ext:sebul-guest@cvs.debian.org:/cvs/webwml co webwml

자주 잊어버려서 메모해 둠.

gooorooom

2017.12.14.에 공개 설명회 한다며?
하긴 했는데 공개 설명회 아니고 비밀 설명회인지?
하려다 말았는지?
알 수가 없다.

구글에서 찾아보니 이런 링크 발견.
https://spri.kr/posts/view/21754?code=column
결론은 뭐지???
모르겠다.

구름 속을 헤매는 듯.

2017-12-14

Second contributor of arduino reference korean

아두이도 레퍼런스 한국어 번역.
https://github.com/sebuls/
내가 시작은 했으나 혼자서만 하길 바라진 않았다.

드디어 한 분이 오셨다.
https://github.com/Lukious

나날이 발전해 가는 모습이 좋다.

2017-12-13

variable scope

C 언어 프로그램 하다 보면, 변수를 선언했는데 하지  않았다는 에러를 보고 당황하는 경우가 많다. 특히 초보자인 경우 그렇다. 그럴 땐 scope 를 보자.

https://www.arduino.cc/reference/ko/language/variables/variable-scope--qualifiers/scope/

나의 github 는 아래 링크
https://github.com/sebuls/reference-ko/blob/master/Language/Variables/Variable%20Scope%20%26%20Qualifiers/scope.adoc

DigitalTimes

“MS 윈도종속 벗자” 국산 개방형OS ‘구름’ 14일 공개
소식을 알아보려고
http://www.dt.co.kr/contents.html?article_no=2017120502100251753001
들어가 봤습니다.

디지털타임스
뭐하는 사이트인가요?
본문보다 광고가 더 많은 듯.
"MS 윈도종속"이 옷 종류인가요?

2017-12-12

My memory

데비안 웹 번역 최근에 내가 한 게
2017. 11. 25.
그리고 아두이노 레퍼런스 번역하느라 데비안 쪽은 손 놓고 있었다.
그리고 다시
파일 하나 번역해서 올리려는데,
cvs add 
하려니 권한이 없다고 한다.
전에 어떻게 했는지 기억이 안 난다.

그래서 하는 말이 있다
적자생존.
적자. 살아나려면. 적고 적고 메모하고....

잊어버린 기억을 찾으려면 또 얼마나 많은 노력을 해야 할까???

gooroom

14일 구름 OS 공개 설명회 한다기에 관련 자료 찾다보니 이런 것도 있다.
https://www.youtube.com/watch?v=Sq7ym3LQ4uk

소통 잘 되고 있는지 모르겠다.

http://www.dt.co.kr/contents.html?article_no=2017120502100251753001
를 보면 14일에 설명회 한다는데, 장소도 구체적인 시간도 나타나 있지 않다.

이러다 '구름이 구름처럼 사라져 버리는 건 아닌가?' 생각이 든다.

http://www.gooroom.kr/
이름만 같은 건지? 구름 OS 사이트인지? 모르겠다.

2017-12-10

C gets deprecated. Use fgets.

gets() 자주 쓰던 함수였는데 오랜만에 써 보려하니 deprecated 란다.
그럼 어떻게 하지?
fgets() 를 쓰라고 한다.

아래는 fgets() 와 stol()을 써서 16진수를 10진수로 계산해주는 프로그램 예제.



#include <stdio.h>
#include <stdlib.h>

int main()
{
char s[255];
while(1){
printf("Input hex number: ");
fgets(s, sizeof(s), stdin);
long n =strtol(s, 0, 16);
printf("%ld\n", n);
}
}

2017-12-09

Digital Multi Clock

Digital Multi Clock 사용법

버튼은
MODE, RESET, START/STOP
이렇게 3개

시간 맞추기
MODE 한 번 : 스톱워치
MODE 두 번 : 알람시간에서 시가 깜빡임.
MODE 세 번 : 현재시간에서 초가 깜빡임.
여기서 MODE를 한 번 더 누르면, 보통 모드로 돌아간다.

MODE를 세 번 누르고, 초가 깜빡일 때 RESET 눌러야 된다.
RESET 한 번 누를 때 마다
분, 시, 일, 월, 요일, 초 순으로 돌아간다.
대개 요즘 시계는 년, 월, 일 입력하면 요일은 자동으로 나오는데, 이 시계는 요일도 사용자가 설정. 왜냐면? 년도가 안 나오는 시계니까.

초가 깜빡일 때 START/STOP 누르면 초가 00초로 된다.
분, 또는 시가 깜빡일 때 START/STOP 누르면 숫자(시간 또는 분)가 1씩 올라간다.
24시간제와 12시간제 중 설정할 수도 있는데,
시를 바꾸는 상태에서,
START/STOP 계속 누르면 12시간제 24시간제를 바꿀 수 있다.

몇 년 되었는데 고장 안  나고 잘 쓰고 있다.

다 만들어져 있는 시계 설명서 쓰기도 어렵네.
이런 시계 만든 사람들은 도대체 어떻게 만든 걸까?

2017-12-08

DeveLOVE2017

2017 12. 7. 목
공개SW 커뮤니티와 함께하는 Developer Party "DeveLOVE2017"
다녀옴.
행사 알림 페이지는
https://onoffmix.com/event/120833
후기는 어디에 쓰는 건지 모르겠다.
나는 내 블로그에 쓰련다.

처음엔 가벼운 마음으로 편하게 놀려고 갔다.
직장을 갖고 있는 나로서는 그냥 편하게 갔다. 정말.
그런데, 거기 온 많은 사람 중에는,
실력은 있으나 직장을 못 구한 사람 많았고,
회사에 쓸만한 사람을 찾으로 온 회사도 많았다.
좋은 인재와 좋은 회사가 잘 만나서 WinWin 하길...

난 아두이노 레퍼런스 번역한 이야기를 했는데 URL 소개를 빠뜨렸다.

https://github.com/arduino/reference-ko
를 Fork 에서
https://github.com/sebuls/reference-ko
만들고, 여기에 작업한 내용을 Pull Request 하고 있다.
관리자가 받아주면 공식 홈페이지
https://www.arduino.cc/reference/ko/
에 들어간다.

여기에 다른 사람도 참여하려면
https://github.com/arduino/reference-ko/wiki
를 읽어보면 되겠다.

2017-12-07

Arduino Reference Learn how to contribute on github

https://create.arduino.cc/projecthub/Arduino_Genuino/contribute-to-the-arduino-reference-af7c37/

https://github.com/sebuls/reference-ko
아두이노 한국어 레퍼런스는 내가 시작했다. 아직까지 다른 사람들의 공식적인 참여는 보이지 않는다.

모든 페이지를 혼자 하긴 어렵겠지만 한 사람이 한 페이지 하는 건 관심을 조금만 가진다면 그리 어렵지 않을 거다.

영어 공부도 하고, 깃헙 공부도 하고, 참여하는 보람도 있을 거다.

많은 사람들이 함께 했으면 좋겠다.

2017-12-06

To kill time

시간을 죽이다.
영어로 하면 뭘까?
우리말과 비슷하다.
To kill time

그런데 시간을 죽이면? 그 시간은 다시 오지 않는다.
"우리가 헛되이 보내는 오늘은 어제 죽은 이가 그토록 바라던 내일"
이라는 말도 있지 않은가?

쉽지 않다.
시간은 흘러간다.
나에게 주어진 시간을 어떻게 잘 활용해야 할까?

2017-12-02

A story about translations

실력도 그다지 좋지 않은 내가 번역을 하는 까닭은 무엇인가?
번역을 통해 나의 실력을 높일 수도 있고, 나보다 못 하는 사람에게 도움을 줄 수 있기 때문.

김프 웹 문서 한국어 번역이 언젠가부터 멈추어 있기에
"내가 해 볼까?"
라고 생각하고 뛰어들다. 아마 그게 내가 시도한 최초 번역인 듯.
번역도 문제이지만, 번역을 하는 도구도 어떻게 써야 되는지 몰라 헤매는 시간이 있었다.
김프 매뉴얼 정말 크다. 그 많은 것 중 몇 안 되는 부분만 번역했는데도  make 프로그램 돌리면 엄청 오래 걸린다. 원문에서 바꾸지 않은 부분까지도 모두 컴파일하나보다.
지금은 김프 번역 쉬고 있다. 다른 누군가 이어 하고 있을지도.

q2a 사이트 깔금함에 반해 한국어 번역 했다. 공식 사이트에 반영해 달라고 했더니 번역률이 저조하다고 퇴짜 맞았다. 그 이후에 다른 사람이 한국어 번역을 해서 공식사이트에 요청해서 승인 얻었다. 그 분 지금도 번역을 업데이트하는지는 잘 모르겠다.
공식 사이트에 내 번역이 반영되었거나 안 되었거나 관계없이 내가 만든 sebul.sarang.net 사이트에는 다른 사람이 번역한 것에 내가 번역한 것을 더했다. 공식사이트에 반영된 번역본을 받아서 내가 수정해서 쓸 수도 있다.

데비안 웹 문서 번역.
누군가 오래 전에 시작했다.
그런데, 언제부턴가 멈추어 있었고, debian.org 웹 페이지에는 
"이 번역은 너무 오래되었으니 원문을 보라"
는 문구가 아주 많이 보였다.
그걸 몇 개만이라도 안 보이게 하려 번역 뛰어듬.
오래 전에 커밋을 한 이후로 한참 쉬고 있던 분의 도움으로 내가 번역한 것을 공식 사이트에 반영 성공.
cvs 으로 버전관리. 덕분에 cvs 공부도 하면서 번역하고 있다.

아두이노 레퍼런스 한국어로 번역.
이건 내가 우리나라 최초로 시작한 거 같다.
내가 해 보겠다고 했더니 의견이 받아들여져서 내 번역이
https://www.arduino.cc/reference/ko/
에 들어갔다.
지금은
https://github.com/arduino/reference-ko
를 수정할 수 있는 권한까지 받았다.
(바로 수정할 수도 있지만, 되도록이면
https://github.com/sebuls/reference-ko 에서 작업하고
pull request 하고
Merge 하고 있다.)

기쁘다.
그러나 모든 것을 내가 다 하려는 욕심은 없다.
많은 분이 참여했으면 더 좋겠다.

2017-12-01

arduino reference Korean committer

아두이노에 빠지다.
아두이노 레퍼런스 번역에 빠지다.
아두이노 레퍼런스 한국어 번역에 기여하다.
아두이노 레퍼런스 한국어 번역에 커미터가 되다.

https://github.com/sebuls/reference-ko
에서 내가 작업하고 그걸 pull request 하면
https://github.com/arduino/reference-ko
에 반영되려면
관리자가 승인할 때까지 기다려야 했다.

어느날 보니 나에게도 Merge 권한이 생겨 있었다.

칼은 나쁜 것일까? 좋은 것일까? 잘 쓰면 좋으면 잘못쓰면 나쁜것이 되겠다.
권한을 남용하지 않도록 주의해야겠다.