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 (20 downloads)


It is important to leave homework to the last day because you will be older and therefore wiser.


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:


Practice Problem for Google Hash Code 2018

Happy new year people!!

Google released a practice problem for Google Hash Code 2018!

Please do not forget to register!

Practice Problem for Google Hash Code 2018 - Problem Statement (134 downloads)

 

Practice Problem for Google Hash Code 2018 - Data Sets (81 downloads)

Submission deadline: Thursday, Mar 1, 19:00 Cyprus time (18:00 CET)

Pizza

Practice Problem for Hash Code

Introduction

Did you know that at any given time, someone is cutting pizza somewhere around the world? The decision about how to cut the pizza sometimes is easy, but sometimes it’s really hard: you want just the right amount of tomatoes and mushrooms on each slice. If only there was a way to solve this problem using technology…

Problem description

Pizza

The pizza is represented as a rectangular, 2-dimensional grid of R rows and C columns. The cells within the grid are referenced using a pair of 0-based coordinates [r, c] , denoting respectively the row and the column of the cell.

Each cell of the pizza contains either:

  • mushroom, represented in the input file as M ; or
  • tomato, represented in the input file as T

Slice

A slice of pizza is a rectangular section of the pizza delimited by two rows and two columns, without holes.
The slices we want to cut out must contain at least L cells of each ingredient (that is, at least L cells of mushroom and at least L cells of tomato) and at most H cells of any kind in total – surprising as it is, there is such a thing as too much pizza in one slice.

The slices being cut out cannot overlap. The slices being cut do not need to cover the entire pizza.

Goal

The goal is to cut correct slices out of the pizza maximizing the total number of cells in all slices.

Input data set

The input data is provided as a data set file – a plain text file containing exclusively ASCII characters with lines terminated with a single \n character at the end of each line (UNIX- style line endings).

File format

The file consists of:

  • one line containing the following natural numbers separated by single spaces:
    • R (1 ≤ R ≤ 1000) is the number of rows,
    • C (1 ≤ C ≤ 1000) is the number of columns,
    • L (1 ≤ L ≤ 1000) is the minimum number of each ingredient cells in a slice,
    • H (1 ≤ H ≤ 1000) is the maximum total number of cells of a slice
  • R lines describing the rows of the pizza (one after another). Each of these lines contains C
    characters describing the ingredients in the cells of the row (one cell after another). Each character is either M (for mushroom) or T (for tomato).

Example Input File

3 5 1 6
TTTTT
TMMMT
TTTTT

3 rows, 5 columns, min 1 ingredient per slice, max 6 cells per slice

Submissions

File format

The file must consist of:

  • one line containing a single natural number S (0 ≤ S ≤ R × C) , representing the total number of slices to be cut,
  • U lines describing the slices. Each of these lines must contain the following natural numbers
    separated by single spaces:

    • r1 , c1 , r2 , c2 (0 ≤ r1, r2 < R, 0 ≤ c1, c2 < C)  describe a slice of pizza delimited by the rows r1 and r2 and the columns c1 and c2 , including the cells of the delimiting rows and columns. The rows ( r1 and r2 ) can be given in any order. The columns ( c1 and c2 ) can be given in any order too.

Example

3
0 0 2 1
0 2 2 2
0 3 2 4

Example description

3 slices.
First slice between rows (0,2) and columns (0,1).
Second slice between rows (0,2) and columns (2,2).
Third slice between rows (0,2) and columns (3,4).

Slices described in the example submission file marked in green, orange and purple.

Validation

For the solution to be accepted:

  • the format of the file must match the description above,
  • each cell of the pizza must be included in at most one slice,
  • each slice must contain at least L cells of mushroom,
  • each slice must contain at least L cells of tomato,
  • total area of each slice must be at most H

Scoring

The submission gets a score equal to the total number of cells in all slices.

Note that there are multiple data sets representing separate instances of the problem. The final
score for your team is the sum of your best scores on the individual data sets.

Scoring example

The example submission file given above cuts the slices of 6, 3 and 6 cells, earning 6 + 3 + 6 = 15 points.

Past editions

— From https://hashcode.withgoogle.com/past_editions.html

