magento2 – Magento 2 – Every module as Git Repository, bad?

Our online business operates on a Magento 2.4.x installation which now has nearly 100 in-house modules that deliver features and functionality specific to our business. Every module has its own Git repository (we use BitBucket for our repositories and Satis to drive our private package server).

During development, we simply used dev-master for all modules which made pushing updates very quick and easy (either with composer or git pull origin master in the module’s directory under vendor/mybusiness). The decision to put every Module into its own repo, and version it by itself was deliberate: we felt that there we advantages to this approach, especially when making changes to the public API for one of many modules. So long we followed SEMVER appropriately, we would be immediately aware of when a change we’ve introduced may cause issues with one of our other modules that maybe has not been worked on in a while.

While this example scenario is true, we’re now realizing the downsides of having such a massive web of dependencies e.g. a change to one module might require a handful of other git operations and file changes across many other modules. This does not “feel” right to our development staff.

We are discussing moving all of our modules into the app/code directory, and using Composer only to manage 3rd party modules, essentially treating our collection of modules as a single application. Since our development team is small and in-house, we feel that it is totally manageable for us to handle the occasional merge if two developers just-so-happen to modify the same file in their bug/feature branch and introduce a merge conflict (this problem would not be unique to this proposed change, either).

We do maintain our own repository for the Magento 2 files and folder structure so that we can (for example) version control our own error pages, .htaccess files, etc. This repository contains little more than these sorts of files/folders and the composer.json file that is exactly what ships with Magento 2, with all of our in-house modules and a select few 3rd party modules included. Therefore, we have an “easy” means of moving our modules from being managed by Composer and simply versioning them altogether, but that also has some sort of weird feeling to it.

I would love to hear some input from other devs who maintain a large number of in-house modules for their business’s Magneto 2 installation.

git – How can I check the timestamp of a remote commit without cloning the repository?

There is a Git sub-command called ls-remote which allows listing of all the branches and commit hashes of the leaf node/tip of each branch.

How can I also query the timestamp of those commits, or other related information of the commit, without cloning the repo locally? (or, is there no way to do this without cloning the repo)

How can I integrate GitHub repository and Circle CI services with Google cloud and what is the cost if any?

We have a Google Cloud server and we want to integrate it with GitHub and Circle CI.
I would like to know more about the process and what is the cost if any.

Thank you.

Large CSV data repository – Computer Science Stack Exchange

I have a server that contains daily data, and each day has it’s own .csv file. Currently I am downloading the files to my machine and running VBA to open and copy each file into a large workbook. Is there an easier way to do this, or is there software that can help me do this? Any help would be greatly appreciated.

magento2 – Product collection and Product Repository return different results

I am a little confused about the difference between getting products by Collection and use de Repository. Right now, in one project, if I run this code:

$collection = $this->_productModel->getCollection()
->addAttributeToFilter('sku', ('in' => ('999007102', '9247', '7549')))
->addWebsiteFilter((1))
->load();

echo $collection->count();

It returns me the 3 products without a problem.

However, if I run this other:

$searchCriteria = $this->searchCriteriaBuilder
->addFilter(MagentoCatalogApiDataProductInterface::SKU, ('999007102', '9247', '7549'), 'in')
->addFilter('website_id', 1, 'in')
->create();
$items = $this->productRepository->getList($searchCriteria)->getItems();

echo count($items);

It returns me 0 products.

Why could it occur?

Thanks.

update manager – Ubuntu 20.04 & Failed to download repository information

I cannot update Ubuntu 20.04 since several days ago. I opened “Software updater” and I tried to update the software, but it does not work:

enter image description here

I also tried to do the following using the terminal:

sudo apt-get clean

sudo apt-get update

sudo apt-get upgrade

This also does not work. By the way, my internet connection works perfectly, and I can browse very well.

Do you have any suggestion on how to fix this problem?

python – Maian Tool Repository on Docker: How to store contract retrieved from etherscan.io and what is ‘test.sol’

I am trying to execute MAIAN tool repository on docker. The link at :

https://github.com/ivicanikolicsg/MAIAN/issues/26

They provided details of how to execute the MAIAN tool from docker. I am in the MAIAN tool repository on docker.
They have first tried to access the contract from docker:

Retrieving contracts using Etherscan

The name of the contract is KaratBankCoin. They have not told where to store the contract.

Later on they used the command:

python maian.py -c 2 –soliditycode test.sol KaratBankCoin

I am getting the error :

==================================================================================================== [ ] Compiling Solidity contract from the file test.sol … [-]
Contract file test.sol does NOT exist [-] Contract KaratBankCoin does
NOT exist

Because I don’t know what is test.sol and I don’t know how and where to store the KaratBankCoin contract retrieved from mainnet.

They have not provided any details about test.sol and how to store KaratBantCoin because we are in the Maian tool’s repository.

Somebody please guide me.

Zulfi.

image processing – how to implement training for UNET implementation on Wolfram Neural Net Repository?

My question is with reference to the U-NET implementation present on the Wolfram Neural Net Repository

