動かざることバグの如し

近づきたいよ 君の理想に

お前ら毎日のように下町ボブスレー叩いているがそんなに悪いか?

280 風吹けば名無し  2018/02/10(土) 09:25:09.41 

>>215
お前ら毎日のように下町叩いてるが下町ってそんなに悪いか?
ボブスレーの知識ゼロなのに外国産のソリを分解して「こんなもんか」とコメントするなどまるでこの程度なら簡単に作れると言わんばかりにソリ作りを開始し
→http://www.joqr.co.jp/nmt/special/2017/05/6201751519oa.php

最終目標を「ボーイング、エアバスといった外国企業から仕事を受注すること」とボブスレーを踏み台に仕事をとることに設定していて
→http://www.nikkeibp.co.jp/article/tk/20130409/346949/?P=7

「下町ボブスレー」といって下町の人たちが細々と頑張ってるようなネーミングだけど実際は大企業を含む20社以上のスポンサーが集った一大プロジェクトで
→http://bobsleigh.jp/sponsored

プロジェクトのGMが「夢を実現するためだから」と言って短い納期で下町の人間を無賃で働かせて
→http://www.nikkeibp.co.jp/article/tk/20130319/344369/?P=6

それなのにメディアはオリンピックという舞台を利用して「日本の下町の技術が世界へはばたく」という感動のストーリーを作り上げようとして
道徳の教科書に載せる、書籍化、ドラマ化までして
自分たちも大企業から支援受けまくってソリ開発してるくせに他国の大企業がソリを作ってることを公式twitterが馬鹿にして
→https://twitter.com/shitamachibobs/status/542651993777397761

「下町の高い技術力」をウリにしてるくせに自国の代表につかってもらえず資金に乏しいジャマイカボブスレーチームに「技術」ではなく「無償提供」をエサにソリを使わせて
ジャマイカをサポートといいつつジャマイカチームのことを結果を出したら自国のソリを使わない日本の代表チームをメディアを煽って叩くための踏み台程度に考えていて
→http://kantou.mof.go.jp/content/000133138.pdf

ストの影響で届かなかった日本製のソリに代わってドイツのクラブから借りたラトビア製の既製品の300万のソリに使用感で負けたことがきっかけでオリンピック本番でソリを使ってもらえず
しかもそのジャマイカがソリを使わなかった理由が下町側の発表で言っているストの影響ではなく日本製のソリが国際競争仕様になってなかったからドイツ製を借りたという海外の報道もあって
→http://www.mcclatchydc.com/podcasts/majority-minority/article198645239.html

大会直前の大事な時期に2億を超える損害賠償請求をチラつかせてジャマイカの選手と国民を動揺させて使いにくい日本製のソリをオリンピックの舞台で使わせようとしてるだけじゃん
→https://www.nikkansports.com/general/news/201802060000151.html

マストドンの統計API一覧

マストドンには統計APIというのが存在する。この記事見て初めて知ったのだが。

www.itmedia.co.jp

