Nugroho's blog.

Saturday, April 6, 2013

My Blackberry Experience (part 1)

After trying my sister-in-law's blackberry, I feel the urge to compare it with my 4S. This is the first post about it

Maybe it's not fair to compare that two device, iPhone is touch based device while blackberry is scroll-point-click based device, but I'm curious about why blackberry is so famous and became de-facto in business (at least in the past). Well, here is it...

My reaction the first time I grab the blackberry is, confused.

Maybe I used to touch my iPhone to make it work but the blackberry OS confuse me about almost anything. I don't even know how to unlock its display at first because "mute" button is "play" button, :).

The home screen displays few apps and when I want to open apps that not in home screen I have to scroll it down but wait,... it don't scroll. Apparently I have to click "all" first and then scroll it down. While it may easy but the problem is I have to highlight "all" first to click it. iPhone have fewer step to go to anything.

The first app I want to open is mail, it's app that make blackberry powerfull among businessman anyway and guess what? It is...

The push feature is great, it delivers email as "send" is clicked, and receives email as soon as the email sent by sender (whoever it is) thank to BIS.

Yeah, blackberry mail is ok but I found facebook for bb is terrible (second apps I opened after mail). Try to read a twenty lines comment and you know what I mean, you read several lines and when you scroll to read next lines, it goes to last lines, and few lines before last line, there is no way to read 'middle' line

....

Sure iPhone can't transfer file via bluetooth, or download music (or anything) outside app store, but it worth it, faster, smoother and I'll stick with it.


http://aravir-rose.blogspot.com

Saturday, December 8, 2012

Mountain Lion's Spotlight didn't Spot Application

Maybe it's just me, after upgrading from leopard to snowleopard to lion and finally mountain lion (always upgrade, no fresh install), this big cat suddenly refuse to index my Application. Whenever I type application name in Spotlight, it just show document, picture but not Application. Typing "macvim" bring me to macvim installation folder, macvim on the web but not Macvim apps. Spotlight setting clearly didn't ban Application folder, so maybe this is another Mountain Lion problem

Still looking for solution...

Mountain Lion's Fullscreen Apps on Extended Display

It seems that weakness of this big cat isn't resolved yet. I used Pages in my Desktop while the big one browsing trough web using safari for refence. When I switch (automatically, bad behaviour I think) to fullscreen on Pages, suddenly the other display become blank (not actually blank, just linen-like wall, or maybe canvas).

Monday, December 3, 2012

Playing with Opacity on HTML5's canvas



 What I do here is wrap whole canvas on this program with a rectangle with opacity 0.1. So the code (under script tag) become like this:



var context;
var x=100;
var y=200;
var dx=5;
var dy=5;
var n=10;
var bBola=new Array();
function init(){
canvas=myCanvas;
context= myCanvas.getContext('2d');
for (i=0;i &lt n;i++){
dx = Math.random()*10-5;
dy = Math.random()*10-5;
bBola.push(new bola('#007700', 11,dx,dy));
}
setInterval(draw,10);

}

function draw(){
for (i=0;i &lt n;i++){
if (bBola[i].x &gt = (canvas.width - bBola[i].r) || bBola[i].x &lt = bBola[i].r) bBola[i].dx *= -1;
if (bBola[i].y &gt = (canvas.height - bBola[i].r) || bBola[i].y &lt = bBola[i].r) bBola[i].dy *= -1;

//buat
bBola[i].context.beginPath();
bBola[i].context.fillStyle = bBola[i].color;
bBola[i].context.arc(bBola[i].x,bBola[i].y,bBola[i].r,0,Math.PI*2,false);
bBola[i].context.fill();

//gerak
bBola[i].x+=bBola[i].dx;
bBola[i].y+=bBola[i].dy;
}

context.fillStyle='rgba(255,255,255,.1)';
context.fillRect(0,0,canvas.width,canvas.height);
}

function bola(color, r,dx,dy){
this.canvas = canvas;
this.context = canvas.getContext('2d');
this.r = r;
this.x =Math.random()*400+30;
this.y = Math.random()*250+30;
this.dx = dx;
this.dy = dy;
this.color = color;
}

window.onload = function(){
init()
}

Here the complete html page code




