Programming/lisp2013. 1. 14. 23:04
lisp는 이름 그대로 LISt Processing으로
LIST를 기반으로 작업하게 된다.

자료구조에서 배우던 linked list를 이용해서 자료를 저장하게 되는데
C언어에서 항상 문자열은 0x00 혹은 \0으로 끝맺듯
list 도 마지막은 NIL로 표기를 하게 된다.

아래는 NIL로 끝나지 않는 리스트와 NIL로 끝나는 리스트를 만든것으로
. 은 NIL로 끝나지 않는 리스트를 의미하게 된다. 
[1]> '(1 . 2)
(1 . 2)
[2]> (cons 1 2)
(1 . 2)
[3]> '(1 2)
(1 2)
[4]> (cons 1 (cons 2 NIL))
(1 2)
 

last는 안되고 아무튼 rest는 남은걸 나타내는 것이기 때문에 가능한 것 같은데
(1 2)에 대한 rest 두번은 NIL이 나오고
(1 . 2) 에 대한 rest 두번은 존재하지 않기 때문에 에러가 발생하게 된다.
[6]> (rest (rest '(1 2)))
NIL
[6]> (rest (rest '(1 . 2)))

*** - REST: 2 is not a list
The following restarts are available:
ABORT          :R1      Abort debug loop
ABORT          :R2      Abort main loop
[7]> (rest '(1 . 2))
2


그나저나.. 책에 의하면 아래와 같이 뜬다고 하는데
> (defparameter foo '(1 2 3))
FOO
> (setf (cdddr foo) foo)
#1=(1 2 3 . #1#) 

내가 사용하는 clisp 2.49에서는 뻗어버린다 -_-
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Welcome to GNU CLISP 2.49 (2010-07-07) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010

Type :h and hit Enter for context help.
 
[12]> (defparameter foo '(1 2 3))
FOO
[13]> (setf (cdddr foo) foo)
^C
*** - Ctrl-C: User break
The following restarts are available:

*** - handle_fault error2 ! address = 0x68457000 not in [0x65de5658,0x68457000) !
SIGSEGV cannot be cured. Fault address = 0x68457000.
GC count: 47
Space collected by GC: 0 355764032
Run time: 40 918556
Real time: 164 950564
GC time: 23 933489
Permanently allocated: 94080 bytes.
Currently in use: 1194294496 bytes.
Free space: 12 bytes. 


'Programming > lisp' 카테고리의 다른 글

xlisp  (0) 2013.01.16
lisp 연관리스트  (0) 2013.01.14
lisp #  (0) 2013.01.11
만들면서 배우는 리스프 프로그래밍  (2) 2013.01.09
lisp 전역변수 / 지역변수  (0) 2013.01.09
Posted by 구차니
개소리 왈왈/컴퓨터2013. 1. 13. 21:26
영상 : 4K / 플렉서블 LCD / 대형 OLED / 실시간 HDR(60fps)
원래 화면은 큰게 아름답도 좋... (어?)
4K는 영화관에서 많이 쓰인다는데 현실로 오기는 아직 멀고
QHD 혹은 UHD의 경우에도 일반에 도입이 잘 안된 상황이라(시장이 아니라 현실) 4K는 갈길이 멀다는 기분.

접히는 LCD는 안정성의 문제나 양산성의 문제로 곡면 디스플레이로 처음에는 나오다가
나중에는 돌돌돌 말아 다니는 녀석이 나오겠지만
배터리라던가 이런것 접히지 않으니(아직은) 디자인의 제한으로 본체는 배터리 처럼 원통형 길게
액정은 돌돌돌 말아서 다니는 이런게 추세가 될듯

그리고 소니에서 크고 아름다운 OLED 했다가 윈도우가 블루스크린 나와서 욕먹었지만
그래도 큰게 좋다는거 ㅋㅋㅋ

그리고 디카등을 보면 HDR이나 WDR 실시간 지원등이 보이는데 결론은 60fps 처리란거.
결국 이건 CCTV쪽으로도 적용을 빨리 해야 할 듯..




네트워크 : LTE 원칩 / 802.11ac
802.11n도 나온지 오래되었지만 솔찍히 실생활에서 150Mbps도 보기 힘든게 현실이라..
LTE에 이론적으로도 많이 밀리게 되는게 현재 상태인데
802.11ac 가 나온다고 해도 빠르게 교체되어서 사용하게 되진 않을것 같고
현재 추세라면 LTE 보다 느린 wireless LAN이 인식이 될 기분..




AP : 컴패니온 AP 내장
CPU들이 터보부스터 등으로 코어별 클럭 조절 기능이 강화되면서 SMP가 아닌 AMP(Asymmetric MP)로 가는게 추세.
모바일은 전원 문제가 크므로 저전력 cpu로 부하가 적을경우 버티다가 
부하가 걸리면 고성능 코어로 대체해서 사용하는 개념으로 좋아 보이긴 하는데..
문제는 멀티코어도 제대로 못쓰는 상황에서 얼마나 효용이 클지? 라는 점과
x86에서도 이러한 기능을 추가하게 될것인가? 라는점.
atom 시리즈가 더더욱 저전력으로 모바일용으로 나오게 되려면 이런 기능이 나오려나?



[링크 : http://ko.wikipedia.org/wiki/IEEE_802.11ac]

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

Geforce GTX650 지름  (0) 2013.02.13
지름신 목록  (2) 2013.02.11
TC1100 무선랜 교체!!  (0) 2012.12.20
장비 분출목록  (0) 2012.12.01
소니 VAIO 노트북 BIOS 암호 풀기  (0) 2012.11.16
Posted by 구차니
프로그램 사용/gcc2013. 1. 13. 09:00
__u64의 경우 types.h를 include 하면 인식하지 못하며
long long int의 경우 gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 에서 기본적으로 인식한다.
OS가 64bit 이냐 아니냐와는 별개로 작동에는 문제가 없는듯 하기도 하고?
(현재 32bit 우분투라 아예 안될줄 알았는데 sizeof를 통해서는 크기를 돌려주기는 함)

아무튼 실험을 해보니 long long int 만 64bit(8byte)로 설정된다.
long
int
long int
long long int / __u64 uint64_t int64_t

$ cat /usr/include/linux/types.h
typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;
typedef __u32 __bitwise __le32;
typedef __u32 __bitwise __be32;
typedef __u64 __bitwise __le64;
typedef __u64 __bitwise __be64;

typedef __u16 __bitwise __sum16;
typedef __u32 __bitwise __wsum;

$ cat /usr/include/limits.h
/* Minimum and maximum values a `signed int' can hold.  */
#  define INT_MIN       (-INT_MAX - 1)
#  define INT_MAX       2147483647

/* Maximum value an `unsigned int' can hold.  (Minimum is 0.)  */
#  define UINT_MAX      4294967295U

/* Minimum and maximum values a `signed long int' can hold.  */
#  if __WORDSIZE == 64
#   define LONG_MAX     9223372036854775807L
#  else
#   define LONG_MAX     2147483647L
#  endif
#  define LONG_MIN      (-LONG_MAX - 1L)

/* Maximum value an `unsigned long int' can hold.  (Minimum is 0.)  */
#  if __WORDSIZE == 64
#   define ULONG_MAX    18446744073709551615UL
#  else
#   define ULONG_MAX    4294967295UL
#  endif

#  ifdef __USE_ISOC99

/* Minimum and maximum values a `signed long long int' can hold.  */
#   define LLONG_MAX    9223372036854775807LL
#   define LLONG_MIN    (-LLONG_MAX - 1LL)

/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0.)  */
#   define ULLONG_MAX   18446744073709551615ULL

#  endif /* ISO C99 */

$ cat /usr/include/stdint.h
/* There is some amount of overlap with sys/types.h as known by inet code */
#ifndef __int8_t_defined
# define __int8_t_defined
typedef signed char             int8_t;
typedef short int               int16_t;
typedef int                     int32_t;
# if __WORDSIZE == 64
typedef long int                int64_t;
# else
__extension__
typedef long long int           int64_t;
# endif
#endif

/* Unsigned.  */
typedef unsigned char           uint8_t;
typedef unsigned short int      uint16_t;
#ifndef __uint32_t_defined
typedef unsigned int            uint32_t;
# define __uint32_t_defined
#endif
#if __WORDSIZE == 64
typedef unsigned long int       uint64_t;
#else
__extension__
typedef unsigned long long int  uint64_t;
#endif

Posted by 구차니
이야기는 대충 들었지만 세부내용을 몰랐는데
머.. 간단하게 말하면 arm ubuntu 기반으로 또 다른 형태의 안드로이드?
혹시나 해서 x86 atom일줄 알았는데 역시나 arm 코어 기반이고
물론 우분투 특성을 극대화 해서 안드로이드도 jvm 이용해서 돌릴수 있게 되어 있다고 한다.

--- 2013.01.15 추가 ---
다시보니 Entry가 아닌 High-end 스펙 "superphone"의 경우
Quad-core A9 or Intel Atom
오호호호홍?!
--- 추가 끝 ---



[링크 : http://quieto.tistory.com/807]
Posted by 구차니
으엇.. 리사이즈 안했다.. ㅠ.ㅠ
아부지는 오늘도 올림픽공원에 스케이트 타러 가시고
그걸 따라잡으러 자전거 타고 갔다가 체력 방전.. OTL
역시 로드를 타고 눈길을 헤치고 가는건 심장이 쫄깃해지는군아 ㅋㅋㅋ

돌아오는길에 올림픽공원 북2문에서 약간더 내려간 다리에 청둥오리들이 있는데


에효.. 이 넘들도 커플(?)인데 ㅠ.ㅠ





'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

많이 늦은 CPL 필터 사용기  (0) 2013.02.02
올림픽 공원  (0) 2013.01.19
올림픽 공원 스케이트 장  (8) 2013.01.05
서울 남산 한옥 마을  (2) 2012.12.30
어제의 지름  (0) 2012.12.20
Posted by 구차니
Programming/lisp2013. 1. 11. 17:15
#으로 시작하는 매크로인데
공부하면서 접하게 되는건 function 을 대체하는 #' 정도?

2012/12/05 - [Programming/lisp] - lisp - #' 와 '

 In addition, the first character may not be '#' (non-terminating macro character), nor may the symbol have identical syntax with a numeric literal.  Uppercase and lowercase characters are not distinguished within symbol names because, by default, lowercase characters are mapped to uppercase on input.

Standard Non-Terminating Macro Characters
-----------------------------------------
#
[링크 : http://psg.com/~dlamkins/sl/chapter03-11.html]

#
 
This is a dispatching macro character. It reads an optional digit string and then one more character, and uses that character to select a function to run as a macro-character function.
The # character also happens to be a non-terminating macro character. This is completely independent of the fact that it is a dispatching macro character; it is a coincidence that the only standard dispatching macro character in Common Lisp is also the only standard non-terminating macro character.

See the next section for predefined # macro-character constructions.

[링크 : http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node190.html] 

Table 22-4: Standard # Macro Character Syntax
 
#!  undefined *                #<backspace>  signals error 
#"  undefined                  #<tab>        signals error 
##  reference to #= label      #<newline>    signals error 
#$  undefined                  #<linefeed>   signals error 
#%  undefined                  #<page>       signals error 
#&  undefined                  #<return>     signals error 
#'  function abbreviation      #<space>      signals error 
#(  simple vector              #+      read-time conditional 
#)  signals error              #-      read-time conditional 
#*  bit-vector                 #.      read-time evaluation 
#,  load-time evaluation       #/      undefined 
#0  used for infix arguments   #A, #a  array 
#1  used for infix arguments   #B, #b  binary rational 
#2  used for infix arguments   #C, #c  complex number 
#3  used for infix arguments   #D, #d  undefined 
#4  used for infix arguments   #E, #e  undefined 
#5  used for infix arguments   #F, #f  undefined 
#6  used for infix arguments   #G, #g  undefined 
#7  used for infix arguments   #H, #h  undefined 
#8  used for infix arguments   #I, #i  undefined 
#9  used for infix arguments   #J, #j  undefined 
#:  uninterned symbol          #K, #k  undefined 
#;  undefined                  #L, #l  undefined 
#<  signals error              #M, #m  undefined 
#=  label following object     #N, #n  undefined 
#>  undefined                  #O, #o  octal rational 
#?  undefined *                #P, #p  pathname 
#@  undefined                  #Q, #q  undefined 
#[  undefined *                #R, #r  radix-n rational 
#\  character object           #S, #s  structure 
#]  undefined *                #T, #t  undefined 
#^  undefined                  #U, #u  undefined 
#_  undefined                  #V, #v  undefined 
#`  undefined                  #W, #w  undefined 
#{  undefined *                #X, #x  hexadecimal rational 
#|  balanced comment           #Y, #y  undefined 
#}  undefined *                #Z, #z  undefined    
#~  undefined                  #<rubout> undefined
 

'Programming > lisp' 카테고리의 다른 글

lisp 연관리스트  (0) 2013.01.14
lisp의 con cell 과 NIL  (0) 2013.01.14
만들면서 배우는 리스프 프로그래밍  (2) 2013.01.09
lisp 전역변수 / 지역변수  (0) 2013.01.09
lisp car / cdr  (0) 2013.01.03
Posted by 구차니
프로그램 사용/VLC2013. 1. 11. 15:56

<object type="application/x-vlc-plugin" pluginspage="http://www.videolan.org"
    version="VideoLAN.VLCPlugin.2" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" codebase="http://download.videolan.org/pub/videolan/vlc/0.9.2/win32/axvlc.cab" width="640" height="480" id="vlc0" events="True"> 
    <param name="Src" value="rtsp://cynixkorea.dyndns.org:9021/video1"></param> 
    <param name="ShowDisplay" value="True" ></param> 
    <param name="AutoLoop" value="no"></param> 
    <param name="AutoPlay" value="yes"></param> 
    <embed type="application/x-google-vlc-plugin" name="vlcfirefox" autoplay="yes" loop="no" width="400" height="300" target="rtsp://localhost/rtsp"></embed> 
</object>
 
<script type='text/javascript'>
    window.onload = function()
    {
      var vlc0 = document.getElementById('vlc0');
      vlc0.playlist.playItem( vlc0.playlist.add('rtsp://localhost/rtsp') );
    };
</script>
 



Posted by 구차니
YAESU VX-8DE (포터블)
YAESU FT-857D (스테이션)
YAESU ATAS-25 (안테나)
Diamond CP6 (안테나)

RTTY << 이걸로 pc를 이용해 데이터 통신

'개소리 왈왈 > 아마추어무선' 카테고리의 다른 글

아마추어 무선통신 - 안테나 종류 및 주파수 대역  (0) 2013.02.19
주파수 정리표  (0) 2013.02.19
HAM 일정  (0) 2012.12.06
무전기 수리는 물건너 가고..  (0) 2012.11.05
민영정보통신  (0) 2012.11.03
Posted by 구차니
Programming/lisp2013. 1. 9. 22:37
아직 전부를 다읽은건 아니지만
대충 훑어 본바로서는 입문용으로 쓰기에는 약간 난이도가 있지만
리스프를 약간이라도 이해한 사람이라면 단시간에 높은 레벨에 까지 이를수 있을듯한 책이다.

2011년 11월 27일 초판이고, 3.5만원이라 조금 비싸지만
가지고 있을만한 가치가 있는 책이다.
(일단은 구립도서관에서 빌려왔지만 ^^;)

그나저나 누가 이걸 신청할걸까.. 구립도서관에서 자체적으로 구매한걸까?

+ 웹 서버 라던가 생명게임이라던가 조금 난이도 있는 내용들을 다루지만
다르게 말하면 이 책 한권에 웬만한 난이도는 이해할수 있는 내용이 담겨 있다는 것!


[링크 : http://www.yes24.com/24/goods/5968810]

'Programming > lisp' 카테고리의 다른 글

lisp의 con cell 과 NIL  (0) 2013.01.14
lisp #  (0) 2013.01.11
lisp 전역변수 / 지역변수  (0) 2013.01.09
lisp car / cdr  (0) 2013.01.03
lisp 반복문  (0) 2012.12.31
Posted by 구차니
개소리 왈왈/독서2013. 1. 9. 22:34
참 간만에 읽은책이다.
이 책에 대한 내용은 거창해 보이지만
밀리터리 매니아로서는 F-117 관련 개발과 SR-71 개발 두개 밖에 없어서 아쉬울수도 있지만
어쩌면 이 책에서 더 중요한 내용은
프로젝트를 어떻게 이끌어 나갈것인가
팀은 얼마나 유기적으로 구성되어야 하며, 탄력적으로 운영되어야 하는가?
라는것이 아닐까 생각된다.

F-35와 F-22의 말도 안되는 개발비용의 원인이 무의미한 신뢰성을 요구했다는 것이고,
2080 이론처럼, 나머지 40%의 진전을 위해 60%의 비용을 추구할 바에는
80% 성능에서 만족하고 비용을 적절하게 소비하는게 나을수도 있을것 같다.


어쩌면 내가 중소기업에 몸을 담고 있고
현재 내가 있는 회사가 개판(?) 이기에 이런 말이 더 와닿는걸려나

[링크 : http://www.yes24.com/24/goods/126400]
Posted by 구차니