Saturday, September 22, 2012

ಗಳು ಬಾಟ್ - ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿ -೩






ವಿಕ್ಶನರಿಯಲ್ಲಿ ಪದಗಳನ್ನು ಕಯ್ಯಾರೆ ಸೇರಿಸುತ್ತ ಸುಮಾರು ೬೦,೦೦೦ ಪದಗಳ ವರೆಗೂ ಗೆಳೆಯರು ಸೇರಿಸಿದ್ದರು. ಆಗ ಒಮ್ಮೆ  ಒಟ್ಟಿಗೆ ಕುಳಿತು ಮಾತಾಡುವಾಗ ಕೆಲವು ಸುಳುವಾದ, ಒಂದೇ ತೆರನಾದ ಪದಗಳನ್ನು ಸೇರಿಸಲು ತನ್ನಡೆಸಿಕೆ (Automation) ಬಳಸಿದರೆ ಹೇಗೆ ಎಂಬ ಯೋಚನೆ ನಮಗೆ ಬಂತು. ಇಂಗ್ಲೀಶ್, ತಮಿಳು ಮುಂತಾದ ವಿಕ್ಶನರಿಗಳಲ್ಲಿ ಆಗಲೇ ಬಾಟ್ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರು. ಕನ್ನಡದಲ್ಲಿ ಇಂತಹ ಯಾವುದೇ ಮೊಗಸು ನಾವು ಮಾಡಿರಲಿಲ್ಲ. ಅಲ್ಲದೇ, ತನ್ನಡೆಸಿಕೆಯಿಂದ ಕೆಲವು ಪದಗಳನ್ನು ನಾವು ಸೇರಿಸಬಲ್ಲೆವಾದರೆ ಅಂತಹ ಪದಗಳನ್ನು ಕಯ್ಯಾರೆ ಸೇರಿಸಲು ಕಶ್ಟವೇಕೆ ಪಡಬೇಕು? ಆ ಶ್ರಮವನ್ನು ತನ್ನಡೆಸಿಕೆಯಿಂದ ಸೇರಿಸಲಾಗದ, ಇಲ್ಲವೇ ಸೇರಿಸಲು ಕಶ್ಟವಾದ ಪದಗಳನ್ನು ಸೇರಿಸುವ ಕಡೆ ತಿರುಗಿಸಬಹುದು.

ಆಗ ನಮಗೆ ಬಂದ ಹೊಳಹು, ಹಲವೆಣಿಕೆ ಪದಗಳನ್ನು ತನ್ನಡೆಸಿಕೆಯಿಂದ ಸಲೀಸಾಗಿ ಸೇರಿಸಬಹುದೆಂದು. ವಿಕ್ಶನರಿಯಲ್ಲಿ ಆಗಲೇ ಇರುವ ಪದಗಳನ್ನು ಹುಡುಕುವುದು, ಮತ್ತು ಅವುಗಳ ಹಲವೆಣಿಕೆಯ ಪರಿಜು '-ಗಳು' ಇದ್ದರೆ ಅವನ್ನು ವಿಕ್ಶನರಿಗೆ ಸೇರಿಸುವುದು. ಎತ್ತುಗೆಗೆ, ವಿಕ್ಶನರಿಯ ಪದಗಳನ್ನು ಜಾಲಾಡುವಾಗ 'ಗಾಲಿ' ಎಂಬ ಪದ ಸಿಕ್ಕಿತೆಂದು ಇಟ್ಟುಕೊಳ್ಳೋಣ. ಇದರ ಹಲವೆಣಿಯ ಪರಿಜಾದ 'ಗಾಲಿಗಳು' ಎಂಬ ಪದವನ್ನು ವಿಕ್ಶನರಿಗೆ ಸೇರಿಸುವುದು.

ಇದನ್ನು ಮಾಡುವುದಕ್ಕೆ ನಾವು ಬಳಸಿದ್ದು, ವಿಕ್ಶನರಿ ಒದಗಿಸುವ ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿ (Application Programming Interface). ಅದರಿಂದ ಹುಟ್ಟಿಕೊಂಡಿದ್ದು ನಮ್ಮ ಕನ್ನಡದ ಮೊದಲ ಬಾಟ್ 'ಗಳುಬಾಟ್'. ಸುಮಾರು ೩೦,೦೦೦ -ಗಳು,-ರು ಪದಗಳನ್ನು ಸೇರಿಸಲು ನಮಗೆ ನೆರವಾಯಿತು. ಮುಂದೆ ಅದೇ ಹಮ್ಮುಗೆಯನ್ನು ಬಳಸಿ, ಕೆಲವು ಮಾರ್ಪಾಡುಗಳನ್ನು ಮಾಡಿ ಹಲವು ಬಾಟ್ಗಳನ್ನು ಮಾಡಿದೆವು. ಅವುಗಳ ಬಗ್ಗೆ ಮುಂದಿನ ಬರಹದಲ್ಲಿ ತಿಳಿಸುತ್ತೇನೆ. ಹಾಗೆಯೇ ಇದಕ್ಕಾಗಿ ಬರೆದ ಜಾವಾ ಹಮ್ಮುಗೆಯ ಬಗ್ಗೆಯೂ ತಿಳಿಸುತ್ತೇನೆ.

