The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Development’ Category

Recursively convert WMA files to MP3 using ffmeg on a Mac OS X bash shell

Posted by jpluimers on 2017/04/05

A friend of mine made the mistake to capture some CDs using WMA files and throwing away the CDs. His old Nokia could play them, but not his new iOS and Android devices.

ffmeg and bash to the rescue:

find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" -map_metadata 0:s:0 && rm "$NAME"' \;

Tricks used:

Read the rest of this entry »

Posted in *nix, *nix-tools, Audio, bash, bash, Development, ffmpeg, Media, Power User, Scripting, Software Development | Leave a Comment »

OpenSuSE Tumbleweed on Raspberry Pi: using Hexxeh/rpi-update to update the firmware

Posted by jpluimers on 2017/04/04

https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update && sudo chmod +x /usr/bin/rpi-update

The above is suggested by Hexxeh/rpi-update: An easier way to update the firmware of your Raspberry Pi

This is what I did  on my OpenSuSE Tumbleweed powered Raspberry Pi devices:

statler:~ # cd bin
statler:~/bin # wget https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update 
--2016-08-30 13:04:38--  https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12022 (12K) [text/plain]
Saving to: ‘rpi-update’

rpi-update          100%[===================>]  11.74K  --.-KB/s    in 0.002s  

2016-08-30 13:04:39 (6.36 MB/s) - ‘rpi-update’ saved [12022/12022]

statler:~/bin # ls -al
total 20
drwxr-xr-x 2 root root  4096 Aug 30 13:04 .
drwx------ 4 root root  4096 Aug 30 13:04 ..
-rw-r--r-- 1 root root 12022 Aug 30 13:04 rpi-update
statler:~/bin # chmod 755 rpi-update 
statler:~/bin # ./rpi-update 
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** We're running for the first time
 *** Backing up files (this will take a few minutes)
 *** Backing up firmware
 *** Backing up modules 4.1.19-1-rpi2
This update bumps to rpi-4.4.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    382      0 --:--:-- --:--:-- --:--:--   382
100 51.2M  100 51.2M    0     0  1511k      0  0:00:34  0:00:34 --:--:-- 1298k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.4.19+
 *** depmod 4.4.19-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to 818a860cf690d64c62d3227ad9c36d5867a671c2
 *** A reboot is needed to activate the new firmware
statler:~/bin # reboot

Then on the console:

U-Boot 2016.07 (Aug 12 2016 - 14:07:49 +0000)

DRAM:  880 MiB
RPI 2 Model B (0xa21041)
MMC:   bcm2835_sdhci: 0
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

In:    serial
Out:   lcd
Err:   lcd
Net:   Net Initialization Skipped
No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 4 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 1 Ethernet Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Scanning mmc 0:2...
Found U-Boot script /boot.scr
2781 bytes read in 50 ms (53.7 KiB/s)
## Executing script at 02000000
switch to partitions #0, OK
mmc0 is current device
5352616 bytes read in 1003 ms (5.1 MiB/s)
6088968 bytes read in 1010 ms (5.7 MiB/s)
14226 bytes read in 138 ms (100.6 KiB/s)
Kernel image @ 0x1000000 [ 0x000000 - 0x51aca8 ]
## Flattened Device Tree blob at 00000100
   Booting using the fdt blob at 0x000100
   Using Device Tree in place at 00000100, end 00006891

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Welcome to openSUSE Tumbleweed 20160828 - Kernel 4.1.19-1-rpi2 (ttyAMA0).


statler login: 
...
statler:~ # /opt/vc/bin/vcgencmd version
/opt/vc/bin/vcgencmd: error while loading shared libraries: libvchiq_arm.so: cannot open shared object file: No such file or directory

statler:~ # locate libvchiq_arm.so
-bash: locate: command not found

statler:~ # zypper install findutils-locate
....

statler:~ # locate libvchiq_arm.so
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

statler:~ # /usr/bin/updatedb
statler:~ #  locate libvchiq_arm.so
/opt/vc/lib/libvchiq_arm.so

–jeroen

Posted in Development, Hardware Development, Raspberry Pi | Leave a Comment »

7zip: compress from the command-line; a few notes and a small batch file

Posted by jpluimers on 2017/04/04

I wanted to compress a few files from the current directory in a zip file using the 7z.exe command-line version of 7zip.

The trick is about finding where 7z.exe is as the directory containing 7z.exe is not in the Windows PATH.

Notes:

setlocal
call SortDateTime.bat
echo %SortDateTime% %SortDate%-%SortTime%

for /f "usebackq tokens=2* delims= " %%c in (`reg query "HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip" /v Path`) do (
  set sevenzExe="%%d7z.exe"
)
endlocal & if exist %sevenzExe% %sevenzExe% a -tzip _my-build.%SortDate%-%SortTime%.zip MyServer.exe MyServer.map MyClient.exe MyClient.map

pause

–jeroen

