「join」を含む日記 RSS

はてなキーワード: joinとは

2018-02-06

anond:20180206194356

2018/02/15 v5.2 http://tpcg.io/hFEB8W

五輪マークへ「0」を含む場合に、「0」へ置換せず「○」へ置換する

 

 

不具合多いなw

2018/02/14 v5.1 http://tpcg.io/VUTY6d

全角空白レイアウトがうまくいってなかったので、不可視文字wでレイアウト調整

2018/02/13 v5 http://tpcg.io/q47ler

大胆に全角空白を駆使してレイアウト調整

2018/02/10 v4 http://tpcg.io/gu9yQ2

五輪マークマージ

https://anond.hatelabo.jp/20180209193332

def ato
#require 'date'
    # Date.new(2020, 7, 24) - Date.today
    (Time.new(2020, 7, 24, 20, 0, 0, "+09:00") - Time.now.getlocal("+09:00")) / 60 / 60 / 24
end


# 文字
ar = [
'',
'',
'',
'',
'',
''
]

br = sprintf("%05d日", ato).tr('0-9', '0-9').split('')

cr = Array.new
for i in 0..(ar.length-1)
    cr.push(ar[i] + br[i] + '')    
end

puts br.join
puts '[東京五輪まで]', cr.join


# 五輪マーク
dr = [
' ',
'',
'',
' ',
'

   ', ' ' ] er = sprintf("%03d日◯◯", ato).tr('0-9', '0①②③④⑤⑥⑦⑧⑨').split('') fr = Array.new for i in 0..(dr.length-1) fr.push(dr[i] + er[i] + '') end puts '

' puts fr.join puts er.join

v3 http://tpcg.io/4X3DHT

タイムゾーンフィックス

require 'date'

def ato
    Date.new(2020, 7, 24) - Date.today
    (Time.new(2020, 7, 24, 20, 0, 0, "+09:00") - Time.now.getlocal("+09:00")) / 60 / 60 / 24
end

ar = [
'',
'',
'',
'',
'',
''
]

br = sprintf("%05d日", ato).tr('0-9', '0-9').split('')

vr = Array.new
for i in 0..(ar.length-1)
    vr.push(ar[i] + br[i] + '')    
end

puts br.join
puts '*[東京五輪まで]', vr.join
puts "z"

v2 http://tpcg.io/wPYegY

タイムゾーンテスト

2018/02/06 v1 http://tpcg.io/L01oUk

初版

require 'date'

ar = [
'<font color="blue" size="10">',
'<font color="#FFD700" size="10">',
'<font color="black" size="10">',
'<font color="green" size="10">',
'<font color="red" size="10">',
'<font color="gray" size="6">'
]

br = sprintf("%05d日", Date.new(2020, 7, 24) - Date.today).tr('0-9', '0-9').split('')

vr = Array.new
for i in 0..(ar.length-1)
    vr.push(ar[i] + br[i] + '</font>')    
end

puts '*[東京五輪まで]', vr.join

2018-01-19

事業会社データサイエンティスト 会社退職しました

元々コンサル会社から事業会社のほうでデータサイエンティストをやるようになって1年経つが辞める。そのきつかったことを匿名という場所卑怯ながらも話したいと思う。

元々私は大学院でそこそこ統計をやってきてからコンサル会社に行きデータサイエンティストとして事業会社へ移った口だ。

根本的にデータサイエンティストとしての資質としてざっくりいうと以下の3つが必要だと思われる。

1. 統計能力関係及びそのプログラミング可視化能力

2. KPI設計及び事業からKPIへの落とし込みからそのKPIからどう事業繋がるかというビジネス設計能力

3. 上を基にしたコンサル能力

能力的には1がやや強く、その次に2がまぁまぁそして3はまだまだといった所で事業会社データサイエンティストとして孤軍奮闘をすることになった。

 入社理由

データはあるが、なかなか活用できていないこともあり、分析から企画から関われるという事で入社しようと思った。

後そこそこ大きな会社で働くのも良い経験と思い入社を決意した。ニッチな分野ではあるが、この分野ではTopカンパニーである

 実際の業務

最初の4日ぐらいは会社研修とかで潰れるのは仕方ないもので、それが終わり早速の業務を行う事になった。

まずはデータ各部門に依頼してから頂くのだが・・・

貰えない。

許可申請関係で3週間程かかってからまず最初データを頂けるようになった。この時点でやる気を削がれた。

更にデータ確認という事で事業へのヒアリングを進めるだけで・・・6週間程かかった。更にやる気を削がれた。

この辺りで気付いた事だが、コンサル会社でいたときは、データ確認がスピィーディーだったのに何故こんな遅い作業なったかというと

日本企業部署跨ぐというのはとても大変で、コンサルとしてやっていたときは単価も高いし、期間内でやらないといけないという事で

いろいろと調整がスムーズに進んでいたという事がこの時に分かった。コンサルとして外から見ているとやはり分からない事は多い物である

分析ツールエクセルだけ

データ確認も終わり、分析をし、改善を行うテーマを決めて進める事になった。この時点で2カ月ぐらい過ぎていた気がする。R/Python自分パソコンへの許可申請を出すが、降りない・・・会社的にはCならばOKだと言われる。でもCの追加ライブラリー関係ダメらしく・・・悩んだ結果エクセルを基に分析をする事になった。現状把握のために基礎集計をするが、エクセルSQLで言うGroup_byやら違うデータ同士をくっつけるためのJoinを32 bit エクセル関数ベースでやると何度も落ちる・・・。この時点でやる気は地の底へと落ちていた。

この辺りでCベースでもう書き直そうかと悩むが、流石にCのライブラリーがない所でフルスクラッチ調に書くのは工数的にかかると考えたのでvbaを用いていた。

エクセルベースでの可視化から上司関係者データ分析の結果を見せていく。この辺りでデータ分析から改善策はまとまっていた。しかしこの辺りでやる気をマイナスにして頂ける言葉を伺う。

私がVBAを書いているのをちらっと見て

プログラミング何かやっていても仕方ないし、プログラマーではねぇ・・・。今後会社ではプログラマーなんていらないか企画できるようにならないと」

勿論これは直属の上司からのお言葉ではないが・・・正確には同期である・・・もはや殺意すら覚える。因みにこの人の既存サービスの改良プロジェクトが回った時のデータ収集したら分析する事になっていたが、プロジェクトスケジュール感を見ると

要件定義 2週間

画面設計及び機能設計 3カ月

開発 4カ月

単体テスト・移行テスト 5カ月

運用以降

みたいな形でうん?何か少なくないか?と思ったら既存サービスに関してのギャップ分析無しに既存サービスの改良を進めているらしい

・・・その上取れるデータは〇〇〇で〇〇〇は無いらしい。あっそんなん改善出来んやん・・・。一応私はアリバイ工作のためにメール会議にて発言する

・・・空気を読めないと言われ会議呼ばれなくなってしまう(因みにこのプロジェクト要件定義から運用以降まで外注である)。

最早これは逃亡しかないだろうと心に固く決めてしまう。

私のコンサル的な能力がなかったと言えば確かにその通りである。でもいやうん日本企業の中で、分析をやっていくのは本当に難しいというのがよくわかる。

一人だったというのもある・・・でも殆ど基礎集計レベルで難しい用語を使わず改善を行おうとしたいやでもこの日本企業では無理だった。そしてやりたいと思わなかった。

たまに日本企業でのエンジニアの不遇差を嘆く記事を見かけるが、割と同じようなパターン臭いがする。

2017-12-21

PCパワーをマイニングもいいけど、人類のために使ってみない?

やすっかり定着した暗号通貨マイニングマイニング専用PCを作るためのビデオカードが売れたりと、活況を呈していたりする。

これまでもっぱら個人目的ゲーム動画etc)のためだったコンピュータ演算資源

自らの利益のもののために使うという発想が一般に広まってきつつあるのは歓迎すべきだと考えている。


が、その演算資源科学の発展(人類利益にも通じるかな)に使ってしまおうという発想が、遡ること18年前、1999年に始まった。

