Monday, December 28, 2009

Jolicloud

http://www.jolicloud.com/

http://www.linuxfordevices.com/c/a/News/Jolicloud-beta/


The Jolicloud public beta is built around a recent Linux 2.6.32-rc6 kernel, available for i386 or the Intel Atom, as well as Debian and Ubuntu. Other features include X.org 1.6.0 and the Gnome 2.24.0 desktop, says Jolicloud. The distribution offers both Firefox 3.5.3 and Prism 1.0b2 browsers, and supports a wide variety of wireless protocols, as well as audio and video formats, says the company.

Basic services include an icon-based launcher and an app directory, which offers a wide variety of web-based apps like Gmail, Google Reader, Google Chrome, Facebook, and Twitter. Other applications include Pidgin IM, Skype, Zoho Writer, the Wine Windows Emulator, and Boxee.

Social networking is supported with a "friend stream" notification feature, as well as an action history page. An update manager page notifies users when updates are available for various applications, enabling "one click" installs, says the company.





iDEN (intergrated Digital Enhancement Network)

intergrated Digital Enhancement Network

Embedded Linux Wiki

http://elinux.org/

Sunday, December 27, 2009

Teaching PL using proof assistants

Types and Programming Languages Course with Coq

http://www.seas.upenn.edu/~cis500/cis500-s09/index.html

=====
July 28th, The Types Forum, Posted by Benjamin Pierce

Couple of quick questions...


1) I'm putting together a talk for ICFP about using proof assistants
to teach programming language foundations. As part of this, I'd like
to put together a comprehensive list of past experiments in this area
-- both to educate myself on what's out there and as a resource for
others. If you've got a course web site or any other materials that I
can include, please send me a link.

I'd also love to hear any thoughts or stories you may have.

2) A few months ago I asked here whether other people would be
interested in teaching their own courses from the Coq-based course
notes I've been developing over the past couple of years. I got a lot
of positive responses, so I've been working to put them in a more
polished form. I know of one person already who plans to use them in
the coming year, and it would be great to have a couple more. Please
let me know if you're interested.

Thanks,

=====
Jan 24th, The Types Forum, Posted by Benjamin Pierce

For the past couple of years, I've been working on developing course
materials for teaching basic theory of programming languages using a
proof assistant. Last year I taught a semester-long course to a
mixture of undergraduates, Masters, and beginning PhD students,
covering elements of functional programming, constructive logic,
theorem proving, operational semantics, and types, with 100% of the
lectures and homeworks fully mechanized in Coq. I found this approach
worked amazingly well: the interactivity enabled by Coq was extremely
motivating for students, and both the stronger *and* the weaker
students performed better on exams than in previous years where I'd
delivered similar material with blackboard, paper, and pencil.

Encouraged by this success, I am working this semester on a second
revision of the material.

Since I'm producing reasonably complete lecture notes, I've naturally
begun to wonder whether it would be worth putting in the extra work
required to turn these notes into a proper book. But since this work
is inevitably going to be significant, I'd like to try to get an idea
how many people out there might actually use such a book. So...
If this sounds like a course that you would teach if a textbook for it
existed, could you please drop me a note? I'd be interested in how
many (and what level) students you think would take such a course at
your institution, how often you'd think of offering it, whether you
already teach a course covering related material, and what book you
use now for this course. I'd also be interested in hearing from
people that would want to use such a book for self study, or from
anyone who has any thoughts at all about what such a book should be
like.

Many thanks!

- Benjamin

P.S. Here is a little write-up on my experiences with the course last
year:
http://www.cis.upenn.edu/~bcpierce/papers/plcurriculum.pdf

Also, in case people are interested, here are the complete Fall 2007
version and the ongoing current instance of the course:

http://www.seas.upenn.edu/~cis500/cis500-s09/index.html
http://www.seas.upenn.edu/~cis500/cis500-f07/index.html

The coverage of material this time will be similar to last year,
except that I'll drop the untyped lambda-calculus in favor of a module
on simple while-programs, including a little Hoare logic.

Friday, December 18, 2009

cflinux: Compact Flash Linux Project

Compact Flash Linux Project is a Linux distribution designed to run on a compact flash card in read-only mode. Cflinux (Compact Flash Linux Project) is intended to be a small, embedded linux based system. It is as small as possible, and currently needs around 14 MB. It includes OpenSSH, quagga, iptables, hostap, madwifi, wireless-tools, pppoe, tcpdump, bridge-utils, and more.

http://www.cflinux.hu/?module=Documentation

Compact Disc File System (CDFS, ISO 9660)

Compact Disc File System (CDFS, ISO 9660)

http://en.wikipedia.org/wiki/ISO_9660
http://www.pokylinux.org/

