A guide to setting up the UnifiedTransform project on Windows 10 without Docker, in 2021.

Prerequisites

Be sure to have php, composer and mariadb, setup on your computer.

Installing php 7.3 on Windows (ref: Jeff Geerling’s Blog)

  1. Install the Visual C++ Redistributable for Visual Studio 2015 — this is linked in the sidebar of the PHP for Windows Download page, but it’s kind of hidden. If you don’t do this, you’ll run into a rather cryptic error message, VCRUNTIME140.DLL was not found, and php commands won't work.
  2. Download PHP for Windows. I got the zipped 7.3 VC15 x64 Non Thread Safe version.
  3. Expand the zip file into the path C:\PHP7


without restarting in PowerShell

Whenever you add a folder to the PATH environment variable, you need to restart your shell environment to gain access to it.

Or do you?

refreshenv

By typing refreshenv, you could force PowerShell to get the latest environment variables, and continue your work!

Enjoy!


A guide to setting up the UnifiedTransform project without Docker.

Prerequisite

Be sure to have php, composer and mariadb setup on your computer

Steps

1. Clone the repository

git clone https://github.com/changeweb/Unifiedtransform

2. Create .env file from .env.example

3. composer install

4. Generate APP_KEY using php artisan key:generate

5. Edit the database connection configuration in .env file

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=unifiedtransform
DB_USERNAME=unified
DB_PASSWORD=secret

Be sure to have created a database in your mysql called unifiedtransform, and use a DB_USER that exists, has privileges, and has an appropriate DB_PASSWORD.


How to spot phishing attacks

TL;DR; Stay woke! Always be suspicious, especially of things too good to be true.

Like every parent, my Mum cares a lot for us, and she’s always looking out for our progress. So this morning, she sent me this:

At first glance I was like whoa! The USA is opening its doors like that?

Then I saw the email address, and became suspicious. I then visited americaimmigration.us and saw this:


What we learnt before, during and after

On Thursday, July 30th, 2020, we created the twitter account for FindTreasure.app, and made its first tweet:

What followed was an interesting 24 hour journey of making sure the game was a success.

If you’re not familiar with how FindTreasure.app works, I suggest you check it out, and play the Test game at least before continuing.

During this time, we learnt a few things about User Behavior and Developer mistakes we think are worth sharing.

1. Every loop hole will be exploited

While building, we considered that a Contestant can create multiple accounts, and run parallel instances of their script, with different JWTs obtained when creating…


Dell XPS 15

I got a Dell XPS 15 Laptop recently. It is a thing of beauty, except when the Touchpad just stops responding, and only click-and-drag mode seems to work, so I have to restart the Computer to get it working again.

Fix — Using Device Manager

Restarting every time is a terrible solution, so I began to check what else I could do to fix this.

I found that disabling and enabling the “HID-compliant Touch Pad” device in Device Manager, fixed the problem every time.


Let’s play a speculation game.

Imagine you’re tasked to scale a tailor shop to provide same-day sewing and pickup of any dress.

How would you do it?

Note: It should support Owambe dresses with the most custom fittings.

It’s a compound problem, made up of some really complex problems people have been solving for decades.

Problems like

  • Supply MGMT
  • Maintenance
  • Employee MGMT
  • Assembly Line Design and MGMT
  • Generic Representation of Garments for sewing
  • Fitting

Should be fun.

I’m incredibly naive about sewing, and most of the above topics, so feel free to not take me seriously.

Our Goal

The goal is clearly…


I remember the way her voice rang out when she was excited.

I loved how excited she got when talking about the things she was passionate about.

Music.

She visited a few days after Olowo Gbogboro came out, and it was all she could talk about. Apparently, she’d stayed up until it came out, and she wrote about it on her blog asap, a post which got a then astonishing number of views in a short period.

Social Media.

Her Facebook was always bubbling with activity. She was quirky, fun, and could have serious conversations on a broad range of topics.

Non-mainstream movies.

Christianity.

Esther was…


The Romans had a deity called Janus, a two-headed figure who could look into the future and the past at the same time. He was the god of door-ways and decision-making, and it is for him, that the month of January gets its name.

I’m at a point in my life, where I find myself almost a spectator of my own history. I think I’ve always sucked at making big decisions. I either try to delay it till I can’t anymore, or choose an option with a decision making process that may as well be rolling a die.

I feel…


Especially in dotnet core 3.0

1. Computed Columns do not work with Sqlite

It used to be that EF Core would ignore computed columns, but in dotnet core 3.0, I have to conditionally add my computed columns to the model builder.

if (!Database.IsSqlite())
{
builder.Entity<Person>()
.Property(bl => bl.Age)
.HasComputedColumnSql(...);
}

2. Use Database.EnsureCreatedAsync(…) for MsSQL and Sqlite

For performing a DB Migration at runtime, I used to think EnsureCreated(…) and its async EnsureCreatedAsync(…) counterpart would only create the database if it does not exist. However, it will actually perform a migration, if the database did not previously exist, and do absolutely nothing if the DB exists already.

I also noticed it does not work well with MySql via Pomelo, which…

Ikechi Michael

I’ve learned I don’t know anything. I've also learned that people will pay for what I know. Maybe that's why they never pay.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store