항공사고 수사대 – 에어맥시코 Flight 498 and The piper archer N4891F

http://en.wikipedia.org/wiki/1986_Cerritos_mid-air_collision

관제사가 TCA에 잘못 들어온 Grumman AA-5 Tiger 에 정신이 팔려 있는 도중, 에어 맥시코 Flight 498 와 The piper archer N4891F가 캘리포니아 세리토스 시 상공에서 충돌, 주거지역으로 낙하하여 승객과 추거지역의 사람들이 죽었다.

1. LA공항 레이더가 구렸다. 경비행기정도는 레이더에 나왔다가 안나왔다 했다고. 사고 이후 신형으로 교체됨.

2. 경비행기인 The piper archer N4891F에 설치된 트랜스폰더는 레이더에 고도를 전송하지 않아서 관제사가  에어 맥시코와 동일 고도가 되는 줄 몰랐다. 이후 경비행기의 트랜스폰더들도 고도 전송하도록 법이 바뀜

3. 항공기에 충돌 경보 장치(TCAS)가 없었다. : 충돌 경보 장치인 TCAS가 사고 이후 모든 항공기에 의무 탑재됨. 40초 안에 충돌 가능성이 있으면 조종사에게 알린다.

[etc] Withings WS-50 Smart Body Analyzer wifi 재설정하기

공부방 공유기가 고장나서 체중계와 WIFI 다시 연결을 해야 했음.

아이폰 withings 앱에 새 기계 등록하듯이 하면 된다.

설마 이 기기를 새로 등록해야 하는가 했는데 검색해보니 설마가 사실이었음.

기존 앱에 기기 설정이 있더라도 그냥 덮어 쓴다. 편하지만 이걸 받아들이기 까지 오래걸렸다.

와이파이 변경 메뉴라도 따로 만들어 놓지..

항공 사고 수사대 – 보잉737기의 미스터리 (united 585, us airline 427)

  1. 비행기가 갑자기 방향을 잃고 급강하 하여 추락. 585,427 모두 비슷한 현상. 같은 보잉737  비행기. 3년의 차를 두고 발생함.
  2. 두 사건 모두 미결 사건으로 남을 뻔 했는데 비슷한 사고지만 무사히 착륙한 사고가 있어서 재 조사에 활력이 됨. (역시 멀쩡하게 재현이 되어야 힘이 난다)
  3. 테스트할 때 멀쩡해보이던 방향타 조사 장치가 실제 비행 환경과 유사한 환경에서 멈추는 문제를 보였음. (재현 환경이 중요하다..)
  4. 또한 특별한 경우에는 조종사의 의도와 정 반대로 동작하기도 했음.

[UnitTest] 유닛테스트 실행 속도 개선하기

개발 마감을 앞두고 약간의 잉여 시간이 생겨서 작업해 보았다. 시작은 이렇다. DEBUG빌드, 디버거(VS2010SP1)가 붙은 상태에서 약 1,000개의 유닛테스트가 싱글쓰레드로 실행된다. 실행 시간은 46초 정도. 하나당 46ms 정도 걸렸다. 16G i7 머신에서 이정도로 돌리가 없다고 의심했다.

동일한 환경에서 30초로 돌고 있는 동료 머신이 있었다. 뭐가 다르지 하면서 깨작이다가 삼성SSD 매지션이라는 프로그램 설정을 건드렸더니 내것도 30초로 줄었다. 왜 해결되었는지는 그때까지도 몰랐다. 46초였던 다른 동료가 매지션 설정을 변경했지만 안된다고 했다.  그 뒤에 우연히 찾았다. 윈도우즈7 기준으로 제어판->전원 옵션->고성능으로 변경하면 실행 시간이 줄어든다. 매지션이라는 프로그램은 전원 옵션에 새로운 옵션을 하나 만들어 주는 역할을 하는 것이었다.  그럼 고성능 설정이 왜 속도를 빠르게 할까? 말 그대로 고성능이니까 -_-? 좀 더 찾아보니1 균형 모드에서는 터보부스트 기능이 활성화 안되는 문제(?)가 있나보다.