Saturday, September 8, 2012

ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿ - ೨



ತಿಟ್ಟ : ಫೇಸ್ಬುಕ್ 


ಹಿಂದೆ ಟ್ವಿಟ್ಟರ್ ಮತ್ತು ಫೆಸ್ಬುಕ್ಕುಗಳ ಎತ್ತುಗೆಯನ್ನು ಕೊಟ್ಟು 'ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿ'ಯ  (Application Programming Interface) ಬಗ್ಗೆ ಹೇಳಿದ್ದೆ. ಈಗ ಇನ್ನೂ ಕೊಂಚ ಆಳಕ್ಕೆ ಇಳಿಯೋಣ.  ಒಂದು ಮುಟ್ಟು (application) ತನಗೆ ಬೇಕಾದ ತಿಳಿಹವನ್ನು (data) ಪಡೆಯಲು ಊಳಿಗಿ(server)ಯನ್ನು ತಲುಪ ಬೇಕಾಗುತ್ತದೆ. ಈ ಊಳಿಗಿಯು  ತಾನು ಕೊಡುವ ಊಳಿಗದ ಇಟ್ಟಳವೇ ಮ.ಹ.ಒ (API). ಈಗ ಒಂದು ಫೇಸ್ಬುಕ್ ಎತ್ತುಗೆಯನ್ನು ನೋಡೋಣ.

    GET https://graph.facebook.com/{ಬಳಸುಗ}

ಇಲ್ಲಿ {ಬಳಸುಗ} ಎಂಬುದು ಬಳಸುಗನ ಗುರುತು. ಇದು ಫೇಸ್ಬುಕ್ ಮ.ಹ.ಒ ಅಲ್ಲಿ ಬಳಸುಗನೊಬ್ಬನ ಬದಿನೋಟ(profile)ವನ್ನು ಹಿಂದಿರುಗಿಸುವ ಕೆಲಸ (operation, method). ನಿಮ್ಮ ಅಲೆಯುಲಿ(mobile phone)ಯಲ್ಲಿನ ಫೇಸ್ಬುಕ್ ಮುಟ್ಟು (application) ನಿಮ್ಮ ಬಳಸುಗ-ಬದಿನೋಟ(user profile)ವನ್ನು ತೋರಿಸಬೇಕಾದರೆ ಈ ಮೇಲಿನ ಕೆಲಸವನ್ನು ಕರೆಯಬೆಕು. ಈ ಕೆಲಸದ ಇಟ್ಟಳ(structure)ವೇ ತಿಳಿಸುವಂತೆ ಇದು ಒಂದು ಮಿರುಗೋದ ಸಾಗಣೆ ಒಡಂಬಡಿಕೆ(Hyper Text Transfer Protocol)ಯ ಕರೆ(call). ಅದಲ್ಲದೆ ಇದನ್ನು ಕಾಪು ಕುಳಿ ಪದರದಿಂದ (Secure Sockets Layer) ಜೋಪಾನ ಮಾಡಲಾಗಿದೆ. ಅದಕ್ಕೆ http ಜೊತೆ s ಬೇರೆ ಇದೆ. ಫೇಸ್ಬುಕ್ ಮ.ಹ.ಒ(API)ದ ಇಡೀ ಬರೆಗುರುತು (document) ಇಲ್ಲಿದೆ.

ಮುಂದಿನ ಬರಹಗಳಲ್ಲಿ ಫೇಸ್ಬುಕ್ ಅಲ್ಲದೆ ಇನ್ನಿತರೆ ಒದಗಿಸುಗರ (ಪ್ರೊವಯ್ಡರ್) ಮ.ಹ.ಒಗಳನ್ನು ಕರೆದು ನಮಗೆ ಬೇಕಾದ ತಿಳಿಹವನ್ನು (data) ಪಡೆಯುವ ಬಗೆಯನ್ನು ತಿಳಿಸಿ ಕೊಡುತ್ತೇನೆ.

