Showing posts with label event. Show all posts
Showing posts with label event. Show all posts

Friday, May 24, 2013

FreeBSD Study #18

(Write it later)

Thursday, May 16, 2013

Java Day Tokyo 2013


大きな地図で見る
Java Day Tokyo 2013 was held in Akihabara UDX.
  • Keynote
    • Java SE strategy
      • The most improvement : lambda expression
        • Collection becomes more useful
        • Advantage for parallel execution of JVM
      • Other improvements
        • Virtual Extension Methods : Extending existing Interface
        • Project Nashron : Brand-new JavaScript engine
      • Java9 development is going on
      • Java8 : 2014/02 (Delayed from 2013 4Q)
      • Java9 : 2 year after from releasing Java8
    • JavaFX Strategy
      • Plan : Deliverying JavaFX application with JavaFX runtime on Mac AppStore
      • JavaFX is completely OSS-ed : integrated into the openJDK
      • Scene Builder : JavaFX GUI tool
        • Now supports Win and Mac
        • And, supports Linux in 2013 4Q
      • Demo : JavaFX 3D on Microsoft Surface
    • Java Embedded Strategy
      • The most advantege of using Java Embedded : Standarlized
      • Recently, JavaME Embedded 3.3 has been released
    • Java EE Strategy
      • JavaEE 6 has 18 implementations (including Glassfish)
      • JavaEE 7
        • Release plan : 2013/06/13
        • feature closed
        • Batch process
        • JSON
        • WebSocket
        • concurrency
      • Demo : WebSocket
    • Java Community
      • How to join Java community
      • What about Java Community Process
      • Introduction of JJUG
  • WebSocket
    • HTTP is half-duplex
    • HTTP is verbose
    • Last technologies for server push (e.g. polling, comet) are complex and inefficient.
    • WebSocket
      • bi-directional full-duplex messaging
      • IETF-defined RFC6455
      • W3C-defined JavaScript API
      • No headers, cookies authentication
    • Procedure
      1. handshake as HTTP
      2. Upgrade from HTTP to WebSocket
      3. handshake as WebSocket
    • Protocol is ws://
    • HTTP is client-server / WebSocket is peer-peer
    • To survey supporting Browser : caniuse.com/websockets
    • IE starts supporting WebSocket since IE10
    • JSR356
    • WebSocket and Glassfish 4
      • details of JSR356 annotations
      • details of TextDecoder / TextEncoder
      • details of Dependency Injection
    • Servlet API 3.1 adds new API HttpServletRequest.upgrade
    • How about secutiry
      • Do secure-releated procedures and authentications on HTTP, before handshaking WebSocket
      • WebSocket with SSL (wss://)
  • Lambda Expression
    • Multicore processor is current evolution of CPU
    • JavaSE should adapt multicore and parallel
    • external iteration is serial, and hard to be parallel
    • internal iteration is NOT serial, and easy to be parallel
    • a good way of internal iteration : iambda expression
    • Lambda in JavaSE 8
      • Not only internal iteration, target typing
      • It is Not closure
      • this indicates enclosing class, does not indicate inner lambda
      • Parameters of lmabda can do type inference
      • New accessor notation :: : (single method call)
    • When updating collections for lambda in JavaSE class library
      • Collection is defined as Interface
      • changing interface means changing all of concrete classes
      • But, JavaSE class library is required backward compatibility
      • So that JavaSE 8 also adapts also Virtual Extension Method
    • Virtual Extension Method
      • A new syntax to extend existing interface
      • Defining both new API and default behavior for it
    • JavaSE 8's lambda is optimized by using invokedynamic when compiled : so that javac uses invokedynamic since JavaSE 8
  • Batch Applications
    • JSR352 : IBM leads standarlization for Java Batch Processes
    • A part of JavaEE 7
    • But it can us stand-alone on Java SE : java.net/projects/jbatch
    • Details of JSR352 architecture
      • Job, Step
      • ItemReader, ItemProcessor, ItemWriter
      • Partitioning : Mapper, Reducer, Collector, Analyzer
    • Job Supecification Language(JSL) : XML for Java Batch DSL
      • How to handle/not-handle exceptions : skippable-exception, retryable-exception, no-rollback-exception
      • Flow : a serial set of Steps
      • Split : a parallel set of Flows
    • Demo
  • invokedynamic and Project Nashorn
    • invokedynamic : one of bytecode instruction since Java SE 7
    • In Java SE 7 : used for dynamic languages running on JVM
    • In Java SE 8 : used also for optimizing lambda expression when compiled
    • Details of invokedynamic
    • dynamic languages on JVM : JRuby, Jython, Groovy and so forth
    • difficulties of creating dynamic language
      • Type is not determined at some time
      • members of class and object are changable
      • Ablilty to re-define existing members
    • Project Nashorn
      • A JavaScript engine for JVM using invokedynamic
      • JavaSE6, JavaSE7 bundles Rhino
        • invokedynamic is not used
        • It's slow
      • It also roles as reference implementation for using invokedynamic
      • Target : running node.js
      • ECMAScript based
      • Faster
      • Size is well small for using in Java Embedded
And, in this day, Oralce Japan has announced that they release Java Documentation Japanese Edition.
Java Platform Standard Edition 7 Document (Japanese)
Java Platform Standard Edition 7 API Document (Japanese)

Friday, February 22, 2013

Couchconf Tokyo 2013

(Write it later)

Monday, October 22, 2012

AsiaBSDCon 2013 starts "Call for paper"

AsiaBSDCon 2013 starts "Call for paper".

This will be held in 14-17 March, 2013.

Monday, August 27, 2012

FreeBSD Study #10

In last Frieday, FreeBSD Study #10 was held in KDDI Web Commnications' Office.

大きな地図で見る

Today's session is "Managing storage on FreeBSD (vol.2)".
  • How to test the data transfer spped of devices
    1. internal kernel
      dd if=/dev/zero of=/dev/null bs=1024x1024 count=80
    2. read only from device da2
      dd if=/dev/da2 of=/dev/null bs=1024x1024 count=80
    3. write only to device da3
      dd if=/dev/zero of=/dev/da3 bs=1024x1024 count=80
    4. read and write data from device da2 to device da3
      dd if=/dev/da2 of=/dev/da3 bs=1024x1024 count=80
  • (4) must be slower than (2) and (3)
  • limit data transfer spped is which slower one of (2) or (3)

  • iostat: statics command of device I/O
    • IOPS
    • data transfer spped
    • %busy
    • svc_t
  • gstat: statics command of GEOM I/O (iostat GEOM version)

  • The true right way to create gmirror
    1. set gm0 as the mirror of ada1
    2. copy whole ada0 to gm0
    3. set gm0 as boot disk, and reboot
    4. add ada0 to mirror member of gm0, and wait sync between ada0 and ada1
  • The way written in FreeBSD handbook is now incorrect :-)

  • New file system feature since 9.0 (1) : GPT as default
    • because MBR cannot deal partitions over 2TB
  • New file system feature since 9.0 (2) : GPT HAST
    • Highly Available Storage
    • like gmirror over the TCP/IP network
    • deals /dev/hast/XXXX block
    • setting /etc/hast.conf in each machines mirroring

  • ZFS
    • architecture of UFS : device -> volume manager -> file system
    • architecture of ZFS : devices -> ZPOOL -> DMU -> ZFS
    • Good purposes for using ZFS
      • many devices
      • dealing petabyte-class data
    • Not good purposes for using ZFS (just a sales talk :-P)
      • speed
      • robustness
      • scalability
    • ZPOOL : Give the name as one block from one or more devices
    • ZFS Data Set : Give namespaces onto the ZPOOL
    • DMU : internal kernel for manipulating dnode
    • dnode : ZPOOL version inode
      • ZFS Data Sets on ZPOOL are dealt like inode
      • Files ans directories on each ZFS Data Sets are dealt like inode
    • ZFS' I/O = copy-on-write
    • ZFS Pros.
      • transactionable
      • lock free
    • ZFS Cons.
      • heavy for dnode
      • updating cost for large size file
    • Tips
      • SHOULD USE amd64
      • set vfs.zfs.cache.size as 0
      • tune vfs.zfs.meta_limit for your machine

