Monthly Archives: January 2018


ffmpeg: Create a video countdown

The code below was used to generate the video countdown timers that are available in the following playlist using ffmpeg:

#This example will create a 3 second video, with 100 frames per second and it will print the elapsed and remaining times using a two second accuracy.
fps=100;
seconds=3;
mantissaDigits=2;
upperFont=600;
lowerFont=100;
ffmpeg -loop 1 -i ~/Pictures/Black-Background.png -c:v libx264 -r $fps -t $seconds -pix_fmt yuv420p -vf "fps=$fps,drawtext=fontfile='/usr/share/fonts/urw-base35/C059-Bold.otf':fontcolor=yellow:fontsize=$upperFont:x=(w-text_w)/2:y=(h-text_h)/2:text='%{eif\:($seconds-t)\:d}.%{eif\:(mod($seconds-t, 1)*pow(10,$mantissaDigits))\:d\:$mantissaDigits}',drawtext=fontfile='/usr/share/fonts/urw-base35/C059-Bold.otf':fontcolor=yellow:fontsize=$lowerFont:x=(w-text_w)/2:y=((h-text_h)/2)+$upperFont:text='Elapsed\: %{eif\:(t)\:d}.%{eif\:(mod(t, 1)*pow(10,$mantissaDigits))\:d\:$mantissaDigits}'" "$seconds seconds countdown timer.mp4";

Notes:

  • We used a single black frame for the background that defined the size of the video frame as well.
  • Using the fps variable we defined the number of Frames per Second for the video.
  • The seconds variable defined the number of seconds the duration of the video should be.
  • The mantissaDigits variable defines how many decimal digits should be shown after the dot.
  • upperFont and lowerFont define the size of the fonts in the upper row and the lower one respectively.
  • We used the drawtext directive twice to write to the frames.

Notes on the first drawtext:

  • fontfile='/usr/share/fonts/urw-base35/C059-Bold.otf' defines the font to be used for the text.
  • fontcolor=yellow defines the color of the font of the text.
  • fontsize=$upperFont defines the size of the font of the text.
  • x=(w-text_w)/2 defines the X-coordinate of the location for the text on the frame, here we center the text horizontally on the frame.
  • y=(h-text_h)/2 defines the Y-coordinate of the location for the text on the frame, here we center the text vertically on the frame.
  • text='%{eif\:($seconds-t)\:d}.%{eif\:(mod($seconds-t, 1)*pow(10,$mantissaDigits))\:d\:$mantissaDigits}' We print the remaining seconds for the video to finish with specific decimal digit accuracy.

Notes on the second drawtext:

  • drawtext=fontfile='/usr/share/fonts/urw-base35/C059-Bold.otf' defines the font to be used for the text.
  • fontcolor=yellow defines the color of the font of the text.
  • fontsize=$lowerFont defines the size of the font of the text.
  • x=(w-text_w)/2 defines the X-coordinate of the location for the text on the frame, here we center the text horizontally on the frame.
  • y=((h-text_h)/2)+$upperFont defines the Y-coordinate of the location for the text on the frame, here shift the text from the vertical center  of the frame.
  • text='Elapsed\: %{eif\:(t)\:d}.%{eif\:(mod(t, 1)*pow(10,$mantissaDigits))\:d\:$mantissaDigits}' We print the elapsed seconds since the video started with specific decimal digit accuracy.

abacus – IT Support

Abacus is a leading provider of professional services in the fields of business advisory, corporate structuring, compliance, administration and accountancy to clients worldwide. With offices in Nicosia and around 150 employees, Abacus serves an impressive roster of international private, public and listed corporations, including some of the world’s most recognizable names.

IT SUPPORT
Nicosia
(Ref: IT/01/2017)

Responsibilities:

The successful candidate will act as a first level Service Desk Support providing front-line IT support and project delivery to supplement the maintenance and development of the company’s many varied IT systems. Moreover, the person will assist in the installation of equipment and software, will monitor applications / infrastructure components, perform enhancements and upgrades and will be involved in the implementation of new systems and applications.

Profile of the ideal candidate:

  • University Degree in Computer Science/Engineering or a related field
  • 2+ years of experience in a related role
  • Experience in business applications support and/or report writing using Microsoft reporting services (i.e. SQL, Power BI) or equivalent will be considered a strong advantage
  • Energetic, positive and team player
  • Self-driven, fast learner and willing to work in a fast paced environment
  • Ability to handle multiple tasks simultaneously and to work well under pressure
  • Fluent in Greek and English

Remuneration and benefits

An attractive remuneration package will be offered to the successful candidate according to qualifications and experience. The Abacus’ package includes:

  • a 13th salary
  • provident fund
  • medical cover
  • life insurance
  • casual Fridays (with afternoon off)
  • free parking
  • and extensive participation in quality internal and external training programs.

We would love to hear from you!

Interested individuals should submit their applications by email to: [email protected]

All applications will be treated in strict confidence.


abacus – Infrastructure Engineer

Abacus is a leading provider of professional services in the fields of business advisory, corporate structuring, compliance, administration and accountancy to clients worldwide. With offices in Nicosia and around 150 employees, Abacus serves an impressive roster of international private, public and listed corporations, including some of the world’s most recognizable names.

Infrastructure Engineer
Nicosia
(Ref: IT/02/2018)

