浦山ダムの勧め

Introduction 秩父の浦山ダムがすごかったのでみんな行こうっていう話。 良いところ でかい。重力式ダムは分かりやすくデカい上に、浦山ダムの高さは重力式ダムでは国内2位。とにかくデカいので圧倒されるといいと思う。資料館もあるよ。近い。首都圏から電…

Scala入門以前 2015/04版

Scala入門したいけどどこから手を付けていいか分からない人向けの「まず何に手をつけるべきか」集みたいなもの。 ScalaでWebframeworkいじりたい Scalaだと特に理由が無い限りPlayframeworkを使う人が多いので、いきなりそこから手を出せば良いのでは。不安…

FullHD超えのモニターを使うためのTips 2015/04

はじめに 最近会社で4K(3840x2560) + 2560x1440という贅沢なモニター環境を構築したので、苦労した点のメモを兼ねてまとめておく。2015年4月現在において、ノートPCやタブレットだと、探せばそこそこFullHD(1920x1080)オーバーの環境が手に入る。MBP Retina…

Play2.3(Scala)で、sbtだけでPlay環境を構築する

更新 5/12 バージョン番号更新しました はじめに Playは使いたいけどActivatorとか落とすのデカいしだるい!そんな貴方のための記事http://qiita.com/erukiti/items/0decc5fe8bf2c61d3b1eがPlay2.2までにしか対応してなかったので書いてみた。割と変わってる…

USB充電速度の計測

はじめに 昔からスマホの充電速度には違和感があって、具体的には2A出力のUSB充電器を買って試してみても、あんま早く感じない、というのである。一方でApple製品はどういう訳だか異常に充電速度が早く感じる。とまあ良く分からんなら計測してみればいいとい…

java.sql.Timestampのequalsが規約を満たしてない

事の発端 とある社内ライブラリを修正していたら、java.util.Date同士の比較で、getTimeを呼び出さないとtrueにならなくてエラー、というコードを発見した。こんな感じ date1.getTime == date2.getTime // => true date1 == date2 // => false Scalaの==はJa…

Scalaのmatch caseが怖いと思ったら怖くなかった話

