tag:blogger.com,1999:blog-43760400530363051492024-03-08T10:52:49.314-08:00himynameisthirdyPersonal Log of Vicente "Thirdy" S. de Rivera III.
Thoughts and opinions about everyday life. Interesting things he found, learned and saw about Music, Programming etc. Qapla!thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.comBlogger30125tag:blogger.com,1999:blog-4376040053036305149.post-68255673603421239042023-10-18T17:16:00.008-07:002023-10-18T17:16:38.392-07:00Beyond TDD<p> Today I was writing a class JUnit test code that of course runs very slow as it starts up by bringing the whole AWS infrastructure online (exaggeration) just to run several assertTrue statements..</p><p>As you might suspect, I am not fond of writing this test code. This is because I know in my heart that this test code will be more burden than useful:<br /><br /></p><ol style="text-align: left;"><li>The test will contribute to a test suite that will take 5 hours to complete</li><li>The test is very hard to read because it deals with CSV importing code.. and Java does not deal well with such string intensive inputs</li><li>The test has a lot of test specific code which adds maintenance burden</li><li>Dev only test code, modern test code strive towards making it readable for non-technical</li></ol><div><br /></div><div>This frustration brought me an idea. A vision of testing Beyond TTD. What if tests live inside the application and can be used run time? The main motivation for this is to really have a living test suite and documentation. This makes it so that non-technical users can add and maintain test cases themselves with normal user-interface.</div><div><br /></div><div>It has pros and cons of course, but it feels to me that this is the right balance. You will of course needs to really design this and probably favor pure functions to aid in test simplicity..<br /></div><p></p><p>PS: The title is inspired by Nico Rosberg's podcast called "Beyond Victory"</p>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-15048895547709241602023-09-21T00:20:00.005-07:002023-09-21T03:27:16.830-07:00TIL: The JVM can ommit stacktraces in the name of optimization<p>While investigating an issue, I saw a NullPointerException without a stacktrace..<br /><br />ERROR logs that omits the throwable object (and it is available) is quite devastating. I call such situation 'swallowing the exception'.<br /><br />However, this time, it is very different. Apparently the HotSpot JVM may opt to not log the stacktrace but only the exception:<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg_8jmBOB0_oZeX0gLWLsd7RgkMyOYLbtFvnYUb9DQaozNurKNgA7OyRI9ua7vepF8pZN8LqOepMYPPGhAHCuiATXXL1txbYhk3qHYX0MBCl6IC-JtWq2keU6OxIwmwUy-ssMvkZy80uJh8rB3guWteWFSTPIo06Tn8s_S18TW7kLDcYw20fVtY38JGgok" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="455" data-original-width="737" height="198" src="https://blogger.googleusercontent.com/img/a/AVvXsEg_8jmBOB0_oZeX0gLWLsd7RgkMyOYLbtFvnYUb9DQaozNurKNgA7OyRI9ua7vepF8pZN8LqOepMYPPGhAHCuiATXXL1txbYhk3qHYX0MBCl6IC-JtWq2keU6OxIwmwUy-ssMvkZy80uJh8rB3guWteWFSTPIo06Tn8s_S18TW7kLDcYw20fVtY38JGgok" width="320" /></a></div><br />source: https://stackoverflow.com/questions/2411487/nullpointerexception-in-java-with-no-stacktrace<br /><br />Having a look at older instances of this ERROR log, I found that the occurrence the day before indeed had stacktrace. This is quite surprising and something I would not expect..<p></p>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-46100189121320080702019-08-19T00:55:00.001-07:002019-08-19T00:56:20.032-07:00Software Methodologies and ReligionI have recently read an interesting 2006 post from Steve Yegge titled <a href="http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html" target="_blank">Good Agile, Bad Agile</a>. The comments section has also informative criticisms.<br />
<br />
It's good to read and understand various ideas. From my experience and knowledge so far, I think the biggest problem with methodologies is that company X can be so different and it is very easy to blindly 'adopt' a methodology without putting in the effort in understanding it. The same with religion and superstition. (Idea I got from <a href="https://queue.acm.org/detail.cfm?id=966794" target="_blank">this article</a>).<br />
<br />
The most interesting idea I have learned so far on this topic however comes from Edgar Schein. Paraphrasing the idea: "Professional Relationship hurts Communication". I highly recommend listening to him <a href="https://www.youtube.com/results?search_query=Edgar+Schein" target="_blank">on YouTube</a>. I look forward to read his books.thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-75260741900130975482016-08-12T08:06:00.001-07:002016-08-12T08:09:47.141-07:00TIL (Today I Learned) - various important things for Software Development<ol>
<li>When resetting a whole column on a relational database table, dropping/adding the column might be better than running an UPDATE. In my case, I had to update two columns to NULL from a table with 35 million rows.</li>
<li>OAuth 1. I had to support a third party to use our REST service that uses OAuth 1.0a. In only a couple of days, I had to learn how this spec works and write up the details needed by the 3rd party to write a client. I'm glad that today there's plenty of resources for this complicated spec; I can imagine that this would be very troublesome to understand in the past. At least a former colleague had a lot of issues when he worked with Facebook OAuth in the past. This blog <a href="https://marktrapp.com/blog/2009/09/17/oauth-dummies/" target="_blank">post</a> really helped me out in quickly understanding OAuth.</li>
<li>Monitor HTTP traffic of java programs via Fiddler. With networking setups, it is often easier said than done. By experience, I knew I would be in trouble with how to setup the SSL certs, force java to to use a proxy server, etc. Surprisingly, this is actually easy to do. I use <a href="http://www.asjava.com/tools/capture-http-https-traffic-from-java-programs-with-fiddler/" target="_blank">this</a> guide and was able to set it up in 5 mins!</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-ZpOtePZ-970/V63meJ819gI/AAAAAAAAA9U/Fq_VECXfdFIJsr9VeVMYsIxJ-rsJjH5PACLcB/s1600/Capture.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="173" src="https://2.bp.blogspot.com/-ZpOtePZ-970/V63meJ819gI/AAAAAAAAA9U/Fq_VECXfdFIJsr9VeVMYsIxJ-rsJjH5PACLcB/s320/Capture.PNG" width="320" /></a></div>
<br /></div>
thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-25924821373078059272015-08-13T02:06:00.000-07:002015-08-13T02:08:29.310-07:00Print Plain SQL Select Statement in Slick 3.0.0<br />
If you were searching the net on how to print the extremely useful plain SQL select statement when using Slick 3.0.0 queries; Then it's your lucky day.<br />
<br />
Here's a working example wherein AccountActivityHistory_00Table is my table.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"> val q0 = Replica.AccountActivityHistory_00Table.filter(row => (row.DateCreated >= start && row.DateCreated <= end) || (row.DateModified >= start && row.DateModified <= end))<br /> println(q0.result.statements)</span><br />
<br />
It's in the result field, as in <b>result.statements</b>, this is an Iterable of Strings.<br />
<br />
As of this writing the example from Typesafe isn't updated yet to slick 3.0.0 release:<br />
https://github.com/typesafehub/activator-hello-slick/blob/slick-3.0/src/main/scala/HelloSlick.scala<br />
<br />
And the upgrade guide doesn't tell us anything either:<br />
http://slick.typesafe.com/doc/3.0.0/upgrade.htmlthirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com1tag:blogger.com,1999:blog-4376040053036305149.post-36134731066627353562014-06-04T17:04:00.003-07:002014-06-04T17:04:59.100-07:00Workstation Automation I: Startup Tomboy NotesI use <a href="http://en.wikipedia.org/wiki/Tomboy_%28software%29" target="_blank">Tomboy Notes</a> as my paperless way to track my working hours for almost a year now. Everyday, when Ubuntu finishes booting up, the first thing I do is to start two applications: Firefox and Tomboy Notes.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-a2TbMS9WNCY/U4VmVaRBngI/AAAAAAAAAXk/RsMYEmWh32w/s1600/Screenshot+at+2014-05-28+12:21:16.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-a2TbMS9WNCY/U4VmVaRBngI/AAAAAAAAAXk/RsMYEmWh32w/s1600/Screenshot+at+2014-05-28+12:21:16.png" height="195" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>Screenshot of my May 12, 2014 worklog</i></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Once I Tomboy notes starts; my next step is to "Create New Note", then type in the date today as the title of my work log for the rest of the day. And last, put in my time-in.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-FzXX4riZ-VE/U4VoTYx8nkI/AAAAAAAAAXw/Wfjx6Szirys/s1600/Screenshot+at+2014-05-28+12:27:30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-FzXX4riZ-VE/U4VoTYx8nkI/AAAAAAAAAXw/Wfjx6Szirys/s1600/Screenshot+at+2014-05-28+12:27:30.png" height="180" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-r4uwNz89L38/U4VoVR6gWPI/AAAAAAAAAX4/Kkrx3EPXqac/s1600/Screenshot+at+2014-05-28+12:29:25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-r4uwNz89L38/U4VoVR6gWPI/AAAAAAAAAX4/Kkrx3EPXqac/s1600/Screenshot+at+2014-05-28+12:29:25.png" height="200" width="162" /></a></div>
<br />
<br />
This only took my around only 10 to 15 seconds of my time everyday. Small amount of time; however, when you add the numbers for a year, it adds up to an 1 hour (262 Working days - ~20 holidays * 15 sec) + the precious cognitive load when you do this + thinking about "why can't I automate this".<br />
<br />
Thus I finally decided to automate this and I was able to reduce the time spent to 5 sec + work satisfaction.<br />
<br />
Here are the steps I did:<i></i> <span style="font-size: x-small;"><i>By the way, I'm using Ubuntu 11.10</i></span><br />
1. Use "Startup Application Preferences", add in the applications you want to start automatically. In my case, Firefox and Tomboy.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-7IC9_PiXSC8/U4Vs9HewruI/AAAAAAAAAYE/nIUoLFAONgI/s1600/Screenshot+at+2014-05-28+12:43:03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-7IC9_PiXSC8/U4Vs9HewruI/AAAAAAAAAYE/nIUoLFAONgI/s1600/Screenshot+at+2014-05-28+12:43:03.png" height="190" width="320" /></a></div>
<br />
2. Adding firefox is easy. However, for tomboy I need to use xargs to pass in the date today as a parameter. And for this work, I used an sh script.<br />
<blockquote class="tr_bq">
#!/bin/sh<br /><br />date "+%B %d, %Y" | xargs -0 tomboy --new-note</blockquote>
3. Learning to use the <span style="font-family: "Courier New",Courier,monospace;">date</span> command should be easy. <span style="font-family: "Courier New",Courier,monospace;">xargs</span> however is little more difficult. Fortunately, this <a href="http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/" target="_blank">page</a> explained it well.<br />
<br />
4. Save this script as tomboy.sh, then make sure that it can be executable at boot time:<br />
<blockquote class="tr_bq">
chmod 777 tomboy.sh</blockquote>
5. Enjoy! <br />
thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-59161861587835488382014-01-17T20:10:00.002-08:002014-01-21T00:52:17.770-08:00Me doing a talk about Eclipse at Philippine Tech Hackers meetupMe doing a presentation for <a href="http://hackmakati.com/" target="_blank">phacker's hackmakati</a>, topic "Editors & IDEs".
My presentation was for Eclipse.<br />
<br />
<a href="http://2.bp.blogspot.com/-h9tc1NpTb2k/Utn5J6jag7I/AAAAAAAAAWM/9Fg0okqhUNY/s1600/1080551_10202102844787326_1488729527_n.jpg" imageanchor="1"><img border="0" src="http://2.bp.blogspot.com/-h9tc1NpTb2k/Utn5J6jag7I/AAAAAAAAAWM/9Fg0okqhUNY/s1600/1080551_10202102844787326_1488729527_n.jpg" height="300" width="400" /></a><br />
<br />
It's been too long since I did a presentation like this, too long that trees can already talk. Well, specifically 2 years already.<br />
<br />
The audience was a mixed, rubyists, groovyists, perlites (or stringmaster, as suggested by a good friend/buddy from ##programming), a few droids & even non-programmers. I hope these folks didn't get bored with me speaking in English. Yep, there were non-tagalog folks so I had to talk in English - something I did not anticipate, because the last time I went to phackers meetup (2 months ago), we were very few & all filipino.<br />
<br />
The other talks (vim, eclipse, sublime) were great! their presentation stacks were a lot better than mine :|. At the very least, I got to show this cool image:<br />
<br />
<a href="http://1.bp.blogspot.com/-eN_cX_3iuSw/Utn9V_YWGMI/AAAAAAAAAWY/HQvw8TRtBT8/s1600/611.jpg" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/-eN_cX_3iuSw/Utn9V_YWGMI/AAAAAAAAAWY/HQvw8TRtBT8/s1600/611.jpg" height="266" width="400" /></a><br />
<br />
Lesson learned: my english & confidence skills (if they were existent) went really bad. On the positive side, it was a great experience, exp that you do not get by everyday. Thank you Philippine Tech Hackers!<br />
<br />
<a href="http://www.slideshare.net/hackmakati/eclipse-30244423" target="_blank">Link</a> to my presentation slides.<br />
<br />
<i>/* also thanks to my good friend Fuji for lending me his laptop */</i>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com1tag:blogger.com,1999:blog-4376040053036305149.post-3929942424276982282013-11-28T19:12:00.001-08:002013-11-28T19:15:56.554-08:00Lisp, A Brave New WorldWell, at least for me, Lisp is a "Brave new world"<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-yVY97I6ddyU/UpgE4OoGwyI/AAAAAAAAAU4/ietgSlAxbgU/s1600/bravenewworld.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-yVY97I6ddyU/UpgE4OoGwyI/AAAAAAAAAU4/ietgSlAxbgU/s320/bravenewworld.png" width="320" /></a></div>
<br />
I finally got the urge to learn Lisp after reading Paul Grahams "<a href="http://www.paulgraham.com/avg.html" target="_blank">The Blub Paradox</a>".<br />
I'm surprised to say, "Nothing beats the feeling of accomplishing Hello World".<br />
The last time I felt this was with C (using turbo c). Not sure with Java's hello world though XD.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-4Kf96tJ9EaM/UpgBV8N7miI/AAAAAAAAAUk/tJ_3nR_z6Z8/s1600/hello-world-lisp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="http://3.bp.blogspot.com/-4Kf96tJ9EaM/UpgBV8N7miI/AAAAAAAAAUk/tJ_3nR_z6Z8/s320/hello-world-lisp.png" width="320" /></a></div>
<br />
Achieving this is just 2 steps:<br />
1. Download 'Lisp in a box' from <a href="http://common-lisp.net/project/lispbox/">http://common-lisp.net/project/lispbox/</a> and unzip.<br />
2. Run the launcher and type "Hello World".thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-4000615620104507352013-11-08T07:49:00.004-08:002013-11-08T07:49:36.046-08:00A long shot, JTyrian<a href="http://1.bp.blogspot.com/-o5rEo5cbMI8/Un0FtQcCWlI/AAAAAAAAAUU/Wumo4NqLSzE/s1600/programming-night-jtyrian.png" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/-o5rEo5cbMI8/Un0FtQcCWlI/AAAAAAAAAUU/Wumo4NqLSzE/s320/programming-night-jtyrian.png" /></a><br />
<br />
It has been years since I have done game programming. Back then it was J2ME or with Swing using a lot of JPanel. I did attempt to learn Java 3D or those popular game programming libraries like JMonkeyEngine, but nah, all I came up was HelloWorld.
<br />
<br />
But the wheel of time has turned & now there's <a href="http://libgdx.badlogicgames.com/" target="_blank">LibGDX</a>. It's great, IMO, documentation for beginners is not so great. Luckily I found this blog that has a <a href="http://steigert.blogspot.com/2012/02/1-libgdx-tutorial-introduction.html." target="_blank">series of tutorials</a>.<br />
<br />
So far so good, I've made the program work up to post #3. The source code is <a href="https://code.google.com/p/jtyrian/source/detail?r=6" target="_blank">@ revision 6</a> & is open source <a href="https://code.google.com/p/jtyrian/" target="_blank">here</a>.thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-75817248475497271512013-11-07T16:20:00.000-08:002013-11-07T16:47:56.298-08:00Another primitive File I/O gotcha!A part of the feature I'm writing is to load multiple regex from a file. The file is simple, each line represents a regular expression.<br />
<br />
<blockquote class="tr_bq">
\b(cat|kitten)\b<br/>
\b(dog|curr)\b<br/>
\b(buffalo|tamaraw)\b
</blockquote>
<br />
Now I needed to test my method that uses these regex:<br />
<br />
<blockquote class="tr_bq">
public class Animals {<br/>
private List<string> regexes;<br/>
public Animals(List<string> regexes) {<br/>
this.regexes = regexes;<br/>
}<br/>
public String detectAnimal(String input) {<br/>
// for each regex, create a java.util.Pattern and at the first match, return Matcher.group()<br/>
}<br/>
}<br/></blockquote>
<br />
The test data for animals is around 1 million that is stored in DB.
For me to be able to test this is to use Groovy's DataSet to loop through the test data. For each iteration, run the detectAnimal method and save to DB. Easy enough.<br />
<br />
Now here's the big Gotcha. Below is the Groovy code I used to build my List of regexes. Note that I used this code only for testing purposes.<br />
</string><br />
<blockquote class="tr_bq">
File file = new File(Animals.class.getResource(Animals.DEFAULT_CONFIG_FILE).getFile())
Animals animal = new Animal(Arrays.asList(file.getText().split('\n')))
</blockquote>
<br />
A character '\r' was not removed from the resulting list of regex which looks like this:
<br />
<blockquote class="tr_bq">
\b(cat|kitten)\b\r<br/>
\b(dog|curr)\b\r<br/>
\b(buffalo|tamaraw)\b<br/>
</blockquote>
This essentially breaks all the regexes except the last one: \b(buffalo|tamaraw)\b
Debugging this (I used Eclipse) was tricky since '\r' or carriage return is non-printable character.
<br />
<p>
To make this much more complicated, in the Java code, I have already written the code that loads the config file which uses Apache Commons IO FileUtils. This code was located in a Project wite Utils class which uses a java static block to load config files. Which, honestly, I don't like. Since using static blocks is a bad practice.
</p>
<p>
Honestly, this might have clouded my judgement of not using this Utils class. Also since Groovy is a shiny new language, so I was excited in using the new & improved File class. But apparently, Groovy's File class does not have readLines as opposed to FileUtils from Apache Commons.
</p>
<i>TODO, make this post more readable</i>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-10140180698978412762012-10-30T20:58:00.000-07:002012-10-30T20:58:00.300-07:00Pokémon Exception Handling<h3>
<span style="font-size: xx-small;"><i><span style="font-weight: normal;"></span></i></span></h3>
<h3>
<span style="font-size: xx-small;"><i><span style="font-weight: normal;"></span></i></span></h3>
<h3>
<span style="font-size: xx-small;"><i><span style="font-weight: normal;">from <a href="http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html" target="_blank">http://www.codinghorror.com/<wbr></wbr>blog/2012/07/new-programming-<wbr></wbr>jargon.html</a></span></i></span><br />
</h3>
<h3>
Pokémon Exception Handling</h3>
<div>
<small><a href="http://stackoverflow.com/users/205426/woot4moo" target="_blank">woot4moo</a></small></div>
<img alt="Pokemon" src="http://www.codinghorror.com/.a/6a0120a85dcdae970b0176169669bd970c-800wi" title="Pokemon" width="320" />
<br />
For when you just Gotta Catch 'Em All.
<br />
<pre>try {
}
catch (Exception ex) {
// Gotcha!
} </pre>
thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-5978284052522450392011-03-25T14:18:00.000-07:002011-03-26T21:27:29.236-07:00Rivals Schools' NEW ALBUM is here! <i><span style="font-size: x-small;"><span style="font-family: Arial,Helvetica,sans-serif;">got worn-out in coding, I'll enjoy music for now :) </span></span></i><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://upload.wikimedia.org/wikipedia/en/f/f1/Pedals.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://upload.wikimedia.org/wikipedia/en/f/f1/Pedals.jpg" /></a></div>Rival Schools, a New York based Post-hardcore band, one of my favorite underrated music. For me, Walter Schreifels (vocals & guitar) is a gifted music genius who writes good lines & riffs.<br /><br />If you are a fan of underrated music, or looking for one, this is definite constant, no exception.<div><br /></div><div>They're new album titled "Pedals" is a long-awaited album for fans, after the former "United By Fate", Walter has been busy with his solo album and side projects.<br /><h2><span style="font-size: x-small;"><span class="mw-headline" id="Track_listing">Track listing</span></span></h2><ol style="text-align: left;"><li><span style="font-size: x-small;">"Wring It Out" – 3:28</span></li><li><span style="font-size: x-small;">"69 Guns" – 3:22</span></li><li><span style="font-size: x-small;">"Eyes Wide Open" – 3:00</span></li><li><span style="font-size: x-small;">"Choose Your Adventure" – 3:25</span></li><li><span style="font-size: x-small;">"Racing to Red Lights" – 4:03</span></li><li><span style="font-size: x-small;">"Shot After Shot" – 3:14</span></li><li><span style="font-size: x-small;">"A Parts for B Actors" – 3:38</span></li><li><span style="font-size: x-small;">"Big Waves" – 2:59</span></li><li><span style="font-size: x-small;">"Small Doses" – 3:59</span></li><li><span style="font-size: x-small;">"The Ghost Is Out There" – 3:20</span></li></ol><br />Personally I like '69 Guns', (great live performance below).<br /><i><span style="font-size: x-small;">live@ spinner's The Interface, austin, tx</span></i><br /><br /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="346" id="AOLVP_73032373001" width="400"><param name="movie" value="http://o.aolcdn.com/videoplayer/AOL_PlayerLoader.swf"><param name="bgcolor" value="#000000"><param name="allowFullScreen" value="true"><param name="wmode" value="transparent"><param name="allowscriptaccess" value="always"><param name="flashvars" value="playerid=61371447001&codever=1&videoid=73032373001&stillurl=http%3A%2F%2Fpdl%2Estream%2Eaol%2Ecom%2Faol%2Fbrightcove%2Fus%2Fmusic%2Finterface%2Fumg%5Fislanddefjam%2Frivalschools%2F2010%2D03%2Fspinnersxsw%5Frivalschools%5F69guns%5F2%5Fvideo%5Fstill%5F480%2Ejpg&publisherid=1612833736"><embed src="http://o.aolcdn.com/videoplayer/AOL_PlayerLoader.swf" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" allowfullscreen="true" bgcolor="#000000" width="400" height="346" name="AOLVP_73032373001" flashvars="playerid=61371447001&codever=1&videoid=73032373001&stillurl=http%3A%2F%2Fpdl%2Estream%2Eaol%2Ecom%2Faol%2Fbrightcove%2Fus%2Fmusic%2Finterface%2Fumg%5Fislanddefjam%2Frivalschools%2F2010%2D03%2Fspinnersxsw%5Frivalschools%5F69guns%5F2%5Fvideo%5Fstill%5F480%2Ejpg&publisherid=1612833736"></embed></object><br />see the lyrics <a href="http://lyrics.wikia.com/Rival_Schools:69_Guns">here</a><br /><br />You can also listen to <a href="http://purevolume.com/rivalschools">purevolume</a> for the Album's single & an exclusive live.<br /><br />sources: wikipedia.org, wikia.com, spinner.com</div>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-38147611548977466392011-03-24T02:53:00.000-07:002011-03-24T02:53:27.838-07:00A Junior Java Software Developer Diary # 2<div class="separator" style="clear: both; text-align: center;"></div><div class="" style="clear: both; text-align: center;">Funny day long of coding. While we (me, justin & gladys) our team does our very own daily conference (chat) methodology :), I got caught typing a jejemon style word. "paupdatezzzz", was just me telling that I'm already tired.<br />
<br />
</div><div class="" style="clear: both; text-align: center;"></div><div class="" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh4.googleusercontent.com/-_3RSISw-SGg/TYsQXwGV1CI/AAAAAAAAALw/yOugZ3uxH7M/s1600/jejechat.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="70" src="https://lh4.googleusercontent.com/-_3RSISw-SGg/TYsQXwGV1CI/AAAAAAAAALw/yOugZ3uxH7M/s400/jejechat.PNG" width="400" /></a></div><br />
</div><div class="" style="clear: both; text-align: center;">I am neutral with all the kill em' all jejemon buzz, but it got interesting and funny. </div><div class="" style="clear: both; text-align: center;"></div><div class="" style="clear: both; text-align: center;"><br />
</div>There are already a lot of jejemon stuff including a wikipedia article and a cool <a href="http://www.jejeschool.com/">http://www.jejeschool.com</a> :) And as for my idea, <span class="Apple-style-span" style="color: yellow;">jejemon </span><span class="Apple-style-span" style="color: blue;">programming </span><span class="Apple-style-span" style="color: red;">language</span>!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://lh4.googleusercontent.com/--si01BeoIJE/TYsTfHr4EWI/AAAAAAAAAL0/Wjufuwmwtzk/s1600/jejepl.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="166" src="https://lh4.googleusercontent.com/--si01BeoIJE/TYsTfHr4EWI/AAAAAAAAAL0/Wjufuwmwtzk/s400/jejepl.PNG" width="400" /></a></div>I already made a sample for the language construct :D Happy coding!thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com1tag:blogger.com,1999:blog-4376040053036305149.post-19141360179769846222011-03-21T07:12:00.000-07:002011-03-21T07:12:47.544-07:00A Junior Java Software Developer Diary<a href="http://www.tpt.com/images/architecture-tiers-C2.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="308" src="http://www.tpt.com/images/architecture-tiers-C2.jpg" width="320" /></a><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;">A Junior <span class="Apple-style-span" style="color: red;">Java </span>Software Developer <span class="Apple-style-span" style="color: #3d85c6;">Diary</span></span><br />
<br />
Since around a month ago I've been learning a ton of information from a Godlike Java Architech ;)<br />
So before I forget some of these priceless lessons & experience, I'll be making a series of log about it :0.<br />
<br />
Everything from real-world requirements gathering, proposing a design, architecture design, tools to everyday coding.<br />
<br />
I'm really feeling lucky ;)thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-71221649725374941712011-03-17T09:24:00.000-07:002011-03-17T09:24:14.468-07:00My Android App in Progress!<div class="separator" style="clear: both; text-align: center;">Finally got my first Android App in progress!</div><div class="separator" style="clear: both; text-align: center;">thanks to Chris (<a href="http://www.kreci.net/">http://www.kreci.net/</a>) for the inspiration. I'll describe more of this on my next post, I need to sleep now, it's 2:23AM already.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-f1K1MeE1cbw/TYI06q7a8nI/AAAAAAAAALo/hoNTTwC6rqM/s1600/androidappScrSht031811.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://lh3.googleusercontent.com/-f1K1MeE1cbw/TYI06q7a8nI/AAAAAAAAALo/hoNTTwC6rqM/s320/androidappScrSht031811.PNG" width="320" /></a></div>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com1tag:blogger.com,1999:blog-4376040053036305149.post-42474819539021002362011-02-22T05:39:00.000-08:002011-02-22T14:27:33.711-08:00Black in BlackI'm back from the depths of the void ;)<br />
<div><a href="http://2.bp.blogspot.com/-pDlOEz9cP4E/TWPE0d_cxQI/AAAAAAAAAG8/iHtstkJl8bY/s1600/220px-AIC_FINAL_COVERsmall.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://2.bp.blogspot.com/-pDlOEz9cP4E/TWPE0d_cxQI/AAAAAAAAAG8/iHtstkJl8bY/s1600/220px-AIC_FINAL_COVERsmall.jpg" /></a>Very long since my last post here. So much have happened, unfortunately undocumented.</div><div><br />
</div><div>Fortunately, I've found a <b>new sense of importance in logging</b> (web). Three things.</div><div><br />
</div><div>(1)Most importantly is to have a record of your thoughts. Because definitely tomorrow will be another big day and it's likely that you'll forget most of what happened today.</div><div><br />
</div><div>(2)Next is to share, well I hope my posts do help someone out there :D</div><div><br />
</div><div>(3)And last is to monetize, though commonly thought as the root of all evil (it can), it's also an important thing for us humans to live.</div><div><br />
</div><div>Right now, so much is happening, so much stuff I'd like to todo:</div><div><ol><li>Android</li>
<li>Make a great Blog</li>
<li>My fulltime Software Engineer Job (busy)</li>
<li>Prepare & Sell my PC</li>
</ol><div>I'd like to attribute this comback post to AIC's comeback album BGWTB. I'm happy I am able to log again here ;) till next post!<br />
<br />
<br />
</div></div>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com1tag:blogger.com,1999:blog-4376040053036305149.post-63141977714947677222009-05-21T08:37:00.000-07:002009-05-21T09:03:44.944-07:00JavaFX and Lars Ulrich of Metallica!After finally appreciating JavaFX, and now maybe I'll say that JavaFX is damn cool because of this app I just found.<br /><br /><a href="http://www.javafx.me/crudfx/examples/RhytmBox.html">http://www.javafx.me/crudfx/examples/RhytmBox.html</a><br /><br />It's a simple JavaFX application, but for Metallica a fan and a Java programmer, this is awesome, haha!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.javafx.me/crudfx/examples/rhytm.jpg"><img style="cursor: pointer; width: 500px; height: 214px;" src="http://www.javafx.me/crudfx/examples/rhytm.jpg" alt="" border="0" /></a>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-85469990297630907862009-05-19T01:47:00.000-07:002009-05-19T01:53:40.653-07:00Way better than Winamp (maybe but it's FOSS)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pp1lDleCq8k/ShJzGlheiiI/AAAAAAAAAD4/6gVolgq1Nx4/s1600-h/atunes_scrsht_051909.PNG"><img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_pp1lDleCq8k/ShJzGlheiiI/AAAAAAAAAD4/6gVolgq1Nx4/s400/atunes_scrsht_051909.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5337455065376393762" /></a><br /><br /><br />A new player that I use. Better than teenspirit/jaangle and (maybe) way better than Winamp :D<br />The player is called [b]aTunes[/b].<br />Website: [link]http://www.atunes.org/[/link]<br /> <br /> Quick Overview:<br /> 1. Open Source (GNU General Public License).<br /> 2. Cross-Platform (Written in Java, my lang of choice :D).<br /> 3. Last.fm support (MAL for music fans).<br /> 4. Built-in lyrics viewer and album-cover downloader.<br /><br />Written in Java, it also uses Substance, an open-source super cool Look and Feel Java which I used before :Dthirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-89150881746894857932009-05-16T03:04:00.001-07:002009-05-16T03:26:26.708-07:00Pong gameYesterday I started to did PulpCore. After a google search for a tutorial, I found a good one from <a href="http://blog.alexjeffery.org/">http://blog.alexjeffery.org/</a>.<br />After I fairly got to understand how pulpcore works, I added my very first AI.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pp1lDleCq8k/Sg6Q2KndhPI/AAAAAAAAADw/eG--kBCs6A4/s1600-h/pongwAI_scrsht051609.PNG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 221px;" src="http://2.bp.blogspot.com/_pp1lDleCq8k/Sg6Q2KndhPI/AAAAAAAAADw/eG--kBCs6A4/s320/pongwAI_scrsht051609.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5336361868717819122" /></a><br /><br />You can play the game here <a href="http://thirdy.freehostia.com/pong.html">http://thirdy.freehostia.com/pong.html</a><br />I've uploaded the complete netbeans project <a href="http://www.hotlinkfiles.com/files/2545666_zdoz5/Pong_121130.zip">here</a>.thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-37037004676569612082009-05-12T07:23:00.000-07:002009-05-12T07:52:27.943-07:00Blink-182 stuffed bunny!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pp1lDleCq8k/SgmH80Io_kI/AAAAAAAAADA/y3iJfT-SEOc/s1600-h/5070081.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_pp1lDleCq8k/SgmH80Io_kI/AAAAAAAAADA/y3iJfT-SEOc/s320/5070081.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5334944712453848642" /></a><br />New blink-182 stuff! still prototype though, got it from Mark's blog here,<br /><a href="http://www.pickrset.com/markhoppus/?p=624&cpage=3">http://www.pickrset.com/markhoppus/?p=624&cpage=3</a><br />I left a comment that a Desert Punk doll for Blink-182 would be cool :D<br />Can't wait for their new album!thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-87913083137533541942009-05-10T19:26:00.000-07:002009-05-12T07:21:32.901-07:00Cool Open Source Java Games!my google searching effort for cool Java open source game stuff has paid off. Very cool enough that I'd make a posting for it here.<br /><br />First off <span style="font-weight:bold;">Pulpcore</span> <a href="http://www.interactivepulp.com/pulpcore/">http://www.interactivepulp.com/pulpcore/</a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.interactivepulp.com/pulpcore/"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 336px; height: 63px;" src="http://www.interactivepulp.com/images/logo.png" border="0" alt="" /></a><br /><br />This <a href="http://nicktoonsnetwork.nick.com/games/newbies/">demo </a>says(IMO), "Java Applets can crush Flash games now". Really cool demo, looks like Doom for kids!<br /><br />Next off is, <span style="font-weight:bold;">Robocode</span>, <a href="http://robocode.sourceforge.net/">http://robocode.sourceforge.net/</a><br /><br />A game for programmers where you create a Java code for a robot to battle! nice! Every thing is up and running without any pain in setting up, they got good docs too. Here's a screenshot.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pp1lDleCq8k/SgeQOEb5yQI/AAAAAAAAACQ/BymecfDQRAg/s1600-h/robocode_thirdy_srcsht_051009.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_pp1lDleCq8k/SgeQOEb5yQI/AAAAAAAAACQ/BymecfDQRAg/s200/robocode_thirdy_srcsht_051009.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5334390855026985218" /></a>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-24268206454181260432009-05-08T18:47:00.000-07:002009-05-12T07:23:16.200-07:00The best JavaME article out there<a href="http://developer.sonyericsson.com/community/docs/DOC-2594#cf">http://developer.sonyericsson.com/community/docs/DOC-2594#cf</a><br /><br /> I finally got our thesis prototype working because of this article. Although I didn't read it haha because I skipped and jumped into the demo code. The code is very clean and nicely done! I spent two sleepless nights trying to make video recording using the WMA API and it's working, very fullfilling!<br /> My biggest weapon I forged from this experience is the use of catching RuntimeExceptions. Really helped in my bug catching missions~thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-53781767107833471712009-05-04T03:16:00.001-07:002009-05-12T07:22:46.419-07:00WarriorPigWarriorPig is a translation tool I've just created today. I've hosted it in<br />http://code.google.com/p/warriorpig/<br />Features:<br /> Commandline translation<br /> Swing front-end<br /> Automatically translate text from clipboardthirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-30851647475899843752009-05-04T03:10:00.001-07:002009-05-12T07:22:15.944-07:00COol Mp3 tag editorsFinally back to start posting again here. I finally found some very good mp3 tag other than gmusicbrowser(Linux).<br />TagScanner<br />http://xdlab.ru/en/index.htm<br />Mp3Tag<br />http://www.mp3tag.de/<br />TagScanner is better, at least it's ui is not a hogger as it looks.thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0tag:blogger.com,1999:blog-4376040053036305149.post-15929174440472054012008-11-08T18:37:00.000-08:002008-11-08T18:59:41.780-08:00∞ # of monkeys, ∞ # of typewriter and an ∞ amt of time<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Monkey-typing.jpg/250px-Monkey-typing.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 250px; height: 179px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f1/Monkey-typing.jpg/250px-Monkey-typing.jpg" border="0" alt="" /></a><br />"An infinite number of monkeys hitting at an infinite number of typewriters for an infinite amount of time will eventually produce all works of Shakespeare."<br /><br />Really cool theorem, makes me dream about all the possibilities, maybe a chimp smarter than <a href="http://en.wikipedia.org/wiki/Albert_Einstein">Albert Einstein</a>. And build mechas(VF-1) for us. Nice<br /><cite><a href="http://www.instantfundas.com/2008/11/can-infinite-number-of-monkeys-with.html">http://www.instantfundas.com/2008/11/can-infinite-number-of-monkeys-with.html</a></cite>thirdyhttp://www.blogger.com/profile/13635815663491760015noreply@blogger.com0