パスワードを忘れた? アカウント作成

スラドのRSSを取り込んでみよう。

15606405 story
バグ

Hello, Worldに潜むバグ 67

ストーリー by nagazou
Hello,-World 部門より
route127 曰く、

プログラミングの第一歩としてお馴染みの課題であるHello, Worldであるが、これをANSI-Cに基づいてmainの戻り値をEXIT_SUCCESSマクロで記述し、出力をENOSPCエラーを返す疑似デバイスファイルである/dev/nullへリダイレクトさせるよう実行すると正常終了するというバグがあるようだ。
(https://blog.sunfishcode.online/bugs-in-hello-world/)

C言語以外でもJava、Haskell、Node.js、Ruby、およびPython 2では同様の動作であるが、Python 3、Perl、およびBashでは正しくエラーとなるとのことである。
Linuxでは/dev/fullの存在はお馴染みとなっているがBSD系では2014年にFreeBSD 11.0-CURRENTが、2018年にNetBSD 8が/dev/fullを追加しているようだ。

こうしたANSI-Cに比べれば追加されて日が浅い機能である/dev/fullがバグを顕在化させた側面もあるのだろうか?
豊富な実務経験を持つスラド諸兄から本件の「バグ」についてご意見を頂戴したいところである。

15522610 story
Ruby

63年ぶりに「誕生石」が改定され10種が追加。全29種に 90

ストーリー by nagazou
改定 部門より
全国宝石卸商協同組合(ZHO)は19日、63年ぶりに誕生石を改訂すると発表した。「誕生石」は1958年に米宝石商組合(現ジュエラーズ・オブ・アメリカ)が定めた誕生石をもとにして、ZHOが日本独自にサンゴとヒスイを加えて制定したものだったという(全国宝石卸商協同組合(PDF)NHKハフポスト)。

プレスリリースによれば、こうした誕生石は国によって違いがあり、独自の文化に由来して定められているという。しかし、国内においても様々な誕生石リストが混在していることから、消費者が混乱するのを避けることから統一した形に改定するとしている。またコロナ禍で業界にもダメージがあり、誕生石改訂により宝石への関心を高めたい意向もあるとしている。

改訂後は新しい石が10種類追加される。これまで1種類しかなかった月に関しても、新しく加わることで選択肢が増加するとしている。新たに加わるのは2月のクリソベリル・キャッツ・アイ、3月のブラッドストーン、アイオライト、4月のモルガナイト、6月のアレキサンドライト、7月のスフェーン、8月のスピネル、9月のクンツァイト、12月のタンザナイトとジルコンとなっている。
15515995 story
統計

トップエンジニア学生の約半数が「Python」を使っていると回答。就活支援サービス調査 213

ストーリー by nagazou
macOSが多いのか 部門より
就活支援サービス「サポーターズ」は、登録されてるトップエンジニア学生436名を対象に実施した開発環境に関するアンケート調査結果を発表した。ここでいうトップエンジニア学生4は自主的に開発した制作物を保有している学生のことだそう(サポーターズリリースLedge.ai)。

調査によると「普段もっとも使っているor好きなプログラミング言語」の項目ではPyhtonが45.6%と2位のJavaScripsの16.5%に大差を付けて1位となった。AIやデータ分析ニーズの高まりから選ばれたとされている。なお3位はRuby、4位はC++、5位はPHPとなっている。「これから挑戦してみたいプログラミング言語」の項目では、Goが41.1%、Rustが23.4%と世間の注目度に合わせたものとなっている。なお開発端末のOSはmacOSが57.8%と最も多く、Windowsは31.9%、Linuxは9.9%であったとしている。
15457617 story
インターネット

Webのルビ仕様にはアクセシビリティを阻害している面があるとして改善要求 56

ストーリー by nagazou
なるほど 部門より
日本DAISYコンソーシアム」は、現行のWeb標準でのルビを振るための仕様は、弱視や失読症といった方への配慮が足りず、アクセシビリティを阻害している面があると指摘。改善を求める内容の公開書簡を各WebブラウザベンダやWHATWG、W3C宛てに送付したそうだ(Publickey)。

例えば既存の音声合成の実装方法は、ルビを含む文書では同じ単語を二度繰り返して読んでしまうといった問題を抱えている。また失読症を持つ人は、本文とルビの間隔が近いと、文字を認識しにくくなるのだという。この公開書簡ではWeb標準の下でこうした課題を解決することを求めている。公開書簡内では他にもさまざまな課題を指摘しているとのこと。
15242035 story
オープンソース

MimeMagicにGPLのコードが含まれることが発覚、Ruby on Railsがビルド不可に 56

ストーリー by nagazou
GPL問題 部門より
packetroxy 曰く、

ファイルの種類(MIME Type)を識別するライブラリであるMimeMagicで発覚したGPL問題が波紋を広げている。

MimeMagicは従来MIT Licenseでライセンスされるオープンソースソフトウェアであったが、コアとなるマジックナンバー識別データベースのfreedesktop.org.xmlが、GPL v2.0でライセンスされるfreedesktop.org/shared-mime-infoの成果物であることが判明(minad/mimemagic Issue #97)。

GPLでライセンスされるファイルと一体のものとして提供されるソフトウェアは、同じくGPLでライセンスすることが再配布の条件となる。MimeMagicのメンテナは、即座にライセンスをGPL v2.0に変更した新しいバージョンをリリースすると共に、誤ったライセンスを適用していた過去のバージョンをパッケージマネージャーのRubyGemsから取り下げた。

その結果、MimeMagicの過去のバージョンに依存していたソフトウェアがビルドできない事態に発展。著名なWebアプリケーションフレームワーク「Ruby on Rails」もそのひとつで、新しいGPLのMimeMagicを使うのか、別の代替ライブラリを使うのか、オンザフライで識別データベースを読み込むのか、自前でファイルを識別するのか、難しい判断を求められている(minad/mimemagic Issue #98, rails/rails Issue #41750)。

15037957 story
プログラミング

Ruby 2の3倍高速化を図った「Ruby 3.0.0」が登場 67

ストーリー by nagazou
前作の3倍のスピード 部門より
12月25日、Rubyのメジャーバージョンアップ版である「Ruby 3.0.0」が発表された(Ruby 3.0.0 リリースOSDN Magazine)。開発には2016年にRuby 3x3という目標が設定され、OptcarrotベンチマークでRuby2の3倍高速化を達成することを目指したという。主にパフォーマンス、並行処理、静的解析に注力して開発されたとしている。

あるAnonymous Coward 曰く、

Ruby 3.0は2013年に最初のバージョンが公開された2系に続くメジャーリリースとなる。

RakuになるのかPython3になるのか。

情報元へのリンク

14980960 story
Python

11月のTIOBE Index、Pythonが初の2位 33

ストーリー by headless
交代 部門より
11月のTIOBE IndexでPythonが初めてJavaを上回り、2位に上昇した(InfoWorldの記事Neowinの記事)。

JavaはCとともにTIOBE Index開始当時から不動のトップ2で、2015年4月以降は1位を維持していた。しかし、今年3月以降急速にレーティングを落とし、5月以降はCが1位となっている。一方、Pythonは2017年後半からレーティングを伸ばしており、2018年後半にはC++と並び、2019年半ばからは完全にC++を上回って(2位との差が大きい)3位を維持していた。

11月のレーティングはPythonが前年から2.27ポイント増の12.12%、Javaは4.57ポイント減の11.68%となっている。1位のCは0.17ポイント増の16.21%とわずかな増加にとどまるが、2位以下との差は広がっている。

このほか、増加幅が1ポイントを超えたのは4位のC++(7.60%、+1.99)のみで、減少幅が1ポイントを超えたものはない。いずれも増加幅は小さくレーティングも1%前後だが、R(16位→9位)やPerl(21位→12位)、Go(20位→13位)、Transact-SQL(32位→20位)が大きく順位を上げている。逆にSwift(10位→14位)やRuby(11位→15位)、Delphi/Object Pascal(13位→18位)、Objective-C(12位→19位)は大きく後退した。

Pythonの人気が上昇した理由としてはデータマイニングやAI、数値計算といった分野での需要増が挙げられることも多い。一方、TIOBE Software CEOのPaul Jensen氏はプログラミングがソフトウェアエンジニアだけのものではなくなり、容易に学習して開発可能なプログラミング言語の需要にPythonがマッチしていることを挙げている。スラドの皆さんのご意見はいかがだろうか。
14260101 story
プログラミング

大塚製薬CalorieMate to Programmerが話題に 57

ストーリー by nagazou
健康に気をつかうプログラマーというパワーワード 部門より
大塚製薬のカロリーメイト リキッドのプロモーションサイト「CalorieMate to Programmer」が、凝った作りだとして話題になっているようだ。このプロモーションサイトには、UNIX風のコマンド入力で操作することができるCUIモードも用意されている。はてなのコメントによれば、こんな感じらしい。

crexist 試しにCUIに which を打ち込んだら `\Which flavors do you like?/` って出るし、touch を打ち込んだらカロリーメイトに触るAAが出てきて笑った。ちなみにきちんとtabで補完されて良いですね(osx chrome)

なお監修はRubyの生みの親でもある、まつもとゆきひろ氏が行っているとのこと。リリースに記載された本人のコメントによれば「プログラマーならニヤリとするコードになっています。Enjoy!」だそうだ(PR Times)。

14217754 story
iOS

米下院アンチトラスト小委員長曰く、AppleのApp Storeは「ぼったくり」 99

ストーリー by headless
支配 部門より
米下院アンチトラスト小委員長のデビッド・シシリーニ氏がThe Vergeのポッドキャスト番組「The Vergecast」に出演し、AppleのApp Storeは「ぼったくり」だと批判した(The Vergeの記事Mac Rumorsの記事)。

AppleのApp Storeに関しては最近、iOSアプリ開発者にAppleのアプリ内購入システム使用を義務付けるなどの行為がEUの競争法に違反している可能性について欧州委員会が正式な調査を開始したことや、AppleがBasecampに「HEY Email」アプリでアプリ内購入システムを使用しなければApp Storeから削除すると通告、アップデートを拒否していることが話題となった。米下院アンチトラスト小委員会でもAppleを含むデジタルマーケットプレイスでの反競争行為について調査中だ。

今回の番組はシシリーニ氏とRuby on Rails開発者でBasecamp CTOのデビッド・ハイネマイヤー・ハンソン氏をゲストに迎え、こういった問題について聞いている。シシリーニ氏はHEY Emailが置かれた状況に関するハンソン氏の話を聞いたうえで、Appleが支配的な立場を利用して法外な利用料を要求しており、売り上げの30%を支払わなければ市場から締め出すと脅すのは「ぼったくり」だと指摘した。これは小規模な開発者をつぶすことでもあり、市場で公正な競争が行われていれば起こりえないことだとも述べている。

なお、ハンソン氏はGoogleのGmailアプリやMicrosoftのOutlookアプリがアプリ内購入を使用せずにサブスクリプションサービスを販売しているのに、なぜHEYでは認められないのかと疑問を呈している。しかし、任意の電子メールアカウントを利用可能なGmail/Outlookと、有料の独自アカウント専用のHEYとでは状況が異なる。また、OutlookアプリはMicrosoft 365のアプリ内購入を提供している。

Appleのフィル・シラー氏はTechCrunchのインタビューに答え、BasecampはHEYを無料の電子メールクライアントとして利用できるようにして別途Webサイトでサブスクリプションを販売するか、普通にAppleのアプリ内購入システムを使用するか、2つの選択肢があると述べたとのことだ。
14164980 story
Ruby

名前のタイプミスを狙った悪質なパッケージがRubyGemsで多数公開される 35

ストーリー by headless
偽物 部門より
人気のRubyGemパッケージに似たパッケージ名を付け、タイプミスを狙ってダウンロードさせようとする悪質なRubyGemパッケージが短期間に多数公開され、多数ダウンロードされていたそうだ(ReversingLabs Blogの記事Ars Technicaの記事)。

有名ドメイン名やパッケージ名のタイプミスを狙う攻撃は「タイポスクワッティング」などと呼ばれる。2017年にはこの手法を使用した悪質なパッケージがPyPIで発見されたことがスラドでも話題になった。調査を行ったReversingLabsもこの手法を使用する悪質なパッケージをPyPINPMで発見しているという。

タイポスクワッティングに絞って行われた今回の調査では、人気のRubyGemパッケージのリストを作り、名前の似たパッケージのアップロードを2月16日から25日まで監視。その結果、700以上の悪質なパッケージが2つのアカウントからアップロードされたそうだ。悪質なパッケージのダウンロード数は2アカウント合計で10万件近くに上り、たとえば悪質なパッケージ「atlas-client」は本物の「atlas_client」のダウンロード数の3分の1近くダウンロードされていたとのこと。

悪質なパッケージはいずれもWindowsユーザーをターゲットにしたものとみられ、インストールすると最終的にVBScriptがループで常駐してクリップボードを監視する。クリップボードで暗号通貨ワレットアドレスに一致する形式の文字列が検出されると、攻撃者の支配下にあるアドレスに置き換える処理が行われるとのことだ。
14135377 story
バグ

オープンソースソフトウェアの脆弱性、2019年は前年から50%近く増加したとの調査結果 58

ストーリー by headless
増加 部門より
WhiteSourceの年次報告書「The State of Open Source Security Vulnerabilities」によると、2019年に報告されたオープンソースソフトウェアの脆弱性は前年から50%近く増加していたそうだ(BetaNewsの記事The Registerの記事)。

データはWhiteSourceがNVD(National Vulnerability Database)のほか、セキュリティアドバイザリやピアレビュー型の脆弱性データベース、バグトラッカーから収集したもので、2019年のオープンソースソフトウェアの脆弱性は6,000件を超えているという。オープンソースソフトウェアの脆弱性は85%が公表時点で修正されている一方、NVDに掲載されるのは84%にとどまる。当初はNVDに報告されないものも45%にのぼり、29%はいずれNVDに掲載されるものの数か月のタイムラグがあるとのこと。

オープンソースソフトウェアの脆弱性で最も多いのはCで書かれたものだ。ただし、2009年~2018年のデータでは脆弱性の47%を占めていたのに対し、2019年は30%まで減少している。一方、PHPは15%から27%に増加した。脆弱性の種類ではC以外の言語(C++/Java/JavaScript/PHP/Python/Ruby)でXSS(CWE-79)が最多、不適切な入力確認(CWE-20)と情報漏洩(CWE-200)が続く(Rubyのみ逆順)のに対し、Cではバッファーエラー(CWE-119)・領域外読み込み(CWE-125)・NULLポインター参照(CWE-476)の順になっている。
14087539 story
プログラミング

TIOBE IndexのProgramming Language of the Year 2019はC言語 88

ストーリー by headless
増加 部門より
C言語がTIOBE Indexで1年間(2019年1月~2020年1月)に最もシェアを伸ばしたプログラミング言語「Programming Language of the Year 2019」になった(InfoWorldの記事)。

2020年1月のTIOBE Indexで2位のCは前年から2.44ポイント増加して15.77%となっており、5位のC#が2.07ポイント増の5.35%で続く。2018年のProgramming Language of the Yearだった3位のPythonは2019年2月を除いて常に増加幅トップだったが、2020年1月は1.40ポイント増の9.70%にとどまった。Cの増加についてTIOBEでは、パフォーマンスが重視される小型デバイスによる需要増や学習が容易な点、どのようなプロセッサーでもコンパイラーが利用できる点を挙げている。

このほか、トップ20で増加したのは9位のSwift(0.61ポイント増、1.80%)と17位のD(0.25ポイント増、0.83%)のみ。1位のJavaは0.01ポイント減の16.90%で、Cとの差は1.12ポイントとなっている。4位のC++(2.58ポイント減、5.57%)と6位のVisual Basic .NET(1.17ポイント減、5.29%)は特に減少幅が大きい。また、ランキングを大きく上げたプログラミング言語としてはSwift(15位→9位)とRuby(18位→11位)が挙げられている。一方、期待されていたほど伸びなかったプログラミング言語はRust(33位→30位)やKotlin(31位→35位)、Julia(37位→47位)、TypeScript(49位→48位)とのこと。
14014045 story
アメリカ合衆国

とあるOSSの開発者、米移民当局への抗議のためソフトウェアの公開を停止。このソフトウェアを使用していた当局や企業に影響が出る 45

ストーリー by hylom
外部リポジトリへの依存は良くない 部門より

Anonymous Coward曰く、

デプロイや設定の自動化ツールを手がけるChef社が、 米移民・関税執行局(ICE)とソフトウェアやサービスの提供契約を結んでいたことから、Chef社のソフトウェアで使われているオープンソースソフトウェアの開発者が、そのソフトウェアの公開を停止したという。その結果、同社の多くの顧客に影響が出たという(ZDNet Japan)。

ICEに対しては、昨今では不法移民などに対し非人道的な扱いを行っているとして批判が相次いでいた。そのため、ICEと契約してソフトウェアやサービスを提供しているChefにも批判の矛先が向いたようだ。

問題のソフトウェアはSeth Vargo氏によって開発された「Chef Sugar」というライブラリで、ChefのソフトウェアはGitHubやRubyGems経由でこのソフトウェアを利用していたようだ。しかし、これらが利用できなくなったことでソフトウェアの運用環境でトラブルが発生することになったという。

同社はChef Sugarのソースコードを自社のGitHubアカウントで公開することで対応したものの、Chefの社内外でVargo氏を支持する声が挙がっており、開発者や顧客はChefに対しICEとの関係を断つことを迫ったという。その結果、最終的にChef社は現在の契約終了後、ICRとの契約を更新せず、またこの契約によって得られた2019年の売上高を慈善団体に寄付することを表明することとなった。

13988882 story
Ruby

RubyGemパッケージrest-client、バックドアを含むバージョンが立て続けに公開される 37

ストーリー by headless
休眠 部門より

RubyGemパッケージ「rest-client」のメインテナーのRubyGem.orgアカウントが不正アクセスを受け、悪意あるコードを含むバージョンが立て続けに公開されていたそうだ(rest-client Issue#713The Registerの記事CVE-2019-15224)。

不正に公開されたのはバージョン1.6.10/1.6.11/1.6.12/1.6.13の4バージョン。1.6.13では外部にデータを送信するコードをpastebinからダウンロードして実行するコードが含まれていたという。1.6.x系列は2014年に1.7.0で置き換えられた非常に古いバージョンで、何らかの理由により最新版へアップグレードできない場合のために残されているものだが、1.6.13は1,061回ダウンロードされていたそうだ。

不正アクセスを受けたメインテナーのHacker Newsへの投稿によると、RubyGems.orgアカウントと他サービスでパスワードを共有しており、そのパスワードは他サービスから漏洩していたという。RubyGems.orgアカウントは10年以上前に作成したもので、最近はほとんど活動していなかったことからパスワードの安全性にも注意を払っていなかったとのこと。攻撃の流れとしては、価値の高いターゲットライブラリを選んでアカウント名を取得し、流出パスワードのリストと照合したとの見方を示している。

RubyGems.orgは影響を受けるバージョンをすべて公開停止し、1.6.9と同じ内容の1.6.14を新バージョンとしてリリースしている。さらに、二要素認証の使用などメインテナーに求めるセキュリティプラクティスの確立や、アクティブなメインテナーの維持に関するポリシーの導入などを計画しているとのこと。なお、これに関連して不正なコードを含むパッケージが多数見つかり、すべて公開停止となっている。

RubyGems.orgアカウントへの不正アクセスとしては、3月にバックドアを含むbootstrap-sass 3.2.0.3が公開されたことがスラドでも話題になったが、6月にもバックドアを含むstrong_password 0.0.7が公開されていたとのことだ。不正アクセスを受けたstrong_passwordのオーナーも他サービスで流出した古いパスワードの使用していた点や最近活動していなかった点など、rest-clientのメインテナーと状況が似通っている。

13978349 story
ニュース

将来性のないプログラミング言語5選として「Ruby」が挙がり話題に 155

ストーリー by hylom
Rails専用言語ではありません 部門より

Anonymous Coward曰く、

Diceによる「5 Programming Languages That Are Probably Doomed」(おそらく破滅するだろう5つのプログラミング言語)という記事が話題になっている(INTERNET Watch)。

選ばれたのは「Ruby」「Haskell」「Objective-C」「R」「Perl」の5つの言語。Ruby以外はあまり違和感ないだろうか?スラド諸氏の意見を問いたい。

なお、Diceは2014年にも「近いうちに死にそうなプログラミング言語」という記事を出して話題となっていた

typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...