Poky is an open source platform build tool. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both x86 and ARM based platforms.
Key features include:
  • Full, fast, cross device filesystem creation with Linux Kernel 2.6.x, GCC, GNU C library, Busybox, networking and much more.
  • Highly configurable and extendable with full documentation, granular feature control, packaging, and wide machine coverage.
  • Developer friendly with QEMU device virtulisation, SDK generation, Anjuta IDE, OProfile and GDB integration.
  • Complete GNOME Mobile platform with the X Window System, Matchbox, GTK+ 2.12, D-Bus, GStreamer and 'Sato' reference implementation.
  • Support for bleeding edge OpenGL user interfaces with the Clutter toolkit.
  • A supported, stable and proven base for real world products built on Linux and open source software.
Poky is supported by Intel and is open source and royalty free, with a growing community of developers and users.

Saturday, December 05, 2009

DTrace on Linux.

(After I posted this article, many people seem to visit this, which is more than what I expected. I will be happy to hear what brings you here and why you are interested in this article, if you have some time to lose.)

1. Installation of DTrace on Linux (x86)

This is a Linux environment easy to set up for one's trial with DTrace:

- Ubuntu 9.10 (2.6.31-generic)

This is a short but quite precise list of steps for installation.

A. Go to ftp://crisp.dynalias.com/pub/release/website/dtrace/ to download dtrace-20091010.tar.bz2

B. Prepare utilities such as bison, flex, zlib, and libelf.

$ bunzip2 < dtrace-20091010.tar.bz2 | tar xvf -
$ sudo apt-get install bison
$ sudo apt-get install flex
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install libelf-dev
$ cd dtrace-20091010
$ make all
$ sudo make install
$ sudo make load


C. Remarks

At first, I tried to install DTrace on Ubuntu 8.04 (Kernel Version 2.6.24), but in vain. The critical issue was a kernel symbol pid_task is not exported in the kernel version. The symbol is referred by the dtrace driver. The symbol seems to be exported after the kernel version 2.6.25. There were a few more issues but they were able to be easily fixed.

For my Dtrace trial, I used VMWare on iMac. The use of VMWare doesn't bother one's trial with DTrace.

Unfortunately, I couldn't find any notices from Internet on a port of DTrace on ARM. A document available in the dtrace package that I downloaded says it only supports AMD, Solaris, and X86. But I heard that iPhone OS does provide an Apple version of DTrace. iPhone 3GS is based on ARM Cortex-A8.

2. Starting DTrace

When the installed DTrace was tested according to the following tutorial, I met system hangs quite frequently.

http://wikis.sun.com/display/DTrace/Introduction

Amit Saha once made a post about this system hang, and found out the reason: it is due to gnome-terminal, xterm, and ETerm. He suggested to use KDE konsole.

http://amitksaha.blogspot.com/2009/03/dtrace-on-linux.html

So, I did:

$ sudo apt-get install konsole

If I try DTrace on konsole, the system hang problem happens far less frequently. At least I was able to run all DTrace scripts in the tutorial without system hangs.

3. Final Remark

Please refer the following link to get to know the up-to-date status of DTrace
http://crtags.blogspot.com/

디지털 문화 콘텐츠, 운세

[참고] 김명신과 전승규, 온라인 운세 콘텐츠의 이용자들의 이용 만족과 불만족에 다른 회원 유지와 탈퇴에 대한 연구, Design Forum, Vol17, 2007.

운세 관련 웹사이트 회원 관리 시스템의 통계를 기본 데이터로 작성한 논문으로 보인다. 논문에서 몇가지 흥미로운 사항을 발췌한다.

1) 운세 콘텐츠의 중요성

디지털 문화 콘텐츠 분야 중에서 운세(관상) 콘텐츠에 대한 관심을 갖는 것은 동서양을 막론하고 개인 대 개인의 만남과 조화도에 대한 관심은 크다고 사료된다. 또한 전통적으로 중국, 일본, 한국 등에서는 이성간의 만남 속에서 자신의 운명과 상대에 대한 기대가 농축되었기 때문이며, 도가적 사상과 유교적 사상의 잔재에 기인한 문화적 산물이라고도 할 수 있다. 시대와 사회적 환경이 바뀌어도 운세 그리고 사주 그리고 관상에 대한 궁금함과 관심 그리고 흥미는 변하지 않는다고 생각된다. 따라서 이러한 문화 콘텐츠 제품이 많은 관심과 소비가 이루어질 것으로 생각되며 글로벌 문화 콘텐츠 제품 개발에도 경쟁력이 있다고 생각된다.

2) 시장 상황

2-1) 운세 콘텐츠 형식

온라인과 모바일 중심으로 텍스트 형태로 제공돼 왔던 운세 콘텐츠 포털이 DMB나 와이브로 등 새로운 플랫폼과 접목되면서 동영상 등 새로운 방식의 서비스로 전환되기 시작함. 주로 포털 사이트나 이동 통신사 등과 연계돼 왓지만 최근에는 IPTV에 서비스 하면서 동영상 등 새로운 형태의 운세 서비스 제공이 시작됨. [운세포털 도통은 최근 하나TV에 운세 서비스를 공급함. 산수도인은 스카이라이프의 데이터 방송에 서비스를 제공함.]

2-2) 시장 규모