The construction notebook present on the page (link: http://www.wolframcloud.com/files/1737200a-b043-413c-ad37-477e208472ad?contentDisposition=attachment) contains all the necessary functions for constructing the net. However, it does not contain the procedure for training the neural net.

I am trying to implement a simple training procedure so that I can firstly train the net myself on the same dataset which the net was initially trained on (https://www.dropbox.com/sh/8dcqxlj94fyyop0/AADib7XPcVkJ1PHddD2Nm9Moa?dl=0). Thereafter, I would like to use a different dataset for training.

Please download the construction notebook before proceeding. The only code that I have added to the construction notebook is mentioned below:

(*loading the images, resizing them and augmenting them to produce the training dataset;
background labelled as 1 and cells in the foreground as 2.*)

fnamesimages = Import("C:\Users\aliha\Downloads\dataset\images\");
ordering = Ordering@Flatten@StringCases(fnamesimages, (p : DigitCharacter ..) ~~ ".tif" :> FromDigits@p);
fnamesimages = fnamesimages((ordering));

images = Import("C:\Users\aliha\Downloads\dataset\images\" <> #) &/@fnamesimages;
images = ImageResize(#, {388, 388}) & /@ images;
masks = Import("C:\Users\aliha\Downloads\dataset\segmentation\" <> #) &/@fnamesimages;
allmasks = Flatten@Table(ImageRotate(j, i), {j, masks}, {i, {0, Pi/2, Pi, 3/2 Pi}});
allmasks = Join(allmasks, ImageReflect /@ allmasks);
maskres = ImageResize(#, {388, 388}) & /@ allmasks;

m = ArrayComponents(ImageData@#, 2, {0. -> 1, n_ /; n != 0. -> 2}) &/@maskres;
allimages = Flatten@Table(ImageRotate(j, i), {j, images}, {i, {0, Pi/2, Pi, 3/2 Pi}});
allimages = Join(allimages, ImageReflect /@ allimages);

(* using a small subset of images and segmented images because of GPU memory crash*)
trained = NetTrain(unet, allimages((1 ;; 50)) -> m((1 ;; 50)), All, BatchSize -> 5, MaxTrainingRounds -> 1, TargetDevice -> "GPU");
trainedNet = trained("TrainedNet");

enter image description here

In addition I am using the code in the example notebook (present on the same page) to then evaluate the trained net on a test image.

Clear@netevaluate;
netevaluate(img_, device_ : "CPU") :=
Block({net = trainedNet, dims = ImageDimensions(img), pads, mask},
pads = Map({Floor(#), Ceiling(#)} &, Mod(4 - dims, 16)/2);
mask = NetReplacePart(net,
  {"Input" -> 
    NetEncoder({"Image", Ceiling(dims - 4, 16) + 188, 
      ColorSpace -> "Grayscale"}),
   "Output" -> 
    NetDecoder({"Class", Range(2), "InputDepth" -> 3})})(
 ImagePad(ColorConvert(img, "Grayscale"), pads + 92, 
  Padding -> "Reversed"),
 TargetDevice -> device
 );
Take(mask, {1, -1} Reverse(pads((2)) + 1), {1, -1} (pads((1)) + 1))
);

we can now load the test image and apply the net.

testimg = Import("C:\Users\aliha\Downloads\dataset\test image\t099.tif);
netevaluate(testimg)//Colorize

enter image description here

Unfortunately I do not get any segmentations back. I just get the background. Could someone kindly let me know where I may be having the issue? Thanks !

Permission denied to a repository when starting Ubuntu 20.04

I started to get this error message, when I run my 20.04 Ubuntu.

enter image description here

The package manager says that everything is updated, when I run apt-get update I get:

    ~ (1) $ apt-get update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)

How do I fix this?

windows – Trouble with first-page search result to install Docker on WSO2: WSO2 website links to “Dockerfiles” repository as an outdated version

This is a mistake of an absolute beginner. It might be a complete stupidity even. I just want to share it in case there is another absolute beginner out there.

I was asked to install Docker on Windows 10, and I did not expect any surprise, I simply searched for “wso2 windows docker” and clicked on a link of the official WSO2 website to reach “WSO2 Dockerfiles Documentation”, thinking nothing can go wrong there: Building Docker Images.

Here is a full quote from the link:

Step 1 – Obtain WSO2 Dockerfiles

Use one of the following options to obtain the WSO2 Dockerfiles.

  • Option 1 – Clone the WSO2 Dockerfiles repository

    Clone the WSO2 Dockerfiles repository and checkout the latest
    release tag. You can find the latest release tag in the releases page
    of WSO2 Dockerfiles repository.

Cloning from WSO2 Dockerfiles Repository:

isuru@isuru-ThinkPad:/tmp$ git clone https://github.com/wso2/dockerfiles.git
Cloning into 'dockerfiles'...
remote: Counting objects: 2396, done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 2396 (delta 60), reused 0 (delta 0), pack-reused 2282
Receiving objects: 100% (2396/2396), 293.95 KiB | 54.00 KiB/s, done.
Resolving deltas: 100% (1674/1674), done.
Checking connectivity... done.
isuru@isuru-ThinkPad:/tmp$ cd dockerfiles/
isuru@isuru-ThinkPad:/tmp/dockerfiles$ git checkout tags/v1.2.0 -b v1.2.0
Switched to a new branch 'v1.2.0'

I found that “the latest release tag in the releases page of WSO2 Dockerfiles repository” is v1.2.0 of 2016. This cannot be right of course. How do I get the latest version?