DX : Developer Experience

Posted by 구루고양이 Dev고양이
2015.01.02 20:34 Software Dev Note/UX/UI

David Dollar가 말하는 DX (Developer Experience) 에 관한 내용.


아래 URL에 가면 그의 연설을 들을 수 있다.

API디자이너, 개발자용 도구 등을 개발하는 '개발자를 대상으로 무엇인가를 개발하는 개발자' 라면 한번쯤 관심을 가져볼 만한 영역이 DX인 것 같다.


아쉽지만 자막은 없고, 간단한 영어는 아니지만 들어볼 만은 한 것 같다.


http://www.heavybit.com/library/video/2013-04-16-david-dollar

저작자 표시 비영리 변경 금지
신고

'Software Dev Note > UX/UI' 카테고리의 다른 글

DX : Developer Experience  (0) 2015.01.02
이 댓글을 비밀 댓글로

삼성 기어S 리뷰

Posted by 구루고양이 Dev고양이
2014.12.29 14:45 잡학다식

http://www.engadget.com/2014/12/01/samsung-gear-s-review/

저작자 표시 비영리 변경 금지
신고
이 댓글을 비밀 댓글로

GPS NMEA Format

Posted by 구루고양이 Dev고양이
2014.12.08 21:44 Device Dev Note

간접적이든 직접적이든 GPS를 다루게 된다면 'NMEA' 라는 것을 마주하게 될 수도 있다.

이 글에서는 NMEA란 무엇이고, NMEA데이터를 해석하기 위해 알아야 할 내용들을 다루고 있다.


All $GPxxx sentence codes and short descriptions

  • $GPAAM - Waypoint Arrival Alarm
  • $GPALM - GPS Almanac Data
  • $GPAPA - Autopilot format "A"
  • $GPAPB - Autopilot format "B"
  • $GPASD - Autopilot System Data
  • $GPBEC - Bearing & Distance to Waypoint, Dead Reckoning
  • $GPBOD - Bearing, Origin to Destination
  • $GPBWC - Bearing & Distance to Waypoint, Great Circle
  • $GPBWR - Bearing & Distance to Waypoint, Rhumb Line
  • $GPBWW - Bearing, Waypoint to Waypoint
  • $GPDBT - Depth Below Transducer
  • $GPDCN - Decca Position
  • $GPDPT - Depth
  • $GPFSI - Frequency Set Information
  • $GPGGA - Global Positioning System Fix Data
  • $GPGLC - Geographic Position, Loran-C
  • $GPGLL - Geographic Position, Latitude/Longitude
  • $GPGRS - GPS Range Residuals
  • $GPGSA - GPS DOP and Active Satellites
  • $GPGST - GPS Pseudorange Noise Statistics
  • $GPGSV - GPS Satellites in View
  • $GPGXA - TRANSIT Position
  • $GPHDG - Heading, Deviation & Variation
  • $GPHDT - Heading, True
  • $GPHSC - Heading Steering Command
  • $GPLCD - Loran-C Signal Data
  • $GPMSK - Control for a Beacon Receiver
  • $GPMSS - Beacon Receiver Status
  • $GPMTA - Air Temperature (to be phased out)
  • $GPMTW - Water Temperature
  • $GPMWD - Wind Direction
  • $GPMWV - Wind Speed and Angle
  • $GPOLN - Omega Lane Numbers
  • $GPOSD - Own Ship Data
  • $GPR00 - Waypoint active route (not standard)
  • $GPRMA - Recommended Minimum Specific Loran-C Data
  • $GPRMB - Recommended Minimum Navigation Information
  • $GPRMC - Recommended Minimum Specific GPS/TRANSIT Data
  • $GPROT - Rate of Turn
  • $GPRPM - Revolutions
  • $GPRSA - Rudder Sensor Angle
  • $GPRSD - RADAR System Data
  • $GPRTE - Routes
  • $GPSFI - Scanning Frequency Information
  • $GPSTN - Multiple Data ID
  • $GPTRF - TRANSIT Fix Data
  • $GPTTM - Tracked Target Message
  • $GPVBW - Dual Ground/Water Speed
  • $GPVDR - Set and Drift
  • $GPVHW - Water Speed and Heading
  • $GPVLW - Distance Traveled through the Water
  • $GPVPW - Speed, Measured Parallel to Wind
  • $GPVTG - Track Made Good and Ground Speed
  • $GPWCV - Waypoint Closure Velocity
  • $GPWNC - Distance, Waypoint to Waypoint
  • $GPWPL - Waypoint Location
  • $GPXDR - Transducer Measurements
  • $GPXTE - Cross-Track Error, Measured
  • $GPXTR - Cross-Track Error, Dead Reckoning
  • $GPZDA - UTC Date / Time and Local Time Zone Offset
  • $GPZFO - UTC & Time from Origin Waypoint
  • $GPZTG - UTC & Time to Destination Waypoint