どうも認証不要で色々取れそうだったのでドキュメントを探してみるも見当たらず(ソースコード見ればいいのかもしれないが

備忘録がてら一覧を作成してみた

インスタンスの情報取得

https://pawoo.net/api/v1/instance/

// 20180128023618
// https://pawoo.net/api/v1/instance/

{
  "uri": "pawoo.net",
  "title": "Pawoo",
  "description": "Pawoo(パウー)はピクシブが運営するMastodonのインスタンス(サーバー)です。\r\n「創作活動や自由なコミュニケーションを楽しめる場」として、どなたにも幅広く使っていただけます。",
  "email": "",
  "version": "2.1.3",
  "urls": {
    "streaming_api": "wss://pawoo.net"
  },
  "stats": {
    "user_count": 338238,
    "status_count": 11879393,
    "domain_count": 3470
  },
  "thumbnail": "https://pawoo.net/packs/preview-9a17d32fc48369e8ccd910a75260e67d.jpg"
}

週ごとのアクティブ数

https://pawoo.net/api/v1/instance/activity

これが最近実装されたやつ(たぶん

// 20180128023710
// https://pawoo.net/api/v1/instance/activity

[
  {
    "week": "1516546800",
    "statuses": "110342",
    "logins": "13793",
    "registrations": "237"
  },
  {
    "week": "1515942000",
    "statuses": "0",
    "logins": "0",
    "registrations": "0"
  },
(略)
]

接続中のインスタンス一覧

https://pawoo.net/api/v1/instance/peers

/about/moreの「接続中のインスタンス」ってやつ

// 20180128023833
// https://pawoo.net/api/v1/instance/peers

[
  "gs.jonkman.ca",
  "social.consumium.org",
  "rkun.cf",
  "el-ktm.com",
  "halki.info",
  "mastodon.daiko.fr",
  "sns.lenchan139.org",
  "social.rudloff.pro",
  "anomalocaris.link",
  "gonsphere.tk",
  "pachi.house",
  "freezepeach.xyz",
  "tenca.rs",
(略)
]

Rubyでポートが開放されているか確認する方法

単純にそのホストのポートがListenしてるかの確認はソケット接続を使うとサクッといける

コード

require "socket"
begin
    s = TCPSocket.open('example.com', 80)
rescue
    puts 'ng'
else
    puts 'ok'
ensure
    s.close
end

ポイントは2つ。

  • 接続できなかったときは例外が発生するので、beginで処理する必要がある
  • 最後はclose

irb上だと以下のような挙動

irb(main):001:0> require "socket"
=> true
irb(main):002:0> s = TCPSocket.open('localhost', 3000)
=> #<TCPSocket:fd 11>
irb(main):003:0> s = TCPSocket.open('localhost', 9999)
Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 9999
    from (irb):3:in `initialize'
  from (irb):3:in `open'
  from (irb):3
  from /Users/hoge/.rbenv/versions/2.3.3/bin/irb:11:in `<main>'
irb(main):004:0> s.close
=> nil

はてなブログの執筆速度を230%増加するChrome拡張機能作った

単純に編集画面をシンプルにしたってだけの拡張機能だが。余計な表示を削ることで書くことに集中できる。(はず

f:id:thr3a:20171231152141p:plain

作った動機

最近Mediumというブログをちょいちょい見かけるが、この前「Mediumは書きやすい」というツイートが流れてきた。書きやすいってどういうこと?と試しに登録して投稿画面見てビビった。以下がスクショだが、画面いっぱい真っ白

f:id:thr3a:20171231152524p:plain

これは書くことに集中できるなと感心しつつ、普段使っているはてなブログが以下に「うるさい」かを再認識した。

そこで機能を損なわずにMediumに相当する編集画面をChrome拡張機能で作った。もちろんこの記事も拡張機能使って書いてる。

スクリーンショット

Before

f:id:thr3a:20171231152823p:plain

After

f:id:thr3a:20171231152759p:plain

上のヘッダーも消した。単純に消すと必要なときに不便なのでマウスを上に持っていくと表示されるようにした。

f:id:thr3a:20171231153346g:plain


Mediumを見習って、までは言わないけど、はてなブログの編集画面もこの拡張機能が不要になるぐらいシンプルになってほしい。

RubyでImageMagick使うにはMiniMagickの方がよい

画像処理の王者ことImageMagickrubyImageMagickを扱うには、RMagick一択だと思っていたが、最近だとMiniMagickというのもあるらしい

MiniMagickのメリット

  • メンテナンスがRMagickより盛ん
  • 書き方がRMagickより直感的(主観
  • メモリの使用量が少ないらしい

本家githubより

I was using RMagick and loving it, but it was eating up huge amounts of memory. Even a simple script would use over 100MB of RAM.

とのこと

試してみる

環境

Gemfileに

gem "mini_magick"

して

require 'mini_magick'
image = MiniMagick::Image.open("test.jpg")
image.resize "200x200"
image.write "test_converted.jpg"

しても

MiniMagick::Invalid: `identify /var/folders/6z/xq_8ddx97hq9hzlgwzjjdjbw0000gn/T/mini_magick20180117-38453-17ka2ql.jpg` failed with error:
identify: unable to load module `/usr/local/Cellar/imagemagick/6.9.6-2/lib/ImageMagick//modules-Q16/coders/jpeg.la': file not found @ error/module.c/OpenModule/1302.
identify: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/504.

とエラーが

解決策

なんでやねんbrew install imagemagickちゃんとしたわと思っていたが、どうもtiff対応のimagemagickでないとダメらしい

ってことで一旦アンインストール

$ brew uninstall imagemagick

libtiff対応のimagemagickインストール

$ brew install libtiff
$ brew install imagemagick --with-libtiff

確認

$ convert -version
Version: ImageMagick 7.0.7-21 Q16 x86_64 2018-01-08 http://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules 
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

参考リンク