Perl Weekly Challenge 85: Triplet Sum and Power of Two Integers

These are some answers to the Week 85 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a day or so (November 8, 2020). This blog post offers some solutions to this challenge, please don’t read on if you intend to complete the challenge on your own.

Task 1: Triplet Sum

You are given an array of real numbers greater than zero.

Write a script to find if there exists a triplet (a,b,c) such that 1 < a+b+c < 2. Print 1 if you succeed otherwise 0.

Example 1:

Input: @R = (1.2, 0.4, 0.1, 2.5)
Output: 1 as 1 < 1.2 + 0.4 + 0.1 < 2

Example 2:

Input: @R = (0.2, 1.5, 0.9, 1.1)
Output: 0

Example 3:

Monthly Report - March

I lost a friend of mine, Jeff Goff (aka DrForr), who passed away on 13th March, 2020, while snorkeling with a group in the Bahamas. He will be missed by many of his friends. May his soul rest in peace.

Most of the time last month was occupied by COVID-19. Being a type-2 diabetic didn't help the cause either. I have suffered with consistent cough all my life. It is really scary when think from COVID-19 point of view. I have survived so far by the grace of ALLAH s.w.t.

I have been working from home since the first week of March. I have been kind of self quarantined. Kids, specially the twins (3 years old) not allowed to play with me. It is really hard to focus on work but somehow I have managed so far. I am getting used to it now.

Tree as a tool for enumeration - CY's take on PWC#053 Task 2

This is a part of Perl Weekly Challenge(PWC) #053 and the followings are related to my solution. If you want to challenge yourself on Perl, go to https://perlweeklychallenge.org, code the latest challenges, submit codes on-time (by GitHub or email) if possible, before reading my blog post.

Do tell me if I am wrong or you strongly oppose my statements!

