The Tyranny of Injustice

Ephramar:

The Tyranny of Injustice inside the Iglesia Ni Cristo

Originally posted on Iglesia Ni Cristo - Silent No More by Antonio Ramirez Ebangelista:

So many articles to write, so little time…
Bro. Isaias T. Samson Jr., former Editor-in-Chief of Pasugo Magazine, and his wife Myrna, were expelled today, together with Bro. Jerson T. Samson Jr. and his family. Bro. Isaias and Jerson are brothers, both faithful and honest ministers, who have served the Church for a very long time. Bros. Radel V. Cortez and Matt Pareja led the house arrest and the interrogation. Reports have surfaced that the Samson brothers were both tortured and harmed physically in a futile attempt to get a confession.

Another minister, Bro. Arnel Tumanan, has been placed under house arrest. Bro. Arnel was General Secretary, a member of the Sanggunian, during the time of our late Executive Minister, Bro. Erano G. Manalo. He is loved and adored by brethren, including Bro. Erano himself. He is reported to have been kicked and abused during the interrogation led by Bro…

View original 992 more words

Happy father’s day Dad

This will be our first year without you but then I can still feel your presence. I am extremely blessed to have a father like you. I’ve may not reached what you have reached when you were in my age but I’m proud to be the same like you.

Pa, you know, I missed your louder voice when you were angry. Before, I don’t really understand you in being strict and being diplomatic in imposing discipline. Maybe, at my younger age I am not aware of anything that might cause problem to our family. My minds that time are set to play and to enjoy. Now I realized the reason why sometimes you scolded us and reprimanded about the things we do. I may not be a good person now without your guiding hands. I may not achieve my dreams without the big challenge you gave. And I may not be a good christian without your thorough advise about God. I am not vocal to you and it never been be trying to say how much I care and love you but you are really mean to us.

Pa, you are more than a superheroto me. You are someone to look-up to no matter how tall I’ve grown.

Dark Wallet May Make Bitcoin Even Harder to Trace

Ephramar:

Bitcoins FTW!

Originally posted on Bitcoin:

By Jill Scharr

Credit: Defense Distributed/YouTube

Credit: Defense Distributed/YouTube

The digital cryptocurrency Bitcoin already has a lot of built-in security and privacy features. But thanks to a Bitcoin storage app called Dark Wallet scheduled to be released tomorrow (May 1), Bitcoin may become even more difficult to trace. Dark Wallet’s creators have said they created the software to help criminals disguise their activities online.

Dark Wallet is developed by a group called unSystem whose members include Cody Wilson, creator of the world’s first 3D-printed gun, the Liberator. Both projects share similar political goals: to thwart any and all government regulations.

Bitcoin is not inherently illegal or malicious, though it’s often the currency of choice for criminals because it operates independently of any government and is difficult to trace. But Dark Wallet’s creators say their app was created with criminals in mind.

“It’s just money-laundering software,” Wilson said at a debate at the New York Museum of Modern Art.

The…

View original 44 more words

Introducing A New Optional Feature Called Nearby Friends

Ephramar:

Facebook for Mobile: Got a new facelift

Originally posted on Facebook Newsroom:

By Andrea Vaccari, Product Manager

Today we are beginning to roll out a new feature called Nearby Friends that you can choose to turn on. Nearby Friends helps you discover which friends are nearby or on the go.

If you turn on Nearby Friends, you’ll occasionally be notified when friends are nearby, so you can get in touch with them and meet up. For example, when you’re headed to the movies, Nearby Friends will let you know if friends are nearby so you can see the movie together or meet up afterward.

Nearby Friends 1

Nearby Friends is an optional feature. You can choose who can see if you’re nearby (for example: your friends, close friends, or a specific friends list) and you can turn it on and off at any time.

Nearby Friends 2

Sharing your location with Nearby Friends goes two ways — you and your friends both have to turn on Nearby Friends…

View original 222 more words

Node.js MVC: Express.js + Derby Hello World Tutorial

Node MVC Framework

Express.js is a popular node frameworks which uses middleware concept to enhance functionality of applications. Derby is a new sophisticated Model View Controller (MVC) framework which is designed to be used with Express as it’s middleware. Derby also comes with the support of Racer, data synchronization engine, and Handlebars-like template engine among many other features.

Derby Installation

Let’s set up a basic Derby application architecture without the use of scaffolding. Usually project generators are confusing when people just start to learn a new comprehensive framework. This is a bare minimum “Hello World” application tutorial that still illustrates Derby skeleton and demonstrates live-templates with websockets.

Of course we’ll need Node.js and NPM which can be obtained at nodejs.org. To install derby globally run:

$ npm install -g derby

To check the installation:

$ derby -V

My version as of April 2013 is 0.3.15. We should be good to go to creating our first app!

File Structure

This is the project folder structure:

project/
  -package.json
  -index.js
  -derby-app.js
  views/
    derby-app.html
  styles/
    derby-app.less

Dependencies

