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,854 other subscribers

Archive for the ‘Development’ Category

GitHub – JanDerogee/TeleJukebox: A project based on the concepts of the Wonderfoon and Arduinofoon

Posted by jpluimers on 2021/11/18

[Wayback/Archive.is] GitHub – JanDerogee/TeleJukebox: A project based on the concepts of the Wonderfoon and Arduinofoon which simplfies the design of the Wonderfoon keeping the most important music playback feature down to

a simple PCB in a small case where you plug the phone in

The completed project works very simple:

  • Pick up the phone, you hear the “dial tone” MP3, Dial a number, you hear the MP3 0..9 playing (depending on the dialed number), When the song is over, you hear the “disconnected” MP3, You can dial another number and hear another song or hang up the phone.
  • Some phones also have a button on the front. When you press this button, the phone randomly playes one of the songe 0..9 and when that song is over, it automatically plays a new song, randomly. This will allow the person on the phone to continuously listen to the music. This may be of help to those who can’t figure out how it works but love to hear the songs over and over again.
  • You can configure the music folder from which the MP3s are played, you can use up to 10 different folders
  • You can configure the volume of the device
  • Configurations are done through the phone itself (dial 738 OR hold the button while picking up the handpiece), you hear a voice that guides you through a menu and all you need to do is dial in your settings value.

You can power this design through a USB port cable. This way the device can be fed using a simple mobilephone charger OR be connected to the PC. When connected to a PC, the TeleJukebox identifies itself like a USB-stick and you can easily modify the file without removing the card from the system. Meaning that you do no even need to open the case in order to change the collection of MP3 files. Keep in mind that when the device is in USB-stick mode, it cannot playback MP3 files meaning that in this mode it will not act like a TeleJukebox.

Music rights

Especially when using this in a professional environment. be sure the music that plays is rights free (there are music therapists for treating people with Alzheimer’s and dementia that can help you with that).

Steps, reasoning, and building instructions

A less in depth Dutch article (with 13 minute explaining video below) explaining most of the steps and all the reasoning is this multi-part one:

  1. [Wayback] .Build – Bouw een Wonderfoon – Bouw een Wonderfoon voor iemand anders – Achtergrond – Tweakers

    It works with these and younger phones as long as they can do pulse-dialing:

    De T65, W65 en T65 TDK

  2. [Wayback] .Build – Bouw een Wonderfoon – Wat is een Wonderfoon? – Achtergrond – Tweakers

    The small regular and debug boxes under the PTT/KPN phone connector box:

    .Build Wonderfoon - Twee keer TeleJukebox

  3. [Wayback] .Build – Bouw een Wonderfoon – Een goedkopere variant – Achtergrond – Tweakers
  4. [Wayback] .Build – Bouw een Wonderfoon – Slopen is zonde – Achtergrond – Tweakers

    Both boards with electronics soldered:

    .Build Wonderfoon - Beide varianten van de TeleJukebox

    The non-debug board with components to be soldered:

    .Build Wonderfoon - Onderdelen TeleJukebox

  5. [Wayback] .Build – Bouw een Wonderfoon – T65 bewerken – Achtergrond – Tweakers

    The small cleanup and modification steps (shorting the microphone) for the T65 phone:

    .Build Wonderfoon - Contact haakT65 schoonmaken.Build Wonderfoon - Contact haakT65 schoonmaken

    .Build Wonderfoon - Aansluitingen T65.Build Wonderfoon - Aansluitingen T65.Build Wonderfoon - Aansluitingen T65.Build Wonderfoon - Aansluitingen T65

  6. [Wayback] .Build – Bouw een Wonderfoon – Solderen maar! – Achtergrond – Tweakers

    Schematics:

    .Build Wonderfoon - Schema TeleJukebox

    Shopping list:

    – 1x Pcb of perf board (€ 1,01)
    – 1x Arduino Pro Micro (€ 7,95)
    – 1x DFPlayer mp3-speler(€ 0,73)
    – 1x TIL111 optocoupler (€ 0,41)
    – 2x Weerstand 4K7 Ohm (€ 0,16)
    – 7x Weerstand 2K7 Ohm (€ 0,56)
    – 1x Weerstand 560 Ohm (€ 0,08)
    – 1x Elco 1000 µF 6.3 V (€ 0,23)
    – 1x Condensator 330nF (€ 0,13)
    – 1x Condensator 100nF (€ 0,05)
    – 2x Led (€ 0,06)
    – 1x USB, type B, pcb (€ 0,67)
    – 1x Tactile switch (€ 0,09)
    – 1x Pinheader, male, 6 breed (€ 0,03)
    – 4x Jumper kabel, female (€ 1,95)
    – 1x Micro sd-kaart (€ 2,50)
    – 1x PTT-wandcontactdoos (€ 2,99)
    – 1x Behuizing (€ 1,22)
    Totaal € 20,82

    Voor de compacte pcb kun je de switch, een led, een weerstand van 2k7 Ohm en de twee weerstanden van 4k7 Ohm weglaten.

  7. [Wayback] .Build – Bouw een Wonderfoon – Voor wie gaat hij worden? – Achtergrond – Tweakers

    The inside of the non-debug box:

    .Build Wonderfoon - TeleJukebox

 

Wonderfoon got more versatile

Note that the most recent Wonderfoon products got more versatile allowing more songs, warnings for taking pills, and ring-reminders based on morse code.

[Wayback] Home | Wonderfoon

. De Wonderfoon-Centrale

–jeroen

Read the rest of this entry »

Posted in Arduino, Arduino, Development, ESP32, ESP8266, ESP8266X, Hardware, Hardware Development, Hardware Interfacing, Raspberry Pi, Software Development | Leave a Comment »

checkbashisms(1) – Linux man page

Posted by jpluimers on 2021/11/17

Even with lots of experience, one learns new things every day.

A while ago, I discovered checkbashisms which checks sh shel scripts (usually with extension .sh) scripts to they do not contain code specific to bash.

[Wayback] checkbashisms(1) – Linux man page

checkbashisms, based on one of the checks from the lintian system, performs basic checks on /bin/sh shell scripts for the possible presence of bashisms. It takes the names of the shell scripts on the command line, and outputs warnings if possible bashisms are detected.

Note that the definition of a bashism in this context roughly equates to “a shell feature that is not required to be supported by POSIX”; this means that some issues flagged may be permitted under optional sections of POSIX, such as XSI or User Portability.

In cases where POSIX and Debian Policy disagree, checkbashisms by default allows extensions permitted by Policy but may also provide options for stricter checking.

The source by now is a Perl script (it used to be a bash script) of which you can find the latest version here: [Wayback] scripts/checkbashisms.pl · master · Debian / devscripts · GitLab

Not installed by default

Virtually no distribution has checkbashisms installed by default.

In fact, the package containing checkbashisms heavily varies by distribution.

For OpenSuSE, it is in a package by itself: [Wayback] openSUSE Software: package checkbashisms

checkbashisms

Tool for Checking /bin/sh Scripts for Possible Bashisms

checkbashisms performs basic checks on /bin/sh shell scripts for the possible presence of bashisms. It takes the names of the shell scripts on the command line, and outputs warnings if possible bashisms are detected.

–jeroen

Posted in *nix, *nix-tools, bash, bash, Development, Power User, Scripting, sh, Sh Shell, Software Development | Leave a Comment »

Interesting situation now UWP isn’t panacea any more: for Windows development, native is back to center stage

Posted by jpluimers on 2021/11/17

Summary: UWP (Universal Windows Platform) is dying, long live native Windows development.

Source: [Wayback/Archive] Native Windows is Back to Center Stage

With the downplay of UWP, native development is again the primary Windows development model, after 20 years (given we had .NET in between). Native is what Delphi does at its best, so this is great news

Via:

–jeroen

Posted in Delphi, Development, Software Development, Windows Development | Leave a Comment »

How do I restart sshd on my Unix system | StarNet Knowledge Database – PC X, X Windows, X 11 & More – StarNet

Posted by jpluimers on 2021/11/17

[Wayback] How do I restart sshd on my Unix system | StarNet Knowledge Database – PC X, X Windows, X 11 & More – StarNet

RedHat and Fedora Core Linux

/sbin/service sshd restart

Suse linux

/etc/rc.d/sshd restart

Debian/Ubuntu

/etc/init.d/sshd restart

Solaris 9 and below

/etc/init.d/sshd stop
/etc/init.d/sshd start

Solaris 10

svcadm disable ssh
svcadm enable ssh

AIX

stopsrc -s sshd
startsrc -s sshd

HP-UX

/sbin/init.d/secsh stop
/sbin/init.d/secsh start

Note that for opensuse, by now you need this to restart sshd:

/usr/sbin/rcsshd restart

Edit 20211118: some tweets in reaction to this post

–jeroen

Posted in *nix, *nix-tools, Debian, Development, Linux, openSuSE, Power User, RedHat, Scripting, Software Development, SuSE Linux, systemd, Tumbleweed | Leave a Comment »

Need to check if “PrivacyNator” is already out: a local TensorFlowJS app that blurs your screen when you are not behind it

Posted by jpluimers on 2021/11/16

Interesting app that hopefully does get published: “PrivacyNator”.

So I need to check if anything new has turned up on [Wayback] “PrivacyNator” – Google Search.

Related tweets:

Via: [Archive.is] Jason Mayes on Twitter: “Wait for it until the other person comes into frame…#madeWithTFJS… “

–jeroen

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, Development, Software Development | Leave a Comment »

The horrors of HTML email where there CSS