おさらい Scalaのmatch case式がある。他の言語で言うところのswitch caseみたいな立ち位置だが、実際には比較にならないほど強力である。 def f(n: Int): String = n match { case 1 => "いち" case 2 => "に" case _ => "1と2以外" // default値 } 普通の…

応急的にYosemiteでCoreutilsを使う

Mac

はじめに YosemiteにアプデするとHomebrewのCoreutilsが使えなくなる問題があって、brew link coreutilsでシンボリックリンクが生成されないのが根本的な問題っぽいんだけど、修正待ってられないので応急処置を施す。 やりかた 実行ファイルが/usr/local/Cel…

Play Tips

はじめに Play使ってて困ったことと解決方法纏めてみた。 カンマ区切りしたい JavaのString.formatの書式で、%,dとかすると、数値にカンマ付けられる。ScalaのString Interpolationを使えばこんな風に。 f"${num}%,d" Play Templateでもこんな風に @{f"${num…

エロゲ回想シーンのスクショを自動で取る

はじめに 30億のデバイスで動くJava(とScala)でエロゲ回想シーンの自動スクショを取るツールを作ってみた。 要件 とりあえず必要なのは、 WindowのタイトルからWindowの範囲を取得する プログラム側から自動でクリックする Windowをアクティブにする スク…

チョットハヤイLongMapを計測してみる

Scaladoc調べてたらLongMapとかいうのを発見した。2.7からimmutableなLongMapが、2.11でmutableなものが実装されている。Scaladocによると「Longに特化したHashMapでHashMapよりはやい」とのことなので軽くテストしてみた。 import scala.collection.immutab…

BitBucketでpull requestのcommitをローカルで試す

Git

最近会社でBitBucketを使うことが多いのだけど、色々分からん操作があって、しかもググってもGitHubほどすぐ分からなかったりする。今回はBitBucketのpull requestをローカルで試したいときにどうするかという話。実はpull requestのURLでpullするだけだった…

JSONログのUNIX Timeを読みやすくする

はじめに JSONでログためてると、 {"time": 1408715718, ...} {"time": 1409718175, ...} ...みたいなデータを人間が見えるようにしたいとかいう要望は結構あると思いますが、そんなときにシェル1行で見えるようにしたメモ コマンド cat orig.txt | jq '.tim…

add-apt-repositoryしようとしたら困った話

add-apt-repositoryとは ぼくもちゃんと分かっている訳ではないけど、aptに野良リポジトリの登録を簡単にする支援ツールみたいな奴。MariaDBなんかは公式で用意しているのでhttps://downloads.mariadb.org/mariadb/repositories/#mirror=yamagata-university…

MyFleetGirlsにおけるブラウザのProxy設定

追記 実はこのProxy設定大分古くなってて、今はPACファイルでできるようになりました。こっちの方が簡単なので今後はPACファイルでの設定を推奨します。http://myfleet.ponkotuy.com/entire/aboutただPACファイルでは駄目な人とかもいると思うので一応残して…

艦これ公開ツールMyFleetGirlsをリリースしました

概要 艦これやってて「艦これの進捗他人にサクッと見せられたら便利だなー」と思ってMyFleetGirlsというサーバと艦これProxyツールを作ってみました。Proxyツールで艦これのデータを見て、公開しているサーバにデータを送ると、他の人・自分が艦これの進捗を…

BulkInsertがしたい Powered By ScalikeJDBC

SQL界隈ではBulkInsertはあまり一般的ではないようだ。MongoDBからDB界に入った人間からすると、BulkInsertについて 「えっ、複数回insertすれば良くね」 「Transactionの話?」 「そういう特殊な処理は自前で何とかしてくださいw」 とか言われるともにょる…

数当てゲーム(イージスコードのアレ)の戦略

はじめに イージスコードの数当てゲームやってて、これの最適戦略どうすればいいんだろう、と思って、色々な戦略を考案して試してみた。 イージスコードの軽い説明 イージスコードは所謂ソシャゲなのだが、戦闘システムが数当てになってる。数当ては、 0から…

hotpepper4sを作ってみた(Scala AC 23日目)

はじめに 私は「ぽんこつまっぷ」という、自分で使う為の地図作っているのだがhttp://ponkotuy.com/maps/食べログAPIが優秀と聞いて、こいつに使えないかなー、折角だし試そう、と思ったのだが、食べログAPIは「新規受け付けを終了しました」だそうで…。色々…

Ubuntu使いがMintを試す(Mint AC 21日目)

はじめに いつもはXubuntuを使ってるぽんこつさんだけど、Mintに移行した場合どんなもんやろ、ってのを確認したかったのと、あとほた氏がしんどそうだったので、ちょろっと書いてみることに。 使用したMint いつもXFCEなので今回もXFCE版Mint15(64bit)で。…

Super Cow Powers(ディストリAdvent Calendar 12日目)

はじめに 最近GentooとかArchとか流行りだし、パッケージが非常に充実しているのだけど、UbuntuとDebianのパッケージだって負けてないぜ! 何てったってSuper Cow Powerだしな!(aptitude使いの皆様ごめんなさい)っていうところを役に立たなそうなパッケー…

Scalaで何故か型が推論できないパターン

はじめに ProjectEulerやってたら何故か型推論できなかったパターンを見つけたのでメモ。詳しい人理由教えて下さい…。 簡略化したコード val xss: IndexedSeq[Array[Int]] = hoge() xss.reverse.reduce { case (xs, ys) => // reduce以下の関数でThe argumen…

Twitterのアイコン遍歴

はじめに そろそろTwitter始めて4年とかになるんですよね。早いですねぇ。で、さっきアイコンをTwitterの妹四丸(@littlestone71)に書いてもらったのだが、意外と最近フォローした人は前のアイコンしらないんじゃないかと思って纏めてみることに。 初代 Civク…

要らないもの引き取り手募集中(処分済)

近況2 引越し先が春日の辺りになりました。当初予定と大分離れてしまったのは契約失敗というミスをしたためです。ただ部屋のレベルはかなりグレードアップしたのでどっこいですね。家賃も少々上がりましたけど。あと以下の引き取り手募集の物は引き取られた…

コンシューマゲーム機がゲームに向いていない理由

セーブは何の為にあるのか ゲームをセーブする理由は、私が考えるに3つある。 電源切れなどのハードウェアの問題や、バグなどのソフトウェアの問題に対応する為のセーブ ゲーム内で取り返しの付かないことをした時にリセットする為のセーブ ゲーム終了時にハ…

Scalaのmutable.HashMapとOpenHashMapの違い

はじめに Scalaの標準ライブラリを漁っていたら、OpenHashMapなるものを見つけたのでScalaのソースコード読んでみた。結論から言うとOpenHashMapってOpenAddressのHashMapなんだよーっていう話。 前提知識 Scalaの場合、実はimmutable.HashMapとmutable.Hash…

Apacheのmod_proxyにハマった件

問題 自鯖で公開しているhttp://ponkotuy.com/maps/という地図のサービスがあるのだが、こいつが最後の/を外すと、ページ内の相対リンクの解決に失敗して死ぬ問題が割と長い間未解決で残っていた。構造としては、まずApacheがリクエストを受け取って、mod_pr…

イケてなさすぎるjQueryの話

バグの内容 CoffeeScriptで $.getJSON url, (data) -> console.log(data)と書いても何も起こらない(logが出ない)というバグ。 原因 古い、間違ったJSONファイルをブラウザがキャッシュしており、それをParseしようとして失敗していた。 悪者 標準でParse E…

理想と現実のStyle

ぽんこつさんの理想のStyle class Hoge: def fuga: if True: exec() ぽんこつさんの現実のStyle class Hoge { def main(args: Array[String]) { if(args.isEmpty) exec() } // <-この意味の無い行嫌い } これきらい class Hoge { // <- 更に増えた意味の無い…

Scalaが遅かったけど原因が分かった件

Project Eulerの問題44http://projecteuler.net/problem=44これを解こうとして、以下のようなコードを書いたhttps://gist.github.com/ponkotuy/5791300のだが、Scala版が遅くて困っている件。どれぐらいかというと、HaswellのCPUで、Dは秒も掛かってないが、…