Entries

Atom installation on openSUSE Linux: Signature verification failed error resolution

Atom is a very popular "hackable text editor for the 21st Century" not only for linux, but owners of openSUSE Linux can have problems with unsigned package while installing an .rpm package:

Error: INVALID:atom-1.46.0-0.1.x86_64(file-eca764a8): Signature verification failed [6-File is unsigned]

If you still want to install it on your openSUSE system, there's a problem resolution:

  1. Go to /etc/zypp
  2. Open file zypp.conf (as a root) and find a line # pkg_gpgcheck = unset -> according to gpgcheck.Leave this line without change :D
  3. Add following line above: pkg_gpgcheck = off
  4. Save file and exit.
  5. Install Atom .rpm package one more time. It will go without a problem.

Following this operation will switch off package signature verification and you will be able to install Atom.


Important notice

Problem with unsigned package was added to issues on official Atom github repository several years ago, but developers still didn't resolve it. Please, take this information with understanding, that Atom is being developed by a group of people, who have programmed very popular and really great text editor for several programming languages and platforms totally free.

Read more

Written by Administrator on Monday May 11, 2020

Functions with optional positional arguments in Julia (explanation with examples)

Sometimes we need a function, which requires several arguments. It's normal situation and this is the way functions work normally almost in all programming languages. Optional arguments will make your code easier and more powerful with decreasing a number of functions you create.

Example No.1 : Calculating engine consumption

For example, let's create a function, which returns fuel consumption depending on engine volume (cubic centimeters = cc).

function ShowConsumption(cc)
    return round(cc/170)          # rounding float-number result to the 2nd decimal
end

So, when we have to know a consumption of an engine of 1950cc, we will provide a parameter 1950:

julia> println(ShowConsumption(1950))
11.47

Great, and what we have to do in case we have to add new functionality: for example, Consumption in winter. What we will do? Sure, we will write a new function ShowConstumptionInWinter(cc), but there's a more clever way to solve a problem: we can use optional arguments for our function.

We will leave original function ShowConsumption and add 1 optional argument, which will be used only in case we want our function calculate something different. Let's take we know that for winter consumption is as twice as big as in summer and it means that function must double normal consumption. It's better to show in on example:

Read more

Written by Administrator on Monday May 11, 2020

Infinite recursion and StackOverflowError in Julia

In order to evoke StackOverflowError in Julia it's enough to write a function, which result in infinite recursion. Let's see, how it works:

julia>

function foo(arg)
           if arg>1
               println("x")
           else
               foo(arg)
           end
       end

And now let's call foo() function with an argument:

julia> foo(1)

Read more

Written by Administrator on Sunday May 10, 2020

Dictionaries in Julia - Beginner's tutorial [with examples]

Dictionary is a kind of Data Structure in many programming languages and it is a part of Julia programming language as well. Let's create a simple example for understand, how Dictionaries work in Julia.

Imagine we have a Car Store and we're selling different cars. Our plan is to create a list of cars with possibility of looking for a price by giving a car's name.

Creating a Dictionary

Creating Dict variable, which will represent our pricelist. As a key we will store the name of a product and as a value we will store its price (let's say in US Dollars):

julia> Pricelist = Dict("Honda" => 12000, "Fiat" => 9800, "Ford" => 11000, "Lambo" => 175000)

You see, the core of a Dictionary is a pair of two values. In our case a name of a car is a key and car's price is a value.

Read more

Written by Administrator on Sunday May 10, 2020

How to print the length of the shortest filename in Julia

Create a file "shortest_filename.jl" and put following code into it:

files = readdir(pwd())
info = Dict{String,Integer}()
println("The shortest filename has length: ",minimum(values(info)))

List of files:

$ bookings   count_files.jl  libs  list_only_files.jl
books.txt  hello-world.jl  list_only_dirs.jl  show_longest_filename.jl

Output:

$ julia show_longest_filename.jl 
The shortest filename has length: 4

Read more

Written by Administrator on Sunday May 10, 2020

How to print the longest filename in directory in Julia

First of all, let's get a list of all filenames in current directory:

files = readdir(pwd())

Then let's make a Dictionary with filename as a key and length of the filename as a value:

info = Dict{String,Integer}()

for (n,f) in enumerate(files)
    info["$(f)"] = length(f)
end

And now we can list filenames sorted alphabetically with a length of filename in brackets:

for key in sort(collect(keys(info)))
    println("$key ($(info[key]))")
end

Result:

bookings (8)
books.txt (9)
count_files.jl (14)
hello-world.jl (14)
libs (4)
list_only_dirs.jl (17)
list_only_files.jl (18)
show_longest_filename.jl (24)

Read more

Written by Administrator on Sunday May 10, 2020

How to list only directories (not files) in current directory in Julia [with screenshots]

To list files in current directory and exclude counting directories (sub-directories) in current folder we just use readdir() function and then we count only files.

Let's see, what we have in a directory (files and directories):

$ ls

output:

dima@linux-zsrx:~/julia> ls
bookings        hello-world.jl
books.txt       libs
count_files.jl  list_only_files.jl

You see, that we have two directories ("libs" and "bookings") and the rest are files. Our goal is to list only those two directories (de facto: only subdirectories/sub-folders) and exclude files. Let's create a file with the name list_only_dirs.jl in order to use it in every directory in our system, and put following code into it:

Read more

Written by Administrator on Saturday May 9, 2020

How to list only files (not directories/folders) in current directory in Julia [with screenshots]

To list files in current directory and exclude counting directories (sub-directories) in current folder we just use readdir() function and then we count only files.

Let's see, what we have in a directory (files and directories):

$ ls

output:

dima@linux-zsrx:~/julia> ls
bookings        hello-world.jl
books.txt       libs
count_files.jl  list_only_files.jl

You see, that we have two directories ("libs" and "bookings") and the rest are files. Our goal is to list only files and exclude directories (folders). Let's create a file with the name list_only_files.jl in order to use it in every directory we want, and put following code into it:

Read more

Written by Administrator on Saturday May 9, 2020

How to install GNU GCC compiler (C++) in Devuan linux?

In case you are planning to install GNU gcc compiler, you will surely need other tools (make app, man pages, etc), that's why it's reasonable to install those additional tools first:

$ sudo apt-get install build-essentail

and then:

$ sudo apt-get install g++-multilib g++-6-multilib gcc-6-doc libstdc++6-6-dbg

(those libraries require approximately 119 MB of free disk space in your system)

Read more

Written by Administrator on Saturday May 9, 2020

How to remove (uninstall) Moria game in Devuan Linux?

In case you're not the biggest fan of Moria game, you can easily get rig of it in your Devuan Linux installatio by running a following command in terminal:

$ sudo apt purge moria

output:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  moria*
0 upgraded, 0 newly installed, 1 to remove and 26 not upgraded.
After this operation, 626 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 110562 files and directories currently installed.)
Removing moria (5.6.debian.1-2+b2) ...
Processing triggers for mime-support (3.60) ...
Processing triggers for desktop-file-utils (0.23-1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
(Reading database ... 110528 files and directories currently installed.)
Purging configuration files for moria (5.6.debian.1-2+b2) ...

Read more

Written by Administrator on Friday May 8, 2020