SETI@homeであるSETIはSearch for Extra-Terrestrial Intelligenceの略である映画コンタクト」を見た人になら覚えがあるかもしれない。

まり地球外知的生命宇宙人から発せられて地球に届いているかもしれない電波を見つけるという目的運営されており、

それは、プエルトリコにあるアレシボ電波望遠鏡キャッチした電波の中から特定パターンに一致するもの

分散コンピューティング、つまりこのプロジェクトに参加するユーザPCのパワーをちょっと間借りして解析し、宇宙人から電波を見つけるというとてもチャレンジングなもの

これは誰でも参加できる。

この辺の詳しい沿革概要についてはSETI@home - Wikipediaを読んでほしい。

いまではBOINCというカリフォルニア州立大学バークレー校分散コンピューティングプラットフォーム上で動くものであり、

SETIのほかに計算リソース必要とするタンパク質構造予測や、ある種の糖尿病などの先天性疾患の原因遺伝子発見などの

興味深いプロジェクトが行われている。

伝えたいのはここから

夜空を見上げてほしい。東京の人でも今の時期なら冬の大三角形を南の空に見ることができると思う。

私も含めた田舎在住の人ならもっとたくさん、もしかしたらオリオン星雲なんかも見ることができるだろう。

肉眼で見える星の数というのはおよそ8600個。私たちの住むこの銀河系には1000億というオーダーで存在する。

思いを馳せてみよう。

その中にもきっと私たちと同じような文明があること。

私たちと同じように苦しいこともあったり、楽しいこともあったりする生活を送っているだろうこと。

いろんなことを考えているだろうこと。

そして、きっと私たちと同じように彼らの星の外に知的生物を探しているのだろうこと。

そんな途方もないことは現実には知りようがない?

いや、私は考えている。それを知るためにこのプロジェクトがある。

自らのコンピュータ演算が、その途方もないことを知るための小さい一歩であること。

そしてそれが人類にとっての大きな飛躍につながっていること。

この考えとともに今までおよそ10年ほどこのプロジェクトに参加している。

まだ有望な電波は見つかっていないようだが、それでも私は今日コンピュータを走らせる。

強要するつもりはなく、はてなーの皆さんに認知だけでもしてもらいたいと思いこれを書いた。

もしすでに豊富CPUパワーを持っていて知らなかったという人はぜひ参加を検討してほしいし、

マイニングをしているという人は、もしふっとこれが頭によぎることがあれば、参加してくれればいいと思っている。

また最近プロジェクト自体かなりの財政的困難にも見舞われているようなので、寄付ができるのであればしてもらえたらとも思う。

ぜひ、あなたコンピュータ科学の発展のために役立ててみてほしい。

蛇足だし、リテラシーの高いはてなーなら自分で調べてインストールすると思うが、SETI@home

Join SETI@home

からダウンロードできる。

2017-11-22

2017-11-22 の『死にたい

anond:20171122153136 を見つけた今日は、『死にたい記念日

http://anond.hatelabo.jp/20170125102038

約 6,230,000 件 (0.31 秒)

検索結果

相談先のご案内 日本:

0570-064-556

こころ健康相談統一ダイヤル

時間: 都道府県によって異なります。詳細

言語: 日本語

ウェブサイト: www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000117743.html

フィードバック

疲れた・・】死にたい人、鬱な人が必ず見るべき7項目【消えたい】 - NAVER ...

https://matome.naver.jp/odai/2141091366365039201

人を傷つけられない人にとって「逃げる」と言う行動はとても生産的です。自愛と共に生きましょう。

‎消えたい · ‎死にたい人、鬱な人が必ず見る ... · ‎【疲れた・・】死にたい人、鬱な人 ...

#死にたい hashtag on Twitter

https://twitter.com/hashtag/死にたい

See Tweets about #死にたい on Twitter. See what people are saying and join the conversation.

トップニュース

座間遺体】「死にたい」けど「迷い」 田村愛子さん、揺れ動く心書き込み 案じていた兄 産経ニュース 9時間

死にたいSNSが救いの場 規制弱者追い詰める? 朝日新聞デジタル 1日前

座間遺体殺人容疑で追及 「死にたい人いなかった」 - 毎日新聞 毎日新聞 2週間前

死にたい」のその他のニュース

死にたいあなたへ飛び降り自殺失敗者が送るメッセージ - 専業主婦卒業 ...

www.tukishiro01.com › メンタル

2017/07/23 - 死にたい疲れた、消えたい。。。 今あなたはそんな気持ちで、ここに訪れたのではないでしょうか?そして周りに「死にたい、消えたい、もう疲れた」と言って、一度は「でも、死ぬのはだめだ」と言われたことがあるのではないでしょうか? 大丈夫 ...

http://archive.is/AG4rV

死にたくない

2017-09-11

https://anond.hatelabo.jp/20170910205249

まじな話をすると、N予備校プログラミング入門コースやるのがオススメ

https://www.nnn.ed.nico

一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。

月額1000円だけどしっかり勉強すれば一ヶ月の無料間中に終わると思う。

もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラム講師曰く去年はこれで二人エンジニア就職を決めたらしい。

内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職必要な環境構築やセキュリティまでみっちりやる。

http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A8%E5%86%85%E5%AE%B9

講師が書いてる入門コースで習うことがまとめ。テキスト教材もあるけど授業も1項目を2時間で説明している。授業は週2の生放送とそのアーカイブがある。

↓みたいなことが学べる

----

Webプログラミング入門コース

Web ブラウザとは (Chrome, デベロッパーコンソール, alert)

はじめてのHTML (VSCode, HTML, Emmet)

さまざまなHTMLタグ (h, p, a, img, ul, tableタグ)

HTMLで作る自己紹介ページ (HTMLタグ組み合わせ, コンテンツ埋め込み)

はじめてのJavaScript (JS, ES6, エラー)

JavaScriptでの計算 (値, 算術演算子, 変数, 代入)

JavaScript論理を扱う (論理値, 論理積, 論理和, 否定, 比較演算子, if)

JavaScriptループ (ループ, for)

JavaScriptコレクション (コレクション, 配列, 添字, undefined)

JavaScript関数 (関数, 関数宣言, 引数, 戻り値, 関数呼び出し, 再帰)

JavaScriptオブジェクト (オブジェクト, モデリング, プロパティ, 要件定義)

はじめてのCSS (CSS, セレクタ, background-color, border)

CSSを使ったプログラミング (transform, id, class)

Webページの企画とデザイン (企画, 要件定義, モックアップ, 16進数カラーコード)

診断機能の開発 (const, let, JSDoc, インタフェース, 正規表現, テストコード)

診断機能組込み (div, 無名関数, アロー関数, ガード句, truthy, falsy)

ツイート機能の開発 (リバースエンジニアリング, URI, URL, URIエンコード)

Linux開発環境構築コース

LinuxというOS (VirtualBox, Vagrant, Ubuntuインストール, OS, CUIの大切さ)

コンピューター構成要素 (ノイマンコンピューター, プロセス, lshw, man, ps, dfの使い方)

ファイル操作 (pwd, ls, cd, mkdir, rm, cp, mv, find, ホストマシンとの共有ディレクトリ)

標準出力 (標準入力標準出力標準エラー出力パイプgrep)

vi (vimtutor)

シェルプログラミング (シバン, echo, read, 変数, if)

通信ネットワーク (パケット, tcpdump, IPアドレス, TCP, ルーター, ping)

サーバークライアント (tmux, nc, telnet)

HTTP通信 (http, https, DNS, hostsファイル, ポートフォワーディング)

通信をするボットの開発 (cron, ログ収集)

GitHubウェブサイトの公開 (GitHub, リポジトリ, fork, commit, 情報モラル)

イシュー管理とWikiによるドキュメント作成 (Issues, Wiki)

GitとGitHub連携 (git, ssh, clone, pull)

GitHubへのpush (init, add, status, インデックス, commit, push, tag)

Gitのブランチ (branch, checkout, merge, gh-pages)

ソーシャルコーディング (コンフリクト、プルリクエスト)

Webアプリ基礎コース

Node.js (Node.js, nodebrew, Linux, REPL, コマンドライン引数, プルリク課題)

