http://www.linuxfordevices.com/c/a/News/Jolicloud-beta/
Monday, December 28, 2009
Jolicloud
http://www.linuxfordevices.com/c/a/News/Jolicloud-beta/
Sunday, December 27, 2009
Teaching PL using proof assistants
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
http://www.cflinux.hu/?module=Documentation
Compact Disc File System (CDFS, ISO 9660)
http://en.wikipedia.org/wiki/ISO_9660
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.
Thursday, December 17, 2009
QEMU-Puppy: Linux system from an USB-stick
http://www.erikveen.dds.nl/qemupuppy/
Wednesday, December 16, 2009
Sunday, December 13, 2009
GWT-Mobile-Webkit - GWT library to leverage Mobile WebKit (specifically iPhone/iPod Touch)
http://code.google.com/p/gwt-mobile-webkit/
Saturday, December 05, 2009
DTrace on Linux.
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/
디지털 문화 콘텐츠, 운세
운세 관련 웹사이트 회원 관리 시스템의 통계를 기본 데이터로 작성한 논문으로 보인다. 논문에서 몇가지 흥미로운 사항을 발췌한다.
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회 사용자, 탈퇴자 순서로 만족도가 높다는 설문 결과.
Friday, December 04, 2009
Thursday, December 03, 2009
Sunday, November 29, 2009
More about Haskell and Intel Concurrent Collections.
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 개발 뒷 얘기)
http://www.wired.com/gadgets/wireless/magazine/16-02/ff_iphone?currentPage=all
[Korean Translation]
http://monsterdesign.tistory.com/578
Zero Ink Images
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
http://developer.skype.com
Thursday, November 26, 2009
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/
Monday, November 23, 2009
Saturday, November 21, 2009
Wednesday, November 18, 2009
BIONETS self-evolution capable services by Nokia until 2015
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.
Monday, November 16, 2009
Monday, November 09, 2009
Application Launcher Design
* Sun Java's JSR211 JavaMe Content Handler API
LLVM
Low-Level Virtual Machine
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
X10 programming language
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.
Thursday, October 22, 2009
Saturday, October 17, 2009
CG: Open-source high-level shading language to make graphics programming faster and easier
CG: Open-source high-level shading language to make graphics programming faster and easier
http://developer.nvidia.com/object/cg_tutorial_teaching.html
Thursday, October 01, 2009
Monday, September 28, 2009
Wednesday, September 23, 2009
Friday, September 18, 2009
Monday, September 14, 2009
DTrace at OpenSolaris.org
- DTrace at OpenSolaris.org
- DTrace Introduction
- DTrace Community : http://wikis.sun.com/display/DTrace/DTrace
- DTrace Home : http://www.opensolaris.org/os/community/dtrace/
- Solaris Dynamic Tracing Guide : http://docs.sun.com/app/docs/doc/817-6223
[Linux]
- Dtrace port on Linux : http://www.crisp.demon.co.uk/blog/index.html
- Bryan Cantrill : http://video.google.com/videoplay?docid=-8002801113289007228#
[Mac OS X]
- Dtrace in Apple Open Source : http://opensource.apple.com/source/dtrace/
- iPhone Reference Library / Instruments Users Guide : http://developer.apple.com/IPhone/library/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html
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.
Sunday, September 13, 2009
CQE (Certified Quality Engineer)
ASQ : http://www.asq.org/
KSA : http://www.ksa.or.kr/
Wednesday, September 09, 2009
GPU
Tuesday, September 08, 2009
Wednesday, September 02, 2009
Definition of "MUST", "SHALL", "SHOULD", and "MAY”.
Tuesday, September 01, 2009
Monday, August 31, 2009
Sunday, August 30, 2009
Thursday, August 27, 2009
Tuesday, August 25, 2009
Monday, August 24, 2009
Saturday, August 22, 2009
Free Computer, Engineering, Mathematics, Technical Books
- http://freecomputerbooks.com/
- http://groups.google.com/group/freecomputerbooks
Friday, August 21, 2009
Wednesday, August 19, 2009
Tuesday, August 18, 2009
Monday, August 17, 2009
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.
Monday, August 10, 2009
Tuesday, August 04, 2009
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
Computer Science: Past, Present and Future
by Ed Lazowska, University of Washington and Chair, Computing Community Consortium
Wednesday, July 29, 2009
Tuesday, July 28, 2009
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 26, 2009
Monday, July 20, 2009
Friday, July 17, 2009
Monday, July 13, 2009
Sunday, July 12, 2009
Friday, July 10, 2009
Wednesday, July 08, 2009
Tuesday, July 07, 2009
Sunday, July 05, 2009
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
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.
Friday, July 03, 2009
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?
Tuesday, June 30, 2009
Monday, June 29, 2009
Sunday, June 28, 2009
Saturday, June 27, 2009
Wednesday, June 24, 2009
Thursday, June 18, 2009
Security in Mobile Handsets
(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
Wednesday, June 17, 2009
Monday, June 15, 2009
Thursday, June 11, 2009
Monday, June 08, 2009
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, June 02, 2009
Monday, June 01, 2009
Tuesday, May 26, 2009
IEEE ISTO
산업표준기술기구: 산업 컨소시엄, 제휴, 포럼 및 기타 그룹을 통해서 표준과 기술 개발을 지원
Window manager
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
Monday, May 25, 2009
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.
Thursday, May 21, 2009
Monday, May 18, 2009
Friday, May 15, 2009
Tuesday, May 12, 2009
Sunday, May 10, 2009
Friday, May 08, 2009
Thursday, May 07, 2009
Wednesday, May 06, 2009
WebDAV
웹데브(WebDAV)는 기존의 웹이 읽기 전용이고 HTTP/1.1에 PUT, DELETE 등의 간단한 쓰기 웹의 확장 프로토클로 기본적인 WebDAV프로토클(RFC2518), 검색(DASL), 버전 관리 (RFC3253), 억세스 관리(ACL) 등을 포함하는 프로토클 Suite 입니다.
Apache2, IIS등의 웹서버가 WebDAV프로토클을 지원하며 리눅스, 매킨토시, MS윈도우 등이 Driver를 기본제공하며 많은 어플리케이션이 이 프로토클을 지원합니다.
최근 CVS의 단점을 극복하기 위한 버전컨트롤 툴인 Subversion은 WebDAV프로토클을 사용합니다.
Wednesday, April 29, 2009
DCF (DRM Content Format)
우리가 핸드폰에서 유료 서비스로 받은 음악 파일의 확장자는 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이 전공이 아니라서 이 부분에 대해서는 관심이 없다.
Tuesday, April 28, 2009
Friday, April 24, 2009
Thursday, April 23, 2009
Tuesday, April 14, 2009
OASIS eXtensible Access Control Markup Language (XACML) TC
OASIS eXtensible Access Control Markup Language (XACML) TC
Monday, April 13, 2009
Ch -- an embeddable C/C++ interpreter
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
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.
Thursday, April 02, 2009
Monday, March 23, 2009
Saturday, March 21, 2009
Monday, March 09, 2009
Saturday, March 07, 2009
Thursday, March 05, 2009
Tuesday, February 24, 2009
Sunday, February 15, 2009
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.
Saturday, February 14, 2009
Wednesday, February 11, 2009
TSLib: Abstraction Layer for Touch Panel Events
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 10, 2009
Sunday, February 08, 2009
Tuesday, February 03, 2009
Monday, February 02, 2009
Saturday, January 31, 2009
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.
Sunday, January 18, 2009
Friday, January 16, 2009
Wednesday, January 14, 2009
JIL/Bondi/W3C
- http://www.jil.org/
- http://www.omtp.org/Bondi/
- SDK : http://bondi.omtp.org/BWiki/BONDI%200.98%20(alpha)%20SDK.aspx
- BONDI SDK Updater http://bondisdk.org/sdk/
- SDK @ LiMo Foundation : http://bondisdk.limofoundation.org/
- http://www.w3.org/
Tuesday, January 13, 2009
Sunday, January 11, 2009
Thursday, January 08, 2009
Tuesday, January 06, 2009
MD5 considered harmful today
In Techrepublic, http://blogs.techrepublic.com.com/networking/?p=776&tag=nl.e102
Sunday, January 04, 2009
Linux articles in IBM Linux Developer Works
Anatomy of the Linux kernel
Inside the Linux scheduler
Inside the Linux boot process
Virtual Linux
Saturday, January 03, 2009
Thursday, January 01, 2009
amrnb and amrwb (3GPP, ANSI C based Codecs)
http://www.3gpp.org/ftp/Specs/html-info/26204.htm