이렇게 재수좋게 성능 향상을 한 뒤(으하하;;) 가벼운 마음으로 다음 의심 되는 녀석인, 각 테스트 하나하나 마다 실행되는 TestEventListener 를 조사했다. (google test 에서의 용어임) 싱글턴 객체의 목록을 초기화 하는 코드가 있는데 탬플릿으로 싱글턴 객체의 크기를 조절할 수 있다. 왜인지 모르겠지만 디버거(VS2010)가 붙은 환경에서만 이 객체의 크기가 ‘커질수록 급격히’ 성능이 줄어든다. (최초의 크기는 320k 정도…추후 줄인 후 크기는 20k) 물론 _NO_DEBUG_HEAP=1 옵션도 입력되어 있는 상태였다.  디버그 모드에서는 해당 싱글턴의 크기가 중요한 건 아니라서, 디버그 모드일 때 크기를 줄여놓는 것으로 결론냈다.  30초였던 실행 시간은 17초로 줄었다.  추후 시간이 된다면2 디버거가 어떤 이유로 더 느려졌는지 따로 실험을 해보고 싶다. 일단 기대하는 성능은 얻었으니 여기서 끝~

 

항공 사고 수사대 – kal007

  1. 조종사가 ils모드가 아닌 자동방위 모드로 출발함. 자동방위모드는 오차가 커서 이륙 후에는 ils로 바꿔야함
  2. 오차 때문에 실수로 소련 영공으로 들어감
  3. 마침 비슷한 위치에서 비슷한 크기의 미국 감청항공기가 소련 국경 근처에서 어슬렁 거림. 소련은 그게 못마땅한 상황이었음.
  4. 소련은 영토에 비행기가 들어오자 민간항공기를 감청기로 생각했음. 전투기 출격
  5. 전투기가 뒤에 붙어서 공포 사격을 했으나 인지못함
  6.  뒤에 전투기가 있는지도 모르는상태에서 일본 관제사가 고도를 올리라고해서 올림. 전투기는 회피기동으로 생각해서 미사일발사함.

항공 사고 수사대 – 오토 파일럿의 오류 (Airbus A320)

  1. 가장, 부기장의 해당 항공기(A320)에 대한 미숙
  2. 관제사가 자기 중심적으로 관제함(좌,우로 얘기함. 동서남북으로 얘기해야한다고)
  3. 하강속도와 각도 표시가 같은 위치의 패널에서 표시되고 모드에 따라 조정됨 **
  4. 급하게 방향을 바꾸면, 시스템이 긴급상황이라고 판정해서 자동 부스트 되도록 설계됨 ***

항공 사고 수사대 – 관제탑의 실수 (usair 1493 와 skywest metro liner)

usair 1493 와 skywest metro liner 충돌

  1. 지상 레이더가 고장이어서 지상 관제사가 눈과 통신으로 항공기 위치를 파악했다.
  2. 관제탑 앞에 조명등이 너무 세서 활주로가 눈으로 보기 힘들었다. 거의 항공기와의 통신으로 위치를 파악해야했음.
  3. 관제사가 비행기 하나의 위치를 놓지자 멘붕 상태가 되어 지상에 대기 중인 항공기가 있는 위치에 착륙하려는 비행기를 안내함.
  4. 착륙하려는 항공기는 착륙 지점에 항공기가 있는지 파악해야하는데 착륙 지점의 항공기는 충돌 방지등 하나만 켠 상태. 그 마저도 활주로 안내등과 색이 같아 구분이 어려움. 왜 날개 좌우익에 있는 등을 켜지 않았나 하면 이륙 허가를 받아야 등을 켜도록 항공사 규정이 되어 있었기 때문

 

항공 사고 수사대 – 고속도로에 추락한 여객기 (노스웨스트항공 255편)

1987.8.16 미시건주 디트로이트, 디트로이트 공항, 노스웨스트항공 255편

비행기가 이륙하기 위해서는 양력이 필요하다.
양력을 더 받기 위해서는 날개를 넒게 펴야한다.
그런데, 이륙 시 날개를 넓게 펴주는 장치를 켜지 않았다.

왜 그랬냐하면,

1. 평소에 경보음이 너무 많이 나와서 경보음을 꺼놨음

2. 체크리스트가 너무 길고 어디까지 했는지 다시 파악하기가 힘들었다.
-> 체크리스트 실행 도중 방해를 받으면 모든 확인이 어려웠음

두 가지 문제가 복합적으로 작용해 미국 항공사고 역사상 2번째로 큰 사고가 남

문제해결 참고용 마인드맵

iThoughtHD 어플 구매 기념으로, 책을 읽고 개인위키에 모아놨던 자료를 마인드맵으로 구성했다. 참고된 책으로는 HowToSolveIt, 컨설팅의 비밀, 대체 뭐가 문제야 등임. 실용적으로 쓰일 수 있으면 좋겠다. 계속 업데이트를 할 수 있게 되기를.

(PDF버전)

PS : 트래픽이 많아져서 미디어(png, pdf) 링크를 드랍박스 public 폴더도 변경하였습니다.