Skip to content

Instantly share code, notes, and snippets.

View satosystems's full-sized avatar

Satoshi Ogata satosystems

View GitHub Profile
import Data.Either (either)
import Data.Map.Lazy (fromList)
import Graphics.HsExif (getOrientation, parseFileExif)
file :: FilePath
file = "tools/4f517b31-caea-4ade-9cc5-069d6c9970dd.jpeg"
main :: IO ()
main = do
eexif <- parseFileExif file
@satosystems
satosystems / file0.txt
Last active February 19, 2016 18:51
さくらのレンタルサーバに ImageMagick をインストールする方法 ref: http://qiita.com/satosystems/items/b14f8a5b6b23b1f25acb
$ mkdir ~/works
$ cd ~/works
$ wget -c http://www.imagemagick.org/download/ImageMagick.tar.gz
$ tar xf ImageMagick.tar.gz
$ cd ImageMagick-6.9.3-4/
$ ./configure --prefix=$HOME/usr --disable-openmp --disable-opencl
$ make
$ make install
$ echo "export PATH=\$HOME/usr/bin:\$PATH" >> ~/.bash_profile
$ echo "export PKG_CONFIG_PATH=\$HOME/usr/lib/pkgconfig" >> ~/.bash_profile
import Control.Monad.IO.Class (liftIO)
import Control.Monad.Trans.Resource (runResourceT)
import qualified Data.ByteString.Lazy as LBI
import Data.Default (def)
import Data.Either (either)
import Graphics.ThumbnailPlus ( CreatedThumbnails(..)
, createThumbnails
, Configuration(..)
, Size(..)
, Thumbnail(..)
@satosystems
satosystems / Gmail.hs
Created January 15, 2016 19:26
Network.Mail.Client.Gmail でのメール送信方法 ref: http://qiita.com/satosystems/items/c6c57d6d3b813d3dcb23
{-# LANGUAGE OverloadedStrings #-}
import Network.Mail.Client.Gmail
import Network.Mail.Mime
main :: IO ()
main = sendGmail
"foo@gmail.com" -- username
"password" -- password
(Address Nothing "from@example.com") -- from
@satosystems
satosystems / complex.hs
Last active September 11, 2019 05:11
Network.Mail.Mime でのメール送信方法 ref: https://qiita.com/satosystems/items/43ad35db2a289c15c998
{-# LANGUAGE OverloadedStrings #-}
import Network.Mail.Mime
main :: IO ()
main = renderSendMail mail'
where
from = Address Nothing "from@example.com"
mail = addPart [plainPart "本文"] $ emptyMail from
mail' = mail { mailHeaders = [ ("to", "to1@example.com, to2@example.com")
@satosystems
satosystems / file0.html
Created December 31, 2015 16:04
Bootstrap でスマートフォンサイトの幅が少しだけ広くなってしまう現象 ref: http://qiita.com/satosystems/items/9a9ef06b1f72e2d1b3b9
<div class="container">
<div class="row">
<form action="#" class="form-horizontal">
<div class="form-group container"><!-- ここが問題 -->
<label for="input-name" class="col-sm-2 control-label">おなまえ</label>
<div class="col-xs-12 col-sm-8">
<input type="text" class="form-control" id="input-name" placeholder="おなまえ" maxlength="80" required="required">
</div>
</div>
@satosystems
satosystems / file0.txt
Last active October 9, 2018 02:02
さくらのレンタルサーバ スタンダードに Haskell 環境を構築する手順 ref: https://qiita.com/satosystems/items/22db821b2f9e447feed3
alias cabal='TMPDIR=~/.tmp LANG=en_US.UTF-8 cabal'
export PATH=$HOME/usr/bin:$PATH
export PATH=$HOME/.cabal/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/rts-1.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/ghc-prim-0.3.1.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/integer-gmp-0.5.1.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/base-4.7.0.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/filepath-1.3.0.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/array-0.5.0.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${HOME}/usr/lib/ghc-7.8.4/deepseq-1.3.0.2
@satosystems
satosystems / file0.txt
Created November 22, 2015 02:46
Android Studio 1.5 で Gradle sync failed が発生する場合の対処法 ref: http://qiita.com/satosystems/items/8ec76cd9d5d1cc014c21
Gradle sync failed: /Applications/Android Studio.app/Contents/gradle/gradle-2.4/lib/plugins/gradle-diagnostics-2.4.jar (No such file or directory)
@satosystems
satosystems / file0.txt
Last active November 10, 2015 01:05
node.js で使えるテンプレートエンジン ref: http://qiita.com/satosystems/items/cf7b748c0f95c95aa48b
<% if (user) { %>
<h2><%= user.name %></h2>
<% } %>
foreign import ccall jsQuerySelectorAll :: Elem -> JSString -> IO (Ptr [Elem])