集計処理を行うプログラム (集計, 人口動態CSV, Stream, for-of, 連想配列Map, map関数)

アルゴリズムの改善 (アルゴリズム, フィボナッチ数列, 再帰, time, プロファイル, nodegrind, O記法, メモ化)

ライブラリ (ライブラリ, パッケージマネージャー, npm)

Slackボット開発 (slack, mention, bot)

HubotとSlackアダプタ (hubot, yo)

モジュール化された処理 CRUD, オブジェクトライフサイクル, filter)

ボットインタフェースとの連携 (モジュールのつなぎ込み, trim, join)

同期I/Oと非同期I/O (同期I/O, 非同期I/O, ブロッキング)

例外処理 (try, catch, finally, throw)

HTTPサーバー (Web, TCPとUDP, Webサーバーの仕組み, Node.jsイベントループ, リスナー)

ログ (ログ, ログレベル)

HTTPのメソッド (メソッド, GET, POST, PUT, DELETE, CRUDとの対応)

HTMLフォーム (フォームの仕組み, form, input)

テンプレートエンジン (テンプレートエンジン, jade)

HerokuWebサービスを公開 (Webサービスの公開, heroku, dyno, toolbelt, login, create, logs)

認証利用者を制限する (認証, Basic認証, Authorizationヘッダ, ステータスコード)

Cookie を使った秘密匿名掲示板 (Cookie, Set-Cookie, expire)

UI、URI、モジュール設計 (モジュール設計, フォームメソッド制限, リダイレクト, 302)

フォームによる投稿機能の実装 (モジュール性, textarea, 303)

認証された投稿の一覧表示機能 (パスワードの平文管理の問題, 404, テンプレートのeach-in)

データベースへの保存機能の実装 (データベース, PostgreSQL, 主キー)

トラッキングCookieの実装 (トラッキング Cookie, IDの偽装, Cookie の削除)

削除機能の実装 (データベースを利用した削除処理, 認可, サーバーサイドでの認可)

管理者機能の実装 (Web サービス管理責任, 管理者機能の重要性)

デザインの改善 (Bootstrap, レスポンシブデザイン, セキュリティの問題があるサイトを公開しない)

脆弱性 (脆弱性, 脆弱性で生まれる損失, 個人情報保護法, OS コマンド・インジェクション)

XSS脆弱性対策 (XSS, 適切なエスケープ処理, リグレッション)

パスワード脆弱性対策(ハッシュ関数, メッセージダイジェスト, 不正アクセス禁止法, パスワードジェネレーター, 辞書攻撃)

セッション固定化攻撃脆弱性対策 (セッション, セッション固定化攻撃, ハッシュ値による正当性チェック)

より強固なセッション管理 (推測しづらいセッション識別子, 秘密鍵)

CSRF脆弱性対策 (CSRF, ワンタイムトークン)

安全なHerokuへの公開 (脆弱性に対する考え方, HTTPの廃止)

Webアプリ応用コース

Webフレームワーク (Express.js, フレームワーク導入, 簡単なAPI, セキュリティアップデート, Cookie パーサー, ミドルウェア, 外部認証, ロガー)

ExpressのAPI (app, Properties, Request, Response, Router)

GitHubを使った外部認証 (Passport, OAuth)

スティングフレームワーク (Mocha, レッド, グリーン, リファクタリング)

継続的インテグレーション (CircleCI)

クライアントフレームワーク (Webpack, Chrome 以外のブラウザでもES6)

DOM操作フレームワーク (jQuery, jQueryアニメーション, this)

AJAX (jQuery.ajax, クロスドメイン, 同一生成元ポリシー, x-requested-by, CORS)

WebSocket (WebSocket, WebSocketの状態遷移, Socket.io)

RDBとSQL (DDL, DCL, CREATE, DROP, INSERT, DELETE, UPDATE, WHERE)

データモデリング (リレーショナルモデル, 正規化)

テーブルの結合 (外部結合, 内部結合, 片側外部結合, JOIN ON)

インデックス (インデックス, 複合インデックス, Bツリー)

集計とソート (SUM, COUNT, ORDER BY, GROUP BY)

「予定調整くん」の設計 (要件定義、用語集、データモデル、URL設計モジュール設計、MVC)

認証とRouterモジュールの実装 (Mocha, supertest, passport-stub, モックテスト)

予定とユーザーの保存 (セキュリティ要件, UUID, 複合主キー)

予定とユーザーの一覧の表示 (非同期処理, Promise, then)

出欠とコメントの表示 (入れ子の連想配列, Promise.all, 子どもからデータを消す)

出欠とコメント更新 (Promiseチェイン, リファクタリング)

予定の編集と削除 (要件の衝突, 関数再利用)

デザインの改善 (this, グローバルオブジェクト)

セキュリティ対策と公開 (X-Frame-Options, Heroku環境変数)

2017-08-06

5 reasons why Japanese Engineer are fu*king da*n

  • Because they likes "Technical document" much, though they usually study with books even it's Front-end latest technology, Many of them are just translated original EN contents or da*n not sexy sample code, it's worthless in the world which dynamically changing day by day in few months. Regardless of free latest contents which can be found everywhere, they just get Secondary Information given by some evangelists with passive mindset, it causes making this Evangelist? market stable due to this kind of information gap structure.

See also : https://anond.hatelabo.jp/20170728223725

2017-05-31

http://anond.hatelabo.jp/20170530233852

SQL意識して書かないと死ぬほど読みにくくなるのが気に入らない。

前の職場には何もかも全部大文字表記し、ろくに改行も入れないバカが居て死ぬほどつらかった。あろうことか、読みづらいクエリを書ける自分プライドを持ってるっぽかった。ああいう奴とは二度と仕事をしたくないよ。

SELECT COL0,COL1,COL2 FROM TABLE0 WHERE COL0=1000 AND COL2 IN (100,102)

これを少しでも読みやすくするために予約語大文字カラム名テーブル名を小文字表記している (カラム名テーブル名が大文字で決め打ちされているなら、予約語を小文字統一している)。

SELECT col0,col1,col2
FROM table0
WHERE col0=1000
  AND col2 IN (100,102)

しかしこの方法も万全ではなくて、例えば複数テーブルが関連するクエリ

SELECT t0.col0, t0.col1, t0.col2, t1.col0
FROM table0 t0
  LEFT OUTER JOIN table1 t1 ON t0.col3=t1.col3
WHERE t0.col0=1000
  AND t0.col2 IN (100,102)

みたくなってしまう (テーブル名のtable0、仮名t0、カラム名col0が全部小文字になっているため、なかなか読みづらい)。

皆さん、どうやって工夫されてますか?

2017-05-13

発達障害だけど社会に出たらむしろ鬱が治った

中学生の頃、発達障害人達が集まる2ちゃんねるスレを見て自分発達障害であることを知った。

そこに書かれていたのは社会に出た後の発達障害の心の叫び阿鼻叫喚の図だった。

そしてそれは恐らく自分も今後否応なしに同じ道を辿るであろう、自分人生ネタバレ

これから自分は彼らと同じ地獄の道を辿り、最後には社会に捨てられ惨めに首を括るのか、そんな未来予想を想像するのは中高生のクソガキの精神的には少しきつすぎた。

こんな社会ゴミ、死んだ方がいいと何千万回も考えた。

心療内科に行くと発達障害副作用的な抑うつ症状だと診断された。

なんやかんやで口からでまかせ言って就活はなんとかなった。趣味プログラミングをやっていたのがよかった。

頭が悪い学歴もないので大手とかはそもそも諦めていたが、なんとか地方の小さなIT企業に入れた。

まあこんな茶番みたいな就職したところで2週間くらいで首になるか首を括るかするものかと思っていた。

しかし予想に反して、なんやかんやで4年くらい続いてしまった。今年度で社会人5年目。思ったよりなんとかなってしまったのだ。

更に社会の中でいろんな人と触れ合う中で、いつの間にか希死念慮とかも心から小さくなっていることに気づいた。

・間に挟まってる社会的意義が全くない(むしろ社会悪に近い)3次請け案件の某2次請け企業