첨단과학과 인터넷 정보 시대에도 점은 사라지지 않고 운명 산업으로 진화함. 젊은이들 구미에 맞춰 재미를 강조하고 재테크, 입시, 이혼 등 전문 영역으로 세분화하는 형식. 인터넷 운세 콘텐츠는 게임 콘텐츠 다음으로 인기. 참고로 45만 역술 무속인이 관련한 운명 산업의 규모는 2조원 (역술인 협회 추산). 영화 산업 규모 (2004년 2조 3000억)에 가까운 규모임. 온라인 기반 운세 콘텐츠 시장 규모는 1000억을 넘어섬. 주로 인터넷 포털 사업자와 이통사와 제휴한 온라인 콘텐츠 시장과 연계. 모바일 게임 전체 시장 규모인 1000억과 유사한 규모의 시장을 형성함.

주요 콘텐츠제공업체(CP)으로 이라이프, 엑소젠, 토톨오즈스타닷컴 등이 있음. 매년 35억에서 50억 규모의 매출을 달성. 특히 연말이나 연초 운세 콘텐츠 수요가 폭증하는 기간에는 업체당 월 매출이 15억~20억에 이름.

브랜드명: 천기누설 / 운세포털 도통.

2-3) 왜 운세 콘텐츠?

운세 콘텐츠 서비스의 안정적인 수익은 서비스의 절반 이상이 유료 기반. 다양한 콘텐츠 사용료도 1500원에서 1만원 사이 등에서 매우 다양해 여성 사용자 층이 매우 두텁기 때문인 것으로 분석됨.

운세 CP는 투자 비용이 많이 들지 않음. 예를 들어 음원을 지속적으로 확보해야 하는 음악 콘텐츠나 지속적으로 개발비요이 투입되는 모바일 게임 등 다른 콘텐츠 콘텐츠와 비교.

2-4) 운세콘텐츠 서비스 운영을 위한 설문 결과

온라인 운세콘텐츠 이용 상황과 느낌이 운세 콘텐츠 온라인 운세 서비스 회원 등록 유지 및 회원 탈퇴에 미치는 하위요인들의 상대적 기여도는 다음과 같이 조사됨

1. 서비스
2. 평판 및 관심 변화
3. 프로그램 운영 및 보안
4. 등록 편의
5. 신뢰 만족
6. 비용 관련

운세콘텐츠 이용 만족도는 1회 사용자가 상대적으로 높고 10회 사용자, 3회 사용자, 탈퇴자 순서로 만족도가 높다는 설문 결과.

Sunday, November 29, 2009

More about Haskell and Intel Concurrent Collections.

Softtalk : Multicore and Paralell Programming

Excerpted from http://softtalkblog.wordpress.com/2009/09/29/more-about-haskell-and-intel-concurrent-collections/:

First, a few words about Concurrent Collections for C++, which is available for download now. It provides a way to build C++ programs that will execute in parallel, by just focusing on the high-level computation steps, inputs and outputs. The key benefit is that it means domain experts can create parallel programs without having to become experts in parallel programming. The tool can be used to create a single source that can be used with run-times targeted for different parallel architectures, and the programming model supports all styles of parallelism without any need for rewriting or recompiling.

At IDF, Intel announced Linux support for Concurrent Collections, and it was already available for Windows. There was, as I said, also mention of an implementation for Haskell. I’ve been in touch with Ryan Newton, the man at Intel responsible for it, and he says: “I’ve been working on Concurrent Collections (CnC) for Haskell as an experimental side project. The basic idea is that CnC is a system that (1) computes a pure function in parallel for each complete invocation (heterogeneous set of collections -> heterogeneous set of collections); and (2) requires that the individual kernels (“steps”) be pure functions. You can only leverage (1) and enforce (2) in Haskell, so it’s a natural fit. One of the goals was to learn what interesting scheduling ideas exist (e.g. idempotent work stealing) or might exist in the pure domain.”

The Untold Story: How the iPhone Blew Up the Wireless Industry (iPhone 개발 뒷 얘기)

The Untold Story: How the iPhone Blew Up the Wireless Industry

http://www.wired.com/gadgets/wireless/magazine/16-02/ff_iphone?currentPage=all

[Korean Translation]
http://monsterdesign.tistory.com/578

Zero Ink Images

What is ZINK™?
ZINK™ stands for Zero Ink™ - an amazing new way to print in full color without the need for ink cartridges or ribbons. The ZINK Technology encompasses both the ZINK Paper™ and the intelligence embedded in every ZINK-enabled device. The technology enables a new category of color printing devices and paper that work as a system to print in a whole new way.

ZINK Technology is based on advances in chemistry, engineering, physics, image science, and manufacturing. ZINK was developed over several years and has generated an IP portfolio that includes over 100 patents and patents pending. And development of the next generation of ZINK continues in our labs daily.

ZINK Technology is fully developed and market ready. Our partners' ZINK-enabled products are available now. ZINK is changing the way the world thinks about printing.

