tag:blogger.com,1999:blog-93469992024-03-14T13:58:22.883+08:00YK's WorkshopSome of the crazy things I've done trying to solve problems that exist not because they are legitimate issues, but due to human processes and red tape in IT. Or maybe all issues are legitimate, one way or the other?Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-9346999.post-40778356973558542082023-07-08T21:26:00.000+08:002023-07-08T21:26:02.807+08:00BSF John 2023/2024 - Bible References by Lesson
Lesson 1 KJV | NIV | ESV
Lesson 2 KJV | NIV | ESV
Lesson 3 KJV | NIV | ESV
Lesson 4 KJV | NIV | ESV
Lesson 5 KJV | NIV | ESV
Lesson 6 KJV | NIV | ESV
Lesson 7 KJV | NIV | ESV
Lesson 8 KJV | NIV | ESV
Lesson 9 KJV | NIV | ESV
Lesson 10 KJV | NIV | ESV
Lesson 11 KJV | NIV | ESV
Lesson 12 KJV | NIV | ESV
Lesson 13 KJV | NIV | ESV
Lesson 14 KJV | NIV | ESV
Lesson 15 KJV | NIV | ESV
Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-82462144835018133802022-07-17T01:33:00.013+08:002022-11-05T19:49:26.181+08:00BSF People of The Promised Land - Kingdom Divided (PPD) 2022/2023 - Bible References by Lesson
Lesson 1 KJV | NIV | ESV
Lesson 2 KJV | NIV | ESV
Lesson 3 KJV | NIV | ESV
Lesson 4 KJV | NIV | ESV
Lesson 5 KJV | NIV | ESV
Lesson 6 KJV | NIV | ESV
Lesson 7 KJV | NIV | ESV
Lesson 8 KJV | NIV | ESV
Lesson 9 KJV | NIV | ESV
Lesson 10 KJV | NIV | ESV
Lesson 11a KJV | NIV | ESV
Lesson 11b KJV | NIV | ESV
Lesson 12 KJV | NIV | ESV
Lesson 13 KJV | NIV | ESV
Lesson 14 KJV | NIV | ESVAllenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com2tag:blogger.com,1999:blog-9346999.post-70385144949396578122021-07-11T00:46:00.007+08:002022-07-24T20:27:13.207+08:00BSF Matthew 2021/2022 - Bible References by Lesson
Lesson 01 KJV | NIV | ESV
Lesson 02 KJV | NIV | ESV
Lesson 03 KJV | NIV | ESV [Missing entries KJV | NIV | ESV]
Lesson 04 KJV | NIV | ESV
Lesson 05 KJV | NIV | ESV
Lesson 06 KJV | NIV | ESV
Lesson 07 KJV | NIV | ESV
Lesson 08 KJV | NIV | ESV
Lesson 09 KJV | NIV | ESV
Lesson 10 KJV | NIV | ESV
Lesson 11 KJV | NIV | ESV
Lesson 12 KJV | NIV | ESV
Lesson 13 KJV | NIV | ESV
Lesson 14 KJV | NIV |Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com2tag:blogger.com,1999:blog-9346999.post-57273181502936506002021-01-02T14:41:00.005+08:002021-01-02T14:54:53.780+08:00Abridged guide to using highlight.js for syntax-highlighting in BloggerUsing highlight.js. I am highlighting XML & Java code snippets, so the "base" version will suffice.SetupAt Blogger, go to Theme, then select the dropdown on right of "Customise" button > Edit HTML.Using HTML view, paste the code below under "head" tag:<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/default.min.css" />
<script Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-30079806940113715702021-01-01T18:22:00.001+08:002021-01-01T18:31:18.161+08:00Windows 10 - Reinstalling Hardware Drivers with DevConTested on Windows 10 64-bit.
Manual/UI WayGo to Device Manager, locate the faulty entry (mine is a Bluetooth-WIFI card) and right-click & select "Uninstall driver". Then "Scan for hardware changes" (Menu: Action).Semi-manual/command-prompt wayDownload & install Windows Drivers Kit (WDK) [direct link]. Ignore "warning" as you just need to use the DevCon.exe tool.Locate devcon.exe. UsuallyAllenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-56003913780195695452020-09-28T23:42:00.011+08:002021-02-20T15:04:50.184+08:00BSF Genesis 2020/2021 - Bible References by Lesson
Lesson 01 KJV | NIV | ESV
Lesson 02 KJV | NIV | ESV
Lesson 03 KJV | NIV | ESV
Lesson 04 KJV | NIV | ESV
Lesson 05 KJV | NIV | ESV
Lesson 06 KJV | NIV | ESV
Lesson 07 KJV | NIV | ESV
Lesson 08 KJV | NIV | ESV
Lesson 09 KJV | NIV | ESV
Lesson 10 KJV | NIV | ESV
Lesson 11 KJV | NIV | ESV
Lesson 12 KJV | NIV | ESV
Lesson 13 KJV | NIV | ESV
Lesson 14 KJV | NIV | ESV
Lesson 15 KJV | NIV | ESV
LessonAllenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-51970558573384476892019-06-09T22:24:00.000+08:002020-09-29T22:44:19.015+08:00wget on Windows
Overview
This is to document my steps to download all image (JPG) files along with PDF and regular HTML files instead of using the web browser, using only 1 command (wget).
Installation
Use Choco (https://chocolatey.org/). Follow installation instructions @ https://chocolatey.org/install
Then open a command prompt with administrative rights to install wget:
choco install wget
Usage
My Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-49369349026279597662017-04-24T16:57:00.000+08:002020-09-29T22:44:36.405+08:00North Korea: China or The USA's Opportunity?
Overview
North Korea's sabre-rattling tactics by launching missiles and conducting nuclear tests may be seen as an internal affair to boost confidence in Kim Jong-Un's regime, but with its neighbours being alarmed, and attracting the attention of the USA, the hermit kingdom is no longer insulated from world affairs. China, the emerging superpower, will be hard-pressed to act, while the USA, Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-26786317046391901012017-04-18T13:17:00.000+08:002017-04-18T13:23:44.685+08:00GoAccess: Visualize Your Web TrafficIf you want a visual representation of your web traffic, try GoAccess (https://goaccess.io/). You will never let it go.
I am just generating a report using static log files. GoAccess has many other features (real-time updates, console access, JSON/CSV-exporting etc.) that I haven't got the need to use (for now).
Tools Used:
- Mac OS 10.12
- GoAccess v1.2
Installation
brew install Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-39424533867862587212016-06-02T20:34:00.000+08:002016-06-02T20:36:59.167+08:00Update Microsoft Windows if Windows Update seems to be 'stuck'Sometimes old laptops/PCs have trouble updating via Windows Update after a new installation. Even after leaving the machine running, you will wake up in dismay knowing that you left the machine running without achieving anything.
Steps to do so:
Stop Windows Update service (Run: services.msc)
Go to: http://download.wsusoffline.net/
Grab the latest download.
Unzip, then there are 2 parts:
Run Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-67357734139709043462015-03-29T01:34:00.003+08:002021-01-02T13:12:33.565+08:00JCodec - Grabbing and saving picture frames from videoJCodec is an open source pure java implementation of video and audio codecs and formats (this statement was ripped from the website (http://jcodec.org/index.html). It's a nifty API, with a nice license (BSD), but sadly, as with open source software, the documentation can get a little bit stale.
The code listed on the website (as of Mar 29, 2015) to get a single frame works on v0.1.5, but as Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-58361223554183647132014-03-28T17:25:00.005+08:002021-01-02T13:20:44.670+08:00Base64 in Java 8 - It's Not Too Late To Join In The FunFinally, Java 8 is out. Finally, there's a standard way to do Base64 encoding. For too long we have been relying on Apache Commons Codec (which is great anyway). Memory-conscious coders will desperately use sun.misc.BASE64Encoder and sun.misc.BASE64Decoder just to avoid adding extra JAR files in their programs, provided they are super sure of using only Sun/Oracle JDK. These classes are still Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-2365025430956899862013-12-05T15:15:00.001+08:002013-12-05T19:47:51.829+08:00Insidi-DoS: Internally negotiated, self-image-damaging DoS
What's more damning and ego-bruising than an external DoS (denial of service) attack? Why, an internally inspired one of course. Which self-respecting company would do such a thing to itself? What's the rationale to this irrational behaviour? Recently, the largest bank in Malaysia (let's call it Big Bank) chose to rollout a Metro-style UI 'improvement' on its well-known, critically-acclaimed Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-33968873793775459182013-11-26T17:32:00.002+08:002013-11-27T11:48:08.044+08:00Accessing Git Repositories using SSH behind HTTP proxy (TortoiseGit, Putty)There's an easier way to do this since my previous post on the subject above. SSH key generation steps are not discussed here, but the only thing worth mentioning here is that the private key be in PPK format (use PuTTYgen to convert them)
Using TortoiseGit, use Putty to save a 'Session'. Name the session short and simple e.g. hornetsnest. This is significant and to make things simpler, no Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-18849260331306857342013-09-02T18:21:00.000+08:002013-11-26T16:29:20.204+08:00Running Apache/IHS on privileged ports (80, 443) as a non-root user: The 'sudo' way
Overview
For some out-of-this-world reason, your Unix administrator fears giving you the root access. But your web server (Apache or IBM HTTP Server) needs to bind to a privileged port e.g. 80, 443, and root privilege is needed. Using 'sudo', you can at least not bother your administrator to start/stop/restart anymore. He would either be happy that no one's calling to bug him anymore, or fear Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-69767801101554237322013-05-14T18:26:00.004+08:002021-01-02T13:37:34.446+08:00Invoking EJB3 in WebSphere using Spring
Here are the steps to call a method of an EJB (v3.0) deployed in WebSphere 7 from a plain old Java client, either using Spring to shield your code from unnecessary implementation details, or bare-bones straightforward coding style.
Note: Tested against WAS 7 only.
Common Steps
1. Firstly, the Remote interface class is needed and will be referenced in your client code to call the EJB Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-65988845568215640852013-04-16T22:45:00.001+08:002021-01-02T13:39:45.865+08:00Strategy Pattern Applied - KeyStoreTemplateUpdate: I wrongly attributed the design pattern implementation below to the Template pattern, it's actually the Strategy pattern as pointed out by a user in Reddit. However, the article below is kept in its original form, with just the title changed. Sorry for the confusion :)
The Template design pattern is useful if you have methods that follow a similar pattern but differ only in a few placesAllenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-37078962362647803552013-03-14T22:49:00.005+08:002021-01-02T13:42:42.159+08:00Cryptography Using JCA - Services In Providers
The Java Cryptography Architecture (JCA) is an extensible framework that enables you to use perform cryptographic operations. JCA also promotes implementation independence (program should not care about who's providing the cryptographic service) and implementation interoperability (program should not be tied to a specific provider of a particular cryptographic service).
JCA allows numerous Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com1tag:blogger.com,1999:blog-9346999.post-8457606853884152482013-01-22T19:17:00.000+08:002013-03-14T22:32:27.408+08:00Beginning HP-UX for Linux Junkies
I've got the (unfortunate) privilege of doing some tinkering using a HP-UX box. But, as any battle-hardened Linux user would tell you, HP-UX (along with AIX, Solaris and other Unixes) is a different animal. Things may look similar, but lots of commands for simple things are different in parameters and usage. Here's what I learnt during this short stint using HP-UX and hopefully this will be goodAllenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com1tag:blogger.com,1999:blog-9346999.post-48025203640000192092013-01-02T23:10:00.000+08:002013-11-26T16:38:30.487+08:00IntelliJ CE for Maven WebApps
IntelliJ Community Edition is a free and good IDE for plain old Java programming, and is also good for Android development. When it comes to enterprise/web development, the Ultimate Edition is the better choice if you can afford it. However, you can also do some simple Java web development using Maven and running your application server outside of IntelliJ. No doubt it's less integrated but you Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-91292241428246793102012-12-10T21:58:00.001+08:002021-01-02T13:45:11.977+08:00Generating Certificates With BouncyCastleUsually, after a serious public-private key generation session, the private key would need to be stored. The obvious place would be a key store. The commonly used method to accomplish this using java.security.KeyStore class:
void setKeyEntry(String alias, byte[] key, Certificate[] chain)
You'll need at least one Certificate object to accompany the private key. You may be tempted (or Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-65518813397062578342012-11-01T22:46:00.002+08:002012-11-02T08:49:56.399+08:00Late Adopter's Guide To JSF
'The Late Adopter's Guide' is a short composition to help developers who are busy supporting legacy (e.g. JDK 1.4, EJB 2.1, Struts 1.x, JSP) Java technologies (like me!) that they have little time to try out newer stuff or there were technical limitations trying to introduce newer stuff into existing systems. But now you are itching to learn that one technology you've been craving all along.
Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-60193449323697395202012-10-04T20:03:00.000+08:002012-10-06T13:19:14.508+08:00Springing to Spring's DefenseLately there have been less Spring-related articles posted (or probably publicized). Some took it as a sign of decline in its popularity. What about the silent majority? Well, I believe that this bunch of people are not undecided, but are already happy saving the world from oblivion using Spring. Here's my story.
This blog entry's title is funny as in actual fact, Spring doesn't need any Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com0tag:blogger.com,1999:blog-9346999.post-59965807111681024662012-09-28T17:13:00.001+08:002012-09-28T17:13:31.530+08:00Turbo-charge your Android emulator for faster development
I came across an article, which claims to boost the Android emulator's performance using Intel's Hardware Accelerated Execution Manager (HAXM) driver. It got me excited and I decided to verify this claim. This blog entry is my story.
My tools:
Android SDK r20.0.3
Intellij Community Edition 11.1.3
Basically, the special 'enhancement' provided by Intel is a special x86 Atom system image Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com2tag:blogger.com,1999:blog-9346999.post-73373653738962988742012-09-27T09:15:00.004+08:002021-01-02T13:48:21.592+08:00Embedding HSQLDB server instance in SpringI was using XAMPP happily for development until I had to host it somewhere accessible via the Internet for the client to test and use. I have a VPS that only has 384 RAM, and needing to find a way fast, I decided to install XAMPP into the VPS. Because of the low RAM, when MySQL was running, Tomcat failed to start, even though the initial Java heap size was set to 64m. I managed to host the site Allenhttp://www.blogger.com/profile/15865569970929504859noreply@blogger.com3