Join IEEEXtreme Coding Competition

Are you a university or college student looking for a challenge? Look no further than the IEEEXtreme international programming competition!

IEEEXtreme is a 24-hour, online, global coding competition that brings together students from all over the world to test their skills and knowledge against their peers. This competition is organized by the IEEE, the world’s largest technical professional organization for the advancement of technology.

Participating in IEEEXtreme provides a unique opportunity for students to showcase their skills and gain recognition in the global tech community. Not only that, but it also allows students to connect with their peers from around the world and learn from each other.

But the benefits of IEEEXtreme don’t stop there. Participating in the competition can also help students develop essential skills employers highly value. These skills include problem-solving, critical thinking, and the ability to work under pressure.

Another great thing about IEEEXtreme is that it’s open to students of all skill levels. Whether a beginner or an experienced coder, you can participate and challenge yourself to improve. And with a wide variety of categories to choose from, there’s something for everyone.

So if you’re a university or college student looking for a challenge and an opportunity to showcase your skills and connect with others in the tech community, then IEEEXtreme is the perfect competition for you. Sign up today and see how far you can go!

In summary, IEEEXtreme is a 24-hour, online, global coding competition which is organized by IEEE, it gives the opportunity for university and college students to showcase their skills, connect with peers from around the world, develop important skills that are highly valued by employers, and it’s open to students of all skill levels. It is a perfect competition for anyone looking for a challenge.


Using minicom to connect to Cisco Console

sudo minicom --device /dev/ttyUSB0 --baudrate 9600 --8bit;

sudo is a command that allows the user to run another command with superuser privileges.

minicom is a terminal emulation program that allows the user to communicate with a serial device.
The --device flag followed by /dev/ttyUSB0 specifies the serial device that minicom should use for communication.
The --baudrate flag followed by 9600 specifies the baud rate (i.e. the speed at which data is transmitted) of the serial connection.
The --8bit flag sets the number of data bits to 8.

So this command is running minicom as a superuser, connecting to the device at “/dev/ttyUSB0” with a baud rate of 9600 and 8-bit data

In addition to the command line arguments above, we had to ensure that flow control (both hardware and software) was off and no parity was given.


Android USSD Code to access hidden testing menu

The following USSD code once dialed and called as a phone number, will give you access to a hidden testing menu for Android devices.

*#*#4636#*#*

Unstructured Supplementary Service Data (USSD), sometimes referred to as “Quick Codes” or “Feature codes,” is a communications protocol used by GSM cellular telephones to communicate with the mobile network operator’s computers. USSD can be used for WAP browsing, prepaid callback service, mobile-money services, location-based content services, menu-based information services, and as part of configuring the phone on the network.

From: https://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data

Python script to parse the GAM / Google Workspace CSV that contains all members of all groups

This script will parse the data generated by GAM and create an XLSX out of them.

Each sheet will be named by the group, containing all the emails of that group, including the sub-groups.

# This script will parse the data generated by GAM and create an XLSX out of them.
# Each sheet will be named by the group and it will contain all the emails of that group, including the sub-groups.

# Using sys to get command line arguments for the input file
import sys
# Using CSV to parse the input CSV file that GAM (GAMADV-XTD3) created after using the following command:
# gam print group-members > emails.2022.csv;
# Source: https://bytefreaks.net/google/rough-notes-on-using-gam-to-print-all-members-of-all-groups-in-google-workspace
import csv
# Using pandas to create an XLSX file with multiple sheets
import pandas as pd

# Creating an empty dictionary.
dictionary = {}

# Opening the CSV file that is the first command line argument
with open(sys.argv[1], newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',', quotechar='"')
    # For each row, we are getting only the first column which is the group and the last which is the email
    for row in reader:
        dictionary.setdefault(row[0], []).append(row[5])

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter(sys.argv[1]+'.xlsx', engine='xlsxwriter')

# Iterating in Sorted Order
for key in sorted(dictionary):
    # Create a Pandas dataframes to add the data.
    df = pd.DataFrame({'Members': dictionary[key]})
    # Write each dataframe to a different worksheet.
    # To avoid the following exception:
    # xlsxwriter.exceptions.InvalidWorksheetName: Excel worksheet name '[email protected]' must be <= 31 chars.
    # We are truncating the domain from the group.
    group = key.split("@")[0]
    # In case the name is still to big, we truncate it further and append an ellipsis to indicate the extra truncation
    sheet = (group[:29] + '..') if len(group) > 31 else group
    # We are also removing the header and index of the data frame
    df.to_excel(writer, sheet_name=sheet, header=False, index=False)

# Close the Pandas Excel writer and output the Excel file.
writer.close()