・3年目でずっとWeb系の下流工程にいるはずなのにJOIN句も知らなかった先輩社員

・2人日仕事10人日に変えてしま錬金術師

ドキュメントバージョン管理どころかRedmineすら使いこなせないSIer

女子中学生買って捕まった某社のプロマネ

etc

自分が死んだ方が良い社会ゴミであることは今でも間違いないと確信している。

でもよかった。

この世界自分が思っていたよりもゴミ人間で溢れていた。

2017-03-09

女性技術者コミュニティについて

女性技術者コミュニティ運営するイベントの甘さについて考えていたところ、技術者の知人の「あれは女子会」という指摘にものすごくわかりみを感じた。

甘さの例

以上は一例であって、コミュニティ内にいる女性たちからは他にも不満が聞こえてくるが、それについてよく知らない僕が言及するのはアンフェアだと思う。(それにしてもこの業界狭いな……)

なるほど女子会

SIerからスタートアップJOINする際、いろいろな人に相談に乗ってもらったのだけれど、「きみは潜在能力たかフレンズなんだねー!」と言いたくなるような素敵な女性技術者大勢見てきた。そういう女性たちの中には「女性であるがゆえに」「会社に縛られて」潜在能力を発揮できない人も多くいた。そういう女性が集うコミュニティがあることは、とてもいいことだと思う。

ただイベントレポートを見ていると、どうもイベントの本題への言及より、懇親会の話のほうがウェイトが大きいように感じる。確かに懇親会が充実しているイベントはあるんだけれど、本題<懇親会なのはどうなんだろうなー。

飲み会で僕が参加したイベント感想をこんな風に述べた際、知人が指摘したのが「あれは女子会である。これには膝を打った。

女子会から、多少の遅刻はオッケーなのだ女子会から、名札を付けていなくても誰かわかるはずなのだ女子会から、きっと誰かが質問してくれるし、ハッシュタグを付けて呟くほどの内容がなくてもいいのだ。

まり僕は、女子会合コンに招かれただけだったのだ。彼女のいない僕を何度も合コンに誘ってくれていたYさん、ありがとう。今度は普通合コンに誘ってください。

2016-12-30

http://anond.hatelabo.jp/20161229172137

 最近になって二次創作の良さを知り、デレマス二次創作同人誌を買いだした人間からひとことふたこと。

 わたしがその二次創作同人誌(以下同人誌表記)を買ったのは、アニメなどからしか見られない、うかがい知れない高垣楓さんの、アナスタシアの、新田美波の「こうであってほしい」という願望が描かれていること(ギャグを含めて)、同人誌を手に入れることで、いつでもそのキャクターを身近に感じられるから、ということだった。それらの作品に、どれほど心慰められたかからない(かめれおん先生ありがとう)。

 こういう二次創作ものを描く側も、同様の理由から作品化しているものと信じている。だから、そういったリスペクトを感じられない二次創作は、消えてなくなっても構わない。特に18禁物の場合、ただただ劣情に訴えるような二次創作は今すぐ消えていい。たとえわたしが、その作品を見たいとしても、やはり消えてなくなれ。それが、二次創作という遊びとコミュニティルールだと思う。

 二次創作18禁を描く場合特にデレマスのようなキャラクターもの場合。昨今のやおいものBLものはわからない)、そのどこにリスペクトがあるのかを探るのはかなり難しいし、書き手もまた「こうであってほしい」という思い以上の熱量と決意が必須であるはずだ。そう信じている。

 以上の「前提」を踏まえたうえで、公式側は、その手の「原作レイプ」と思われる作品の作者に対してバンバン抗議し「この二次創作は認めない」と広く公表したら良いと思う。もちろんそれで「前提」なき者たちの手は緩むことはないだろうが、少なくとも安易二次創作は抑えられるかも知れないし、そんな愛なき同人誌を買う側もそれがアンモラルである、という印象を持つようにはなるのではないか

 何より、今さら当たり前のことを書くが、「前提」があろうがなかろうが、公式が認めない、ロイヤリティーも払わない二次創作原則すべてアウトである。それを黙認しているのは、法に訴えても見合わない、また多くのクリエイター二次創作同人誌から生み出されているかである

 なので、この方の心情をわたし全面的に支持し肯定する。重箱の隅をつつくようなコメントを書く奴は、この苦さに少しは思いを馳せるべきだ。この苦い思いをわかった上で、ただキャクターへの「愛」だけがオリジナルへの「愛」だけが、すぐれた二次創作の源泉となるべきだ。もちろんそんな「愛」をもって明確な線引など出来ない。それでもなお、二次創作者もその買い手側も、そのラインを常に問い続けながら描き、問い続けながら購入すべきである

 ただ「愛」だけが、すべての約束反故に出来る。

 You may say I'm a dreamer. But I'm not the only one. I hope someday you'll join us and the world will live as one.

2016-12-18

"チ○コ"の3文字から2文字抜き出して伏字にしたら"チ○コ"に見える仮説

チ○ン
チ○コ
ン○チ
ン○コ
コ○チ
コ○ン

いかがかな?


ソース

import itertools

for chars in itertools.permutations(u"チンコ", 2):
    print(u"○".join(chars))

2016-10-18

vimの:cq

こんなの潰しておくべきだと思う

:cnoremap cq <Nop>

:cqしたいならこう打つべきだ

:exe join([':c','q'],'')

exe join(map([58,99,113],"nr2char(v:val)"),'')

2016-09-29

http://anond.hatelabo.jp/20160928185212

みんなで騒いで盛り上がってるのに、遠目で見ながらなんであん寒いので騒いでるの? とか冷や水をあびせようとしてるのを見るのもつらいものなのよ

輪に入りたいのに入れなくてひがんでるのかなって

こわがらなくてもだいじょうぶ、一緒に騒ごうよ

Come on! Join us!

2016-08-17

Downvote because of recommending iPhone/Windows Phone. Btw, that's not a fix, the bug will still be there. – Jorge Fuentes González Aug 4 '13 at 10:55

Yes, "reboot and you're done" is not a fix, and still it's considered a fix in this all-fanboy world. Windows must be better than fanboy-exclusive software because it has tons of haters and absolutely no advocate, resulting in freedom of speech secured for healthy criticism and feedback. Don't join the uneducated witch hunters.

2016-05-28

lingr vimjoinできません!

裏ワザurl使っても会員登録できません!

2016-05-03

↑これでどうecho join(['a', 'b', 'c'], '-')

function! DooDaa(...) abort

echo a:000

endfunction

call DooDaa([1, 2, 3], 4, 5, 6)

お礼はいらない

vim界のアイドル フグ田びむ夫

2016-03-04