참고 [GNSS, NMEA-0183(National Marine Electronics Association) Format 쉽게 설명] : http://joongyup.egloos.com/9173927

참고 [Glenn Baddeley - GPS - NMEA sentence information] : http://home.mira.net/~gnb/gps/nmea.html

저작자 표시 비영리 변경 금지
신고

'Device Dev Note' 카테고리의 다른 글

GPS NMEA Format  (0) 2014.12.08
이 댓글을 비밀 댓글로

Project Monterey

Posted by 구루고양이 Dev고양이
2014.12.06 00:11 Software Dev Note/Open Source Project

'몬트레이 프로젝트' 라는 것이 있(었)다고 한다.

IBM, SCO, 인텔이 공동으로 주도하여 OS를 개발하기로 했던 프로젝트인데, 2003년에 끝이(정확하게는 망) 났다고 한다.

몬트레이 프로젝트의 '기-승-전-망'  구조를 간단히 살펴보니 참여 회사들 간의 내부 불협화음(이익 다툼)이 있었고, 협의가 되지 않아 소송 - 망 테크를 탄 것 같다.


Wiki 에서 찾아볼수 있는 몬트레이 프로젝트의 내용은 아래와 같다.


Project Monterey (from wiki)

Project Monterey was an attempt to build a single Unix operating system that ran across a variety of 32-bit and 64-bit platforms, as well as supporting multi-processing. Announced in October 1998, several Unix vendors were involved; IBM provided POWER and PowerPC support from AIX, Santa Cruz Operation (SCO) provided IA-32 support, and Sequent added multi-processing (MP) support from their DYNIX/ptx system. Intel Corporation provided expertise and ISV development funding for porting to the new IA-64 platform, which had not yet been released at that time.[1] The focus of the project was to create an enterprise-class UNIX for the IA-64, which at the time was expected to eventually dominate the UNIX server market. In May 2001, the project announced the availability of a beta test version AIX-5L for the IA-64, basically meeting its original primary goal. However, Intel had missed its delivery date for the Itanium (the initial IA-64 hardware) by two years, and the Monterey software had no market.[2] With the exception of the IA-64 port and Dynix MP improvements, much of the Monterey effort was an attempt to standardize existing versions of Unix into a single compatible system. Such efforts had been undertaken in the past (e.g., 3DA) and had generally failed, as the companies involved were too reliant on vendor lock-in[citation needed] to really support a standard that would allow their customers to leave for other products. With Monterey, three of the vendors already had a niche they expected to continue to serve in the future: POWER and IA-64 for IBM, IA-32 and IA-64 for SCO. The project rapidly became unmanageable[citation needed] as all involved attempted to find a niche in the rapidly developing Linux market and focused their efforts elsewhere. Sequent was acquired by IBM in 1999. In 2000, SCO's UNIX business was purchased by Caldera Systems, a Linux distributor, who later renamed themselves to SCO Group. In the same year, IBM eventually declared Monterey dead.[3] Intel, IBM, Caldera Systems, and others had also been running a parallel effort to port Linux to IA-64, Project Trillian, which delivered workable code in February 2000. In late 2000, IBM announced a major effort to support Linux.[4] The breakdown of Project Monterey was one of the factors leading to a lawsuit in 2003, where SCO Group sued IBM over their contributions to Linux. IBM sold only 32 licenses of Monterey in 2001, and fewer in 2002.[2][5]


References

Jump up ^ Hughes-Rowlands and Chibib (August 31, 1999). "Project Monterey" (PDF). Project Monterey presentation. Retrieved 2007-05-20. ^ Jump up to: a b Jones, Pamela (August 25, 2005). "2002 IBM Internal Email on Project Monterey - "No One Wants It"". Groklaw. Retrieved 2007-05-20. Jump up ^ Jones, Pamela (April 25, 2005). "More Evidence Project Monterey Partners Knew Linux Was the Future". Groklaw. Retrieved 2007-05-20. Jump up ^ "IBM to spend $1 billion on Linux in 2001". CNET News.com. 2000-12-12. Retrieved 2008-08-19. Jump up ^ Borchers, Detlef (2005-08-28). "SCO vs. Linux: 32 mal Monterey". Heise Online. Retrieved 2007-05-20.


