DevelopersMeeting20160613Japan
Attendees: Matz (remote), Koichi Sasada, Nobu(yoshi) Nakada, Shyouhei Urabe (host), Hiroshi Shibata, Akira Tanaka, Yui Naruse, Kenta Murata, Satoru Horie (guest), Martin Dürst, sorah (from 15:00), Shugo Maeda (remote)
Next meeting: 7/19 (Tue) 14:00-@Pivotal Lab.
GSoC achievements report (ko1, Horie-san)
Link to project description (Automatic-selection mechanism for data structures in MRI). Koichi is a mentor. Report: Started to implement String using Rope. Showing some performance results of initial experiments.
Discussion of suitable application benchmarks, possible problems with implementation,...
The meeting for Preview 1.
Release management of 2.4: When release 2.4 preview1?
- Motivation: Test recent big changes
- Integer
- OpenSSL
- String#upcase/downcase/… now works for Unicode
- Motivation: to release before RedDotRubyConf
This release doesn’t prevent further big changes for Ruby 2.4.
(This release is different from an usual preview1 (even more ‘previewy’))
[Misc #12283] Obsolete ChangeLog and commit message in Git-style (shyouhei) situation and progress?
Any progress? → Nothing
Naruse-san or Nakada-san will do.
Q: How should I do when I miss the reference and so on.
A: Use empty commit.
How to handle security issues (shugo)
- Pros./Cons. about using GitHub, Slack, HackerOne and etc.
- Aaron proposed HackerOne which is a specialized Web site to discuss security issues. In particular, it doesn’t include actual contents in email notifications, …, and also has a system for bounties.
- We can’t stop Mail address.
- Current issue
- We need to decrypt security issue and encrypt to report.
- GitHub notifications must be disabled because they contain sensitive information.
- Try this service.
- Should we decide whether reports are eligible for bounty?
[Feature #12333] String#concat, Array#concat, String#prepend to take multiple arguments (shyouhei)
matz: acceptable
nobu: this patch requires some tests, and fixes.
- ar = [1]; ar.concat(ar, ar) #=> [1,1,1]? or [1,1,1,1]?
- mrkn: we can make [1, 1, 1, 1] with a.concat(ar).concat(ar)
- Matz: Maybe programer may get [1, 1, 1]. So use it.
- see https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto
[Feature #12247] accept multiple arguments at Array#delete
What’s happen?
ary = [:a, :b, :c, :d, :e]
ary.delete(:a, :f, :c) #=> ???
# (1) [:a, :c]
# (2) [:a, nil, :c]
- ko1: who requires return value (array)?
- sora_h: With (2), we can use a return value with multiple assignment
- x, y, z = ary.delete(:a, :f, :c)
- Especially for Hash#delete (this is out of scope, but we should consier consistency)
[Bug #12295] Ripper not emitting on_parse_error for global variable name syntax errors (shyouhei) is this the right design?
Assigned to Minero Aoki.
[Feature #12484] Optimizing Rational (hsbt, mrkn)
- matz approved to add commit permission to Tadashi-san.
- mrkn will reivew the proposed patch
[Feature #12281] Allow lexically scoped use of refinements with using {} block syntax (shyouhei)
Assigned to shugo.
[Feature #12086] using: option for instance_eval etc.
Motivation is replace self and using context.
“Can we make it convinient?”
Matz will comment it.
[Feature #12447] Integer#digits for extracting digits of place-value notation in any base (mrkn)
- Q. Endian? #=> Little endian
- Q. how about negative integers? #=> Math::DomainError
- Q. how about 0? #=> [0] or [] #=> [0]
matz: i’m not sure how it is convinience. but ok.
[Feature #12299] Add Warning module for customized warning handling (jeremyevans)
naruse: it sounds useful with Gem.loaded_specs[ gem_name ].full_gem_path.
matz: ok (except naming).
Supported Platforms (duerst)
https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms says it’s for Ruby 1.9; needs some updating.
[Feature #12460] Make Unicode Version directly available in Ruby (duerst)
Approved; name as proposed by Nobu: RbConfig::CONFIG['UNICODE_VERSION']; implementation: Nobu or Martin.
Non-ASCII in rdoc comments in C source (duerst)
See https://github.com/rdoc/rdoc/issues/409. Intent is understandable. May work by just using &#(x)... HTML/XML convention; needs to be checked further.
[Bug #12427] the way that extension libraries know if Integer is integrated (nobu)
Nobu prepared a patch to show warning for rb_cFixnum and rb_cBignum, so developers can recognize this change. However, there are risks to compile broken code (assume passed parameters are Fixnum, but passed BIgnums. In this case, it is difficult to check Fixnum asusmed methods because Bignum may be rare to use, in general).
We can recognize this change with removing rb_cFixnum and rb_cBignum, but there are several gems causing compile errors.
→ try to remove rb_cFixnum, rb_cBignum at Ruby 2.4 preview 1 to check people’s responses