Tag: software

  • How to Design a Good API & Why it Matters

    http://www.infoq.com/presentations/effective-api-design Presentation by Joshua Bloch. I reached this presentation while reading coders at work. Joshua discusses design process and the details like prefer to immutability, fail early, how/when to inherit and so on.

  • Inheritance and objects in javascript

    Based on Javascript: the good parts by Douglas Crockford from Oreilly and his presentation. I felt it’s hard to fully understand his point on prototypal inheritance, so I tried to explain it in my way with code. So, here’s the status of inheritance in javascript that I feel: 1) It’s bad that there’s no warning…

  • sslstrip

    MITM(Man in the middle)을 사용하여 SSL을 중간에 엿들을 경우, 아이디와 패스워드 같은 중요한 정보가 attacker에게 알려지게 됩니다. 단 이때 문제는 ‘보안 certificate이 이상하다’라는 경고가 victim에게 띄워지게 된다는 점입니다. 대부분의 경우 사용자는 별 생각없이 무시하기를 누르던가 ok를 누르던가 하기 때문에 공격 자체는 문제가 없게되죠. 하지만 깔끔한 방법(해킹기법을 이렇게 불러도 되는건지;;)이 한가지 있는데, victim MITM target 이렇게…

  • Return oriented programming

    Return oriented programming 들어보셨나요? 아마 최근 아이폰 SMS DB 해킹기법이 Return oriented programming의 잘된 예라고 했던 듯 합니다. (기사가 기억이 잘..) 일단 이것인가 아시는 분들을 읽을 필요없는 글이고, 이것이 무엇인지 전혀 모르는 분을 위한 초간단 개요를 하나 적을까 합니다. 일단 Return oriented programming을 알려면 return to libc를 아는 것이 필요합니다. return to libc란 해킹 테크닉중의…

  • Short tutorial to SQL in HTML5

    HTML 5 Web SQL Database How to connect, select and insert.

  • NerdTree vim plugin

    http://www.catonmat.net/blog/vim-plugins-nerdtree-vim/ I usually use Project plugin for file navigation for my projects, but this NerdTree plugin looks also quite useful. Sometimes, it’s onerous to keep file list in project plugin.

  • UC Irvine Machine Learning Repository

    http://archive.ics.uci.edu/ml/ We currently maintain 187 data sets as a service to the machine learning community. You may view all data sets through our searchable interface. Our old web site is still available, for those who prefer the old format. For a general overview of the Repository, please visit our About page. For information about citing…

  • Simpson’s paradox

    http://en.wikipedia.org/wiki/Simpson’s_paradox A와 B를 비교할때 A의 속성 A[0], A[1]이 각각 B[0], B[1]보다 크다고 하더라도 A[0] + A[1] < B[0] + B[1]일 수 있다는 paradox. 또는 벡터 a1, a2, b1, b2가 있을때 a1의 기울기가 b1보다 크고, a2의 기울기가 b2보다 크다하더라도 a1 + a2 의 기울기가 b1 + b2 의 기울기보다 작을 수 있다.

  • Empty? Null?

    컬렉션 또는 문자열을 반환하는 함수에서 Microsoft는 C#의 경우 빈 컬렉션 혹은 빈 문자열을 권장하고 있다고 하네요. 링크된 글에 설명된 이유는, 1. Null을 반환할 경우 NullReferenceException이 날 경우를 대비해야한다는 reliability 문제. 2. Null도 반환되고 empty 컬렉션/문자열도 반환된다면 이 두가지 모두를 함수를 호출한 곳에서 체크해야하는데 어차피 두경우 모두 처리가 비슷할 것이니 합치는게 낫다는 점. 3. .Net이 그렇게…

  • Sharding

    http://www.addsimplicity.com/adding_simplicity_an_engi/2008/08/shard-lessons.html How to set the number of shards is interesting. He recommends 12 as an example because it’s 2*6, 3*4 which means it’s mathematically flexible. He also suggests to think of splitting a shard as tree node split. It would be look more formal if we think of hashing function in the article for sharding…