참고 : http://en.wikipedia.org/wiki/Project_Monterey



2000년 9월경에 그 성과가 발표되어 기사화 되었는데, 아래와 같다.


몬트레이 프로젝트, 첫 성과물 윤곽 드러내

- 2년여 개발끝에 시제품 탄생 - IBM 유닉스와의 호환성 보장 및 리눅스 지원이 특징


- 2000/09/06: IBM, SCO, 인텔의 공동 OS 개발 계획인 몬트레이 프로젝트(Project Monterey)가 프로젝트 시작 2년여만에 드디어 윤곽을 드러 냈다.

'AIX 5L' 이라고 명명된 이 새로운 OS는 내년 출시 예정인 인텔의 IA-64 프로세서와 IBM의 차세대 프로세서인 Power4 프로세서를 동시에 지원하고, 리눅스 지원을 대폭 강화했다. 또한 IBM의 RS/6000에 탑재되는 OS인 AIX의 이름을 그대로 유 지함으로써 기존 AIX와의 100% 호환성을 보장하고, 상호 연결성을 강조하고 있다.

 AIX5L은 AIX의 기본 구조를 바탕으로 새로운 기술이 몇가지 추가되었는데 첫째, 이전 시퀀트의 기술이었고 현재 IBM이 보유하고 있는 Dynix/ptx의 다중경로 I/O와 NUMA 핵심기술이 적용되었다. 둘째, SCO의 UnixWare의 핵심기술이 추가되었고, 셋째, Unix 시스템 5 표준기술이 구현되었으며, 넷째, AIX의 기술인 WLM(Workload Manager) 기술이 보다 향상되어 적용, 프로세서, 메모 리, 디스크 I/O 관리에 혁신적인 성능을 제공하며, 자바2 버젼 1.3을 지원하게된다.

특히 AIX 5L의 무엇보다 중요한 기능은 바로 리눅스에 대한 지원이라 할 수 있다. 리눅스로 개발된 많은 애플리 케이션들에 대해 간단한 소스코 드 변환을 통해 AIX 5L에서 운영 가능하게 함으로써 기존 유닉스시스템에서의 리눅스 지원에 새로운 전기를 마련하게 되었고, 새로운 리눅스 표준 과의 호환성을 보장함으로써 AIX 5L에서 리눅스 애플리케이션의 개발과 구축을 쉽게 해줄 툴과 유틸리티를 갖춘 GNU/리눅스 구축 환경이 포함된 다. 또한 AIX/리눅스 상호 연동을 지원, 고객들은 리눅스를 프론트엔드 웹 서빙에 이용하고, AIX 5L은 트랜잭션과 데이터관리에 사용할 수 있다.

현재 해외에서는 여러 소프트웨어 업체들이 AIX 5L 베타 버전에서 애플리케이션을 개발하고 있으며, 시그너스 솔루션즈(Cygnus Solutions), EPC, 지오데식(Geodesic), IBM, 메란트(Merant), 파라소프트(Parasoft) 및 로그웨이 브(Roguewave)를 포함한 툴 및 미들웨어 공급업체들은 애플리케이션 구축을 위한 툴과 미들웨어를 개발하고 있다. 기타 소프트웨어 공급업체들 은 이들 툴을 사용하여 e-비즈니스에서 공급망 관리, ERP, 비즈니스 인텔리전스에 이르는 솔루션들을 구축하고 있고, 유니시스와 불(Bull) 을 포함한 하드웨어 공급업체들은 IA-64용 AIX 5L 베타 코드가 자사 시스템에서 최적으로 운영되도록 튜닝 작업을 하고 있다. 불은 최근 8웨이 인텔 이테니엄(Itanium) 프로세서 기반 서버에서 IA-64용 AIX 5L이 성공적으로 운영되고 있음을 확인했다고 발표한 바 있다.

IBM 유닉스사업부의 류목현 이사는 '차세대 유닉스 운영체계인 AIX 5L은 IBM의 Power 프로세서와 인텔의 IA-64를 위한 최적의 OS가 될 것이다. 여러 업체들의 선도적인 기술들이 이 속에 포함되어 있어 기술력에 있어서 최고임은 물론, 리눅스와의 연계성을 강화함으로써 차세 대 유닉스로서 조금도 손색이 없다고 할 수 있다. AIX 5L을 통해 고객들은 선택의 폭을 더욱 넓힐 수 있고 한층 더 확장된 IT환경 구축이 가능하게 됐다. 그리고 소프트웨어 개발자 들에게는 단일한 개발 환경을 제공할 수 있어 모두가 만족할 것으로 기대된다" 고 말하였다.