Posted in Batch-Files, Development, Power User, Scripting, Software Development | Leave a Comment »

Go home GitHub, you’re drunk.

Posted by jpluimers on 2017/04/01

Go home GitHub, you’re drunk. – Jeroen Wiert Pluimers – Google+

Source: Go home GitHub, you’re drunk. – CodeProject – Google+

–jeroen

 

Posted in Development, DVCS - Distributed Version Control, git, GitHub, Software Development, Source Code Management | Leave a Comment »

Mac OS X: restarting Tunnelblick when it isn’t responding any more

Posted by jpluimers on 2017/03/31

In addition to my post about Mac OS X: restarting Google Drive when it shows a spinning wheel, restarting a hanging Tunnelblick is even easier:

killall Tunnelblick
open -a Tunnelblick

–jeroen

Posted in Apple, bash, Development, iMac, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, OS X 10.10 Yosemite, OS X 10.11 El Capitan, OS X 10.9 Mavericks, Power User, Scripting, Software Development | Leave a Comment »

Powering Raspberry Pi devices from a Fritz!Box USB connection

Posted by jpluimers on 2017/03/30

I tried to power both Raspberry B+ and Raspberry 2 B devices via the USB ports of both a Fritz!Box 7490 and Fritz!Box 7360.

At first this works, but the Raspberry B+ devices over time would become unstable: not being able to ping and/or boot.

So below are some links on power requirements and powering Raspberry Pi A, B, A+, B+, 2B and zero.

Fazit/TL;DR: use an external power supply when available.

Read the rest of this entry »

Posted in *nix, Development, Fritz!, Fritz!Box, Hardware Development, Internet, Linux, openSuSE, Power User, Raspberry Pi, SuSE Linux | Leave a Comment »

Mac OS X – serial communication programs

Posted by jpluimers on 2017/03/30

Some links that helped me getting FTDI USB serial communication to Raspberry Pi systems going:

–jeroen

Posted in Apple, Communications Development, Development, Hardware Development, Hardware Interfacing, iMac, Legacy Ports: COM, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, OS X 10.10 Yosemite, OS X 10.9 Mavericks, Power User, Raspberry Pi, USB | Leave a Comment »

When Delphi is missing the `ActiveX` items in the `File -> New` dialog

Posted by jpluimers on 2017/03/29

Marco Cantú posted the below solution when ActiveX is missing in your File -> New dialog which I’ve paraphrased:

OK, you can try this.

  1. Close RAD Studio/Delphi.
  2. Open the registry editor.
  3. Under HKEY_CURRENT_USER, open the Known IDE Packages\Delphi — that is something like HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\18.0\Known IDE Packages\Delphi
  4. Search for the delphicompro240.bpl, entry
  5. Edit it: remove the __ (double-underscore) pre-pended to the value (Untitled). In other word, change “__(Untitled)” into “(Untitled)“.
  6. Close registry editor.
  7. Open the IDE.

I ran it it recently and was glad this worked.

–jeroen

Source: Hey! I have a new Delphi :)…Great!  And what to do now with my favorite…

Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | Leave a Comment »

Mac OS X: restarting Google Drive when it shows a spinning wheel

Posted by jpluimers on 2017/03/29

Every now and then, Google Drive on Mac OS X gets confused and starts showing the spinning wheel when hovering over the menu bar icon similar to for instance DropBox does every once in a while.

This is how to terminate and restart Google Drive from the terminal (no need for su):

killall -v -SIGKILL Google\ Drive
open -a Google\ Drive

Alternatively you can start Google Drive using this:

/Applications/Google\ Drive.app/Contents/MacOS/Google\ Drive &

I found this executable through osx – Find all executable files within a folder in terminal – Ask Different

Note that this won’t kill Google Drive as it sends the TERM signal (SIGTERM):

killall -v Google\ Drive

–jeroen

Posted in Apple, bash, Development, Google, GoogleDrive, iMac, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, OS X 10.10 Yosemite, OS X 10.11 El Capitan, OS X 10.8 Mountain Lion, OS X 10.9 Mavericks, Power User, Scripting, Software Development | 1 Comment »

Heroku Node.js in the cloud (free hosting!) – via: Smart Mobile Studio

Posted by jpluimers on 2017/03/28

Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.

Source: Cloud Application Platform | Heroku

via:

As mentioned in the first part, node.js was initially developed for the cloud. While there are enough paid hosting providers available, much nicer is of course to get it running for free! :). We will try to get our node.js server of part 2 up and running in the cloud…

Source: Server-side Node.js (part 3): Node.js in the cloud (free hosting!) – Smart Mobile Studio [WayBack]

Heroku is ideal for experimenting as their free plan allows for sleeping dyno instances that only get activated when there is a need for it (they sleep after 30 minutes of inactivity) and rain from the pool of 1000 free dyno hours per month.

See these links for more information

–jeroen

Posted in Development, Heroku, JavaScript/ECMAScript, Node.js, Scripting, Software Development | Leave a Comment »