( The first task is simple.
Not much to say about this task.
4-3 = 1; 4-2 =2; 4-1 = 3.
(Honestly I haven't coded on it. :P) )

Here for the second task.

Somehow, it looks like those base-10 special property tasks, e.g. multiples consisting of 1's and 0's(#49), stepping numbers(#052), gapful number(#047) or colourful numbers(#051). Like those base-10 tasks, the possible brute-force way is: list out all possible combinations or permutations, and then exclude unfit candidates (equivalently, only print suitable candidates).

Comparing coronavirus SARS-CoV-2 spike protein sequences with BioPerl

Continuing from extraction of coronavirus spike protein sequences I decided to compare them and see if any mutations could be found. To do this I needed to align sequences to each other and get multiple sequence alignment. There are many tools that might be used and I have chosen MUSCLE as it is fast, easy to use and accurate enough. However, other tools such as MAFFT or T-Coffee should also work well and could give more accurate alignments in more complicated cases than the one I was dealing with.

Let’s gain some MUSCLE

For analysis of multiple sequence alignment (MSA) I chose BioPerl module Bio::Tools::Run::Alignment::Muscle. I found out that in order to install this module I need some dependencies. This worked for me with Perl v5.30 PDL edition on Windows:
cpanm -n XML::DOM::XPath cpanm Bio::DB::EUtilities Bio::Tools::Run::Alignment::Muscle
Next I installed MUSCLE

Perl Weekly Challenge 84: Reverse Integer and Find Square Matrices

These are some answers to the Week 84 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a few days (November 1, 2020). This blog post offers some solutions to this challenge, please don’t read on if you intend to complete the challenge on your own.

Task 1: Reverse Integer

You are given an integer $N.

Write a script to reverse the given integer and print the result. Print 0 if the result doesn’t fit in 32-bit signed integer.

The number 2,147,483,647 is the maximum positive value for a 32-bit signed binary integer in computing.

Example 1:

Input: 1234
Output: 4321

Example 2:

Input: -1234
Output: -4321

Example 3:

BLOG: The Weekly Challenge #052

https://perlweeklychallenge.org/blog/weekly-challenge-052

To-Study Plan: a beginning to OO in Perl

Now I have a todo list command-line script. I want to have a to-do list for my wikipedia editing activities, a to-study list for math I want to study sparely, a to-study-or-to-code in computer programming and maybe a to-read list for books.

The current format of the todo list script is roughly like this:

C:\Users\user>todo.pl h

Perl Weekly Challenge 052: Stepping Numbers & Lucky Winner

Stepping Numbers

Write a script to accept two numbers between 100 and 999. It should then print all Stepping Numbers between them.

A number is called a stepping number if the adjacent digits have a difference of 1. For example, 456 is a stepping number but 129 is not.

The naive approach would be to iterate over all the numbers from 100 to 999 and check the difference between each adjacent digits.

Perl Weekly Challenge 83: Words Length and Flip Array

These are some answers to the Week 83 of the Perl Weekly Challenge organized by Mohammad S. Anwar.

Spoiler Alert: This weekly challenge deadline is due in a couple of days (October 25, 2020). This blog post offers some solutions to this challenge, please don’t read on if you intend to complete the challenge on your own.

Task 1: Words Length

You are given a string $S with 3 or more words.

Write a script to find the length of the string except the first and last words ignoring whitespace.

Example 1:

Input: $S = "The Weekly Challenge"

Output: 6

Example 2:

Input: $S = "The purpose of our lives is to be happy"

Output: 23

Words Length in Raku

PTS 2020 Cancelled

The Perl Toolchain Summit (PTS) won't be happening this year. It had been planned for Vienna, so we're hoping that PTS 2021 will be held in Vienna.

We had wondered about delaying it, or seeing whether there's interest in a virtual PTS, but right now we all have much more important things to worry about. When the time is right, we'll see what makes sense.

In the meantime, stay safe, and look after yourselves, your loved ones, and your neighbours.

Philippe, Laurent, Thomas, & Neil

Enter the Matrix ... with PDL

We interrupt this k-Means broadcast to bring you an important message about threading (the PDL kind, not the Perl kind - darn those overloaded terms!)

The Assignment

Take two vectors, x and y, and create a matrix C from a function of the values of each element pair, such that

On my technical Background - a beginner's story

Different people have come to an interest or develop a skill for different reasons. Nowadays, lots people are learning Python, R, JavaScript, Java, etc. for job hunting as data scientists or software engineers...

Beginner's Enthusiasm in Programming

For me, solitaires (games) always attract me. Programming has been felt like a solitaire . (Some people must disagree with me on this line. They are lucky. And I also want myself can grow as strong as a contributor to the opensource programming community.) Testing. Possible modifications. I learnt LOGO programming language in the primary school. As I can remember, while I was in junior high school, I lost my sleep one night just because of thinking using LOGO to write a Chinese Chess program! (The workload would be too much... LOGO is derived from LISP, I know. Ha.)

Perl Weekly Challenge 82: Common Factors

These are some answers to the Week 82 of the Perl Weekly Challenge organized by Mohammad S. Anwar

Perl Weekly Challenge 051: 3 Sum and Colourful Numbers

3 Sum

Given an array @L of integers. Write a script to find all unique triplets such that a + b + c is same as the given target T. Also make sure a <= b <= c.

Here is wiki page for more information.

Example:

@L = (-25, -10, -7, -3, 2, 4, 8, 10);

One such triplet for target 0 i.e. -10 + 2 + 8 = 0.

I hadn’t checked the wiki page before writing my solution; and I hadn’t changed the solution after I read it. Therefore, it presents the naive and inefficient solution that iterates over all the possible triplets (but not starting from 0 in the inner loops to avoid checking the same triplet several times).

KBOS methods

After scopes, types and signatures we got all the prerequisites to talk about the syntax and semantics of KBOS methods. Unless you want to contribute to Kephra or write a plugin, you may never use them, but please join me in the thought experiment - maybe we get a littler smarter.

()

$ perl -Mstrict -we'$_ = time; print "$_\n"'
1583887020

<.<

$ perl -Mstrict -we'$_ = CORE::time; print "$_\n"'
1583887039

>.>

$ perl -Mstrict -we'$_ = time - CORE::time; print "$_\n"'
0

-_- ...

$ perl -Mstrict -we'BEGIN{*CORE::GLOBAL::time=sub{42}} $_ = time - CORE::time; print "$_\n"'
42

(┛◉Д◉)┛彡┻━

$ perl -Mstrict -we'BEGIN{*CORE::GLOBAL::time=sub{42}} $_ = time() - CORE::time; print "$_\n"'
-1583886770


🧑🔬

$ alias deparse='perl -Mstrict -MO=Deparse,-p -we'

$ deparse 'BEGIN{*CORE::GLOBAL::time=sub{42}} $_ = time - CORE::time; print "$_\n"'
BEGIN { $^W = 1; }
use strict;
sub BEGIN {
(*CORE::GLOBAL::time = sub {
42;
}
);
}
($_ = time((-time))); # !!!
print("$_\n");
-e syntax OK

$ deparse '$_ = time - CORE::time; print "$_\n"'
BEGIN { $^W = 1; }
use strict;
($_ = (time - time)); # O.o
print("$_\n");
-e syntax OK

$ deparse 'BEGIN{*CORE::GLOBAL::time=sub{42}} $_ = time() - CORE::time; print "$_\n"'
BEGIN { $^W = 1; }
use strict;
sub BEGIN {
(*CORE::GLOBAL::time = sub {
42;
}
);
}
($_ = (time() - time)); # ✓
print("$_\n");
-e syntax OK


🤔

Perl Weekly Challenge 81: Frequency Sort

These are some answers to the Week 81 of the Perl Weekly Challenge organized by Mohammad S. Anwar

Frequency Sort

You are given file named input.

Write a script to find the frequency of all the words.

It should print the result as the first column of each line should be the frequency of the the word followed by all the words of that frequency arranged in lexicographical order. Also sort the words in the ascending order of frequency.

Input file

CY's Take on Perl Weekly Challenge #052

This is a part of Perl Weekly Challenge(PWC) #052 and the followings are related to my solution. If you want to challenge yourself on Perl, go to https://perlweeklychallenge.org, code the latest challenges, submit codes on-time (by GitHub or email) if possible, before reading my blog post.

Do tell me if I am wrong or you strongly oppose my statements!

I register a free account on blogs.perl.org . The process is surprisingly easy but I am a bit nervous that my posts are put along those of experienced coders on the frontpage of blogs.perl.org .

Back to the main topic.

BLOG: The Weekly Challenge #051

https://perlweeklychallenge.org/blog/weekly-challenge-051

No Paws in this post (well maybe a litte)

Well back to the PAWs game again. This is one group of actions that has really got me distracted.

In my last post I manged to get 'SubscribeToShard' to work with my stream decoder though it is really just beta code for now. What first go me distracted was reading along in the Amazon doc I saw a bit about streaming an audio file.

Well the last time I worked on this sort of stream was in the dieing days of the last century??

This got me thinking and I went downstairs and dusted off my good old 2201 and fired it up thinking it might come in useful. Next I had to find some 'C' code and files I had from that time that I think I had on on 3.5 floppy in my upstairs closet.

Well I found the disks and once my HP Pavilion booted up I found that the disks where sill readable and still compiled. Well step one and two done.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.