How ZINK™ Works
At the heart of the ZINK Technology is the patented ZINK Paper, an advanced composite material with cyan, yellow, and magenta dye crystals embedded inside, and a protective polymer overcoat layer outside. The crystals are colorless before printing, so ZINK Paper looks like regular white photo paper. Heat from a ZINK-enabled device activates the crystals, forming all the colors of the rainbow. The printing process is now radically simple. Just add ZINK Paper™.

http://www.zink.com/

Saturday, November 28, 2009

Skype Developer Zone

Skype Developer Zone is the web home for everything on how to integrate Skype services and to create software for the Skype community. Developer Zone contains tons of documentation and tutorials, downloads and other related materials.

http://developer.skype.com

Thursday, November 26, 2009

hessian binary web service protocol

Hessian binary web service protocol

The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary protocol, it is well-suited to sending binary data without any need to extend the protocol with attachments.

http://hessian.caucho.com/

무선인터넷 관련 협회

한국무선인터넷산업협의회(MOIBA)
한국무선인터넷망개방사업자협회(KOASCA)
한국인터넷진흥원(KISA) 
방송통신위원회(KCC) 
한국인터넷기업협회 (KINTERNET) 

Wednesday, November 18, 2009

Drupal

http://drupal.org/

Umbraco

http://umbraco.org/

BIONETS self-evolution capable services by Nokia until 2015

Nokia’s vision of 2015? Nokia is already working on BIONETS self-evolution capable services to make it happen
When I was watching Nokia’s “The way we live next” vision of 2015 video, they key theme – the ability of Nokia services and devices to self adapt to user, needs based on usage patterns – sounded somewhat familiar.

I checked my notes, and yes, indeed – it was a familiar topic. The visions of 2015 was not just a promotional video of cool things that will somehow come about in 6 years.

It is actually a visualization of the stuff Nokia research labs, and some of it’s partners, are working hard to bring about. They have been doing it from 2006, at least. And have the patent apps to prove that.

One of them, called “BIONETS architecture for building services capable of self-evolution” became public recently .
It describes:
“… the development of one or more flexible architectures that can support service creation/development and provisioning in addition to self-evolution. Therefore, various embodiments allow for continued self learning, customization and adjustment of BIONETS services to the needs and expectations of users in accordance with characteristics such as those exhibited by biological organisms, for example, the ability to continuously adopt itself to an ever-changing environment “
The basic idea behind BIONETS architecture, is to split the actual services into a small components called “service primitives”. Those service primitives are combined into an actual service by “Expert/Decision making manager” module. Mobile devices have a BIONETS enabled client software which tracks service usage by individual users.
The tracking includes the steps user made to access the service, activities he performed just prior to it, the duration it took to perform the operations, whether the action was completed, etc;. Aggregating this data from a big number number of devices, the Expert/Decision making module can derive optimal service usage patterns and underperforming service primitives. Then it can automatically reconfigure the service primitives used to provide the actual service to fit user needs better. Or even create new services from observing the people use their devices, without intervention of the service provider.
One simple example of such a service could be a stock ticker application:
“User may utilize a “stock ticker” service that provides the user with periodic or constant updates which inform the user of a particular stock’s value at a given time. The stock ticker service may evolve by monitoring the user’s interaction with the stock ticker service. For example, it may be noticed that the user oftentimes will execute a calculator application in parallel with the stock ticker service and utilize that calculator to multiply stock values by a certain number (e.g., the number of stocks held by the user). After observing this behavior of executing the calculator application in parallel with the stock ticker service a pre-determined number of times, the stock ticker service can undergo self-evolution by deciding to improve the services it provides by embedding calculator functionality and a corresponding UI in its stock ticker service. Moreover, the stock ticker service may by default, automatically multiply a given stock’s value by the earlier observed value representing the number of stocks held by the user, thus preempting the need for the user to manually perform the multiplication operation herself.”
That’s just one, and relatively simple application. Combining self-evolution capable services with a widely spread passive and active sensors, and millions of exceedingly capable mobile devices, might lead us to that future of those “truly unique user experiences, from highly local traffic reports, to global weather trends..” Nokia was talking about in 2015 video.
But that’s for 2015.
For 2010 I’ll settle for a real improvement of OVI services, so all of them are well integrated, work seamlessly and intuitively on my next Nokia device.
The BIONETS architecture is a part of a bigger 6.9 million EUR BIONETS research project financed by European Comission Framework program, that has been running since 2006. It involves multiple partners, including Nokia, Sun Microsystems, Telecom Italia and a number of European research institutes and Universities.

OMA Email Notification V1.0

http://www.openmobilealliance.org/Technical/release_program/emn_v10.aspx

Monday, November 09, 2009

Application Launcher Design

* Android's Activity and Intent
* Sun Java's JSR211 JavaMe Content Handler API

LLVM

Low-Level Virtual Machine

http://llvm.org/

The Low Level Virtual Machine (LLVM) is a compiler infrastructure, written in C++, which is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages. LLVM was originally developed as a research infrastructure at the University of Illinois at Urbana-Champaign to investigate dynamic compilation techniques for static and dynamic programming languages. Originally implemented for C/C++, the language-independent design (and the success) of LLVM has since spawned a wide variety of front-ends, including Objective C, Fortran, Ada, Java bytecode, Python, Ruby, ActionScript, GLSL, and others.