Responsibilities:

  • Support and maintain network infrastructure such as switches, routers and firewalls
  • Provide Mobile Devices Management ,Virtualization, Storage platform management configuration, design and expertise
  • Design, implement solutions and manage tools to enforce the firm’s backup, archive policy
  • Establish networking environment by designing system configuration; directing system installation; defining, documenting, and enforcing system standards
  • Secure network / infrastructure systems by establishing and enforcing policies; defining and monitoring access
  • Maximize network performance by monitoring performance, troubleshooting network problems and outages and scheduling upgrades
  • Manage assigned projects and program components to deliver services in accordance with established objectives

Profile of the ideal candidates:

  • University degree in Computer Science or Computer Engineering or in a related field. A Master’s degree will be an advantage
  • At least 5 years of experience in a similar role
  • Working knowledge and experience with Windows Server, Active Directory, Virtualization, Network, Firewall technologies
  • Certifications in Network or Virtualization or Firewall or Microsoft Solutions will be a strong advantage
  • Analytical and problem-solving abilities, with keen attention to detail
  • Strong organizational skills to enable multitasking and timely follow-up
  • Ability to use own initiative, prioritize and work independently
  • Fluent in English

Remuneration and benefits

An attractive remuneration package will be offered to successful candidates according to qualifications and experience.
The Abacus package includes:

  • a 13 th salary
  • provident fund
  • medical cover
  • life insurance
  • casual Fridays (with afternoon off)
  • free parking
  • and extensive participation in quality internal and external training programs.

We would love to hear from you!

Interested individuals should submit their applications by email to: [email protected]

All applications will be treated in strict confidence.


Qubes OS 3.2: Resize fedora-23 TemplateVM Root Image 1

Recently, we needed to increase the size of the root image for the fedora-23 TemplateVM.
We had to do this as we wanted to install in /opt a few IDEs, including android-studio which takes a lot of space when accompanied by the Android SDK.

Following the excellent guide at https://www.qubes-os.org/doc/resize-root-disk-image/, we did the following:

  1. Made sure that the fedora-23 TemplateVM and all VMs based on that template were shut down.
    This included stopping the sys-firewall and sys-net VMs as well (in this order).
  2. Then, in the VM Settings window at the Basic tab for the fedora-23 TemplateVM, we disabled the networking by selecting none on the NetVM: drop-down list and pressed OK to apply the settings changes.
  3. Following, in dom0 Terminal Emulator we run the following command:
    truncate -s 40G /var/lib/qubes/vm-templates/fedora-23/root.img;
  4. Afterwards we started the fedora-23 TemplateVM and run the following in the terminal:
    sudo resize2fs /dev/mapper/dmroot;
    Please note that if your output is Nothing to do! then most likely you forgot a VM that is based on the fedora-23 TemplateVM running. Normally your screen should print something along the lines of Resizing the filesystem...
  5. Next, we shut down the fedora-23 TemplateVM, and went to the VM Settings window to enable networking by selecting whatever we had there before (for us it was default (sys-firewall)).
  6. Finally, we could start using our VMs, their root.img were of the new extended size.

XM.com 2018: Java Developers with Financial Applications Experience – Limassol or Nicosia

Reference Number: JDFA1017

The main responsibilities of the position include:

  • Developing algorithmic trading software
  • Recommending software upgrades for existing systems
  • Reviewing current systems and presenting ideas for system improvements, including cost proposals
  • Producing detailed specifications and implementing the program codes
  • Testing the product in controlled situations and rectifying any problems before going live
  • Using version control systems
  • Assisting in the preparation of training manuals for users
  • Responsible for the maintenance of the systems once they are up and running

Main requirements:

  • BSc/MSc in Computer Science, Engineering or any other relevant degree
  • At least 3 years’ experience in a similar position. Experience in the financial industry is a strong plus
  • Very good working knowledge of Java
  • Knowledge of C/C++, C# is a plus
  • Experience in multi-threaded, event driven applications
  • Working knowledge of design patterns
  • Experience in working with databases and version control systems
  • Experience with algorithmic trading is considered an advantage
  • Experience with CI tools and testing techniques is considered an advantage
  • Proactive, sharp and efficient
  • Ability to work autonomously
  • Problem solving and critical thinking skills

Enjoy:

  • Attractive remuneration package plus performance related reward
  • Private health insurance
  • Private pension insurance
  • Intellectually stimulating work environment
  • Continuous personal development and international training opportunities

Type of employment: Full time

Location: Limassol or Nicosia, Cyprus

All applications will be treated with strict confidentiality!

Apply Now

Java Developers with Financial Applications Experience - Limassol or Nicosia (64 downloads)


LibreOffice Calc: get the distinct/unique values in a column or a list of elements

These videos demonstrate how to get the distinct/unique values in a column or a list of elements in LibreOffice Calc.

Procedure to get the distinct values in a column or a list of elements:

  1. Select the column (or the list of data) that you want to process
  2. Click on the top menu Data
    then click on the option group More Filters
    and finally on the option Standard Filter...
  3. In the new window, change the Field Name on the first row to - none -
  4. Click on the Options label and enable the No duplications checkbox
  5. Finally press the OK button

Video demonstrating how to get the distinct values in a column:

Video demonstrating how to get the distinct values in a list of elements: