Skip to main content

Posts

What is going on?

Warning: Pure train of thought. My primary hard drive has crashed so I have to switch to Windows temporarily. There is nothing special happening lately except for the fact that I am enjoying life to the fullest. I can say that I am on the right track. I really thank God for that. Personal projects are keeping me busy these days. Next month I will be pursuing my MSCS degree. Hopefully this time, I am mature enough to handle school stuffs. Anyway here are stuffs for you to check, When Nature is Freakier than Sci-Fi Artificial Intelligence Blizzard Entertainment CitiSecOnline - Philippines Online Stockbroker

IBM Signed Numeric Table

If you are dealing with IBM mainframes, you will see signed numbers written this way. { = 0 } = -0 A = 1 J = -1 B = 2 K = -2 C = 3 L = -3 D = 4 M = -4 E = 5 N = -5 F = 6 O = -6 G = 7 P = -7 H = 8 Q = -8 I = 9 R = -9 Enjoy! “Stupidity is doing the same things repeatedly and expecting different results!”

Recovering from a checked exception in Java

If you are working on the back-end, this might be of use. Very trivial but rarely used. /** * This class demonstrates how to recover from checked exceptions * @author Joset */ public class CheckedExceptionRecovery { /** * @param args the command line arguments */ public static void main(String... args) { InputStreamReader inputStreamReader = new InputStreamReader(System.in); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); int input = 0; boolean done = false; do { try { System.out.println("Please enter an integer: "); input = Integer.parseInt(bufferedReader.readLine().trim()); done = true; } catch (NumberFormatException numberFormatException) { System.out.println("Invalid input. Please try again."); } catch (IOException ioException) { System.out.println("C...

Controller (MVC) Tips for Java Servlets / JSP

I was inspired by a face-to-face technical interview awhile ago that is why I am writing this down. To avoid having the Servlet’s doXXX() methods clogged, use reflection by breaking down your controller code into modules. Here’s how. You must have the following. 1. Reflection Interface (ServletHandler.java) - An interface for reflection. Nice definition! 2. Main Servlet (MainServlet.java) - A class extending HttpServlet. 3. Module Handler (CreditHandler.java) - A class containing the module’s controller code, for this example, the Credit Module. in file ServletHandler.java , import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public interface ServletHandler { public abstract void setServlet(HttpServlet servlet); public abstract void handle(HttpServletRequest request, HttpServletResponse response); } in file MainServlet.java , protected void doGet(HttpServletRequest r...

Method Piercing in Java

There’s nothing new here. I just want to reiterate though. class TargetClass { private static String DB_PASSWORD = "sw0rdfish"; private static String getDatabasePassword() { return DB_PASSWORD; } } And the attack? import java.lang.reflect.Method; public class ClassPiercing { public static void main(String... args) throws Exception { Class targetClass = Class.forName("TargetClass"); Method[] methods = targetClass.getDeclaredMethods(); methods[0].setAccessible(true); String databasePassword = (String)methods[0].invoke(null, null); System.out.println("Database Password: " + databasePassword); } } Output: Database Password: sw0rdfish Check out Val’s Blog by clicking [here] . He has more examples.