Posted by jpluimers on 2021/11/16

[Archive.is] Kat Maddox on Twitter: “Who’s the CEO of emails I need to talk to him… “:

This is why dreamweaver still exists.

[Archive.is] Kat Maddox on Twitter: “You don’t need a time machine to go back to the past. You just need to try to write HTML in emails. If I have to nest one more table, I’ll have gone back far enough to be able to warn people about the dot com bubble. Fuck it. I’m writing this newsletter in markdown”

Markdown with an HTML generator actually is quite a good way to get HTML emails going.

Another route is [Wayback] Foundation for Emails | A Responsive Email Framework from ZURB.

Oh remember this: [Archive.is] StuAngel on Twitter: “rule of thumb “the mail clients are about 5 years behind in HTML support” – that was like 10 years ago and they have never gotten any better… https://t.co/lVAW5YCubm”

–jeroen

Posted in Development, eMail, HTML, SocialMedia, Software Development, Web Development | Leave a Comment »

unix/linux: using paste to turn separate lines into a comma separated list

Posted by jpluimers on 2021/11/16

Never to old to learn new things: I was totally unaware of the GNU paste tool that is available on virtually all unix/Linux/BSD core installs.

Thanks [WayBack] zeppelin for answering this question at [WayBack] linux – Turning separate lines into a comma separated list with quoted entries – Unix & Linux Stack Exchange:

You can add quotes with sed and then merge lines with paste, like that:

sed 's/^\|$/"/g'|paste -sd, -

If you are running a GNU coreutils based system (i.e. Linux), you can omit the trailing '-'.

If you input data has DOS-style line endings (as @phk suggested), you can modify the command as follows:

sed 's/\r//;s/^\|$/"/g'|paste -sd, -

Now I can get a comma separated list of for instance ssh available mac algorithms:

# ssh -Q mac | paste -sd, -
hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-512,hmac-md5,hmac-md5-96,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-md5-etm@openssh.com,hmac-md5-96-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com

Documentation:

–jeroen

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

Google has stopped (Dutch: Google is gestopt) on older Anrdoid devices

Posted by jpluimers on 2021/11/12

I got the Dutch message “Google is gestopt” on an older Android device which translates to the below English error message “Google has stopped”.

Below is the solution based on [WayBack] Google is stopped – OnePlus Community

  1. Go to “Settings”
  2. In “Settings” go to “Apps”
  3. In the application list, browse to “Google”
  4. Uninstall all updates (sometimes this is under the hamburger or 3-dot icon)
  5. Confirm
  6. Start the Google Play Store
  7. Update the “Google” application

Related:

–jeroen

Read the rest of this entry »

Posted in Android, Android Devices, Development, Google, Mobile Development, OnePlus One, OnePlus Two, Power User | Leave a Comment »

Great git videos on YouTube by @shanselman (thanks @simongeering)

Posted by jpluimers on 2021/11/11

[Archive.is] simon geering on Twitter: “Thanks to @shanselman for creating these great Git Videos. As a senior dev starting to mentor/teach tech skills this is very helpful. What tool do you use for the green arrows and other overlays please? Git 101; GitHub PRs “:

Embedded videos below the fold.

–jeroen

Read the rest of this entry »

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

To bypass a Chrome certificate/HSTS error, you can type ‘badidea’ (previously ‘thisisunsafe’) without quotes (this might change in the future)

Posted by jpluimers on 2021/11/11

For expired or self-signed certificates with an untrusted chain, you might want to by base the Chrome certificate/HSTS error message.

Instead of clicking a few times, you can also type ‘badidea’ (this used to be ‘thisisunsafe’ and might change again someday).

Based on: [WayBack] security – Does using ‘badidea’ or ‘thisisunsafe’ to bypass a Chrome certificate/HSTS error only apply for the current site? – Stack Overflow

Found via [WayBack] KPN-klanten kunnen Experiabox V10A niet benaderen door verlopen certificaat – Computer – Nieuws – Tweakers

Source code that handles this: [WayBack] components/security_interstitials/core/browser/resources/interstitial_v2.js – chromium/src – Git at Google

/**
 * This allows errors to be skippped by typing a secret phrase into the page.
 * @param {string} e The key that was just pressed.
 */
function handleKeypress(e) {
  var BYPASS_SEQUENCE = 'badidea';
  if (BYPASS_SEQUENCE.charCodeAt(keyPressState) == e.keyCode) {
    keyPressState++;
    if (keyPressState == BYPASS_SEQUENCE.length) {
      sendCommand(SecurityInterstitialCommandId.CMD_PROCEED);
      keyPressState = 0;
    }
  } else {
    keyPressState = 0;
  }
}

–jeroen

Posted in Chrome, Development, Encryption, https, HTTPS/TLS security, Power User, Security, Web Browsers, Web Development | Leave a Comment »