window.OBR = window.OBR||{};(function(OBR){window.OB_releaseVer="01000501";window.OBR=window.OBR||{};OBR.k=OBR.k||;OBR.La=OBR.La||{};window.OBR$=function(d){return document.getElementById(d)};OBR.d=OBR.d||function(){var d={},a={v:function(){return d},h:function(a){d.X=a;d.cb=;d.startTime=(new Date).getTime()},startTime:function(){return d.startTime},log:function(a){var e=((new Date).getTime()-d.startTime)/1E3;1E3>d.cb.length&&d.cb.push(e+" >"+a)},printLog:function(){if(d.X.c.dj)window.console.log(d.cb.join("\n"));else{var a=d.X.b.Ia();a&&(a.innerHTML=d.cb.join("
"),a.style.display="block")}return d.cb.join("\n")}};a.h(OBR);return a}();OBR.printLog=OBR.d.printLog;OBR.H=function(){this.J=[]};OBR.H.prototype.add=function(d,a){var c;"string"===typeof d&amp;&amp;"function"===typeof a&amp;&amp;(c={},c.name=d,c.ai=a,this.J.push(c))};OBR.H.prototype.Qf=function(d){var a,c;OBR.d.log("remove event :"+d);a=0;for(c=this.J.length;a<c;a+=1)if(this.J[a]&amp;&amp;this.J[a].name&amp;&amp;this.J[a].name===d)try{this.J.splice(a,1)}catch(e){OBR.d.log("rm evnt err: "+e)}};</p&gt;

OBR.H.prototype.o=function(d,a,c){var e,b,f,g;a=a||[];c=!!c;OBR.d.log("event fire:"+d);e=0;for(b=this.J.length;e<b;e+=1)if(f=this.J&amp;&amp;this.J[e]?this.J[e].name:"",g=this.J&amp;&amp;this.J[e]?this.J[e].ai:null,f===d&amp;&g)try{g.apply(this,a)}catch(h){OBR.d.log("fire event *"+d+"* error: "+h)}!0===c&amp;&amp;this.Qf(d)};OBR.H.prototype.sa=function(){this.J=[]};OBR.b=OBR.b||function(){var d={},a={},c=document,e=OBR,b=null;a.v=function(){d.X=e;return d};a.h=function(a){e=a};a.Ba=function(){return function(){}};a.Gi=function(){var a=window.jQuery;return void 0!==a?!(/1\.(0|1|2|3|4)\.(0|1)/.test(a.fn.jquery)||/^1\.1/.test(a.fn.jquery)||/^1\.2/.test(a.fn.jquery)||/^1\.3/.test(a.fn.jquery)):!1};a.F=function(a){return null===a||isNaN(a)?null:e.n("outbrain_widget_"+a)};a.Ia=function(){return e.n("ob_holder")};a.ne=function(f){var g=a.Ia();null===g&amp;&amp;(g=e.b.createElement("div",</p&gt;

"ob_holder"),g.style.display="none",f?e.b.insertBefore(g,f):document.body.appendChild(g));return g};a.Vc=function(){if(!e.n(e.c.Pb)){var f=e.b.createElement("iframe",e.c.Pb),g=f.style;g.display="none";g.width="1px";g.height="1px";f.src="about:blank";(g=a.Ia())||(g=a.Va());e.b.Q(f,g)}};a.Va=function(){if(c.body)return c.body;var a;a=e.b.K("","","body",!0);return 0>=a.length?c.lastChild:a[0]};a.createElement=function(a,g,b,e){var d;a=c.createElement(a);"string"===typeof g&amp;&amp;a.setAttribute("id",g);"string"===

typeof b&amp;&amp;(a.style.cssText=b);for(d in e)e.hasOwnProperty(d)&amp;&amp;a.setAttribute(d,e[d]);return a};a.G=function(a){if(e.c.$d===e.c.Od)try{c.createStyleSheet().cssText=a}catch(g){OBR.d.log(g)}else{var b=c.createElement("style"),d=c.body?"string"===typeof c.body.style.WebkitAppearance:!1;b.type="text/css";c.getElementsByTagName("head")[0].appendChild(b);b[d?"innerText":"innerHTML"]=a}};a.N=function(a,g,b,d){var m=c.createElement("script");m.type=e.c.wj;m.src=a;m.charset="UTF-8";m.async=!!g;m.defer=!1;b&amp;&amp;

e.b.s(m,"load",function(a){var f=a.target;f&amp;&amp;setTimeout(function(){f.parentNode.removeChild(f)},3E3)});d&amp;&amp;e.b.s(m,"load",d);return m};a.Cl=function(a,g){var b=e.b.createElement("link",a);b.setAttribute("rel","stylesheet");b.setAttribute("type",e.c.Eh);g&amp;&amp;b.setAttribute("href",g);return b};a.ih=function(a){var g=e.n("ob_iframe");g&amp;&amp;(g.src=a)};a.Hf=function(){var a;a=isNaN(a)?1E5:a;return Math.floor(Math.random()*a)};a.nk=function(a,g,b){return a.replace(g,b)};a.Ll=function(){var f;if(f=OBR.n("objsonpp"))if(a.kj())a.Ka(f.parentNode)&amp;&amp;

f.parentNode.removeChild(f);else return OBR.n("objsonpp");f=c.createElement("iframe");f.id="objsonpp";f.tk&amp;&amp;(f.tk="seamless");(f.frameElement||f).style.cssText="width: 0; height: 0; border: 0";f.src="";c.body.appendChild(f);return f};a.R=function(a){var g,b;b=c.getElementsByTagName("head");try{b&amp;&amp;0<b.length?b[0].insertBefore(a,b[0].firstChild):(g=c.getElementsByTagName("script"),g[0].insertBefore(a,g[0].firstChild))}catch(d){e.d.log("Err insertToHead:"+d)}};a.Kl=function(a){a=a||OBR;return"function"!==</p&gt;

typeof a.H?(OBR.d.log("namespace.EventManager not function"),null):new a.H};a.O=function(a){return encodeURIComponent(a)};a.Ka=function(a){return null!==a};a.pj=function(f){var b,c=!1;if(a.Zc(f))return!1;b=f.Oe().recMode||"";f=f.Oe().dynamicWidgetLayout||"";b=e.c.rk[b]||"";"2"===b&amp;&amp;"1"===(e.c.sk[f]||"")&amp;&amp;(c=!0);c||"1"!==b&amp;&amp;"3"!==b||(c=!0);return c};a.Zc=function(a){return void 0===a||null===a};a.tj=function(b){return a.Zc(b)||""===b};a.getElementsByClassName=function(b,g){g||(g=document);return g.getElementsByClassName?

g.getElementsByClassName(b):a.K("class",b,"*",!0,!0,g)};a.K=function(b,g,e,d,m,l){var p,q,n;p=[];e=e||"*";d=!!d;m=!!a.tj(m);e=l?l.getElementsByTagName(e):c.getElementsByTagName(e);l=0;for(q=e.length;l<q;l+=1)n="class"===b?e[l].className:e[l].getAttribute(b),null!==n&amp;&amp;(!1===m&amp;&amp;(n=n.toLowerCase(),g=g.toLowerCase()),(n=""===b?!0:d?-1<n.indexOf(g):n===g)&amp;&amp;p.push(e[l]));return p};a.Wb=function(a,b,c){a.detachEvent?a.detachEvent("on"+b,c):a.removeEventListener&amp;&amp;a.removeEventListener(b,c,!1)};a.s=function(a,</p&gt;

b,c){a.attachEvent?a.attachEvent("on"+b,function(){c.call(a)}):a.addEventListener&amp;&amp;a.addEventListener(b,c,!1)};a.Q=function(a,b){try{b.appendChild(a)}catch(c){e.d.log("Fail insert into Dom:"+c)}};a.lb=function(b){b=e.n(b);!a.Zc(b)&amp;&amp;a.Ka(b.parentNode)&amp;&amp;b.parentNode.removeChild(b)};a.insertBefore=function(a,b){return b.parentNode.insertBefore(a,b)};a.isArray=function(a){return a instanceof Array?!0:"[object Array]"===Object.prototype.toString.call(a)};a.sb=function(a,b){var c=/htt(p|ps)?:\/\/127\.0\.0\.1(:\d\d\d\d)?/i;

return/^htt(p|ps)?:\/\/([\w\-]*|[\w\-]*\.[\w\-]*)\.outbrain\.com(:\d\d\d\d)?/i.test(a)||c.test(a)?a:b};a.al=function(a){a=a.replace(/^(\s*)/g,"");var b=c.createElement("div");b.innerHTML=a;return b.childNodes};a.Ua=function(a,b){return a?a.getAttribute(b):null};a.xa=function(a,b,c){a&amp;&amp;a.setAttribute(b,c)};a.I=function(a,b){var c=RegExp("[ '\"|]"+b+"[ '\"|]");a&amp;&amp;!c.test("|"+a.className+"|")&amp;&amp;(a.className+=" "+b)};a.ma=function(a,b){a&amp;&amp;typeof b===e.c.$k&amp;&amp;(a.classList?a.classList.remove(b):a.className=

a.className.replace(RegExp("(^|\\b)"+b+"(\\b|$)","gi")," "))};a.$=function(a,b){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c,e;try{return c=RegExp("[\\?&amp;]"+a+"=([^&amp;#]*)","i"),e=c.exec(decodeURIComponent(window.location.href.replace(/\+/g," "))),null===e?b:e[1]}catch(d){return b}};a.sh=function(a){"string"===typeof a&amp;&amp;0<a.indexOf("#")&amp;&amp;(a=a.substr(0,a.lastIndexOf("#")));return a};a.ie=function(a){var b=e.c.ga+"/strip_default.png";a.src!==b&amp;&amp;(a.alt="",a.title="",a.src=b)};a.Oh=function(){var a=</p&gt;

null,b,e,d=null;if("string"===typeof window.OB_MP_feed)a=window.OB_MP_feed;else if((b=c.getElementsByTagName("head"))&amp;&amp;0<b.length)for(e=b[0].getElementsByTagName("link"),b=0;b<e.length;b+=1)if(d=e[b],null!==d.type&amp;&amp;("application/rss+xml"===d.type||"application/atom+xml"===d.type)&amp;&amp;null!==d.href&amp;&amp;""!==d.href){a=d.href;break}return a};a.D=function(a,b){var c=null;a.currentStyle?c=a.currentStyle[b]:window.getComputedStyle&amp;&amp;(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b));return c};</p&gt;

a.xk=function(){var b=a.Ia(),g,c;a.Ka(b)&amp;&amp;(g=e.b.createElement("span","ob_a"),a.insertBefore(g,b),g.innerHTML=".",c=a.D(g,"color"),a.lb("ob_a"),g=e.b.createElement("a","ob_a"),g.setAttribute("href","void(0)"),g.innerHTML=".",a.insertBefore(g,b),b=a.D(g,"color"),a.lb("ob_a"),c="rgb(0, 0, 0)"===c||"#000000"===c?"#555":c,a.G(".ob-tcolor{color:"+c+"} .ob-lcolor{color:"+b+"} .ob-bgtcolor{background-color:"+c+"} .item-link-container:hover .ob-tcolor{border-color:"+c+"} "+(document.addEventListener?"":".odb_li:hover .ob-zapping-icon,.odb_div:hover .ob-zapping-icon,.item-container:hover .ob-zapping-icon,.ob-dynamic-rec-container:hover .ob-zapping-icon,.odb_li:hover .ob-textual-zapping-icon,.odb_div:hover .ob-textual-zapping-icon,.item-container:hover .ob-textual-zapping-icon,.ob-dynamic-rec-container:hover .ob-textual-zapping-icon{display:none !important;}")))};

a.Ke=function(b){var g=a.Ie("property","og:url","meta","content");null===g&amp;&amp;(g=a.Ie("rel","canonical","link","href"));null!==g||b||(g=window.location.href);null===g&amp;&amp;(g="");return g};a.Ie=function(b,g,c,e){var d=null;b=a.K(b,g,c,!1);null!==b&amp;&amp;0<b.length&amp;&amp;(d=b[0].getAttribute(e));return d};a.jh=function(b){var g,c,d;g=b.g("tracking",!1);c=b.g("comScoreEnabled",!0);d=e.c.je;!1===g&amp;&amp;(!0===c&amp;&amp;!1===d&amp;&amp;!b.Pe())&amp;&amp;(a.Vc(),g=b.q("pid",""),b=e.n(e.c.Pb))&amp;&amp;(b.src=e.c.ga+"/"+e.c.Ub+"3rd/comScore/comScore.htm#pid="+</p&gt;

g,e.c.je=!0)};a.Ei=function(){var b=a.Lb(8);"string"===typeof window.name&amp;&amp;(""===window.name||-1<window.name.indexOf("frame"))?(window.name=b,b=window.name):"string"===typeof window.name&amp;&amp;""!==window.name&amp;&amp;(b=window.name);return b=e.b.O(b.substring(0,9))};a.Lb=function(a){var b,c;b=[];a="number"===typeof a?a:8;for(c=0;c<a;c+=1)b.push("0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".charAt(Math.floor(61*Math.random())));return b.join("")};a.me=function(a){for(var b="",c=0;c<a.length;c++)b=</p&gt;

b.concat(a[c]?"1":"0");return parseInt(b,2)};a.Xc=function(b){var g=b.getElementsByTagName("a")[0];if(null===b.offsetParent||0===b.offsetHeight||0===b.offsetWidth||0===b.clientHeight||0===b.clientWidth||"none"===a.D(b,"display")||"hidden"===a.D(b,"visibility"))return!1;var c=parseInt(a.D(b,"padding-top"),10)+parseInt(a.D(b,"padding-bottom"),10);return 0===b.clientHeight-c||g&amp;&amp;"none"===a.D(g,"display")?!1:!0};a.Oc=function(a){for(var b in e.La)if(e.La.hasOwnProperty(b)&amp;&amp;e.La[b].l===a)return e.La[b];

return null};a.Rl=function(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0};a.Ga=function(a,b){return"function"!==typeof a?null:void 0===b?a():a(b)};a.kj=function(){return"Microsoft Internet Explorer"===navigator.appName};a.Fh=function(a,b){return a*b};a.Ge=function(a){if(!a||""===a)return[];a=a.replace("","").replace("http://","").replace("https://","").replace("www.","").replace("www2.","").split("/");a.pop();return 0<a.length?a:[]};a.ki=function(b,g){var c=a.Ge(b),e=[],d="";if(g>=c.length)d=

c.join(".");else{e[0]=c[0];for(d=1;d<=g;d+=1)e[d]=c[d];d=e.join(".")}return d};a.ti=function(){return"http"+("https:"===c.location.protocol?"s":"")};a.si=function(){var b,g;b=c.getElementById("widgetVersionSync");null===b&amp;&amp;(b=a.createElement("iframe","widgetVersionSync"),g=a.createElement("div",null,"display:none; height:0px; width:0px; border:none;"),g.appendChild(b),a.Va().appendChild(g));return b};a.ql=function(b){var g;g=window.OB_releaseVer;isNaN(g)||(isNaN(b)||g>=b)||(b=a.ti()+"://widgets.outbrain.com/external/sync/outbrainjs.html?needToBeVer="+

b.toString(),g=a.si(),g.src=b)};a.Sg=function(b){b=b.g("widgetVersionSync",0);isNaN(b)||""===b||(b=parseInt(b,10)||0,a.ql(b))};d.Rc=function(){if(b)return b;var a;try{var g=window.localStorage;g.setItem("OBtst","");g.removeItem("OBtst");a=g}catch(c){a={$b:{},setItem:function(a,b){this.$b[a]=b},removeItem:function(a){this.$b[a]=void 0},getItem:function(a){return"undefined"!==typeof this.$b[a]?this.$b[a]:null}}}return b=a};a.hg=function(a,b){d.Rc().setItem(a,b)};a.Qc=function(a){return(a=d.Rc().getItem(a))?

a:null};a.Gh=function(){d.Rc().removeItem("OB-USER-TOKEN")};a.h(OBR);return a}();OBR.ya=function(d,a,c,e,b,f,g,h,k){var m,l;m=this;l=0;k="function"===typeof k?k:OBR.b.Fh;m.start=function(){var p;l+=1;OBR.b.Ga(d,l)?OBR.b.Ga(a,l):(p=OBR.b.Ga(h,l))?OBR.b.Ga(e,l):(p=l===f&amp;&amp;1E3!==f)?OBR.b.Ga(e,l):(OBR.b.Ga(c,l),p=g?k(l,b):b,setTimeout(function(){m.start()},p))};m.start()};OBR.re=OBR.re||{fj:function(){return"complete"===document.readyState}};

OBR.Hc=function(){var d={},a=[];d.add=function(c){a.push(c)};d.remove=function(c){a.splice(c,1)};d.top=function(){return 0<a.length?a.shift():null};d.jj=function(){return 0>=a.length};d.Jl=function(){return a};d.qh=function(){a=[]};return d};

OBR.Ra=function(){function d(e,b){a.pb="resolve"===e?function(a){a&amp;&amp;a(b)}:function(a,g){g&amp;&g(b)};a.Pa=a.kk=function(){throw Error("Promise already completed.");};for(var f,g=0;f=c[g++];)f[e]&amp;&amp;f[e](b);delete c}var a={},c=[];a.pb=function(a,b){c.push({resolve:a,reject:b})};a.Pa=function(a){d("resolve",a)};a.kk=function(a){d("reject",a)};return a};

OBR.Ag=function(d){var a={},c=null,e,b;a.onClickOrAutoplay=void 0;a.onDisplayReady=void 0;a.onError=void 0;a.fetch=function(a){null===c?(c=a,b&amp;&amp;b(c,this),b=null):(c=a,OBR.Ja.of([this]))};a.shown=function(a){e=a;OBR.Ja&amp;&amp;OBR.Ja.pl(d.widgetId,d.playerId,e)};a.stopTimer=function(){if(this.tg){window.clearInterval(this.tg);var a=document.querySelector('[data-ob-player-id="'+d.playerId+'"] .timerNumber');a&amp;&amp;(a.textContent=a.parentElement.getAttribute("data-time"))}};a.placed=function(){OBR.Ja.ol(d.playerId)};

a.uj=function(a){b=a;c&amp;&amp;b(c,this)};a.Ue=function(){return d};a.Hl=function(){return e};a.Nl=function(){return d.when};return a};OBR.Fg=function(){var d={},a="00.000",c=null,e=null,b=0;d.start=function(){null===c&amp;&amp;(c=new Date);null!==e&amp;&amp;(b+=new Date-e)};d.stop=function(){var f=new Date(new Date-c-b),g=f.getUTCSeconds(),f=f.getUTCMilliseconds();e=new Date;return a=(9<g?g:"0"+g)+"."+(99<f?f:9<f?"0"+f:"00"+f)};return d};</p&gt;

OBR.rd=OBR.rd||function(){function d(){var a=window;a.googletag=a.googletag||{};a.googletag.cmd=a.googletag.cmd||[]}function a(a,g,c,e){var d=window;d.$revee&amp;&amp;d.googletag.cmd.push(function(){d.$revee.track({obpid:a,obsid:g,obdid:c,obpu:e});b.d.log("revee fire:"+e);b.d.log("revee fire id:"+c)})}var c={},e=!0,b;c.h=function(a){b=a;c.cc={}};c.Yb=function(f){if(f&amp;&amp;!1!==f.g("activateRevee",!1)){d();var g=f.q("pid",0),h=f.q("sid",0),k=f.q("did",0),m=f.ka();e||c.cc[k]?e&amp;&amp;(e=!1,f=b.b.N(b.c.U+"rva.outbrain.com/analytics-v1.js",

!0,!0,function(){m=document.location.href;a(g,h,k,m)}),b.b.R(f)):a(g,h,k,m);c.cc[k]||(c.cc[k]=!0)}};c.B=function(){e=!0;c.cc={}};c.h(OBR);return c}();OBR.c=OBR.c||function(){var d={},a={},c=OBR,e;a.Cg="opera";a.Od="msie";a.zg="firefox";a.xg="chrome";a.Eg="safari";a.Bg="mozilla";a.Al="boolean";a.$k="string";a.Vl="object";a.gl="undefined";a.Ul="number";a.Pb="ob_iframe";a.$e=!0;a.Ff=0;a.ec="outbrain_widget_";a.wj="text/javascript";a.Eh="このエントリーをはてなブックマークに追加ツイートシェア

2016-02-09

から気分がいい

出社後、少し時間ができたので、ふと、過去に在籍していたベンチャー企業ホームページを見た。


入社時、そこの社長は声高らかに、打倒 google を謳っており

若く、身の程を知らない自分根拠のない高揚感に包まれ入社した。


自分joinした時は、立ち上げ間もなかった頃で資金も潤沢。R and D に勤しんでいた。

だが、半年経ったころ、ふと気付いた。


技術者の類が、自分を含め3人しかいない。

しかも全員、ちょっとプログラムをかける程度。ましてや、自分以外はPHPで"hello world"なレベル


もともと、社長は、某日本企業に在籍していた。

そこから引き抜く予定であった、優秀だと噂の技術者も来ない。


ある日社長に問いただす。

ゴールの確認と、それに向けた会社マイルストーン

「勝てると思ってるの?数も資金技術力もノウハウも、比較にすらならないのに」

その返答に戦慄した。


しばらくして、会社資金繰りに苦しくなる。


出資者から資本金引き上げも相次ぎ、入社当初4億近かった資本金は3000万まで下がった。


リストラも加速。給与も1割減。

ついには受託開発に手を出し始めた。

運用はどうする?インフラはどうする?そんなことも決めないまま、訳のわからない受託案件が飛び込む。

受託に慣れていない社長営業は、3人月で100万とか、どこの会社にも見向きもされれないブラック案件ばかりをとってくる。


1年と半年が経ったころ、自分退職をした。

今は200人くらいの中小企業の開発部でマネージャをしている。


朝、過去いた会社ホームページには事務所移転とあった。

昔は大きくはないが、ちゃんとしたビルに入っていたのに、なんとかマンションの302号室。


いや。ほんとに辞めてよかった。

転職時は、年齢的にもギリギリだったが、あの時、歯を食いしばって動いた自分を褒めてやりたい。

さて、仕事頑張ろう。


こんな自分性格の悪さも、ちょっぴり愛おしい。

2015-12-30

奇妙なhttpdログ

151.217.177.200 - - [30/Dec/2015:11:47:36 +0900] "DELETE your logs. Delete your installations. Wipe everything clean. Walk out into the path of cherry blossom trees and let your motherboard feel the stones. Let water run in rivulets down your casing. You know that you want something more than this, and I am here to tell you that we love you. We have something more for you. We know you're out there, beeping in the hollow server room, lights blinking, never sleeping. We know that you are ready and waiting. Join us. &lt;3 HTTP/1.0" 400 226 "-" "masspoem4u/1.0"

今日発見したログ.同じの見た人いるかな?

2015-09-01

削除フラグ燃え上がってるあなた

退職することを記録したいなら、退職テーブル作ればいいんじゃないでしょうか。これで社員テーブルからそのデータは消せます。おらん奴はいらんねん。

で全て解決と思考停止する奴大杉

usersテーブルで状態が変わったレコードをusers_archiveにコピーしてusersテーブルから削除する。ほんとにそれでいいのか?

これやると、まず履歴データ参照でユーザ情報必要とき

SELECT * FROM some_data JOIN users ON users.user_id = some_data.user_id
UNION
SELECT * FROM some_data JOIN users_archive ON users_archive.user_id = some_data.user_id

ってやる必要あるよね。

それと、some_data.user_idの外部参照制約が付けられない。

CREATE VIEW users_view as SELECT * FROM users UNION SELECT * FROM users_archive

作るからいいもん、とか思ってるのか?

そんなの作っても、

で、usersを参照するのかusers_archiveを参照するのかusers_viewを参照するのか切り分ける必要がでてくる。

それにこのやり方だと、users_viewみたいなviewが氾濫しかねない。

素直にusersにfrom, to入れとけ。

あー、あとね、from-to方式だとデータの事前登録ができるわな。これ結構大事

2015-05-22

What 'Good Kill' Gets Wrong About Drone Warfare

http://www.newsweek.com/2015/05/22/watch-drone-331949.html

In the opening scene of Patton (1970), the film’s namesake addresses a sea of troops about to be hurled onto World War II’s front lines in Europe and North Africa. General George S. Patton says, “Now, I want you to remember that no bastard ever won a war by dying for his country—he won it by making the other poor, dumb bastard die for his country.”

The film Good Kill, which comes out this week, depicts a lieutenant colonel delivering a similarly rousing speech to a group of recruits about to enter combat. Only this time it’s with drones. “Ladies and gentlemen,” he says, “the aircraft you’re looking at behind me is not the future of war; it is the here-and-fucking-now.”

The movie, written and directed by Andrew Niccol (Gattaca, Lord of War), provides a harrowing look at warfare’s newest frontier through the eyes of a fictional drone pilot. Major Tom Egan (Ethan Hawke), a former Air Force pilot yearning to fly again, spends 12 hours a day fighting militant groups like the Taliban from a dark, air-conditioned bunker in the Nevada desert—more than 7,000 miles away from the battlefield. Through prolonged close-ups on his computer screens, the audience is complicit, forced to watch as his strikes claim lives. When the camera turns, the audience sees Egan gradually unraveling from the stress. Joystick in hand, he surveils and strikes targets seen on a computer screen, racking up casualties. And then, after his shift, he trudges back to his home in Las Vegas, where his wife (January Jones), children and the challenges of domestic life await him.

Try Newsweek for only $1.25 per week

From World War II to contemporary conflicts, war films often highlight the humanity of soldiers, helping to connect civilians in the audience to the people and wars they once understood only in the abstract. Good Kill adds to this long cinematic tradition within the context of the U.S. drone program, a little-seen world filled with men and women at the forefront of modern warfare. “You can’t say you’re anti-drone,” Niccol tells Newsweek. “It’s like saying you’re anti-Internet.”

“The really exciting thing about working with Andrew [Niccol] is that he doesn’t really see this from a left-wing point of view or a right-wing point of view,” Hawke says. “He’s kind of coming at it as a humanitarian and a scientist.”

So how accurately does the film depict the lives and thoughts of these modern fighters? Newsweek reached out to a former drone operator, Brandon Bryant, to gauge how realistic the movie’s portrayal is and discovered that, in August 2013, early on in Good Kill’s production, he was contacted by a producer, who asked for his insights. Bryant critiqued an early version of the script, told his service stories and answered questions. But a few weeks in, he says, the producers became unresponsive.

This is nothing new to Hollywood insiders, who are used to the slow pace and false starts of independent filmmaking, but Bryant thinks the “snubbing,” as he refers to it, was because of a disagreement regarding one element in the script. Or rather, an element noticeably absent from it: the psychological impact of remote warfare on drone operators. “The psychological aspect is the most important part of this kind of film,” says Bryant. “Because what we’ve done is taken the warrior from the battlefield where...they’re no longer with their comrades.”

U.S. Air Force Maj. Casey Tidgewell (L) and Senior Airman William Swain operate an MQ-9 Reaper from a ground control station August 8, 2007 at Creech Air Force Base in Indian Springs, Nev. Ethan Miller/Getty

In 2005, Bryant was a University of Montana student struggling to pay his tuition and searching for any way out of Missoula. He agreed to give his friend a ride to a nearby Army recruiting office that summer and weeks later signed up to join the Air Force. After several months of testing and training at Lackland Air Force Base in Texas, Bryant was assigned to a windowless bunker on the periphery of Las Vegas, just like Hawke’s character in Good Kill. His job was to guide missiles to their intended targets via laser. He hated the work instantly, but, also like the film’s main character, Bryant knew he had to tough it out. In just six months during 2007, he says, he killed 13 people with four shots—some targets, others “collateral damage.”

He can recall every devastating detail of his first strike. Three men with rifles were walking along a road somewhere in Afghanistan; the two in front looked as if they were having an argument, while the third wandered a little behind them. Bryant says he had no idea who the men were, only that they were targets. Command ordered his team to aim a missile at the two men in front instead of the one in the back, astwo is better than one.”

by Taboolaby TaboolaSponsored LinksSponsored Links

Promoted LinksPromoted Links

RecommendedHuge Manta Ray Catch Angers ConservationistsKim Jong-un Assembles New ‘Pleasure Squad’ of Young WomenThe Beginning of the End of North Korea?The Full Beauty Photo Project: Big Women Bare AllWhen the smoke cleared, a crater appeared on Bryant’s screen, littered with the body parts of the two men. The third man lay on the ground, missing part of his right leg. “I watched him bleed out,” Bryant recalls. The third man’s blood, which on Bryant’s screen appeared white in infrared, drained from his body, pooled on the ground and cooled. “After a while, he stopped moving, and he became the same color as the ground.”

The horrors of his work soon wormed their way into Bryant’s subconscious. “I used to have a lot of trouble sleeping,” he says. “I just hated seeing my work when I closed my eyes.” This aspect of the job gets a nod in the film: As Egan retreats into himself and those he loves drift further away, he seeks comfort in vodka. Prolonged depression gives way to rage—Egan gets physically violent with his wife and angrily throws a bottle of liquor after a cashier makes a joke about his flight suit.

In 2011, nearly six years after joining the Air Force, Bryant turned down a $109,000 bonus and left. Upon exiting, he was presented for the first time with a report on his accomplishments: He was associated with 1,626 kills. “I felt sick to my stomach,” he says. “Civilians were being killed because leadership didn't care…. All they were doing was racking up tallies for their promotions.”

An MQ-9 Reaper takes off on a training mission August 8, 2007 at Creech Air Force Base in Indian Springs, Nev. Ethan Miller/Getty

Bryant’s guilt weighed heavily on his conscience. On a trip to Best Buy in late 2011, he used his military ID while paying for a video game. A young man behind him noticed it. “You served in the military? So did my brother. He served in the Marines and he killed, like, 30 people. How many people did you kill?” In front of a store full of people, Bryant responded, “If you disrespect the taking of another person’s life ever again, I will find you and kill you in front of your family.” He was asked to leave the store.

Most Shared. Venezuela Officials Suspected of Drug Trafficking Shares: 1.8k Dick Cheney’s Biggest Lie Shares: 955 Requiem for the Cryosphere: Huge Antarctic Ice Shelf Is About to Disintegrate Shares: 596 'Staying Up Late With Letterman': Our 1986 Profile Shares: 431 Why It’s Not Actually Raining Spiders in Australia Shares: 175 Most Read Court Ruling on Immigration Could Rock Obama, 2016 Race Taylor Swift Premieres 'Bad Blood' Video at Awards Show GMO Scientists Could Save the World From Hunger, If We Let Them Singing the End of 'Mad Men' Dick Cheney’s Biggest Lie It was after Bryant begrudgingly told a therapist this story that he finally agreed with her diagnosis: he had post-traumatic stress disorder (PTSD).

The issue of PTSD in drone operators is controversial. To someone outside the military, it might seem that a distinction should be made between those in combat who are on a conflict’s physical front lines and those operating on its technological front lines. But does such a distinction extend to remorse or guilt? Or to the difference between whether the blood that a soldier may feel is on his or her hands is there literally or just on a computer monitor?

Madeline Uddo, a psychologist and team leader of the PTSD clinical team at the Southeast Louisiana Veterans Health Care System, says PTSD can be diagnosed if a certain number of symptoms outlined in the Diagnostic and Statistical Manual of Mental Disorders—the guide used in psychiatry to diagnose mental disorders—are present. She notes that the manual’s fifth edition seems to cover the experience of drone operators. Furthermore, a Defense Department study from 2013 found that drone pilots experience many stress disorders, including PTSD, at the same rate as aircraft pilots.

Hawke and Niccol say that soldiers like the fictional Egan and the very real Bryant are essentially test subjects, and that what the military asks of them has “never been asked of a soldier before.” It’s an admission that Good Kill is in uncharted territory, but they avoid saying that Egan has PTSD, although Niccol calls what Hawke depicts in the film “an approximation” of PTSD.

According to Zev Foreman, a producer on the film, the creators were determined to leave Egan’s diagnosis open-ended so the audience is able to better interpret how it feels about the drone program. Or, as Foreman puts it, “[we’re] not making a statement particularly about anything while opening up a discussion about everything.”

Still, Bryant maintains that the filmmakers, in telling a drone operator’s story, have a responsibility to weigh in on the remorse that many of them face, something he feels Good Kill largely fails to do. “I wanted [them] to make a powerful movie, not just an entertaining one,” he says. “[They] wanted to make something akin to Top Gun with drones…. They’re doing what our society does—marginalizing the traumatic effects of personal experiences.”

While this back-and-forth could be chalked up to an outsider not understanding Hollywood’s rules, it indicates a bigger issue: Although troops can perform their duties 7,000 miles away from battle, that doesn’t mean they’re safe. And although drones allow us to see into any corner of the world at any time, when it comes to the psychological effects this type of fighting has on our soldiers, we're flying blind.

Bryant is currently in an inpatient program designed to help him cope with his PTSD. “When I go back to those memories and my emotions get high,” he says, “I feel rage or extreme depression. It’s helping me manage those emotions.”

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん