Skip to content

Content classified under "Tutorial"

Page 7 of 12

Display a Function's Errors in Oracle

June 30, 2017Categories: Software, Tutorial
TL;DR: Use the power of DBMS_OUTPUT.PUT_LINE , Luke! I've built a function along the lines of: When using the function, I got some 0 results and I wanted to know why. The solution I got was using DBMS_OUTPUT.PUT_LINE : Now, all you have to do is enable DBMS_OUTPUT in your environment and you…

Call an Oracle Function from Spring with CallableStatement

June 29, 2017Categories: Software, Tutorial
Following the previous post , I wondered if there's a more elegant way to call a function. It turns out there is and it's based on CallableStatement : The CallableStatementCreator sets up the statement and the CallableStatementCallback executes the statement and returns the value up to the…

Call an Oracle Function from Spring

June 29, 2017Categories: Software, Tutorial
The easiest way to call a function from Spring is using SELECT . For example, having a function HAS_PANEL_FLAG_OK with two parameters and returning an integer , the function call looks like: This will return all flags for the panels matching the condition. Java Call The query string can be…

Easy Volumio Plugin Development

June 28, 2017Categories: Software, Tutorial
The past few days I've been struggling with building a volume controller plugin for volumio. My initial routine would be something like: edit the source code on a PC zip the code and some node_modules bundled from another plugin load the plugin in volumio This presents several issues: Slow…

SoundMachine Build Log 02

June 23, 2017Categories: Hardware, Tutorial
I've decided to put in a knob to control the volume directly on the box itself. It will be controlled by volumio itself via a plugin, much like the GPIO Buttons plugin. Since this is really a development kit approach, the hardware consists of: A KY-040 rotary encoder and A screw-based prototype…

SoundMachineBuild Log 01

June 15, 2017Categories: Hardware, Tutorial
A while ago I've decided to try my hand at replacing my Sonos system with a DIY version of a sound system. I have two reasons to do this: I think it's going to be fun and I have a bunch of FLAC files at odd resolutions which are not really playable by the Sonos system. After giving it some thought…

HifiBerry Pin Usage

June 13, 2017Categories: Hardware, Tutorial
The past few days I've been struggling with the unknown of how many pins from the GPIO interface are actually used by the HifiBerry sound card (or my clone). Fortunately, I've found the used pins: As you can see, there are quite a few pins left for other things, which means I won't have to use an…

Change the File Extension in Typescript - Using Path

April 28, 2017Categories: Software, Tutorial
Following from my previous post , I've updated the function to use only the path module. Now, the code looks like: I've updated the workflow presented previously to: isolate the dir , ext and root components of the path replace the ext with the new extension return the normalized version…

Configure Volumio with PiFi DIGI DAC+

April 19, 2017Categories: Hardware, Tutorial
The other day I've got a Chinese clone of HiFiBerry, a PiFi DAC+ v2.0: Here are the steps to configure it with Volumio . First, you need to install Volumio 2 (2.129 at the moment of writing). You need to configure it to e.g. connect to the network, index songs. Note: Back up your config.txt (and…

Change the File Extension in Typescript (or Javascript)

April 18, 2017Categories: Software, Tutorial
TL;DR: You need to get the root name (without the extension) and append the new extension. Then, it only depends on how tolerant you are. The other day I figured I needed a function to change the file extension (from a .jpg to a .nfo ). Since I haven't found a ready made function to do this, I…

All categories