Full Arcade Cabinet

| December 16th, 2022

An Arcade cabinet based on CoinOPs - Mame and Linux. Read more [...]

Since I was young I always wanted to own an Atari console. We didn't have one but our neighbors did and we used to go to their house to play on the one they had. So in 2019 I decided to buy a vintage gaming console and I found a good looking one on ebay. After a week of bidding I won the auction. A month later the console arrived, first issue I faced was connecting it to my old PAL tv. The coaxial cable didn't fit, though it seemed it will, but it just didn't. So I started looking locally Read more [...]

Arduino, LCD & buttons

| December 4th, 2019

Use push buttons to write on a 16x16 LCD screen with Arduino Follow the link below to see more details: https://create.arduino.cc/projecthub/dirar/lcd-button-writer-6b94b3 Read more [...]

Assign a new wildcard certificate for Lync Edge

Let's Encrypt is a free, automated, and open Certificate Authority. It has a limitation for 3 month, but it can be automatically  renewed.

Follow the below steps to use let's encrypt certificate on a Lync server:

Search and open "Lync Server Deployment Wizard"

Once open, click on "Install or update Lync Server System"

Click on "Request, Install or Assign Certificates"

Delete the expired Certificate then click on "Request"

Next, then choose "Prepare the request now, but sent it later Read more [...]

Configuring Mini VCI to work with Windows 10

After I installed the software, my Windows 10 didn't recognized the Mini VCI driver. The instillation CD included "MVCI Driver for TOYOTA.msi", but when trying to install, I received this error:


To fix this, I had to extract the file "MVCI Driver for TOYOTA.msi" using 7zip or the msiexec command.

After the extraction, copy all files to the folder: "C:\Program Files (x86)\XHorse Electronics\MVCI Driver for TOYOTA TIS". Copy IT3System.ini and IT3UserCustom.ini to  "C:\Program Read more [...]

Manage AWS EC2 Snapshots

| November 23rd, 2017

Create and delete snapshots

Create and delete snapshots according to retention plan.

IAM account:

 In the AWS Management Console, go to IAM service.  On the right side click on Users then Add User:

 Type In user name and select Programmatic access. Then Next:Permissions
 On the next page select "Attach existing policy directly" then click on Create Policy
 Click on the JSON tab then copy/paste the code below(we will use one policy for creating and deleting snapshots):
"Version": "2012-10-17",
Read more [...]

Powershell script to set default email for all AD users

Depending on the information stored for the users in the AD, there is two ways this can be accomplished:

1.Set email field and default email in ProxyAddresses according to UserPrincipalName:
$users = Get-ADUser -Filter * -properties EmailAddress -SearchBase "ou=Test,ou=Departments,dc=DOMAIN,dc=COM"
foreach ($user in $users) {
$useremail = $user.UserPrincipalName
Set-ADUser $user -Add @{'ProxyAddresses' = ("SMTP:"+$useremail )} -EmailAddress $useremail
2. Set default email in ProxyAddresses Read more [...]

bash: wp: command not found

| August 4th, 2017


After installing WP-CLI as in here: http://wp-cli.org/

executing wp gives the error:

bash: wp: command not found

For me the problem was that the system didn’t have the directory /usr/local/bin in the PATH, to add it:



export PATH


wp should work now if installed correctly

Find files number and size that were modified within a period of time

#!/usr/bin/env python

import os, sys, time
from datetime import timedelta, datetime

totalFiles1 = 0;
totalFilesSize1 = 0;
totalFiles2 = 0;
totalFilesSize2 = 0;
days = 0;
daysts = 0;

def checkModificationDates(path):
global totalFiles1, totalFilesSize1,totalFiles2, totalFilesSize2, days, daysts
totalsize1 = float();
files1 = 0;
totalsize2 = float();
files2 = 0;

for directory, subdirectories, filenames in os.walk(path):
for filename in Read more [...]

from Lite SQL database

# -*- coding: utf-8 -*-

import sqlite3 as lite
import os, csv, sys, subprocess, hashlib, time
from datetime import timedelta, datetime, tzinfo
import platform

con = lite.connect('files.db')
con.text_factory = str
with con:
for directory, subdirectories, filenames in os.walk('.'):
cur = con.cursor()
cur.execute("SELECT * FROM data where path=:directory COLLATE NOCASE", {"directory":directory})
Read more [...]