Let’s include dependencies and other basic information in package.json file:

 {
  "name": "DerbyTutorial",
  "description": "",
  "version": "0.0.0",
  "main": "./server.js",
  "dependencies": {
    "derby": "*",
    "express": "3.x"
  },
  "private": true
}

Now we can run npm install which will download our dependencies intonode_modules folder.

Views

Views must be in views folder and they must be either in index.html under a folder which has the same name as your derby app JavaScript file, i.e.,views/derby-app/index.html, or be inside of a file which has the same name as your derby app JS file, i.e., derby-app.html.

In this example “Hello World” app we’ll use <Body:> template and {message}variable. Derby uses mustach-handlebars-like syntax for reactive binding.index.html looks like this:

<Body:>
  <input value="{message}"><h1>{message}</h1>

Same thing with Stylus/LESS files, in our example index.css has just one line:

h1 {
  color: blue;
}

To find out more about those wonderful CSS preprocessors check out documentation at Stylus and LESS.

Main Server

index.js is our main server file, and we begin it with an inclusion of dependencies with require() function:

var http = require('http'),
  express = require('express'),
  derby = require('derby'),
  derbyApp = require('./derby-app');

Last line is our derby application file derby-app.js.

Now we’re creating Express.js application (v3.x has significant differences between 2.x) and an HTTP server:

var expressApp = new express(),
  server = http.createServer(expressApp);

Derby uses Racer data synchronization library which we create like this:

var store = derby.createStore({
  listen: server
});

To fetch some data from back-end to the front-end we instantiate model object:

var model = store.createModel();

Most importantly we need to pass model and routes as middlewares to Express.js app. We need to expose public folder for socket.io to work properly.

expressApp.
  use(store.modelMiddleware()).
  use(express.static(__dirname + '/public')).
  use(derbyApp.router()).
  use(expressApp.router);

Now we can start the server on port 3001 (or any other):

server.listen(3001, function(){
  model.set('message', 'Hello World!');
});

Full code of index.js file:

var http = require('http'),
  express = require('express'),
  derby = require('derby'),
  derbyApp = require('./derby-app');

var expressApp = new express(),
  server = http.createServer(expressApp);

var store = derby.createStore({
  listen: server
});

var model = store.createModel();

expressApp.
  use(store.modelMiddleware()).
  use(express.static(__dirname + '/public')).
  use(derbyApp.router()).
  use(expressApp.router);

server.listen(3001, function(){
  model.set('message', 'Hello World!');
});

Derby Application

Finally, Derby app file which contains code for both a front-end and a back-end. Front-end only code is inside of app.ready() callback. To start, let’s require and create an app. Derby uses unusual construction (not the same familiar good oldmodule.exports = app):

var derby = require('derby'),
  app = derby.createApp(module);

To make socket.io magic work we need to subscribe model attribute to its visual representation, in other words bind data and view. We can do it in the root route, and this is how we define it (patter is /, a.k.a. root):

app.get('/', function(page, model, params) {
  model.subscribe('message', function() {
    page.render();  
  })  
});

Full code of derby-app.js file:

var derby = require('derby'),
  app = derby.createApp(module);

app.get('/', function(page, model, params) {
  model.subscribe('message', function() {
    page.render();  
  })  
});  

Launching Hello World App

Now everything should be ready to boot our server. Execute node . or node index.js and open a browser at http://localhost:3001. You should be able to see something like this: http://cl.ly/image/3J1O0I3n1T46.

Derby + Express.js Hello World App

Passing Values to Back-End

Of course static data is not much, so we can slightly modify our app to make back-end and front-end pieces talks with each other.

In the server file index.js add store.afterDb to listen to set events on messageattribute:

server.listen(3001, function(){
  model.set('message', 'Hello World!');
  store.afterDb('set','message', function(txn, doc, prevDoc, done){
    console.log(txn)
    done();
  }) 
});

Full code of index.js after modifications:

var http = require('http'),
  express = require('express'),
  derby = require('derby'),
  derbyApp = require('./derby-app');

var expressApp = new express(),
  server = http.createServer(expressApp);

var store = derby.createStore({
  listen: server
});

var model = store.createModel();

expressApp.
  use(store.modelMiddleware()).
  use(express.static(__dirname + '/public')).
  use(derbyApp.router()).
  use(expressApp.router);

server.listen(3001, function(){
  model.set('message', 'Hello World!');
  store.afterDb('set','message', function(txn, doc, prevDoc, done){
    console.log(txn)
    done();
  })   
});

In Derby application file derby-app.js add model.on() to app.ready():

  app.ready(function(model){
        model.on('set', 'message',function(path, object){
        console.log('message has been changed: '+ object);
      })
  });

Full derby-app.js file after modifications:

var derby = require('derby'),
  app = derby.createApp(module);

app.get('/', function(page, model, params) {
  model.subscribe('message', function() {
    page.render();
  })
});app.ready(function(model) {
  model.on('set', 'message', function(path, object) {
    console.log('message has been changed: ' + object);
  })
});

