Jun 17, 2010

iPhone 4 BLACK wearing Bumpers

Did you order iPhone 4? I ordered a black model. And I want to get Bumpers for iPhone 4. Writing Bumpers, Apple show us only white model wearing them. I couldn't have imagined the black model with Bumpers. So, I asked a designer to create the image. He created this.





You can see the large image here.

http://www.ariesplus.com/wordp/iphone/407.html

Which color do you like?

Jun 14, 2010

Use JavaScript-like "with" syntax in Ruby

JavaScript has "with" syntax. At first, I write a code without "with".


console.log(Math.cos(1/2)); //=> 0.8775825618903728
console.log(Math.sqrt(2)); //=> 1.4142135623730951



Then, I write with "with".


with(Math) {
console.log(cos(1/2)); //=> 0.8775825618903728
console.log(sqrt(2)); //=> 1.4142135623730951
}



On the other hand, Ruby has not "with" syntax.


puts Math.cos(1/2) #=> 1.0
puts Math.sqrt(2) #=> 1.4142135623731



Look! I can use "with" in Ruby!


with(Math) {
puts cos(1/2) #=> 1.0
puts sqrt(2) #=> 1.4142135623731
}



To do this, I wrote "with" function.


def with(obj, &block)
obj.instance_eval(&block)
end



So, I can use "with" syntax.


with(Math) {
puts cos(1/2) #=> 1.0
puts sqrt(2) #=> 1.4142135623731
}



Of course, other type of object is OK. String, Intger and so on.


with("I love Ruby.") {
puts reverse #=> .ybuR evol I
puts gsub(/Ruby/, "YUI") #=> I love YUI.
}



with(1) {
puts succ #=> 2
}

Jun 13, 2010

To buy, or not to buy: that is the question.

Pre-order of iPhone 4 start from the day after tomorrow in Japan. I can't make up my mind to buy. I bought Kindle DX two month ago and iPad last month. So I used a lot of money. As a developer, the high-resolution should be noted.


By the way, which is better, white or black? I thought iPhone should be black. But the white model is cool as for iPhone 4. Black or white: that is the question.


Oct 19, 2009

Amazon.com Larger Font Bookmarklet

I like to read book reviews in Amazon.com with iPhone.
Amazon.com show optimized pages for iPhone.
I think its font size is so small.
Then I made a bookmarklet.

Amazon.com larger font bookmarklet

You can view pages with larger font when you run this bookmarklet.



var e = document.getElementsByTagName('div');
var n = e.length;
for (var i = 0; i < n; i++) {
e[i].style.fontSize = '14px';
}

Oct 12, 2009

Making Web Application with Haskell #3

I make a web application with Haskell.
It's a simple application.
You input your name, then the application output your name.
See below.






The other day I made the application with Network.CGI.
Today I make it with Text.XHtml wich is included in GHC.



import Network.CGI
import Text.XHtml

inputForm :: Html
inputForm = form << [paragraph << "Who are you?",
textfield "name",
submit "" "send"]

greet :: String -> Html
greet n = h1 << ("Hello, " ++ n ++ "!")

page :: String -> Html -> Html
page t b = header << thetitle << t +++ body << b

cgiMain :: CGI CGIResult
cgiMain = do name <- getInput "name"
let x = maybe inputForm greet name
output $ renderHtml $ page "Hello" x

main :: IO ()
main = runCGI $ handleErrors cgiMain



This code is simpler than the previous code.

Oct 9, 2009

Making Web Application with Haskell #2

I make a web application with Haskell.
It's a simple application.
You input your name, then the application output your name.
See below.






The other day I made the application without any library.
Today I make it with Network.CGI wich is included in GHC.



import Network.CGI

inputForm :: String -> String
inputForm script = concat [
"<form action=\"", script, "\" method=\"GET\">",
"<p>Who are you?</p>",
"<input type=\"text\" name=\"name\" />",
"<input type=\"submit\" value=\"send\" />",
"</form>"]

putName :: String -> String
putName name = concat ["<h1>Hello, ", name, "!</h1>"]

body :: Maybe String -> String -> String
body name script =
case name of
Just x -> putName x
Nothing -> inputForm script

html :: Maybe String -> String -> String
html name script = concat [
"<html>",
"<head><title>Hello</title></head>",
"<body>",
body name script,
"</body>",
"</html>"]

cgiMain :: CGI CGIResult
cgiMain = do
setHeader "Content-type" "text/html; charset = UTF-8"
script <- scriptName
name <- getInput "name"
output $ html name script

main :: IO ()
main = runCGI (handleErrors cgiMain)



Complete!

Oct 7, 2009

Making Web Application with Haskell #1

I make a web application with Haskell.
It's a simple application.
You input your name, then the application output your name.
See below.






Today I make the application without any library.
I use standard input and output.



import System.Environment

inputForm :: String -> String
inputForm script = concat [
"<form action=¥"", script, "¥" method=¥"GET¥">",
"<p>Who are you?</p>",
"<input type=¥"text¥" name=¥"name¥" />",
"<input type=¥"submit¥" value=¥"send¥" />",
"</form>"]

getName :: String -> String
getName q = drop 5 q

main = do
putStrLn "Content-type: text/html; charset = UTF-8¥n"
putStrLn "<html>"
putStrLn "<head><title>Hello</title></head>"
putStrLn "<body>"
script <- getEnv "SCRIPT_NAME"
query <- getEnv "QUERY_STRING"
case query of
"" -> putStrLn $ inputForm script
_ -> putStrLn $ concat ["<h1>Hello, ", getName query, "!</h1>"]
putStrLn "</body>"
putStrLn "</html>"



Complete!