First Principles

I think it’s important to reason from first principles rather than by analogy. The normal way we conduct our lives is we reason by analogy. [With analogy] we are doing this because it’s like something else that was done, or it is like what other people are doing. [With first principles] you boil things down to the most fundamental truths…and then reason up from there.

Elon Musk

Back to blogging

I started web logging (blogging) back in 1999 when i got into web development. Way before WordPress, where you had to code your own version of blog websites on GeoCities, SpacePorts or similar free hosting platforms.

Somewhere between 2005 and now i stopped since it became main stream. Now that the band wagon has predominantly moved onto social media platforms and the ease of uae of WordPress, i find myself getting back into the habit. I can voluntarily share my content to interested parties, hide my personal musings and have complete control over my data.

What i missed about blogging is that feeling that you are able to articulate your thoughts to an audience without prejudice or judgement on a post, hit publish and keep it private for noone to see.. It’s like talking to a shrink but on the cheap. I can vent out, ramble, then read through what i wrote and psycho-analyze myself.

Once you know something, there’s no going back, you can’t simply unlearn things you experience. The.more experiencea you go through, your understanding of how the world and people operate broadens. The realization of that sometimes gets uncomfortably heavy and one must adapt to thrive.

Cooling & Storage upgrades

Updated my shoe box for the coming summer heat:

  • Replaced stock AMD cooler with a Noctua L9i with AM4 mounting kit
  • Added a 92mmx25mm Noctua fan on the side
  • Added a 120mm Noctua fan in the front
  • Added a Seagate 2tb SSHD drive for my media and games.

Temperatures seems to be nominal, everything considered.

Also updated my BIOS to v4.40 and AMD Chipset drivers to 17.40, hopefully that sorts out the Spectre/Meltdown vulnerabilities

Why I train

The simple truth of it is i want some resemblance of control. Where i can tell myself matter-of-fact that i had significant influence on the outcome of my undertaking. A safe emotional and mental environment where i can break and rebuild myself in every aspect of life away from the judging eyes of my peers and people in general.

I am my worse enemy, so i try to one up myself in every aspect I can. That way I have this sense of moving forward towards something, anything really, so long as it’s worth while. I guess one if not my greatest fears is staying stagnant. I figure life is a journey, so I have this irrational fear of missing out on something if I stop moving forward and progressing.

I love running because it taught me the importance of endurance and patience, life is a marathon not a sprint after all. I took up powerlifting to teach me the value of mental and physical strength under tension, we all have some weight on our shoulders we carry around. I took up cycling to remind me to stop and enjoy the scenery, life needs a constant change of pace. Last but not least, I became more mindful of my nutrition and resting cycles seriously because you have to love and respect yourself first before people around you reciprocate it towards you.

I attribute my growth and success in life to the fruits of my physical training. It is suprisingly more mental and psychologist than one would think. Though it is a jard concept to graps unless you go through the grind yourself. The superficial side effects are just perks of the real benefits of pushing yourself to always be a better version of yourself day in and day out regardless of the circumstances.

Stitched Up

I was at the Army MTB trail in Taguig yesterday, testing out my Surly Karate Monkey to see how it handles. On my last loop i tried the red trail and ended up crashing near the end. I thought it was nothing until I padded myself down and felt a notch in my shin.

I basically tore the skin exposing a little bit of bone which i was advised to have stitched up. So after applying first aid, having my bike and car washed, and eating lunch I decided to go to a public hospital to go get stitches.

I really didn’t want to get medical assistance due to the astronomical cost of health care locally but i was pleasantly surprised to only pay P351.00 ($7 USD) for my 5 stitches, basically only paying for supplies.

I now have a greater appreciation for public hospitals and the monetary savings you get with similar if not the same level of care as oppose to private hospitals… Assuming you have the patience to fall in line.

phonegap setup guide for android on Windows

This is a short guide on how to setup a working and testing environment for either native or Phonegap/Cordova based Android app development on a Windows machine.

NOTE: the versions of the software I list here are the current versions available  as of this article’s posting, or my personal preference.

To get you on your merry way of building android apps via Phonegap on Windows 8/8.1 you’ll be needing the following software:

Now we set things up one at a time…

Java SDK

Install the JDK first since it is required by both the Android Studio and Apache-Ant. After installing take note of the installation folder which is typically in C:Program FilesJavajre7, we will be appending this to our PATH environment variable later on. We will need this to access the Java keytool for signing our apps.

Android Studio

After installing this in your preferred settings open the SDK Manager and check the tools you’ll need. This is dependent on which version of android you plan to support; also make sure to select ARM-EABI System image for each version of android you on using. If your system supports Intel Virtualization be sure to check Intel x86 Emulator Accelerator as well. Now that you’re done click on Install Packages.

image

While that’s downloading we will setup paths. Navigate to System Properties (you can search system environment in Windows 8 to open the dialog) then click on Environment Variables. Once there we will be adding some variables, you may choose to either add it globally or for the current user.

image

Add the variable ANDROID_HOME with value of the SDK path found in the SDK Manager dialog (see the image up top). After that you’ll want edit the PATH variable and append the path to Android’s tools and platform-tools folder like so (note the semi-colon as the separator)

Notice the ANT_HOME variable? to save time we will segue a bit and set this up now. Simply extract the apache-ant archive to your preferred location, this will be the value of the ANT_HOME variable (e.g.C:apache-ant-1.9.4).

We also added the the bin folder location of our Java SDK which is in the installation directory we noted earlier.

That’s it! Just remember that we also appended the %ANT_HOME%bin to the PATH variable as well.

Before proceeding any further open your commend prompt and test to see if the paths are properly set by echoing each variable you added/changed (e.g. echo %ANDROID_HOME%). You may have to restart your system for the variables to take effect. You may also try the “ant -diagnostics” command without quotes to see if the paths for it are correct. You may encounter an error like Unable to locate tools.jar. which you can ignore.

Assuming that the packages are done downloading and installed. If your system supports Intel Virtualization (VT-x, VT-d). proceed to your Android SDK folder then look for the Intel x86 Emulator Accelerator which is typically in extraIntelHardware_Accelerated_Execution_Managerintelhaxm-android.exe and install it manually.

If you are getting errors during installing despite having support for Virtualization:

  1. check if you are running Hyper-V (a Windows 8 Pro feature) and disable it in the control panel.
  2. if you are running Avast, navigate to Setting > Troubleshooting then uncheck Enable Assisted Hardware Acceleration.
image

Now proceed to Tools > Android > AVD Manager (Android Virtual Device) in Android Studio and ad a virtual device for testing. For the System Image setting it is much faster to use the x86/x86_x64 if your system supports Virtualization; if not choose the ARMEABI albeit really slow.

image

Node.js and Phonegap

After installing Node.js locate and open the Node.js command prompt shortcut then install phonegap and cordova by executing the commands below. This will download and install the latest versions of the packages.

once that is done, you can now start building and testing phonegap apps.

Phonegap Build caveat

There is also a Phonegap build service you may use for free.Simply supply your html files in zip format from either  a public repository or by uploading them to their servers and in turn will supply you with a compiled app for the platforms you choose.

The disadvantage being that you will have to upload files every time you want to rebuild/debug the source. It doesn’t not provide emulation or testing environment either; So what ever time you save skipping the setup of your development environment will be negated sooner than later when you start to test.