Monday, September 3, 2012

ಕನ್ನಡದಲ್ಲಿ ಹಮ್ಮುಗಾರಿಕೆ





ಇಂಗ್ಲೀಶ್ ನುಡಿ ಆಡುಗರು ಮತ್ತು ಬಲ್ಲವರು ಇಂಗ್ಲೀಶಲ್ಲೇ ಹಮ್ಮುಗಾರಿಕೆ ನಡೆಸುವಂತೆ ಕನ್ನಡಿಗರು ಕನ್ನಡದಲ್ಲೇ ಹಮ್ಮಲು ಆಗುತ್ತಾ? ನನಗೆ ತಿಳಿದ ಮಟ್ಟಿಗೆ ಕನ್ನಡ ನೆಲೆಯುಳ್ಳ ಒಂದು ಹಮ್ಮುಗಾರಿಕೆಯ ನುಡಿ ಇಲ್ಲ. ಆದರೆ ಇರುವ ಕೆಲವು ಇಂಗ್ಲೀಶಿನ ನೆಲೆಯ ಹಮ್ಮುಗಾರಿಕೆಯ ನುಡಿಗಳು, ಅದರಲ್ಲೂ ಇತ್ತೀಚಿನವು, ಯೂನಿಕೋಡ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. ಅಂದರೆ ಮಾರ್ಪಡಬಲ್ಲಗಳು, ಕೆಲಸಗಳು, ಮತ್ತು ಬಗೆಗಳ ಹೆಸರುಗಳು ಕನ್ನಡದಲ್ಲಿ ಇರಬಹುದು.

ಹಳೆಯ ಹಮ್ಮುಗರಿಕೆಯ ನುಡಿಗಳಾದ ಸಿ, ಸಿ++ ಗಳಲ್ಲಿ ಇದು ಆಗದು. ಈ ನುಡಿಗಳು ಬರೀ ಆಸ್ಕಿಯನ್ನಶ್ಟೇ ಬೆಂಬಲಿಸುತ್ತವೆ. ಸೀ++ ನಲ್ಲಿ ಬರಿಗೆ-ಕಂತೆಯಲ್ಲಿ ಯೂನಿಕೋಡ್ ಬೆಂಬಲವಿದೆ. ಹಾಗಾಗಿ ಒಂದು ಹೆದೆಯಲ್ಲಿ ಕನ್ನಡವೂ ಸೇರಿದಂತೆ ಯಾವುದೇ ಯೂನಿಕೋಡ್ ಬರಿಗೆಗಳನ್ನು ಬಳಸಬಹುದು. ಆದರೆ ಈಚಿನ ನುಡಿಗಳಾದ ಜಾವ, ಸ್ಕಾಲ, ಪಯ್ತಾನ್ (೩ರ ಬಳಿಕ), ಸೀ ಶಾರ್ಪ್ ಗಳಲ್ಲಿ ಮೇಲೆ ಹೇಳಿದಂತೆ ಮಾರ್ಪಡಬಲ್ಲಗಳು, ಕೆಲಸಗಳು, ಮತ್ತು ಬಗೆಗಳ ಹೆಸರುಗಳೂ ಕನ್ನಡದಲ್ಲಿ ಇರಬಹುದು. ಹಾಗೆಯೇ, ಅನಿಸಿಕೆಗಳೂ ಕೂಡ ಕನ್ನಡದಲ್ಲಿರಬಹುದು. ಇದಕ್ಕೆ, ಜಾವಾದಲ್ಲಿ ಒಂದು ಎತ್ತುಗೆಯ ಹಮ್ಮುಗೆಯನ್ನು ನೋಡೋಣ:

// ಇದು ಕನ್ನಡದಲ್ಲಿ ಹಮ್ಮುಗಾರಿಕೆ ನಡೆಸುವ ಒಂದು ಎತ್ತುಗೆ
public class ಕನ್ನಡಎತ್ತುಗೆ {
  public static void main(String ಬಿತ್ತಿಗೆಗಳು[]) {
    int ಕೂಡಿ೧;
    int ಕೂಡಿ೨;
    int ಮೊತ್ತ;

    if (ಬಿತ್ತಿಗೆಗಳು == null || ಬಿತ್ತಿಗೆಗಳು.length <= 1) {
      System.out.println("ಸಾಕಶ್ಟು ಬಿತ್ತಿಗೆಗಳನ್ನು ಹಮ್ಮುಗೆಗೆ ನೀಡಲಾಗಿಲ್ಲ. ಹೊರಗೆ ಹೋಗುತ್ತಿದ್ದೇನೆ");
      System.exit(-1);
    }

    ಕೂಡಿ೧ = Integer.parseInt(ಬಿತ್ತಿಗೆಗಳು[0]);
    ಕೂಡಿ೨ = Integer.parseInt(ಬಿತ್ತಿಗೆಗಳು[1]);
    ಮೊತ್ತ = ಕೂಡಿ೧ + ಕೂಡಿ೨;
    System.out.println("ಒಟ್ಟು ಮೊತ್ತ: " + ಮೊತ್ತ);
  }
}