Hash Code started in 2014 with just 200 participants from France. In 2017, more than 26,000 participants from across Europe, the Middle East and Africa took part in the competition. You can take a look at the problems and winning teams from past editions of Hash Code below.

Past problem statements

Router placement

Hash Code 2017, Final Round
Hash Code 2017, Final Round - Problem (37 downloads)
Who doesn’t love wireless Internet? Millions of people rely on it for productivity and fun in countless cafes, railway stations and public areas of all sorts. For many institutions, ensuring wireless Internet access is now almost as important a feature of building facilities as the access to water and electricity. Typically, buildings are connected to the Internet using a fiber backbone. In order to provide wireless Internet access, wireless routers are placed around the building and connected using fiber cables to the backbone. The larger and more complex the building, the harder it is to pick router locations and decide how to lay down the connecting cables.

Streaming videos

Hash Code 2017, Online Qualification Round
Hash Code 2017, Online Qualification Round - Problem (48 downloads)
Have you ever wondered what happens behind the scenes when you watch a YouTube video? As more and more people watch online videos (and as the size of these videos increases), it is critical that video-serving infrastructure is optimized to handle requests reliably and quickly. This typically involves putting in place cache servers, which store copies of popular videos. When a user request for a particular video arrives, it can be handled by a cache server close to the user, rather than by a remote data center thousands of kilometers away. Given a description of cache servers, network endpoints and videos, along with predicted requests for individual videos, decide which videos to put in which cache server in order to minimize the average waiting time for all requests.

Schedule Satellite Operations

Hash Code 2016, Final Round
Hash Code 2016, Final Round - Problem (219 downloads)
A satellite equipped with a high-resolution camera can be an excellent source of geo imagery. While harder to deploy than a plane or a Street View car, a satellite — once launched — provides a continuous stream of fresh data. Terra Bella is a division within Google that deploys and manages high-resolution imaging satellites in order to capture rapidly-updated imagery and analyze them for commercial customers. With a growing constellation of satellites and a constant need for fresh imagery, distributing the work between the satellites is a major challenge. Given a set of imaging satellites and a list of image collections ordered by customers, schedule satellite operations so that the total value of delivered image collections is as high as possible.

Optimize Drone Deliveries

Hash Code 2016, Online Qualification Round
Hash Code 2016, Online Qualification Round - Problem (215 downloads)
The Internet has profoundly changed the way we buy things, but the online shopping of today is likely not the end of that change; after each purchase we still need to wait multiple days for physical goods to be carried to our doorstep. Given a fleet of drones, a list of customer orders and availability of the individual products in warehouses, schedule the drone operations so that the orders are completed as soon as possible.

Route Loon Balloons

Hash Code 2015, Final Round
Hash Code 2015, Final Round - Problem (112 downloads)
Project Loon aims to bring universal Internet access using a fleet of high altitude balloons equipped with LTE transmitters. Circulating around the world, Loon balloons deliver Internet access in areas that lack conventional means of Internet connectivity. Given the wind data at different altitudes, plan altitude adjustments for a fleet of balloons to provide Internet coverage to select locations.

Optimize a Data Center

Hash Code 2015, Online Qualification Round
Hash Code 2015, Online Qualification Round - Problem (210 downloads)
For over ten years, Google has been building data centers of its own design, deploying thousands of machines in locations around the globe. In each of these of locations, batteries of servers are at work around the clock, running services we use every day, from Google Search and YouTube to the Judge System of Hash Code. Given a schema of a data center and a list of available servers, your task is to optimize the layout of the data center to maximize its availability.

Street View Routing

Hash Code 2014, Final Round
Hash Code 2014, Final Round - Problem (222 downloads)
The Street View imagery available in Google Maps is captured using specialized vehicles called Street View cars. These cars carry multiple cameras capturing pictures as the car moves around a city. Capturing the imagery of a city poses an optimization problem: the fleet of cars is available for a limited amount of time and we want to cover as much of the city streets as possible.


Hash Code 2018 Limassol Cyprus – Call for participation

We’ll be hosting a hub at the Cyprus University of Technology for the Online Qualification Round of Hash Code, a team-based programming competition created by Google for university students and industry professionals. The Online Qualification Round takes place on the 1st of March at 19:30 EET and registered teams from Cyprus are invited to participate from our hub, which will be at the Labs of the University. Top scoring teams from the Online Qualification Round will then be invited to Google’s Paris office to compete in the Final Round of the competition on the 1st of April.

