분류 전체보기
하스켈 Starting out - (4) 리스트 입문
2017. 12. 1.length는 리스트의 길이를 반환한다.Prelude> length [5,4,3,2,1]5null 은 리스트가 비어있는지 체크해서 True, False 를 반환한다. Prelude> null [1,2,3]FalsePrelude> null []Truereverse 함수는 리스트를 반전시킨다.Prelude> reverse [5,4,3,2,1][1,2,3,4,5]take 함수는 숫자와 리스트를 인수로 갖고, 리스트의 처음부터 원소를 일정 갯수 가져온다. Prelude> take 3 [5,4,3,2,1][5,4,3]Prelude> take 1 [3,9,3][3]Prelude> take 5 [1,2][1,2]Prelude> take 0 [6,6,6][]Prelude>해당 리스트에 포함된 원소의 갯수보다 많은 수를..
하스켈 Starting out - (3) 리스트 입문
2017. 12. 1.하스켈에서 리스트는 동질(homogenous)의 데이터 구조이다. 리스트는 같은 타입의 원소를 가진다. 이 말은 정수의 리스트 또는 문자 리스트 등은 가질 수 있지만, 정수 일부, 문자 일부로 구성되는 리스트는 존재하지 않는다는 의미이다. * let 키워드를 이용하여 GHCI 에서 이름을 정의할 수 있다. GHCI 에서 let a = 1 이라고 하는 것은 스크립트에 a = 1 이라고 쓰고 로딩하는 것과 동일하다. Prelude> let lostNumbers = [4,8,15,16,23,42]Prelude> lostNumbers[4,8,15,16,23,42]Prelude>리스트는 대괄호로 표현되고고, 리스트의 값들은 콤마로 구분되어진다. 문자에 관해서 이야기하면 문자열은 단지 문자의 리스트라고 보면 된다...
하스켈 Starting out - (2) 함수를 만들어보자
2017. 11. 30.이제 간단한 함수를 만들어보자.함수는 호출될 때와 유사한 방식으로 정의된다. 함수 이름에 이어 공백 다음에 파라메터가 나온다. 하지만 함수를 정의할 때는 = 다음에 해당 함수가 수행할 기능이 나온다. 아래와 같이 작성한 후 baby.hs 등으로 저장하자. 해당 파일이 저장된 경로로 이동하여, :l baby 라고 치면 해당 스크립트가 로딩된다. baby.hs 1doubleMe x = x + x cs 123456789(blackbriar) root@gcloudx:~/blackbriar/blackbriar/lab/miran# ghciGHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for helpPrelude> :l baby.hs[1 of 1] Compiling M..
하스켈 Starting out - (1) 간단한 수학 연산
2017. 11. 30.주요 연산은 직관적으로 이해가 가능할 것이다. 하스켈의 경우 다음 몇 가지 사항만 유의하자.+ 는 숫자의 경우에만 작동하고, == 는 비교가능한 대상간에 작동하기 때문에 위의 경우에는 오류를 발생시킨다. Prelude> 5 + "llama" :5:3: No instance for (Num [Char]) arising from a use of ‘+’ In the expression: 5 + "llama" In an equation for ‘it’: it = 5 + "llama"Prelude> Prelude> 5 == True :3:1: No instance for (Num Bool) arising from the literal ‘5’ In the first argument of ‘(==)’, namely ..
하스켈 웹프레임워크 - Yesod 라우팅 구문 Routing Syntax
2017. 11. 30.하스켈 웹프레임워크 - Yesod라우팅 구문 Routing Syntax MVC(Model-View-Controller) 프레임워크 관점에서 Yesod를 보면, 라우팅과 핸들러는 이 중 컨트롤러에 해당한다. 다른 웹개발 환경과 비교해보면 다음과 같다.PHP, ASP와 같은 파일 이름 기반 처리방식Django나 Rails 처럼 정규표현식에 기반하여 파싱하는 방식Yesod는 원리상 후자에 가깝다. 그렇다고 하지만 몇 가지 차이점이 있다. Yesod는 정규표현식을 사용하는 대신에 루트의 부분에 매칭한다.단방향 라우트-핸들러 매핑이 아니라, Yesod는 route datatype 또는 type-safe URL 라고 불리는 데이터 타입을 사용하고 양방향 전환 기능을 만들어낸다. Route SyntaxYesod는 기..
재해 등의 이유로 시험장이 문을 닫는 경우 안내 NASBA Exam Site Closures
2017. 11. 27.재해 등의 이유로 시험장이 문을 닫게 되어 예약이 취소되면, 프로메트릭에서 이로 인해 영향을 받는 모든 수험생에게 연락을 취하게 됩니다. 이 경우 수험생은 NTS 상의 남은 시간내에 리스케줄링을 하실 수 있습니다. 스케줄링을 위해 NTS 기간 연장이 필요하다면 candidatecare@nasba.org 로 연락을 취해야 합니다. 클로징된 테스트 센터의 목록은 Prometric > Centerclosure 에서 확인하실 수 있습니다. 하지만 센터가 정상적으로 오픈되어 있지만, 안전 등의 이유로 결시가 불가피한 경우 candidatecare@nasba.org로 연락을 취하고 아래의 정보를 제공해야 합니다. Candidate’s name as it appears on the NTSName of section ..
Haskell 웹프레임워크 Yesod 퀵 스타트 가이드
2017. 11. 25.Haskell 웹프레임워크 Yesod 퀵 스타트 가이드Yesod 웹 프레임워크의 주요 특징은 다음과 같다.safety & security guaranteed at compile timedeveloper productivity: tools for all your basic web development needsraw performancefast, compiled codetechniques for constant-space memory consumptionasynchronous IOthis is built in to the Haskell programming language (like Erlang) 1. Stack build tool은 다음 포스팅을 참조하여 설치한다. 하스켈 설치 및 Hello World ..
하스켈 설치 및 Hello World 출력해보기 Quick steps to get up and running with Haskell on Ubuntu
2017. 11. 24.하스켈 설치 및 Hello World 출력해보기Quick steps to get up and running with Haskell on Ubuntu 하스켈을 설치하고 Hello World 를 출력하는 간단한 예제를 실행해보자.먼저 가상환경을 만든다.12345678root@gcloudx:~# virtualenv -p python3 venvhaskellRunning virtualenv with interpreter /usr/bin/python3Using base prefix '/usr'New python executable in /root/venvhaskell/bin/python3Also creating executable in /root/venvhaskell/bin/pythonInstalling setup..
구글 애드센스 비동기 광고 구현하기
2017. 11. 23.구글 애드센스 설정 최적화 방법 중의 하나인 비동기 광고 코드 구현 방법입니다. 비동기 광고 코드는 아래의 설명대로 모바일 배너에 적용되며, 광고가 콘텐츠 로드에 영향을 주지 않기 때문에 방문자가 콘텐츠를 더 빨리 확인할 수 있다는 장점이 있습니다. 비동기 코드의 이점은 웹페이지에 있는 다른 요소의 로드에 전혀 지장을 주지 않는다는 점이라고 합니다. 즉, 사용자가 광고를 로드하는 데 문제가 있어도 페이지의 콘텐츠는 정상적으로 로드할 수 있다는 것이지요. 이 특징은 특히 모바일 사용자가 웹페이지를 로드할 때 지연 시간 감소가 두드러집니다.설명에 따르면, 비동기 및 동기 광고 코드 간의 중요한 차이점입니다.속도: 비동기 광고 코드를 사용하면 특히 모바일에서 웹 로드 지연 시간이 향상됩니다.향상된 사용자 환경..
AICPA 시험 BEC 리튼 커뮤니케이션 답안 작성팁 CPA BEC Written Communication Answering Strategies
2017. 11. 23.AICPA 시험 BEC 리튼 커뮤니케이션 답안 작성팁CPA BEC Written Communication Answering Strategies CPA 시험의 다양한 유형 중 BEC 섹션에서만 만나볼 수 있는 것이 바로 흔히 리튼이라고 불리는 Written Communication Task (WCs, 이하 리튼) 입니다. 리튼은 BEC 시험 점수의 15% 를 차지합니다만, 점수 비중이 크지않다고 절대 소홀히 해서는 안됩니다. CPA BEC 리튼 커뮤니케이션 기본 정보BEC 섹션의 마지막인 5번째 테스트렛에 바로 리튼 문제가 3문제가 포함되어 있습니다. 3문제 중 하나는 pre-test, 즉 더미 문제이고, 2문제만이 채점대상이 됩니다. 물론 어느 문제가 더미인지 알 수 없으므로 3문제 모두 최선을 다해야겠..
우분투 호스트이름 바꾸기
2017. 11. 23.우분투 호스트네임은 다음과 같이 변경할 수 있다. 호스트네임 임시 변경 (재부팅시 원상복귀됨)12345root@gcloud-seoul-5d188bdade7:~# hostnamegcloud-seoul-5d188bdade7root@gcloud-seoul-5d188bdade7:~# hostname gcloudroot@gcloud-seoul-5d188bdade7:~# hostnamegcloudColored by Color Scriptercs 호스트네임 영구 변경1234567891011root@gcloud-seoul-5d188bdade7:~# hostnamectl set-hostname gcloudxroot@gcloud-seoul-5d188bdade7:~# hostnamectl Static hostname: gc..
우분투에 pgAdmin 설치하기 How To Install pgAdmin on Ubuntu 14.04
2017. 11. 18.우분투에 pgAdmin 설치하기How To Install pgAdmin on Ubuntu 14.04 시스템 패키지 업데이트 완료, 관련 패키지 설치완료, 그리고 가상환경 설치까지 마쳤다고 가정하고 진행합니다. Installing PGAdmin 4가상환경을 활성화하여 PgAdmin 파이썬 휠을 다운로드한다.12345678910111213141516171819 root@localhost:~# source venv/bin/activate(venv) root@localhost:~# wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.6/pip/pgadmin4-1.6-py2.py3-none-any.whl--2017-11-18 15:35:29-- https://ftp..
우분투 14.04에 PostgreSQL 설치하기 How To Install and Use PostgreSQL on Ubuntu 14.04
2017. 11. 18.How To Install and Use PostgreSQL on Ubuntu 14.04 Installation우분투의 기본 저장소는 Postgres 패키지를 포함하고 있으므로, apt 패키징 시스템을 이용해서 설치할 수 있다. 로컬 apt 저장소를 업데이트하지 않았으므로, 먼저 apt 저장소를 업데이트한다. Postgres 패키지와 "contrib" 패키지를 가지고 와서 설치한다.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596..
Username is not in the sudoers file. This incident will be reported
2017. 11. 18.test1 으로 접속시 다음과 같은 오류가 발생하는 경우 아래와 같이 처리한다. 해당 오류와 관련한 문답은 다음 링크에서 확인할 수 있다.https://unix.stackexchange.com/questions/179954/username-is-not-in-the-sudoers-file-this-incident-will-be-reported 1234 [sudo] password for test1:test1 is not in the sudoers file. This incident will be reported. Colored by Color Scriptercs 123456 test1@localhost:/$ su -암호:root@localhost:~# visudoroot@localhost:~# cs 라인 ..
페이팔 사전 승인결제(Preapproved payments) 취소방법
2017. 11. 18.페이팔을 통한 사전 자동 결제 승인을 취소하는 방법은 다음과 같다. 페이팔에 로그인 후 우측 상단의 톱니바퀴를 클릭한다. 프로필 화면으로 이동하게 되고 여기서 결제 탭을 누른다. 사전 승인 결제 관리 버튼을 누른다. 취소를 원하는 프로필을 선택한다. 세부정보를 확인 후 Cancel 을 눌러서 사전 승인결제를 취소한다. 반복결제가 취소되었다.
리눅스 사용가능한 사용자 계정 조회 A command to list all users and how to add, delete, modify users
2017. 11. 11.리눅스 사용가능한 사용자 계정 조회 A command to list all users and how to add, delete, modify users 사용가능한 로컬 유저 목록 보기1234567891011 postgres@localhost:~$ cut -d: -f1 /etc/passwdrootdaemonbinsyssyncpostgrestest1postgres@localhost:~$ Colored by Color Scriptercsgetent를 이용해서도 사용자 목록을 볼 수 있다. 다만 getent가 /etc/passwd 또는 LDAP 등 사용자 db 백엔드에 구성된 모든 사용자를 반환한다는 점에서 위와 방식과 차이가 있다.1234567891011 postgres@localhost:~$ getent p..
호리에 다카후미, <모든 교육은 세뇌다> - (1) 학교는 국가의 세뇌기관, 글로벌 인재와 지역인재, 탈학교 사회의 배움은 몰입이다.
2017. 11. 7. 0.자신의 욕망을 억누르는 듯한 '인내'와 '준비'에는 적극적이면서, 왜 가장 하고 싶은 '행동' 앞에서는 주춤거리는 것일까? 참고 견뎌서 도대체 무엇을 얻는단 말인가?단언컨대, 나는 '인내'를 정말 싫어한다. 하고 싶은 일이 있으면 곧바로 행동으로 옮기고, 하기 싫은 일은 격렬히 하지 않는다. 현재 상황이 불만족스러운데 참는 것 따위는 있을 수 없다. 노력은 인내와는 전혀 다른 것이다. 내가 말하는 노력이란 어떻게 해서든 이루고 싶어서 누가 뭐라고 해도 추진하는 행위다. 발걸음을 멈추지 않는 것, 즉 '몰입하는 것'이다. 1. 일반적인 학교 교육을 받은 사람은 모두 '만일의 경우'를 위해 학교를 다녔다. 그리고 도움이 될지 안될지 알 수 없는 공부를 했다. 학교를 다니는 동안에는 당연히 하고 싶은 ..
고이케 히로시, <2억 빚을 진 내게 우주님이 가르쳐준 운이 풀리는 말버릇> - 시간은 미래에서 과거로 흐르고 있다
2017. 11. 7. "그렇다면 현재의 네가 9년 전의 너를 만난다면 어떻게 할래? 그때 그 눈물콧물을 흘리며 탄식을 하던 너를 만난다면?""그건... 현재의 나는 이미 빚을 모두 변제했고, 행복하게 살고 있으니까 절대로 포기하지 말라고 말하겠지요.""그렇지? 그럼 포기하지 말라고 말해.""네? 어떻게요?""시간은 미래에서 과거로 흐르고 있다고 하잖아. 즉, 미래로부터의 목소리는 과거에 전달되는 거라고. 과거는 바꿀 수 있는 거라고. 과거는 바꿀 수 있는 거야. 그러니까 과거를 향해서 크게 소리치라고!"2억 빚을 진 내게 우주님이 가르쳐준 운이 풀리는 말버릇국내도서저자 : 고이케 히로시 / 이정환역출판 : 나무생각 2017.08.14상세보기
Getting Started with CLISP (17) - 텍스트 출력 및 읽기 Printing and Reading Text
2017. 11. 4.Getting Started with CLISP (17) - 텍스트 출력 및 읽기 Printing and Reading Text 이번 포스팅에서는 사용자 인터페이스의 가장 기본인 command-line 인터페이스에 대해서 알아본다. Printing and Reading Text스크린에 프린트하기1234567 Break 83 [84]> (print "foo") "foo""foo"Break 83 [84]> cs"foo"가 2번 출력이 된다. 첫번째 "foo"는 실제 print 함수가 출력하는 부분이며, 두번째 "foo" 는 REPL이 입력된 표현식의 값을 그대로 출력해주기 때문이다. 숙련된 리스퍼들은 prin1 함수도 애용한다. print 와 prin1 의 차이점을 이해하기 위해 다음의 예를 살펴보자.123..
2018 AICPA 시험 변경내용 (AUD) 2018 AICPA Exam Changes - AUD
2017. 11. 2.AUDITING AND ATTESTATION (AUD)Blueprints2018 AUD 블루프린트에는 추가되거나 삭제된 컨텐츠 영역은 없습니다. 하지만 SAS 130, An Audit of Internal Control Over Financial Reporting 용어 업데이트를 반영한 12개 representative tasks 와 컨텐츠 그룹에 대한 수정이 있었습니다. Content2018년 AUD 응시를 고려중이신 수험생들은 주요한 변경사항을 숙지하고 계셔야 합니다. 다만 평가에 반영되는 시기는 내용별로 상이합니다. SAS 132, The Auditor’s Consideration of an Entity’s Ability to Continue as a Going Concern (AU-C 570)— ..
2018 AICPA 시험 변경내용 (BEC) 2018 AICPA Exam Changes -BEC
2017. 11. 2.BUSINESS ENVIRONMENT AND CONCEPTS (BEC) Blueprints:블루프린트상 변경 부분은 없습니다. Content: 실제 BEC 컨텐츠의 변경은 없습니다. 다만 IT 섹션의 경우 아래와 같이 일부 포커스가 변경됩니다. Information Technology (IT)현재까지는 주로 컴퓨터가 하는 역할에 대한 이야기였다면, 2018년에는 CPA가 컴퓨터를 어떻게 활용하는가에 대한 측면으로 그 주안점이 이동한다고 보면 되겠습니다.또한 2018년부터 IT 섹션에 새로운 관련 용어들이 등장하게 됩니다. 해당 용어들은 이미 수년전부터 업계에서는 사용되고 있었습니다. 예를 들면 다음 용어들입니다.Artificial intelligence and machine learningAutomati..
2018 AICPA 시험 변경내용 (REG) 2018 AICPA Exam Changes -REG
2017. 11. 2.REGULATION (REG)Blueprints REG 시험 블루프린트에는 매우 적은 변화만 있습니다. 레퍼런스 목록에 “Treasury Regulations” 을 추가한 것과 Reference 목록 중 Internal Revenue Code of 1986, as amended, and Regulations 에서 "and Regulations" 부분이 삭제된 것이 전부입니다. Content2018 REG 섹션과 관련해서는 현재 컨텐츠 업데이트 내용이 없습니다. 시험 내용 변경에는 항상 6개월간의 예고 기간이 있으므로 시험을 앞두신 분들은 너무 염려하지 않으셔도 되겠습니다.
2018 AICPA 시험 변경내용 (FARE) 2018 AICPA Exam Changes - FAR
2017. 11. 2.2018년 AICPA 시험은 테스팅되는 컨텐츠에서 시험 툴의 인터페이스 디자인 개선 등 몇 가지 부분에서 변화가 예정되어 있다. 이러한 변화들은 수험생에게 어느 정도 영향을 줄 수 있음에도 불구하고, 사실 2017년 시험 변경만큼 이슈가 되고 있지는 않다. 아래에서 해당 내용을 좀 더 살펴본다. 2018 CPA EXAM CONTENT CHANGESAICPA 시험에 출제되는 모든 컨텐츠는 다음과 같이 2가지 유형으로 나눠볼 수 있다.- AICPA Blueprints에 대응되는 representative tasks 업데이트 - alterations to authoritative guidance 에 기반을 둔 컨텐츠 변경 FINANCIAL ACCOUNTING AND REPORTING (FAR) Blueprin..
Getting Started with CLISP (16) - 텍스트 게임 엔진 만들기 Building a text game engine
2017. 11. 2.Getting Started with CLISP (16)텍스트 게임 엔진 만들기 Building a text game engine 텍스트 기반의 게임 엔진을 만들어보자. 본 프로그램에서는 다음의 몇 가지를 다룰 수 있어야 한다. 1. 둘러보기2. 다른 장소로 이동하기3. 물건 집기4. 집은 물체에 대한 행동 먼저 1. 주변을 둘러보는 것과 관련해서, 어떤 위치에서든 서로 다른 3가지를 "볼" 수 있어야 한다. 1. 기본 경관2. 다른 위치로 가는 하나 이상의 경로3. 집어서 조작할 수 있는 물건 Describing the Scenery with an Association List본 예제에서는 3개의 위치만 포함하고 있다. 먼저 위치를 나타내는 최상위 변수 nodes 를 선언해보자. 1234[32]> (d..
스티븐 제이 굴드, <풀하우스> - 플라톤적 사고와 다윈적 사고라는 두 가지 접근 방식과 다윈적 해석의 중요성
2017. 10. 30. 전체 시스템을 하나의 본질 또는 사례로 환원하고 그것이 시간에 따라 어떻게 움직여 가는가를 탐구하는 기존의 플라톤적 설명 방식은 혼란과 모순만 가중시키고 있다. 일단 변이 개념을 기초로 하는 새로운 이론을 소화하고 나면, 관습적인 시각에서 비롯한 모든 패러독스가 해결될 것이다. 라는 질문에 대해 그무엇으로도 환원될 수 없는 로 세계가 이루어져 있다고 대답할 수 있어야 한다. 그러기 위해서는 우선 구태의연한 플라톤적 사고 습관을 버리고, 집단을 평균값(보통의 경우 이 값이 집단의 전형적 특성이며, 시스템의 종류나 추상적 본질을 나타낸다고 간주된다)이나 극단적인예를 통해 서술하는 것이 얼마나 큰 잘못인지를 깨달아야 한다. 풀하우스국내도서저자 : 스티븐 제이 굴드(Stephen Jay Gould) / 이명..
AI Model Fundamentally Cracks CAPTCHAs, Scientists Say
2017. 10. 27.CAPTCHAs 는 Completely Automated Public Turing Test To Tell Computers and Humans Apart 의 두문자어로 사람인지 봇인지를 가려주는 도구이다. 이제 CAPTCHAs 를 깰 수 있는 능력이 AI 연구자에게는 주요한 벤치마킹 수단이 되고 있다. AI 컴퍼니 Vicarious 의 공동창립자인 Dileep George의 팀은 좀 더 적은 훈련으로도 성과를 낼 수 있는 Recursive Cortical Network 라는 방식을 도입했다. 뇌는 딥러닝에서는 만들지 못하는 시각적인 세상을 만든다는 가정에서 출발했다고 한다. "훈련하는 동안에는 노출되는 글자에 대해 내부 모델을 만들게 된다. 그러므로 만약 A, B, 또는 다른 글자에 대해 노출이 되면, ..
Getting Started with CLISP (15) - Comparing Stuff: eq, equal, and More
2017. 10. 26.먼저 심볼간의 비교에는 eq 를 사용한다.1234[12]> (defparameter *fruit* 'apple)*FRUIT*[12]> (cond ((eq *fruit* 'apple) 'its-an-apple))ITS-AN-APPLEColored by Color Scriptercs 2개의 심볼을 비교하는 게 아니라면 equal 을 사용해라. 이 명령어는 서로 동형인지를 판단해준다. 1) 심볼 및 리스트 비교1234[13]> (equal 'apple 'apple)T[13]> (equal (list 1 2 3) (list 1 2 3))TColored by Color Scriptercs2) 다른 방식으로 생성된 리스트 간 비교도 가능1234Break 26 [27]> (cons 1 (cons 2 (cons 3 (..
Getting Started with CLISP (14) - Cool Tricks with Conditions
2017. 10. 25.Cool Tricks with Conditions리스프의 몇 가지 반직관적인 트릭을 통해 우리는 좀 더 간결한 코드를 작성할 수 있게 해준다. 하나는 2개의 새로운 조건문 명령어이고, 다른 하나는 True와 False 에 대한 리스프만의 심플한 컨셉이다. Using the Stealth Conditionals and and orand와 or 조건은 간단한 수학 연산자로 Boolean 연산을 도와준다. 예를 들면 다음과 같이 3개의 숫자가 모두 홀수인 경우에 T를 반환하는 것처럼 말이다. 12[75]> (and (oddp 5)(oddp 7)(oddp 9))TColored by Color Scriptercsor 를 이용하면 아래와 같이 하나만 홀수라도 T 를 반환한다.12[76]> (or (oddp 4) (..
host 명령을 이용한 DNS 스캔
2017. 10. 23.host 명령을 이용한 DNS 스캔 모든 서브 도메인을 앞서의 방법으로 찾을 수는 없다. host 명령을 통해 이를 찾는 방법을 알아보자. 전체를 대상으로 검색하는 경우에는 -a 플래그를, 그리고 특정 타겟만 검색하는 경우에는 -t 플래그를 붙인다. 12345678910111213141516171819202122232425262728293031323334root@kali:~# host -a google.comTrying "google.com";; ->>HEADER
theHarvester를 이용하여 이메일 주소 찾기
2017. 10. 23.theHarvester를 이용하여 이메일 주소 찾기 공개적으로 활용가능한 정보를 가지고, 타겟 조직에 속한 구성원의 정보를 수집할 수 있다. 여기서 활용할 하베스터는 기본적으로 칼리 리눅스에 설치가 되어 있다. 만약 다른 리눅스/유닉스 배포판을 사용중이라면, https://github.com/laramies/theHarvester 에서 다운로드 할 수 있다.먼저 도움말과 옵션을 살펴보자.1234567891011121314151617181920root@kali:~# theharvesterUsage: theharvester options -d: Domain to search or company name -b: data source: google, googleCSE, bing, bingapi, pgp, lin..