Git branches: Merging issues while having multiple release branches

enter image description here

We have to support multiple releases, so we are following git branching model similar to the above diagram. Now the problem is that we have to do lots of merging here example for fix/011, we are merging it three different branches(master, release/1.0 and release/2.0). Also there is question of from where to create this fix/011 branch from master, release/1.0 or release/2.0? Creating it from master brings unwanted features, creating it from any release branch brings merging overheads and conflicts and cherry pick back to master is error-prone.

Is there any better approach? We can’t follow single release branch approach because our different customers are on different releases and many times they don’t want to do major upgrade to get fix for small issue(and there are pricing aspects as well)

We are using github.

One good option I found is forking fix(/feature) branch from all branches (refer: https://docs.microsoft.com/en-us/azure/devops/repos/git/git-branching-guidance?view=azure-devops#port-changes-back-to-the-master-branch) but our developers didn’t find it much different from exiting approach and they feel is complex.

Reinstall macOS after having Linux

I installed Ubuntu on a 2010 Macbook, just to try it out. I now want to go back to either Sierra o High Sierra.

I created Install UBS sticks and I tried to boot from them by holding the Option Key. When I do that, a screen appears with the “typical” macOS icons for a HHD and a Removable Disc (orange icon). If I choose the HDD icon it eventually boots Ubuntu. If I choose the Instal USB drive, the screen goes apple grey with a “no parking” sign in a darker shade of grey (…).

I tried every combination I found on internet (cmd+R, cmd+option+R, cmd+option+shift+R, and some other maybe) but nothing makes the disk utility to pop up.

As an additional info, when I boot up, the typical Apple chime is there but no apple logo whatsoever…

Is there hope for something?

Trying to install Android onto my HP Stream 7 (Windows 8.1 tablet) but I’m having software issues

Windows update isn’t working after three fresh installs and there’s barely any apps on the Windows 8.1 store. Windows 10 makes the battery drain really fast and is always at 90%+ RAM and CPU usage. This makes the device unusable. I’ve tried to install Android Nougat but I’m having issues. The problem is that the touchscreen is very unresponsive and can end up having massive delays, not detecting when it’s being touched/released, and the system is incredibly slow at times seemingly randomly. The screen rotation is off and seems to not know how much it’s actually rotated. As soon as the system sleeps from not being used or via the power button the screen stays lit but goes black and cannot be woken up unless a hard shutdown happens and the device is rebooted. The device has also been getting unusually hot. I feel like all of the above issues are related to Android not having any drivers for my hardware. Does anyone know where to get the correct drivers or at least something to make it work better? I may also mention that I stupidly only allowed half a gigabyte of user storage space and 450+ megabytes are already in use.

I saw a YouTube video where some guy got it working adequately and I just couldn’t understand how he got it working so smoothly! I’ve searched all over Google but cannot find much information as my device could potentially be more obscure and/or not many people have tried this. 🙁

Video with working system (Same model and ISO as mine)

In this absurd multi-class, is there any other benefit to having a specific starting class?

I’m building the character Abserd, who has 1-level of all classes. He really is a useless character, got kicked out of every guild he ever joined.

There are some specific benefits to starting with specific characters, in HP, Saves, and proficiencies. However, since we are taking levels in all classes, we can just compare what we gain, that we wouldn’t gain otherwise. For example, since at least 2 classes give Shield proficiency, it’s irrelevant if the starting class does so. Since dipping into Ranger gives you 1 skill anyway, starting with Ranger doesn’t give more skill proficiencies than starting into Fighter.

Here’s what I cooked up. Abserd, regardless of his starting class, will have proficiency in simple and martial weapons, shields, and light and medium armor. The table below shows benefits specific to starting with each specific class.

\begin{array}{|c|c|c|c|c|c|} \hline & \textbf{HP} & \textbf{Skills} & \textbf{Armor} & \textbf{Tools} & \textbf{Saves} \ \hline \textbf{Barbarian} & 5 & 2 & \text{} & \text{} & \text{STR/CON} \ \hline \textbf{Bard} & 3 & 2 & \text{} & \text{1 Musical} & \text{DEX/CHA} \ \hline \textbf{Cleric} & 3 & 2 & \text{} & \text{} & \text{WIS/CHA} \ \hline \textbf{Druid} & 3 & 2 & \text{} & \text{Herb. Kit} & \text{INT/WIS} \ \hline \textbf{Fighter} & 4 & 2 & \textbf{All*} & \text{} & \text{STR/CON} \ \hline \textbf{Monk} & 3 & 2 & \text{} & \text{1 Artisan’s} & \text{STR/DEX} \ \hline \textbf{Paladin} & 4 & 2 & \textbf{All*} & \text{} & \text{WIS/CHA} \ \hline \textbf{Ranger} & 4 & 2 & \text{} & \text{} & \text{STR/DEX} \ \hline \textbf{Rogue} & 3 & 3 & \text{} & \text{} & \text{DEX/INT} \ \hline \textbf{Sorcerer} & 2 & 2 & \text{} & \text{} & \text{CON/CHA} \ \hline \textbf{Warlock} & 3 & 2 & \text{} & \text{} & \text{WIS/CHA} \ \hline \textbf{Wizard} & 2 & 2 & \text{} & \text{} & \text{INT/WIS} \ \hline \end{array}

Barbarians have the most HP of all starters, and Rogues have 1 additional skill proficiency. If you want proficiency in Heavy Armor, you need to start with Fighter or Paladin (unless you pick some specific Cleric Domain when you dip cleric). You can also get an additional proficiency with an instrument/tool if you start with Druid/Bard/Monk.

so, TL;DR, aside from these bonuses, and the Saving Throw proficiencies, are there any other benefits to starting with a specific class?

Sharepoint O365 Sorry, we’re having trouble reaching the server

This happens only with one user (That I know of) We have an on-premise AD that syncs with Azure AD. We are unable to type in the one users’ email address or name and have it return the option to send an invite from a Sharepoint Team site. Created a new test team site, and when I try to add the same user, I get Sorry, we’re having trouble reaching the server. The AD account was imported from another AD a year or so ago. I can choose people from the same OU that were imported the same way without issue.

Select Rows having values matching in 2 other columns

Table

Id   ||   IdFrom  ||  IdTo -------------------------- 1    ||    null   ||  2 2    ||    1      ||  null 3    ||    null   ||  5 4    ||    null   ||  6 5    ||    3      ||  9 6    ||    4      ||  7 7    ||    6      ||  null 8    ||    null   ||  null 9    ||    5      ||  10 10   ||    9      ||  null 

Need to get all rows or just specifically the Ids that are found between all 3 columns when specifying a given Id. So a SELECT (all ids found in the IdFrom or IdTo and Those IdFrom’s or IdTo’s are in other IdFrom’s or IdTo’s)

Results when searching for Id 1 would give results of Ids 1 and 2

Results when searching for Id 2 would give results of Ids 1 and 2

Results when searching for Id 3,5,9, or 10 would give results of Ids 3,5,9, and 10

Results when searching for Id 4,6, or 7 would give results of Ids 4,6,and 7

Using SUID program to avoid having entries in sudoers

Well, I’ve done a lot of reading and documentation around possible exploitation of sudoers files and SUID programs, but don’t have a deep enough knowledge to pick up the wisest possible solution for my problem.

We’re currently developping a Qt-based tool on Ubuntu for upgrade/rollback management of our main application.
So as you might have guessed, the said tool is making extensive use of apt install/purge and dpkg commands, that happen to be executable only with root privileges, which the tool does not have, as it is meant to be executed only within the limited-privileges user’s context.

To circumvent this limitation, the team has chosen the most straightforward solution : adding appropriate entries in the user’s sudoers file for the aforementioned commands.
BUT, as far as I know, this opens up a dangerous vulnerability in the system, as an attacker who would gain only limited access to the machine might then remove important components of the underlying linux system (systemd for instance), thus making the system crash.


As I’m the only cybersecurity engineer in the team, I’m trying to find the safest and most recommended way to mitigate this flaw, but so far could think of only one alternative : turning the upgrade tool into a SUID program.
The thing is : SUID programs have a nefarious reputation when it comes to privilege escalation vulnerabilities they might expose on the target system (see here for a checklist of all the considerations to implement in order not to mess up everything when writing a SUID program).

The question is : is going through this painful process really worth it ?
Is there any other way we could safely use apt/dpkg commands without all the hassle of SUID implementation, and without making the upgrade tool run with superuser mode ?

Note: a lot of questions on stackexchange cover SUID related concerns, but none actually discusses the specific usecase we’re dealing with.

Consequences of a graph not having odd circuit or its complement

I was given the following claim:

“If a graph $ G$ does not contain any odd circuit $ C_{2k+1}$ for $ k\geq 2$ , or its complement, then we have $ \omega(G’)\alpha(G’) \geq |V(G’)|$ for every induced subgraph $ G’$ of $ G$

where $ \omega$ is the clique number, $ \alpha$ is the stability number, $ |V|$ is the number of vertices in the graph. This actually shows if we prove the strong perfect graph theorem, we already prove the perfect graph theorem.

I am trying to prove the claim, and I can show that if there is a cycle $ C_{2k+1}$ with $ k\geq 2$ , we have $ \alpha(C_{2k+1})=k, \omega(C_{2k}+1)=2$ . The multiplication becomes $ 2k < 2k+1$ (similar for the complement). But, my questions are:

  1. How can I show that if a subgraph is not $ C_{2k+1}$ then we have the condition?
  2. Is there a difference when I use circuit instead of cycle?