국내에는 올해 하반기부터 소프트웨어 협력사들에게 AIX5L 베타 버전을 무료로 배포할 계획이다.

----------------------------------
* 몬트레이 프로젝트란

IBM, SCO, 인텔, 시퀀트 등 4개사가 지난 1998년 인텔의 64비트 마이크로프로세서(이하 IA64)를 위한 새로운 운영체계를 공동 개발 하기로 미국 몬트레이에서 합의함으로써 유래된 프로젝트명. 지난해 시퀀트가 IBM에 합병된 이후 현재 IBM과 SCO가 운영체제 개발을, 인텔이 재정 지원과 관련 기술 지원을 담당하고 있으며, 오라클, SAP, 로터스 등의 유수의 업체가 향후 소프트웨어 포팅 부분에 협력키로 했다. 또 컴 팩, 삼성전자, 유니시스, 불 등의 업체가 하드웨어 포팅을 선언, 세계적인 주요 IT 업체들이 대거 참여한 초대형 프로젝트로 부상함으로써 몬트레 이 프로젝트가 차세대 운영체계 시장을 평정할 다크호스가 될 것으로 업계가 주목하고 있다. 완제품은 인텔의 IA-64(코드명:머세드) 개발 일정 에 맞춰 내년에 첫 상용 제품이 나올 것으로 기대된다.

(끝)



발췌 : https://www-03.ibm.com/press/kr/ko/pressrelease/30150.wss



그리고 재미있는 것은, 2002 년에 IBM 내부 개발자간 이메일 내용이 공개되면서 이다.

쌔빠지게 OS를 개발해서 시장에 내놨으나 사는 사람이 없다. 즉 '아무도 그것을 원하지 않는다' 가 핵심.


2002 IBM Internal Email on Project Monterey - "No One Wants It"
Thursday, August 25 2005 @ 12:09 PM EDT

This is a fascinating document, because it tells us about IBM's efforts regarding Project Monterey and how it died. It's an email, dated November 6, 2002, from Bill Bulko in IBM's Austin unit to another IBM guy in Austin. It's Exhibit 4 of document #495-1, a collection of exhibits SCO calls Unsealed Exhibits to Memorandum in Support of SCO's Motion for Leave to File Third Amended Complaint Pursuant to Federal Rules of Civil Procedure (15(a) and 16(b) [PDF]. The Third Amended Complaint is Exhibit 1 in the collection. More on that document next.

The email says that IBM decided that Project Monterey had no prospects, after six months of trying to market it. They did release it, but almost no one bought it, or as the email puts it, "we have been trying to distribute Monterey, but no one wants it." The royalties they had to pay to SCO, as a result, are laughable. It's evidence that what they said in the email about no one wanting it is true. The email lists the internal position and what they planned to say externally. The "no one wants it" part is in the internal list. That matches what we found in old news clippings as well, that it was a product that died aborning, mainly because of issues with the Itanium chip, but also because the marketplace had started to move to Linux. One thought, in all fairness, that has to be pointed out is that the IBM external position may have ended up reflected in some of the news stories of the day. But the inescapable fact is that you can't make customers buy a product they don't want.