Saturday, November 07, 2009

ZIP File Format

http://www.pkware.com/documents/casestudies/APPNOTE.TXT

X10 programming language

http://x10-lang.org/
X10 is a new programming language being developed at IBM Research in collaboration with academic partners. The X10 effort is part of the IBM PERCS project (Productive Easy-to-use Reliable Computer Systems) in the DARPA program on High Productivity Computer Systems. The PERCS project is focused on a hardware-software co-design methodology to integrate advances in chip technology, architecture, operating systems, compilers, programming language and programming tools to deliver new adaptable, scalable systems that will provide an order-of-magnitude improvement in development productivity for parallel applications by 2010.

X10 contributes to this productivity improvement by developing a new programming model, combined with a new set of tools integrated into Eclipse and new implementation techniques for delivering optimized scalable parallelism. X10 is a type-safe, modern, parallel, distributed object-oriented language intended to be very easily accessible to Java(TM) programmers. It is targeted to future low-end and high-end systems with nodes that are built out of multi-core SMP chips with non-uniform memory hierarchies, and interconnected in scalable cluster configurations. A member of the Partitioned Global Address Space (PGAS) family of languages, X10 highlights the explicit reification of locality in the form of places; lightweight activities embodied in async, future, foreach, and ateach constructs; constructs for termination detection (finish) and phased computation (clocks); the use of lock-free synchronization (atomic blocks); and the manipulation of global arrays and data structures.

An Eclipse-based Integrated Development Environment (IDE) has been developed at IBM for X10 to help further increase programmer productivity by providing state-of-the-art functionality for viewing, editing, navigating, executing, and manipulating X10 programs. The X10 Development Toolkit (X10DT) is intended to be a full-featured IDE for X10 offering the features Java programmers have come to love and depend upon in Eclipse: a source editor with various coding assists, lightweight information pop-ups, high-level and low-level navigation views, powerful search capabilities, application launch configuration management, refactoring, and debugging support. In addition, the X10DT will include tools, views and refactorings that specifically address the development of highly concurrent software in X10.

Monday, September 14, 2009

DTrace at OpenSolaris.org

[Sun Solaris]

[Linux]

[Mac OS X]

Lift 2010, what can the future do for you? | Lift conference, what can the future do for you?

Lift 2010, what can the future do for you? Lift conference, what can the future do for you?

Arduino - HomePage

Arduino - HomePage

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

Wednesday, September 09, 2009

GPU

ARM® Mali™-200 graphics processing unit (GPU), bringing advanced 2D and 3D graphics capabilities and low memory bandwidth usage to a range of portable consumer devices, including PMPs, PNDs, home and in-car audio and mobile phones.

iPOD touch 강좌

http://offree.net/tag/iPod%20Touch%20강좌

Wednesday, September 02, 2009

Definition of "MUST", "SHALL", "SHOULD", and "MAY”.

Key words to Indicate Requirement Levels such as "MUST", "SHALL", "SHOULD", "MAY”, http://www.ietf.org/rfc/rfc2119.txt

Thursday, August 27, 2009

Saturday, August 22, 2009

Free Computer, Engineering, Mathematics, Technical Books

Free Computer, Engineering, Mathematics, Technical Books
  • http://freecomputerbooks.com/
  • http://groups.google.com/group/freecomputerbooks

Monday, August 17, 2009

OpenMP.org

OpenMP.org

The OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++ and Fortran on many architectures, including Unix and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.

Tuesday, August 04, 2009

Documents on the GHC Core Language

Documents on the GHC Core Language

http://www.haskell.org/ghc/documentation.html

has a link to the September 2001 (Draft for GHC 5.02) document
describing GHC Core (in what is for me user-hostile .ps.gz format.)

And this page

http://www.haskell.org/ghc/docs/latest/html/users_guide/ext-core.html

promises an easier format PDF document, but the link is broken.


I did eventually find the 1st April 2009 GHC 6.10 document here

http://www.haskell.org/ghc/docs/6.10.2/html/ext-core/core.pdf

and a bit on this page

http://www.haskell.org/ghc/docs/latest/html/users_guide/options-debugging.html#id468571

about GHC core. I haven't read these yet, but could I ask whether they
constitute the complete current documentation for GHC core? (I'm just
curious to get a flavour of what core does.)

There's also the commentary page:

http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/CoreSynType"

Thursday, July 30, 2009

CCC @ FCRC

http://lazowska.cs.washington.edu/fcrc/

Computer Science: Past, Present and Future
by Ed Lazowska, University of Washington and Chair, Computing Community Consortium

Monday, July 27, 2009

한국학술진흥재단 등재 국내학술지 (컴퓨터, 정보 관련)