If you’re interested in joining our hub, find a team (two to four people) and register at g.co/hashcode. Make sure to select Cyprus University of Technology from the list of hubs in the Judge System.

For more information about this and other hubs in Cyprus (including the twin event in Nicosia) visit https://goo.gl/uuRspx

Hash Code 2018 Limassol Cyprus – Facebook Event

Thanks!

Address:

Cyprus University of Technology
Room: ΚΧΕ 1 - Computer Lab
Polyxeni Loizia and Eleni Autonomou Building (Old Cadastre)
Athinon Street
Limassol

Τεχνολογικό Πανεπιστήμιο Κύπρου
Δωμάτιο: ΚΧΕ 1 -  Εργαστήριο Ηλεκτρονικών Υπολογιστών
Κτήριο Πολυξένη Λοϊζία και Ελένη Αυτονόμου (Παλιό Κτηματολόγιο)
Οδός Αθηνών
Λεμεσός

Date and Time:

1st March 2018
From: 19:30 EET
To: 23:30 EET

Free Amenities Offered

High speed Internet access
Wi-Fi access to the Internet for your mobile devices (personal computers and smart phones)
Lab computers will be available for use by the participants
Food in the form of snacks and beverages will be available outside the labs

Google Hash Code 2018 – Online Qualification Round Schedule

18:30 EET:

  • The hub will open to the public
  • People can view the live stream on the video projector
  • Teams can set themselves up with the help of the volunteers

19:30 EET:

  • Live stream starts

19:45 EET:

  • Task will be made available, competition starts
  • Scoreboard will be displayed on the video projector
  • Participating teams will be confirmed in the Judge System

23:30 EET:

  • End of the competition
  • Announcement of the score for the local teams

00:00 EET:

  • The hub will close

How we accidentally fixed the black screen issue of OBS studio on Fedora 27 x64 1

As mentioned in a previous post, we installed OBS studio on our machine in order to make some desktop recordings.
What that post did not mention are two issues that we had:

  1. when recording using the Screen Capture (XSHM) source, the recording would only show a black screen and it would actually record the mouse only!
  2. when trying to record a LibreOffice application like Calc through the Window Capture (XComposite) source, Calc would not show in the properties dialog under the Window dropdown menu

The way we fixed these issues is not something that is always guaranteed to work but it is worth a try!
Initially we thought it would be a good idea to install the NVidia driver since we had a GeForce GTX 660M on the machine.
We hoped that the OBS studio black screen issue was a driver issue so we decided to follow the RPM Fusion guide on installing NVidia drivers.

We installed the NVidia driver, added the CUDA support and updated the system using these two commands:

dnf install xorg-x11-drv-nvidia akmod-nvidia xorg-x11-drv-nvidia-cuda;
dnf update -y;

and then we did a full reboot of the machine.

After the machine booted and the graphical interface came up, we noticed that the machine was too slow and there was 100% CPU utilization for over 15 minutes.
After some very efficient Google-Fu, we realised that this was some bug that we were not willing to deal with and so we had to remove the newly installed NVidia driver.
Again following the RPM Fusion guide, we executed the following command to remove the driver from our system:

dnf remove xorg-x11-drv-nvidia\*

Please note that we DID NOT execute the last step of the guide on how to Recover from NVIDIA installer.
As it is mentioned in the guide: the NVidia binary driver installer overwrites some configuration and libraries.
Since having a clean state did not work for us, we decided to give a go of this hybrid setup that we had.
Following another full restart we were able to see that OBS Studio was working as expected and it the black screen issue was no more!!
Also, we could choose LibreOffice from the Window dropdown and we could record that as well!

As implied, this guide is a hack, it could work for you as well or not.
Our opinion is that, it is worth to give it a go!
As a synopsis, what we did was to install the NVidia driver and uninstall it, the libraries that got overwritten by this process fixed the black screen issue of OBS studio.

Bonus: to find the model of your graphics card, execute the following

lspci |grep -E "VGA|3D";

In our machine we got the following output: 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GTX 660M] (rev a1)