<head>
<script>
var context;
var x=100;
var y=200;
var dx=5;
var dy=5;
var n=10;
var bBola=new Array();
function init(){
canvas=myCanvas;
context= myCanvas.getContext('2d');
for (i=0;i<n;i++){
dx = Math.random()*10-5;
dy = Math.random()*10-5;
bBola.push(new bola('#007700', 11,dx,dy));

setInterval(draw,10);

}


function draw(){

 for (i=0;i<n;i++){
//pantul
  if (bBola[i].x >= (canvas.width - bBola[i].r) || bBola[i].x <= bBola[i].r) bBola[i].dx *= -1;
if (bBola[i].y >= (canvas.height - bBola[i].r) || bBola[i].y <= bBola[i].r) bBola[i].dy *= -1;

//buat

bBola[i].context.beginPath();
    bBola[i].context.fillStyle = bBola[i].color;
    bBola[i].context.arc(bBola[i].x,bBola[i].y,bBola[i].r,0,Math.PI*2,false);
bBola[i].context.fill();

//gerak
    bBola[i].x+=bBola[i].dx;
bBola[i].y+=bBola[i].dy;
}

context.fillStyle='rgba(255,255,255,.1)';
context.fillRect(0,0,canvas.width,canvas.height);
}

function bola(color, r,dx,dy){

    this.canvas  = canvas;
    this.context = canvas.getContext('2d');
    this.r  = r;
    this.x =Math.random()*400+30;
    this.y  = Math.random()*250+30;
    this.dx  = dx;
    this.dy  = dy;
    this.color   = color;
}

window.onload = function(){

        init()
}
</script>
</head>
<body>
<canvas height="300" id="myCanvas" width="500">
</canvas>
</body>




Friday, November 30, 2012

Gradient on HTML5's Canvas

Bouncing Ball using Array on Canvas (without prototype method) in HTML 5

Here the code for this




<head>
<script>
var context;
var x=100;
var y=200;
var dx=5;
var dy=5;
var n=5;
var bBola=new Array();
function init(){
canvas=myCanvas;
context= myCanvas.getContext('2d');
for (i=0;i<n;i++){
dx = Math.random()*10-5;
dy = Math.random()*10-5;
bBola.push(new bola('#007700', 17,dx,dy));
}
setInterval(draw,10);

}

function draw(){
  context.clearRect(0,0, 500,300);
  for (i=0;i<n;i++){
//pantul
  if (bBola[i].x >= (canvas.width - bBola[i].r) || bBola[i].x <= bBola[i].r) bBola[i].dx *= -1;
    if (bBola[i].y >= (canvas.height - bBola[i].r) || bBola[i].y <= bBola[i].r) bBola[i].dy *= -1;
//buat
bBola[i].context.beginPath();
    bBola[i].context.fillStyle = bBola[i].color;
    bBola[i].context.arc(bBola[i].x,bBola[i].y,bBola[i].r,0,Math.PI*2,false);
    bBola[i].context.fill();
//gerak
    bBola[i].x+=bBola[i].dx;
bBola[i].y+=bBola[i].dy;
}
}

function bola(color, r,dx,dy){
    this.canvas  = canvas;
    this.context = canvas.getContext('2d');
    this.r  = r;
    this.x =Math.random()*400+30;
    this.y  = Math.random()*250+30;
    this.dx  = dx;
    this.dy  = dy;
    this.color   = color;
}


window.onload = function(){
        init()
}
</script>
</head>
<body>
<canvas height="300" id="myCanvas" width="500">
</canvas>
</body>

Random Text in HTML 5 using Array and Canvas

323f (5) amp (1) android (12) apple (7) arduino (18) art (1) assembler (21) astina (4) ATTiny (23) blackberry (4) camera (3) canon (2) cerita (2) computer (106) crazyness (11) debian (1) delphi (39) diary (286) flash (8) fortran (6) freebsd (6) google apps script (8) guitar (2) HTML5 (10) IFTTT (7) Instagram (7) internet (12) iOS (5) iPad (6) iPhone (5) java (1) javascript (1) keynote (2) LaTeX (6) lazarus (1) linux (29) lion (15) mac (28) macbook air (8) macbook pro (3) macOS (1) Math (3) mathematica (1) maverick (6) mazda (4) microcontroler (35) mountain lion (2) music (37) netbook (1) nugnux (6) os x (36) php (1) Physicist (29) Picture (3) programming (189) Python (109) S2 (13) software (7) Soliloquy (125) Ubuntu (5) unix (4) Video (8) wayang (3) yosemite (3)