사단법인 한국인터넷정보학회
한국컴퓨터정보학회
텔레커뮤니케이션 리뷰 (Telecommunications Review)
멀티미디어학회 논문지
Etri Journal
정보과학회 논문지
정보보호학회 논문지
정보처리학회논문지 A,B,C,D
한국컴퓨터정보학회논문지
한국통신학회논문지
Journal of Communications and Networks
퍼지 및 지능시스템 학회 논문지
International Journal of Fuzzy Logic and Intelligent Systems
한국해양정보통신학회 논문지
한국가시화정보학회지
한국게임학회논문지
International Journal of Assistive Robotics and Mechatronics
디지털콘텐츠학회 논문지
정보 보안 논문지
한국산업정보학회 논문지
신호처리, 시스템 학회 논문지
한국인터넷방송통신TV학회 논문지
데이타베이스연구
한국정보기술학회논문지
Journal of Information Display
한국컴퓨터게임학회논문지
한국콘텐츠학회 논문지
한국IT서비스학회지

Sunday, July 05, 2009

Main Page - Open Source Education Lab

Main Page - Open Source Education Lab

The Open Source movement has a new advocate at Oregon State University. The Open Source Educational Laboratory has a simple mission statement: Help Get Students at OSU involved in Free and Open Source Software (FOSS).

OSWALD handheld computer - Trac

OSWALD handheld computer - Trac



The Computer Science Platform For Learning (CSPFL) is a student-developed Ultra-Mobile PC (UMPC) called the Oregon State Wireless Active Learning Device (OSWALD), made for undergraduate students to explore CS concepts hands-on. To do this, the OSWALD is powerful, flexible, and incorporates some of the latest technology available, while keeping the cost to a minimum.

Customer projects - GumstixDocsWiki

Customer projects - GumstixDocsWiki

OpenPandora.org - Pandora The OMAP3 Powered Handheld Linux Console

OpenPandora.org - Pandora The OMAP3 Powered Handheld Linux Console

Main Page - Openembedded

Main Page - Openembedded

BeagleBoard.org - default

BeagleBoard.org - default

Friday, July 03, 2009

C/C++ Programming Tools by SGV Sarc - Flowcharts, AutoFormat and other tools.

C/C++ Programming Tools by SGV Sarc - Flowcharts, AutoFormat and other tools.


Intersting questions:

Q1. Is the notion of flowchart expressive enough to describe flows of source codes?
Q2. Is the notion of flowchart manageable in case of source codes with more than hundres of thousands of lines ?
Q3. When one reads a bunch of source codes and has finally understood it, how can he express his understanding with the notion of flowchart effectively to give his understanding to his colleagues?

극지연구소

극지 연구소 : http://www.kopri.re.kr
극지 연구 체험단 (눈사람 클럽) : http://cafe.naver.com/poletopole2/

Thursday, June 18, 2009

Security in Mobile Handsets

Ref Topic Description Priority
(H/M/L)
1 Secure Boot Ensure integrity of core LiMo software at boot time. Need a flexible secure boot solution, to allow legitimate patching. H
2 Data Caging Ensure that application data can be made (directly) accessible only by the application that owns them (or by applications with file system access privilege). H
3 Reference Application Security Policy SPEF offers capability to define a policy, but none has yet been defined. A reference policy should therefore be developed. H
4 Security implications of Java and Internet Frameworks Development of Java and Internet FWs has been highlighted as high priority by the EC, but they bring with them their own execution environments and associated security risks. Security analysis and implementation of security measures are necessary to ensure these environments can be deployed safely. M
5 Secure Execution Environments Develop capability to offer controlled access to secure execution environments eg ARM’s TrustZone, or Hypervisor technology L
6 Secure storage facilities for applications Provide applications with high security areas for data storage L
7 Runtime Integrity Checking Ensure integrity of mobile software remains intact after boot M
8 Memory Management ... Prevention of attacks targeting memory (buffer overflows, NX bits, DMA & LCD access control) H
9 … and other software quality measures Use of type-safe APIs, verification tools, compartmentalisation, etc H
10 Patching Defining a secure approach for applying software patches to in-field LiMo devices, including patching of device boot code M
11 SIM Lock and IMEI Security Fundamental security measures for guarding against phone theft and subsidy loss H
12 Mobile Trusted Module (MTM) Mobile equivalent of Trusted Platform Module (TPM) for desktop computers which can be used to deliver various security services. Defined by Trusted Computing Group (TCG).

Availability of MTM in future should be considered in system design. H
(should be considered early on)
13 Debug mechanisms Ensure debug mechanisms cannot be abused to undermine platform security H

Monday, June 08, 2009

Yariv’s Blog » Blog Archive » Parallel merge sort in Erlang

Yariv’s Blog » Blog Archive » Parallel merge sort in Erlang


Parallel merge sort in Erlang
Posted by Yariv on March 09, 2009

I’ve been thinking lately about the problem of scaling a service like Twitter or the Facebook news feed. When a user visits the site, you want to show her a list of all the recent updates from her friends, sorted by date. It’s easy when the user doesn’t have too many friends and all the updates are on a single database (as in Twoorl’s case :P). You use this query:


"select * from update where uid in ([fid1], [fid2], ...) order by creation_date desc limit 20"


(After making sure you created an index on uid and creation_date, of course :) )

However, what do you when the user has many thousands of friends, and each friend’s updates are stored on a different database? Clearly, you should fetch those updates in parallel. In Erlang, it’s easy. You use pmap():

Tuesday, May 26, 2009

IEEE ISTO

IEEE ISTO (Industry Standards and Technology Organization)

산업표준기술기구: 산업 컨소시엄, 제휴, 포럼 및 기타 그룹을 통해서 표준과 기술 개발을 지원

Window manager

Compiz is a compositing window manager that uses 3D graphics acceleration via OpenGL. It provides various new graphical effects and features on any desktop environment, including GNOME and KDE.

Compiz has a flexible plug-in system and it is designed to run well on most graphics hardware.

The implementation of Compiz is based on using the new GLX_EXT_texture_from_pixmap extension of Xgl, AIGLX or NVIDIA for binding redirected top-level windows to texture objects.

Refer to Compiz Fusion for comparison.

Karmen is a window manager for x, written by Johan Veenhuizen. It is designed to just work. There is no configuration file and no library dependencies other than Xlib. The input focus model is click-to-focus. Karmen aims at icccm and ewmh compliance.

ICCCM (Inter-Client Communication Conventions Manual)http://tronche.com/gui/x/
EWMH (Extended Window Manager Hints) http://standards.freedesktop.org/wm-spec/latest/

icccm and ewmh

Various Licenses and Comments about Them - GNU Project - Free Software Foundation (FSF)

Various Licenses and Comments about Them - GNU Project - Free Software Foundation (FSF)

OpenJDK

OpenJDK

Qt Software

Qt Software

OpenCores

OpenCores

Intel and Nokia field open source telephony project

oFono Project
ofono.org

Intel and Nokia field open source telephony project

Monday, May 25, 2009

Grapefruit - HaskellWiki

Grapefruit - HaskellWiki

grapefruit-ui-gtk: GTK+-based backedn for declarative user interface programming

Grapefruit is a library for Functional Reactive Programming (FRP) with a focus on user interfaces. FRP makes it possible to implement reactive and interactive systems in a declarative style.

xtc - eXTensible Compiler

Wednesday, May 06, 2009

WebDAV

http://www.webdav.org

웹데브(WebDAV)는 기존의 웹이 읽기 전용이고 HTTP/1.1에 PUT, DELETE 등의 간단한 쓰기 웹의 확장 프로토클로 기본적인 WebDAV프로토클(RFC2518), 검색(DASL), 버전 관리 (RFC3253), 억세스 관리(ACL) 등을 포함하는 프로토클 Suite 입니다.


Apache2, IIS등의 웹서버가 WebDAV프로토클을 지원하며 리눅스, 매킨토시, MS윈도우 등이 Driver를 기본제공하며 많은 어플리케이션이 이 프로토클을 지원합니다.


최근 CVS의 단점을 극복하기 위한 버전컨트롤 툴인 Subversion은 WebDAV프로토클을 사용합니다.

PRISM - Probabilistic Symbolic Model Checker

PRISM - Probabilistic Symbolic Model Checker

Network Security Services (NSS)

Network Security Services (NSS)

Wednesday, April 29, 2009

Java ODP (On Device Portal)

http://java.sun.com/products/java-odp/

Learning Path: MIDlet Life Cycle

http://developers.sun.com/mobility/learn/midp/lifecycle/

DCF (DRM Content Format)

DCF는 사실 암호화된 컨텐츠의 확장자로 더 많이 보인다.



우리가 핸드폰에서 유료 서비스로 받은 음악 파일의 확장자는 mp3, wma가 아닌 dcf로 되어 있는 경우가 많다.



사실 DCF는 DRM Contents Format의 약자로 OMA DRM에서 컨텐츠를 암호화하는 방법을 말하며

암호화 방법은 Symmetric encryption 방법을 사용한다.

(Symmetric encryption에 대해서는 암호화를 전문으로 하는 사람만 관심있을 것 같다. 저기 다른 글에서 스크랩 해 놓았다.)



DCF 방식에서 파일 구조는 헤더(Header), 컨텐츠로 구분되며 간혹 컨텐츠 뒤에 특정 데이터가 더 있는 경우도 있다. 헤더는 암호화 되어 있지 않으며 컨텐츠만 암호화 되어 있어야 하며, 헤더는 단순 문자열 정보로 컨텐츠 타입, 암호화 방식이나 기타 정보들이 저장된다.



이 부분은 직접 파일을 뜯어 보지 않았는데 문서가 하나 있어서 대충 훝어 보면 다음과 같이 정보가 나열되어 있는 것 같다.



1. Media Type

2. Application/vnd.oma.drm.content

1) Version (uint8)

2) ContentTypeLen (uint8)

3) ContenURILen (uint8)

4) ContentType

5) ContentURI

6) HeadersLen (uintvar)

7) DataLen (uintvar)

8) Headers

9) Data



Data가 나오기 전까지가 앞에서 말한 헤더라고 생각하면 될 것 같고