Now we’ll see logs both in the terminal window and in the browser Developer Tools console. The end result should look like this in the browser:http://cl.ly/image/0p3z1G3M1E2c, and like this in the terminal:http://cl.ly/image/322I1u002n38.

Hello World App: Browser Console Logs

Hello World App: Terminal Console Logs

For more magic in the persistence area, check out Racer’s db property. With it you can set up an automatic synch between views and database!

Let me know if you’re interested in any specific topic for future blog post and don’t forget to checkout my JavaScript books:

The full code of all the files in this Express.js + Derby Hello World app is available as a gist at https://gist.github.com/azat-co/5530311.

A blip, not a strain, on PH-Taiwan relations

It is most unfortunate that the government of Taiwan has suspended the issuance of visas to Filipinos intending to either work or visit their island. The suspension was in reaction to the unfortunate killing of a Taiwanese fisherman by the Philippine Coast Guard (PCG) in contested waters a few days ago.
The emotional reaction is understandable because Taiwan considers itself the aggrieved party. But Taiwan-Philippine relations have always been excellent, and there is no reason why they should not continue to remain so.

Sooner or later, the incident will be seen in its proper perspective. The PCG was only doing its job, and had no intention of inflicting harm, much less causing the death, of the fisherman from Taiwan. A representative from the Philippine government has already visited the family of the victim to offer condolences and to explain why the country had to act the way it did.

The Taiwanese should understand the Philippines’ situation vis-à-vis its territorial waters. China, for one, has been aggressively asserting its claim on Philippine territory in recent months and taking no action against perceived threats is not an acceptable option.

Unlike China, Taiwan may be easier to talk to where territorial conflicts are concerned.

One tragic event should not permanently strain Philippine-Taiwan relations.

Political Families Have Much to Celebrate After Philippine Elections

In the Philippines, a political family that runs together, wins big together.

Former Philippine first lady Imelda Marcos, with her children Ferdinand “Bongbong” Marcos Jr., right, and daughter Irene Marcos-Araneta, left, fill in ballots on Monday in the country’s midterm elections.

And among them, the family of Vice President Jejomar Binay appears the biggest winner after Monday’s midterm elections.  Mr. Binay wasn’t running in the elections. But two of his daughters were vying for seats in the Philippine Congress: Nancy, for a seat in the Senate, while Abigail sought re-election as Makati representative.  Mr. Binay’s son and namesake, Jejomar Jr., sought a second-term as mayor of Makati, the position that his father last held before winning the vice presidency.

Both Jejomar Jr. and Abigail Binay won re-election by landslides, while Nancy came in fifth among the top vote-getters for the 12 seats up for grabs in the Senate.

The family of the late President Ferdinand Marcos also continued to dominate politics in his home province of Ilocos Norte. His 83-year-old widow Imelda won another term as congresswoman by a landslide and his eldest daughter, Imee, won after running unopposed as governor of the province some 480 kilometers north of Manila. Ferdinand Marcos Jr. was elected senator in 2010 and won’t be up for re-election until 2016. Before he was elected as senator, he served as congressman and governor of Ilocos Norte, positions now held by his mother and sister, respectively.

In the south, boxing superstar Emmanuel “Pacman” Pacquiao will comfortably win a second term as representative of the lone congressional district of the province of Sarangani. His wife,  Marie Geraldine, better known as Jinkee, a political neophyte, is leading her rival to the post of vice governor of Sarangani. Roel Pacquiao, the youngest brother of the congressman, is seeking a congressional seat in the first district of South Cotabato.

Roel Pacquiao, the youngest brother of the congressman who was himself running for a congressional seat in the first district of South Cotabato, trails his rival.

Joseph Estrada won as mayor of Manila more than 12 years after being removed from the presidency by a popular uprising. Another son of Mr. Estrada, Joseph Victor, ran for a seat in the Senate and is among the 12 that will serve for six years until 2019. The mother of Joseph Victor won re-election bid as mayor of San Juan, the position that Mr. Estrada first held when he entered politics in 1967. The new mayor of Manila’s nephew, Emilio Ramon Ejercito, won a re-election bid as governor of Laguna, a neighboring province of Manila. Another son, Jose, is an incumbent senator.

Senator Alan Peter Cayetano is also in the top four spots in the preliminary count in the Senate race while his wife, Lani, is set to win a second term as mayor of Taguig City. A brother, Lino, is running as congressional district in Taguig City and is leading the count. Pia Cayetano is an incumbent senator, whose term ends in 2016.

Not everyone with a famous family name is a sure winner. Jack Enrile, son of Senate President Juan Ponce Enrile, is ranked 16th in the race for the Senate. Only the first 12 top vote-getters will win a six-year term.

A study by the Center for People Empowerment in Governance, a local public policy center founded in 2004, showed that 160 families have continuously served both houses of Congress from 1907 to 2004. After the 2010 elections, the policy center found that political dynasties have thrived and their membership even increased.