ಇದನ್ನು ಓಡಿಸಿದರೆ ಸಿಗುವ ಪಳಿ:
     ಬಿತ್ತಿಗೆಗಳನ್ನು ಹಮ್ಮುಗೆಗೆ ನೀಡಲಾಗಿಲ್ಲ. ಹೊರಗೆ ಹೋಗುತ್ತಿದ್ದೇನೆ

ಆದರೆ ೨ ಅಂಕಿಗಳನ್ನು ಬಿತ್ತಿಗೆಗಳನ್ನಾಗಿ ಕೊಟ್ಟರೆ ಏನು ಸಿಗುತ್ತೆ ನೋಡೋಣ:
     java ಕನ್ನಡಎತ್ತುಗೆ 1 2
     ಒಟ್ಟು ಮೊತ್ತ: 3



ಕೆಲವು ನುಡಿ ಆಡುಗರು ತಮ್ಮದೇ ನುಡಿಯ ನೆಲೆಯುಳ್ಳ ಹಮ್ಮುಗೆಯ ನುಡಿಗಳನ್ನು ಕಟ್ಟಿಕೊಂಡಿರುವುದುಂಟು. ಆದರೆ ಇವು ಹೆಚ್ಚು ಬಳಕೆಯಲ್ಲಿಲ್ಲ. ಕೆಲವಂತೂ ಬರೀ ಕಲಿಕೆಗಾಗಿ ಬಳಸಲಾಗುತ್ತಿವೆ. ರೂಬಿ (ಜಪಾನ್) ಮತ್ತು ಪಯ್ತಾನ್ (ನೆದರ್ಲ್ಯಾಂಡ್ಸ್) ನುಡಿಗಳು ಇಂಗ್ಲೀಶ್ ಆಡದ ನಾಡುಗಳಲ್ಲೇ ಹುಟ್ಟಿದರೂ ಇಂಗ್ಲೀಶ್ ನುಡಿಯ ನೆಲೆಯಲ್ಲೇ ಅವನ್ನು ಕಟ್ಟಲಾಯಿತು. ಆದರೆ ಇನ್ನೂ ಕಲಿಮನೆಯ ಮೊದಲನೇ ಇಲ್ಲವೇ ಎರಡನೇ ಹಂತದಲ್ಲಿರುವ ಇಂಗ್ಲೀಶ್ ಬಲ್ಲದ ಮಕ್ಕಳಿಗೆ ಹಮ್ಮುಗಾರಿಕೆಯನ್ನು ಕಲಿಸಲು ಅವರ ನುಡಿಯ ನೆಲೆಯಲ್ಲೇ ಹಮ್ಮುಗಾರಿಕೆಯ ನುಡಿಗಳನ್ನು ಪ್ರಪಂಚದ ಹಲವು ನಾಡುಗಳಲ್ಲಿ ಕಟ್ಟಿಕೊಂಡಿದ್ದಾರೆ. ಕನ್ನಡದಲ್ಲಿ ಇದು ಇನ್ನೂ ಆಗಬೇಕಿದೆ.

Sunday, August 26, 2012

ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿ

ತಿಟ್ಟ: ಟ್ವಿಟ್ಟರ್ 


ಟ್ವಿಟ್ಟರ್ ಇಲ್ಲವೇ ಫೆಸ್ಬುಕ್ಕುಗಳ ಎತ್ತುಗೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ. ಹೊಸ ಸುದ್ದಿ (message) ಇಲ್ಲವೇ ಮತ್ತೇನಾದರೂ ಹೊಸದಿಕೆ(update)ಯನ್ನು ಹಂಚಿಕೊಳ್ಳಬೇಕಾದರೆ ಏನು ಮಾಡುತ್ತೀರಿ?