여기에서 나온 Header는 추가의 메타 정보를 저장하고 있는 부분이라고 생각하면 될 것 같다.

메타 정보에는 Encryption method, Right issue, Content Name, Content Description, Content Vendor, Icon-URI 등이 있다.



관심있는 사람은 DCF 파일 하나 구해서 열어서 계산해 봐도 재미있을 듯..











권리 객체는 암호화를 풀수 있는 (보통 decryption이라고 한다.) CEK(Content Encryption Key)를 가지고 있다. 권리 객체는 OMA REL(Right Expression! Language)로 만들어져 있다고 한다. 사실 DRM이 전공이 아니라서 이 부분에 대해서는 관심이 없다.

mobility: Home

mobility: Home

Roland Products :: What's New

Roland Products :: What's New

Monday, April 13, 2009

Ch -- an embeddable C/C++ interpreter

Ch is an embeddable C/C++ interpreter for cross-platform scripting, shell programming, 2D/3D plotting, numerical computing, and embedded scripting. Ch is a free and user-friendly alternative to

Embedded scripting
Enterprise
Academic
Numerical computing
Web-based computing

Ch -- an embeddable C/C++ interpreter

A Textbook using Ch to teach C/C++ published March 23, 2009. The book entitled C for Engineers and Scientists: An Interpretive Approach, written by Dr. Harry H. Cheng, is a complete an authoritative introduction to computer programming in C, with introductions to C++, Ch. and MATLAB.

Tuesday, April 07, 2009

Eclipse Announces Pulsar Initiative to Define a Tools Platform for Mobile Development

Eclipse Announces Pulsar Initiative to Define a Tools Platform for Mobile Development

a new industry initiative to define and create a standard mobile application development tools platform. The initiative is led by Motorola, Nokia and Genuitec. Participating members also include IBM, RIM and Sony Ericsson Mobile Communications.

The Pulsar initiative will focus on four areas:

The creation of the packaged distribution called Eclipse Pulsar Platform;
A technical roadmap to advance the capabilities of the platform;
A set of best practices which includes documentation and test suites; and
Education and outreach to drive adoption of Pulsar with mobile application developers.
As part of the roadmap, Pulsar will support major mobile development environments such as JavaME, mobile Web technologies, and native mobile platforms.

Sunday, February 15, 2009

CRAMES On-Line Memory Compression

CRAMES On-Line Memory Compression

CRAMES is an operating system controlled memory compression technique to double useable memory in embedded systems without changing applications or hardware, and with little or no performance or power penalty.

CRAMES will first ship in NEC FOMA 904i phones in Europe and Japan in June 2007.

ViewVC: Repository Browsing

ViewVC: Repository Browsing

OpenAL

OpenAL

Cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications

Wednesday, February 11, 2009

TSLib: Abstraction Layer for Touch Panel Events

http://tslib.berlios.de/
Tslib is an abstraction layer for touchscreen panel events, as well as a filter stack for the manipulation of those events. It was created by Russell King, of arm.linux.org.uk. Examples of implemented filters include jitter smoothing and the calibration transform.

Tslib is generally used on embedded devices to provide a common user space interface to touchscreen functionality. It is supported by Kdrive (aka TinyX) and OPIE as well as being used on a number of commercial Linux devices including the Nokia 770.

Tuesday, February 03, 2009

Monday, February 02, 2009

Saturday, January 31, 2009

Software Defined Radio (SDR)

http://www.bitwavesemiconductor.com/
http://www.sundance.com/
http://www.gnu.org/software/gnuradio/

Secure Mobile Environment Portable Electronic Device (SME-PED)

Secure Mobile Environment Portable Electronic Device (SME-PED)

Why can't President Obama keep his Blackberry?
http://blogs.techrepublic.com.com/networking/?p=831&tag=nl.e102

The “something new and special” that has everyone curious is apparently the Sectera Edge by General Dynamics. Quite simply, the Sectera Edge is the Panasonic Toughbook of smart phones.

Sectéra® Edge™

http://www.gdc4s.com/content/detail.cfm?item=32640fd9-0213-4330-a742-55106fbaff32

History behind the Sectera Edge

The Sectera Edge was specifically designed and built for the US government. The 18 million dollar contract was managed by NSA, and part of a DoD project called SME-PED, which means the device meets most federal security requirements.

Runs on Windows

What may surprise many of you is that the Sectera Edge runs on secure Windows CE. I was surprised; still Windows CE is certified for Top Secret voice communications, Secret e-mail, and Secret Web sites. The device has three interchangeable modules allowing it to use GSM, CDMA, or Wi-Fi. The cost is $3350 US. The Sectera Edge and its accessories seem to have the government offset factored in as a lighter plug power adapter costs $100 US.

Thursday, January 08, 2009

Thursday, January 01, 2009

amrnb and amrwb (3GPP, ANSI C based Codecs)

http://www.3gpp.org/ftp/Specs/html-info/26104.htm
http://www.3gpp.org/ftp/Specs/html-info/26204.htm