IBM, the email informs us, put Project Monterey on the PRPQ list. What is that? According to this IBM Redbooks glossary for iSeries servers, it means Programming Request for Price Quotation (IBM's International Technical Support Center produces Redbooks -- how-to manuals on a wide range of technical subjects). As you will notice on this page, Communications Server for Linux v6.0.1.3 PRPQ and for Linux on zSeries v6.0.1.0 PRPQ are or were in that same category, for example, so it doesn't mean IBM doesn't want to sell something to you. Here is an explanation of the term in a comp.unix.aix FAQ:

PRPQ - programming request for price quotation. Essentialy [sic], a program that is not available off-the-shelf. (e.g. HACMP started as a PRPQ, you could not order HACMP, but you could ask IBM for a highly-available solution)

HACMP is IBM's High Availability Cluster Multi-Processing for AIX. If you go to Google or wherever you like to search and use keywords "HACMP IBM", you will see that PRPQ doesn't mean IBM is trying to kill a product. In this case, though, it does mean that they were aware that it had no future.

There are more exhibits in this collection, all the worst emails SCO could find, and I'll write more on them and where this one fits into the timeline as we have them ready.

**********************************

Bill Bulko

11/06/2002 03:41 PM

This document expires on 02/04/2003

To: Anthony Befi/Austin/IBM@IBMUS
cc:
From: Bill Bulko/Austin/IBM@IBMUS
Subject: Project Monterey update
Importance: Urgent

Tony: you asked me to collect some data on the current status of Project Monterey in order to update you before you meet with SCO(Caldera) again. I spoke with Ron Lauderdale, Sharon Dobbs, and Bill Saulnier. Here is a capsule summary of our position with Project Monterey.

History:

* We made a deal with SCO (before it was bought by Caldera) that we would take the AIX and SCO code and produce an IA-64 product.

* From IBM's side: we would jointly develop a 64-bit Intel version of Unix that would be the first and best available on the market using AIX as a base, but with SCO code for portions of the product.

* From SCO's side: since they were the 32-bit leader in the market, this would give them and their customers an easy migration to 64-bit.

* The deal was to do joint development and then establish licensing back and forth between the two companies. The license would be royalty-free everywhere else except in Monterey. Even though SCO code is now embedded within AIX, we would only have to pay royalties to SCO when we distributed Monterey. Likewise, SCO owes IBM royalties when it distributes the product.

* As you know, when we changed strategic direction, we made Monterey a PRPQ.

Status:

* We distributed 32 copies of the PRPQ in 2001, resulting in only $256 in royalties paid to SCO.

* We believe we owe SCO royalties in 2002 - but very little. We will be paying only $8 in royalties per copy. Sharon Dobbs is trying to determine the actual number of copies distributed in 2002.

* The PRPQ is out of date and does not support the hardware currently being shipped by Intel. There are no plans to update it. AIX 5L has moved considerably since development on this version was stopped.

* The PRPQ is still available as of this date but is being withdrawn as we speak: the announcement has already been made, and it will be effective sometime in December.

Implications:

* SCO(Caldera) is still entitled to royalties from any distribution or sales of Monterey. IBM will no longer owe royalties once PRPQ is withdrawn. They may be checking or they may want to know if there is any plan to resurrect the product.

* Our initial license to SCO code was contingent on our making an attempt to distribute an IA-64 product. Consequently, we need to be clear that we have been trying to distribute Monterey, but no one wants it.

What our external position regarding Monterey should be:

* We have been distributing Monterey since May 2001, but there have been very few takers.

* We have no plans to make AIX available on the Itanium platform.

* The slow adoption of Itanium in the market place and the quick maturity of Linux over the past few years makes Linux better suited for the Itanium market. Many of the qualities of service that customers have come to expect from AIX will be made available on Linux.

* We are planning to EOL Monterey by the end of this year.


발췌 : http://www.groklaw.net/article.php?story=2005082506163768


참고로 더 읽어 볼 것 : http://www.groklaw.net/pdf/IBM-495.pdf


어쩌면 내가 회사에서 참여하고 있는 'Tizen' project의 미래가 되지는 않을까 라는 걱정이 된다.

끝.

저작자 표시 비영리 변경 금지
신고
이 댓글을 비밀 댓글로

ASLR : Address space layout randomization

Posted by 구루고양이 Dev고양이
2014.12.04 18:12 Software Dev Note/컴파일러

Address space layout randomiztion(ASLR)은 buffer overflow 공격으로부터 보호하기 위한 컴퓨터 보안 기술이다.

이 내용의 실제 구현 까지는 상당히 많은 dependency를 가지는데, Processor architecture, OS(kernel implementation), compiler, debugger, linker(loader) 등등이 상호 조화를 이루어 구현이 된다.


참고 : http://stackoverflow.com/questions/2463150/fpie-position-independent-executable-option-gcc-ld

참고 : http://en.wikipedia.org/wiki/Address_space_layout_randomization

참고 : http://en.wikipedia.org/wiki/Position-independent_code

참고 : http://www.openbsd.org/papers/nycbsdcon08-pie/index.html

저작자 표시 비영리 변경 금지
신고

'Software Dev Note > 컴파일러' 카테고리의 다른 글

ASLR : Address space layout randomization  (0) 2014.12.04
Register Allocation  (0) 2011.12.17
이 댓글을 비밀 댓글로
«이전  1 ... 2 3 4 5 6 7 8 9 10 ... 42  다음»