ನಿಮ್ಮ ಎಣಿ(computer)ಯನ್ನು ತೆಗೆದು, ನಡುಬಲೆ(Internet)ಗೆ ಸಿಲುಕಿಸಿ (connect), ಹೊರಳಿ(browser)ಯನ್ನು ತೆಗೆದು, ಬೇಕಾದ ತಾಣಕ್ಕೆ ಹೋಗಿ (ಫೇಸ್ಬುಕ್ / ಟ್ವಿಟ್ಟರ್) ಹೊಸದಿಕೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೀರಿ. ಆದರೆ ಹೀಗೆ ಎಣಿಯ ಮೂಲಕ ಮಾಡುವುದಕ್ಕೆ ಮನೆಯಲ್ಲೋ, ಅಳವೆಡೆ(office)ಯಲ್ಲೋ ಕುಳಿತಿರಬೇಕು. ಹಾಗಾದರೆ ಎಲ್ಲೋ ಹೀಗೇ ಪಯಣ ಕೈಗೊಂಡಾಗ ನಿಮ್ಮ ಬಗೆ
ಯೊಳಗಿನ ಮಾತು ಹೇಳಿಕೊಳ್ಳಬೇಕೆನಿಸಿದಾಗ, ಪಯಣದಿಂದ ಹಿಂದಿರುಗುವ ವರೆಗೂ ಕಾಯಬೇಕಾ? ಕಂಡಿತ ಇಲ್ಲ,  ಚೂಟಿಯುಲಿ(smart phone)ಗಳಿವೆ, ಅಲ್ಲವೇ? ಚೂಟಿಯುಲಿಗಳಿಂದ ನಡುಬಲೆಗೆ ಹೊಗಲು ೩ಜಿ ಊಳಿಗಗಳಿವೆ (services), ಮತ್ತು ಫೇಸ್ಬುಕ್ / ಟ್ವಿಟ್ಟರ್ ಮುಟ್ಟು(application)ಗಳಿವೆ. 

ನೀವು ಮಾಡಬೆಕಾಗಿರಿವುದು ಇಷ್ಟೇ: ನಿಮ್ಮ ಚೂಟಿಯುಲಿಯಲ್ಲಿ ಫೇಸ್ಬುಕ್ ಮುಟ್ಟನ್ನು ತೆಗೆದು ಅದರಲ್ಲಿ ನಿಮ್ಮ ಹೊಸದಿಕೆಯನ್ನು ಅಚ್ಚಿಸಿ ಹಂಚಿಕೊಳ್ಳ ಬಹುದು, ಎಲ್ಲಿಂದಾದರೂ! ತೀರಾ ಸುಳುವು ಅಲ್ಲವೇ?

ಆದರೆ ಇದರಲ್ಲಿ ನಿಮ್ಮ ಕಣ್ಣಿಗೆ ಕಾಣಿಸದೆ ಹಿನ್ನೆಲೆಯಲ್ಲೇ ಕೆಲಸ ಮಾಡಿ ಇದೆಲ್ಲವನ್ನೂ ಸುಳುವಾಗಿ ನೆರವೇರಿಸಲು ಸಾದ್ಯವಾಗಿಸುವ ಒಂದು ತೀರಾ ಮುಕ್ಯವಾದ ಅಂಶವಿದೆ. ಅದೇ ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿ (Application Programming Interface - API).

ಚೂಟಿಯುಲಿ, ೩ಜಿ ಊಳಿಗ - ಇವೆರಡೂ ಇದ್ದಲ್ಲಿ ಫೇಸ್ಬುಕ್ ತರದ ಊಳಿಗಗಳನ್ನು ಪಡೆಯಲು ನಿಮಗೆ ಬೇಕಾಗಿರಿವುದು ಮುಟ್ಟುಗಳು. ಮತ್ತು ಮುಟ್ಟುಗಳಿಗೆ ಬೇಕಾಗಿರುವುದು ಮುಟ್ಟು ಹಮ್ಮುಗಾರಿಕೆಯ ಒಡನುಡಿಗಳು. ಇವು ನಡುಬಲೆಯಲ್ಲಿ ಇಲ್ಲವೇ ಒಳಬಲೆಗಳಲ್ಲಿ (intranet)  ಸಿಗಬಲ್ಲವಾದ್ದರಿಂದ ಬಲೆಯೂಳಿಗಗಳೆಂದೂ (web services) ಕರೆಯುವುದುಂಟು.

ಮು.ಹ.ಒ.ಗಳು (APIs) ಮುಟ್ಟುಗಳಿಗೆ ಯಾಕೆ ಬೇಕು ಮತ್ತು ಅವುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮುಟ್ಟುಗಳು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂಬುದರ ಬಗ್ಗೆ ಮುಂದಿನ ಬರಹದಲ್ಲಿ ಬರೆಯುತ್ತೇನೆ.