Monday, July 30, 2012

RubyKaigi restarts - RubyKaigi 2013 -

In yesterday, dates and venue of RubyKaigi 2013 has been announced. Let's check this page.

Tuesday, July 24, 2012

FreeBSD Study #9

In last Frieday, FreeBSD Study #9 was held in KDDI Web Commnications' Office.

大きな地図で見る

Today's session is "Managing storage on FreeBSD (vol.1)".
  • What haappens between physical devices and /dev/* file on FreeBSD
    • GEOM is the framework to give abstract tiers between these
  • GEOM class
  • GEOM provider
  • GEOM consumer
  • sysctl kern.geom.*
  • Sample for mirroring on GEOM
  • File system of UNIX
    • Provide approches to file content via the file name
    • Tree structure with a single root
  • Kernel does not necessarily need file systems
  • Userland needs file systems
  • UFS
    • default file system of FreeBSD
  • Structure of UFS
    • inode
    • super block
    • how to approch the block content with inode
  • fsck
    • Check where the inode is collapsed at
  • SoftUpdates
    • Improve performance of fsck
    • Do I/O in async with strict order to add/delete block
  • SoftUpdates + Jornal (SUJ)
    • Since FreeBSD 9.0, SoftUpdates support Journaling
    • Improve the performance more

In this day, Dr Hiroki Sato has explained about Filesystem, GEOM and UFS. I have understood what is UFS+SUJ. On next month, FreeBSD Study #10 will be held and this session will continue with the theme about ZFS.

Saturday, June 23, 2012

RubyWorld Conference 2012 starts to call for speakers

The site of RubyWorld Conference 2012 has been opened. This conference will be held in November 8 to 9 at Matsue City.

And, They the Committees start to call for speakers.

Thursday, June 7, 2012

Debriefing of ruby standardization

In this week, Debriefing of Ruby standardization has been held. I try to write some summaries.
  • Ruby has been standarized as ISO/IEC 30170 in April, 2012.
  • When Matz started creating Ruby as "hobby program" 20 years ago, he had never thought "Ruby becomes any kind of standards" and "Ruby does not fit any kind of standards".
  • ISO advantages
    • Public purchase projects need programming language is standardized.
    • Projects about embedded system want programming language is standardized.
    • Sales talk at business : "Ruby is ISO-standarized!" :-)
  • Ruby is the first "ISO-standardized" programming language born in Japan.
  • Ruby is also the first "ISO-standardized" programming language worked by Japanese standardization team.
  • At first, JIS-standardized in Japanese (March, 2011), at second, JIS-standardized in English (July, 2011), at last, ISO standardized, so that Ruby is also the first programming language from JIS-standardization.
  • Ruby standardization is based on Ruby 1.8.7.
  • Ruby standardization contains common parts between Ruby 1.8.7 and Ruby 1.9.x.
  • Ruby standardization does not contain any parts not-compatible with Ruby 1.9.x.
  • So that current Ruby standardization is not "full set", that is just "fast track procedure".
  • mruby is almost based on Ruby standardization, without Regexp, MatchData, File and IO.
  • Notably, Ruby is still community-based programming language while Ruby is standardized.
  • Tasks after ISO-standardized
    • Refine standards as "full set"
    • Refine standards compatible with Ruby 1.9.x/2.0
    • Backport standards from ISO to JIS
And related information:
  • mruby is for embedded domain - excepting any real time systems.
  • Ruby 2.0 will be released on February, 2013.

Monday, April 16, 2012

AsiaBSDCon 2012

3 weeks ago, AsiaBSDCon 2012 was held.

大きな地図で見る
I attend these 4 workshops.

Tuesday, March 6, 2012

Timetables of AsiaBSDCon 2012 are revealed

AsiaBSDCon 2012 are revealed now.
The most interest session for me is about PC-BSD.

T2B: Maintaining your own PBI package repository

Friday, February 24, 2012

PostgreSQL Conference 2012

PostgreSQL Conference 2012 was held at here.

大きな地図で見る
I attended these sessions:

Monday, July 18, 2011

The last day of RubyKaigi 2011

Today is the 3rd day of RubyKaigi 2011 and THE LAST DAY of the RubyKaigi.
In this day, I attended these sessions:

Sunday, July 17, 2011

The 2nd day of RubyKaigi 2011 (afternoon)

In this afternoon, I attended these sessions:

The 2nd day of RubyKaigi 2011 (Morning)

Today is the 2nd day of RubyKaigi 2011.
In this morning, I attended these sessions:

Saturday, July 16, 2011

The 1st day of RubyKaigi 2011 (Afternoon)

In this afternoon, I attended these sessions:

The 1st day of RubyKaigi 2011 (Morning)

The 1st day of RubyKaigi 2011 was held at here.

Google Maps
In this morning, I attended these sessions:

Friday, July 8, 2011

Java7 launch event in Tokyo

In yesterday, Java7 launch event was held at Aoyama, Tokyo. the program is like below:
  1. Opening
  2. Summary of Java7 & Java8
  3. HotRockit / New licenses for Java
  4. NetBeans 7.0 / Project Coin
  5. InvokeDynamic
  6. Fork/Join Framework -> Lambda
  7. More new I/O
  8. Lightning talks
I had two thoughts from this event.
  • Both G1GC and InvokeDynamic are great technologies. It's good news for LLs (like JRuby) on JVM.
  • But, new Java7 features for Java language are imperfect because there are lack of lambda. Those features will become perfect since Java8.
And most funniest talk is about "JRuby and invokedynamic".

Monday, June 6, 2011

Timetables of RubyKaigi2011 are revealed

Timetables of RubyKaigi2011(a.k.a. THE LAST RubyKaigi) are revealed now.
The most notable and the most misterious session is Yami RubiKaigi. It means roughly "Conference In The Dark".

Monday, May 23, 2011

Tickets for RubyKaigi2011 are on sale

From yesterday, Some tickets about RubyKaigi2011 (a.k.a. THE LAST RubyKaigi) were on sale. There are three SKUs for attending this conference.
In addition to these SKUs, there are one more ticket for attending official conference party.

I already bought a Normal Ticket.