02 December, 2023
Subtitles file in the Video
Programing Coderfunda
December 02, 2023
No comments
To use this code, you need to have a file with subtitles, but it so happened that subtitles are EMBEDDED IN THE VIDEO CODE, that is, subtitles are in the video, but there is no file with them (because I downloaded it)
How to solve this problem?
01 December, 2023
React Native Android biometrics - can I locally authenticate using face lock? From what I see, only fingerprint authentication works
Programing Coderfunda
December 01, 2023
No comments
I am currently using the react-native-biometrics package which supports both TouchID and FaceID for iOS, but only Biometrics for Android. When I do this:
const { biometryType } = await biometrics.isSensorAvailable();
It is only defined if I have a fingerprint unlock set up.
const { success } = await biometrics.simplePrompt({
promptMessage: 'Confirmation',
});
Also only triggers if I have fingerprint unlock set up. It doesn't do anything if I just have face unlock set up.
From what I can see, all React Native libraries that I have found only support fingerprint for Android. I imagine there must be some sort of Android reason for this?
In MacOS, can I control a window's location automatically?
Programing Coderfunda
December 01, 2023
No comments
If I were using Linux/X, I would be able to tell the window manager to recognise this window and keep it in the corner, or offscreen, or something.
All the web searching I've done comes up with how to keep windows on top - nearly the opposite of what I want.
The closest I've found to a solution is setting Zoom in the Icon Bar to 'Options > Assign to: all desktops' which (bizarrely) hides all the zoom windows underneath all other windows if I'm not actively using it... except, of course, for the one I'd actually like to hide.
Obviously the correct solution is to become massively wealthy, buy Zoom, and force them to fix their damn software. Or buy Apple and force them to rename themselves X and... oh, wait, that's something else.
Is there something I can do to prevent this 'Webinar is almost ready to start' popup from... uh, popping up?
How to resize the console window and move it to fill the screen
Programing Coderfunda
December 01, 2023
No comments
When I run my program, and it opens the console window, I want it to automatically go into full screen mode.
Here is my current attempt, where it resizes the console window, but it doesn't move to fill the screen and goes off of the edge
#include
int main()
{
HWND window = GetDesktopWindow();
HWND console = GetConsoleWindow();
RECT r;
if (GetWindowRect(window, &r))
{
int width = r.right - r.left;
int height = r.bottom - r.top;
MoveWindow(console, 0, 0, width, height, TRUE);
}
}
When I run it, the console window opens to a random spot on the screen as normal, but then it grows to the size of the full screen, but the top left corner doesn't move.
When I run the program
How to resize a cylinder from one end and move it backwards in Roblox
Programing Coderfunda
December 01, 2023
No comments
it made the cig resize to the front.
you can get it yourself here:
https://filetransfer.io/data-package/qKBHvHxS#link
/>
and for people who want the code all you really need to see is this:
for i = bit.Size.X, 0, -0.1 do
local tweenInfo = TweenInfo.new(0.1)
local goal = {}
goal.Size = Vector3.new(i, bit.Size.Y, bit.Size.Z)
local tween = TweenService:Create(bit, tweenInfo, goal)
tween:Play()
wait(0.1)
bit.CFrame = bit.CFrame + bit.CFrame.LookVector * -0.1
end
But seriously, I do recommend downloading the RBXM file and actually testing it.
Also its a tool, so this accounts for rotations.
Reference Document for Laravel / Filament
Programing Coderfunda
December 01, 2023
No comments
I love to read the docs and I always have now laravel docs and filament docs open in tabs at all times - though google sometimes takes to the docs pages which are for older laravel and filament, but its fine.
I am trying to see if there is a Laravel and/or Filament Reference Document website ? a palce which would list all classes, their methods and properties - for now, I am diving into the code files trying to figure out what is available and also relying on the auto complete list in PhpStorm, but maybe a separate document where I can do CTRL+F would be great. submitted by /u/zaidpirwani
[link] [comments]
30 November, 2023
How to switch off output logs relating style sheet?
Programing Coderfunda
November 30, 2023
No comments
[qss_ld] "loading style sheet file \"titlebardockinactive.qsse\"."
[qss_ld] "style sheet file resolved in the default path: \":/styles/blacktheme/titlebardockinactive.qsse\"."
[qss_ld] "processing style sheet file \":/styles/blacktheme/titlebardockinactive.qsse\"."
[qss_ld] "importing style sheet file \"variable.qsse\"."
How can I switch off this output logs?
IIS Reverse Proxy Rewrite Module is gibing 404 service not found error
Programing Coderfunda
November 30, 2023
No comments
https://my_domain_name:my_port_no/uri_part.
/> It is working when i request it through iis server directly.
But when i rewrite this using reverse proxy and set up an inbound rule only
then it is showing service not found 404 error in postman. Here's the rewritten url which i want to hit
http://iis_server_ip:iis_server_port/uri.
/>
I have choosen rever proxy for url rewrite and and created an inbound rule wherein i have put the masked url. I am fairly new to iis and its application. Can anyone tell me what could be the issue.
I tried requesting through rewritten url and it was showing 404 service not found error.
I am able to connect to the domain from my iis server as telnet is working. Also using actual url i am able to get the response but when i rewrite and then request it is showing 404 service not found error. Also i am not sure if i should implement an outboun rule as well or not in reverse proxy.
compare two array and exclude the common one and show the result
Programing Coderfunda
November 30, 2023
No comments
$unprotected - "this list contains 456454" $blocklist - @('456454', '456789')
foreach ($ele in $blocklist)
{
foreach ($elem in $unprotected)
{
if ($ele -contains $elem)
{}
else {$var_chk = "1"}
}
} if($var_chk = "1"){$Arr_lst += $elem}
When does a kafka connect SourceTask fail?
Programing Coderfunda
November 30, 2023
No comments
This got me curious about the lifecycle of a SourceTask.
is my understanding correct? can it fail for reasons when poll doesn't throw any error?
also would every instance of "entering into failed state" trigger the stop method within the SourceTask or can it happen that stop isn't triggered?
How to replace unicode characters in string with something else python?
Programing Coderfunda
November 30, 2023
No comments
I know the unicode character for the bullet character as U+2022, but how do I actually replace that unicode character with something else?
I tried doing
str.replace("•", "something")
but it does not appear to work... how do I do this?
29 November, 2023
What is causing my connection to my sql server not to connect?
Programing Coderfunda
November 29, 2023
No comments
https://i.stack.imgur.com/oPKGp.png)](https://i.stack.imgur.com/1xvaS.png)](https://i.stack.imgur.com/h3Izl.png)](https://i.stack.imgur.com/tvPNA.png)
/>
I was expecting the connection to go through.
What causes the above error?
Please help
Reset 3 Slicers to Select All when in a 4th slicer 'Yes' or 'No' selected
Programing Coderfunda
November 29, 2023
No comments
I have 4 slicers for 4 flags (a Yes or No value) to display whether a patient has Condition 1, Condition 2 etc. As these 4 conditions aren't mutally exclusive, a patient could have 2 or more conditions, how can I reset 3 slicers to Select All when a 'Yes' or 'No' is selected in a 4th slicer?
Is there a online FTP i can put on my website?
Programing Coderfunda
November 29, 2023
No comments
I tried googel/youtube searching it but found nothing
Problem with saving data to a file, the file is left blank most of the time **EDIT i dont really understand, im relatively new to this [duplicate]
Programing Coderfunda
November 29, 2023
No comments
from tkinter import *
from tkinter import messagebox
addPupil = Tk()
addPupil.geometry("275x200")
addPupil.title("Add Pupil")
Label(text = "Add New Pupil", width = 30).grid(columnspan = 3)
x = 1
y = 0
entryboxNames = ["First Name", "Last Name", "School Name", "Guardian Name", "Gender"]
for i in range(5):
Label(text = entryboxNames[i]).grid(row = x, column = y)
ent = Entry()
Entry().grid(row = x, column = y + 1)
x = x + 1
def save():
file = open("details.txt", "a")
file.write(entryboxNames[i] + ":" + ent.get() + " " + "\n\n")
messagebox.showinfo("Saved", "Data saved")
file.close
save = Button(text = "Save", command = save).grid(row = 6, column = 0)
for some reason this code isnt saving data to the file, all i can see is the final term (gender) with nothing after it even if anyone enters something
Login for access token 422 Validation Error FastApi
Programing Coderfunda
November 29, 2023
No comments
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
SECRET_KEY = "somekeyfasfascsacs"
ALGORITHM = "HS256"
bcrypt_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
oauth2_bearer = OAuth2PasswordBearer(tokenUrl="auth/token")
db_dependency = Annotated[Session, Depends(get_db)]
def authenticate_user(username: str, password: str, db: db_dependency):
user = db.query(Users).filter(Users.username == username).first()
if not user:
return False
if not bcrypt_context.verify(password, user.hashed_password):
return False
print(type(user))
return user
def create_access_token(username: str, user_id: int,
expires_delta: Optional[datetime.timedelta] = None):
encode = {"sub": username, "id": user_id}
if expires_delta:
expire = datetime.datetime.utcnow() + expires_delta
else:
expire = datetime.datetime.utcnow() + datetime.timedelta(minutes=15)
encode.update({"exp": expire})
return jwt.encode(encode, SECRET_KEY, algorithm=ALGORITHM)
async def get_current_user(token: Annotated[str, Depends(oauth2_bearer)]):
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
username: str = payload.get("sub")
user_id: int = payload.get("id")
user_role: str = payload.get("role")
if username is None or user_id is None:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Could not validate user")
return {"username": username, "id": user_id, "user_role": user_role}
except JWTError:
# When authorizing using a button and trying to use other functions,
# it gives this error
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Could not validate user")
@router.post("/token")
async def login_for_access_token(response: Response, form_data: OAuth2PasswordRequestForm = Depends(),
db: Session = Depends(get_db)):
user = authenticate_user(form_data.username, form_data.password, db)
if not user:
return False
token_expires = datetime.timedelta(minutes=60)
token = create_access_token(user.username,
user.id,
expires_delta=token_expires)
response.set_cookie(key="access_token", value=token, httponly=True)
return True
But I get this error:
If you log in through the Autorize button, it doesn’t give you an error, but when you try to use other functions, the site gives you a 401 Unautorize error.
11 November, 2023
Access a Json inside a string?
Programing Coderfunda
November 11, 2023
No comments
Minimum Working Example:
response = [{ "UserStor": "id1","StoryTitle": "title1","StoryState": "state1", "UserStoryType": "type1","RawUpdates": "updates1","RawComments": "comments1"}]
If I need to access this dictionary, I can do:
print(response[0])
#output
{'UserStor': 'id1', 'StoryTitle': 'title1', 'StoryState': 'state1', 'UserStoryType': 'type1', 'RawUpdates': 'updates1', 'RawComments': 'comments1'}
---
Now, I have another dictionary but, it is inside a string
response = "{'UserStor': 'id1', 'StoryTitle': 'title1', 'StoryState': 'state1', 'UserStoryType': 'type1', 'RawUpdates': 'updates1', 'RawComments': 'comments1'}"
How, can I access this dictionary?
I know I can use ast.literal_eval().
Is there any other way to access this dictionary without using literal_eval()/eval() ?
I am here to learn, your comments and answers are welcome.
Add tag to another tag that matched condition
Programing Coderfunda
November 11, 2023
No comments
$string = "One two three four five six seven";
Result i want : One two three four five six seven
$xx = preg_replace_callback(
'//',
function ($addtag) {
return "".$addtag[0];
},
$string
);
echo $xx;
Result i want : One two three four five six seven
No module named - Running script from Terminal/IronPython [duplicate]
Programing Coderfunda
November 11, 2023
No comments
File structure for python project:
Root
ConfigGenerator
__config_generator.py
config.py
__config_generator.py:
import config
CONFIG = config.Config()
def __main():
# there are redundant to the question code
if __name__ == '__main__':
__main()
And now C# project:
using Microsoft.Scripting.Hosting;
using IronPython.Hosting;
using System;
using System.Windows.Forms;
namespace ProjectName
{
public partial class MainForm : Form
{
private ScriptEngine _engine;
public MainForm()
{
_engine = Python.CreateEngine();
InitializeComponent();
}
private void StartConfigGenerator_Click(object sender, EventArgs e)
{
RunScript(@"Q:\Project\Python\Bots\Root\ConfigGenerator\__config_generator.py");
}
private void RunScript(string path)
{
_engine.ExecuteFile(path);
}
}
}
Java SWT: Difference between redraw, reskin, update and requestLayout (and pack)
Programing Coderfunda
November 11, 2023
No comments
Unfortunately the API documentation does not tell so much about the differences.
I guess the following:
Control.requestLayout() means calculating the size and position of a control inside a Composite when its content (like a text in a label or text field) has changed and perhaps its displayed size/position is not anymore appropriate.
I think I understand Control.pack(): It is just a part of Control.requestLayout or rather Composite.layout() as only the size of controls will be changed but not the position.
Control.redraw() and Control.update(): It seems to me that both methods just paint the control again and you call them when the operating system does not show it correctly anymore. You call the methods if size and position have not changed. The difference between both methods is that update() repaints the control immediately whereas redraw() can do it after some time.
I don't understand when I need to call Widget.reskin(). It seems to me the same as Control.redraw().
Optimization dots&line game
Programing Coderfunda
November 11, 2023
No comments
here My code,
class Maze {
constructor(gridX, gridY, sideSize) {
this.board = Array.from({ length: gridY }, (a) => a = Array.from({ length: gridX }, (b) => b = Array.from({ length: 4 }, c => c = 0)));
this.visited = [];
this.gap = Math.floor(sideSize / 8);
this.x = gridX;
this.y = gridY;
this.winPointX = 0;
this.winPointY = 0;
this.row = gridX * this.gap;
this.column = gridY * this.gap;
this.sideSize = sideSize;
};
drawGrid(ctx) {
console.log(this.row, this.column)
ctx.clearRect(0, 0, canv.width, canv.height);
for (let x = 0; x < this.row; x += this.x)
for (let y = 0; y < this.column; y += this.y) {
ctx.fillStyle = 'red';
ctx.fillRect(x * this.gap, y * this.gap, this.gap, this.gap);
}
};
ai(depth, alpha, beta, player, advantage, y, x, tile_Y, tile_X) {
if (y !== undefined && x !== undefined) {
let winPoint = this.boxForm(y, x)
if (tile_X > -1 && tile_X < 8 && tile_Y > -1 && tile_Y < 8) {
winPoint = winPoint || this.boxForm(tile_Y, tile_X)
}
if (winPoint && player == 'O') {
player = 'X';
advantage += 10
}
else if (winPoint && player == 'X') {
player = 'O';
advantage -= 10;
// console.log('Human bonus',y,x)
}
}
if (depth === 0) {
return { score: advantage }
}
var pieceArr = [];
for (var i = 0; i < this.board.length; i++) {
for (var j = 0; j < this.board[0].length; j++) {
for (let b = 0; b < 4; b++) {
if (this.board[i][j][b]) {
continue;
};
let tileX = j;
let tileY = i;
let best = {}
this.change(i, j, b)
best.bestmove = [i, j, b];
let neghdir;
if (b == 2) {
neghdir = 0;
tileX++
} else if (b == 0) {
neghdir = 2;
tileX--
} else if (b == 3) {
neghdir = 1;
tileY--
} else {
neghdir = 3;
tileY++
};
if (tileX > -1 && tileX < 8 && tileY > -1 && tileY < 8) {
this.change(tileY, tileX, neghdir);
}
var g = this.ai(depth - 1, alpha, beta, player == 'X' ? 'O' : 'X', advantage, i, j, tileY, tileX);
/* if (tileX>-1&&tileX-1&&tileY alpha) {
alpha = best.score;
}
} else {
if (best.score < beta) {
beta = best.score
}
};
if (tileX > -1 && tileX < 8 && tileY > -1 && tileY < 8) {
this.board[tileY][tileX][neghdir] = 0;
}
this.board[i][j][b] = 0;
pieceArr.push(best)
if (alpha >= beta) {
break;
}
}
}
};
pieceArr.sort((a,b)=>{
return Math.random()-0.5;
})
var bestMove;
if (player === 'X') {
var bestScore = -10000;
for (var i = 0; i < pieceArr.length; i++) {
if (pieceArr[i].score > bestScore) {
bestScore = pieceArr[i].score;
bestMove = i;
}
}
} else {
var bestScore = 10000;
for (var i = 0; i < pieceArr.length; i++) {
if (pieceArr[i].score < bestScore) {
bestScore = pieceArr[i].score;
bestMove = i;
}
}
}
return pieceArr[bestMove];
};
rmSide(side, dir, col) {
let vertex;
if (dir == 'w') {
vertex = [side[0] * this.x, this.y * side[1]];
} else if (dir == 'e') {
vertex = [(side[0] + 1) * this.x, this.y * side[1]];
}
else if (dir == 'n') {
vertex = [this.x * side[1], (side[0]) * this.y];
} else if (dir == 's') {
vertex = [this.x * (side[1] + 1), (side[0]) * this.y];
}
if (!vertex) {
return null
}
let x = vertex[0];
for (let y = vertex[1] + 1; y < vertex[1] + this.y; y++) {
ctx.fillStyle = col;
if (dir == 'n' || dir == 's') {
ctx.fillRect((y) * this.gap, (x) * this.gap, this.gap, this.gap);
} else {
ctx.fillRect((x) * this.gap, (y) * this.gap, this.gap, this.gap);
}
};
}
change(y, x, dir, player) {
this.board[y][x][dir] = 'X';
}
boxForm(y, x) {
for (let i = 0; i < 4; i++) {
if (!this.board[y][x][i]) {
return false
}
};
return true
}
};
//dots and line
const canv = document.getElementById('canv');
const ctx = canv.getContext('2d');
const size = Math.min(window.innerWidth, window.innerHeight) * 0.7;
canv.width = size;
canv.height = size
const sideSize = size / 8;
console.log(sideSize)
let turn = 'X'
const maze = new Maze(8, 8, sideSize);
maze.drawGrid(ctx);
function mve(tileX, tileY, dir, player) {
if (tileX < 8 && tileY > -1 && tileX > -1 && tileY < 8) {
turn = player == 'O' ? 'X' : 'O'
let n = null;
if (dir == 'n') {
n = 3
} else if (dir == 's') {
n = 1
} else if (dir === 'e') {
n = 2
} else {
n = 0
}
/*
let cordX = e.clientX;
let cordY = e.clientY;
let dirCor = {
'n':[65+tileX*(100+20),75+(tileY)*(100+20)],
's':[65+tileX*(100+20),195+(tileY)*(100+20)],
'w':[45+tileX*(100+20),90+(tileY)*(100+20)],
'e':[165+tileX*(100+20),90+(tileY)*(100+20)]
};
console.log(cordX,cordY,dirCor);
// console.log(dirCor['n'][0]&&(dirCor['n'][0]+100)&&dirCor['n'][1]&&(dirCor['n'][0]+15))
if (cordX>=dirCor['n'][0]&&cordX=dirCor['n'][1]&&cordY=dirCor['s'][0]&&cordX=dirCor['s'][1]&&cordY=dirCor['e'][0]&&cordX=dirCor['e'][1]&&cordY=dirCor['w'][0]&&cordX=dirCor['w'][1]&&cordY -1 && tileX < 8 && tileY > -1 && tileY < 8) {
maze.change(tileY, tileX, neghdir);
if (maze.boxForm(tileY, tileX)) {
turn = player;
}
};
if (turn == "O") {
console.log(maze.board)
playAI()
}
}
}
}
function playAI() {
let aimove = maze.ai(4, -Infinity, Infinity, 'X', 0);
let dir1 = undefined;
if (aimove.bestmove[2] == 0) {
dir1 = 'w'
} else if (aimove.bestmove[2] == 1) {
dir1 = 's'
} else if (aimove.bestmove[2] == 2) {
dir1 = 'e'
} else {
dir1 = 'n'
};
console.log(aimove)
mve(aimove.bestmove[1], aimove.bestmove[0], dir1, 'O')
}
canv.addEventListener('click', (e) => {
const rect = canv.getBoundingClientRect()
let tileX = Math.floor((e.clientX - rect.x) / sideSize);
let tileY = Math.floor((e.clientY - rect.y) / sideSize);
let dir = prompt('direction');
mve(tileX, tileY, dir, 'X');
});
10 November, 2023
npm install MaxListenersExceededWarning
Programing Coderfunda
November 10, 2023
No comments
(node:5156) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [TLSSocket]. Use emitter.setMaxLis
teners() to increase limit
(node:5156) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [TLSSocket]. Use emitter.setMaxLis
teners() to increase limit
npm ERR! code ECONNRESET
npm ERR! syscall read
npm ERR! errno ECONNRESET
npm ERR! network request to
https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz failed, reason: read ECONNRESET
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! A complete log of this run can be found in: C:\Users\xxxx\AppData\Local\npm-cache_logs\2023-11-10T15_52_29_865Z-debug-0.log
install npm and dependences
Atomic locks in Laravel (demo & tutorial)
Programing Coderfunda
November 10, 2023
No comments
How to pass multiple values as sql array for a parameter? (Or how can I cirumvent limit of parameters of prepared statement?)
Programing Coderfunda
November 10, 2023
No comments
The query is currently created like this:
static final QInvoiceEntity invoiceEntity = ...
void queryInvoicesWithId(String... ids) {
JPAQuery query = ...
query.where(invoiceEntity.id.in(ids));
}
This works if no more than 32767 parameters are passed. If you pass more than that (e.g. 38000) the following exception is thrown:
Caused by: java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 38000
at org.postgresql.core.PGStream.sendInteger2(PGStream.java:275)
One solution according to 1 is to use ANY and pass the parameters as an array. I've tried the following but to no avail:
query.where(Expressions.booleanTemplate("{0} = ANY {1}", invoiceEntity.id, ids);
But this throws the following exception:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ? near line 3, column 31 [select invoiceEntity
from InvoiceEntity invoiceEntity
where invoiceEntity.id = ANY (?1)
I've even tried to pass the parameters as a string and convert it back in the query:
query.where(Expressions.booleanTemplate("{0} = ANY string_to_array({1}, ',')", invoiceEntity.id, String.join(",", ids));
But this throws the following exception:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ( near line 3, column 45 [select invoiceEntity
from InvoiceEntity invoiceEntity
where invoiceEntity.id = ANY string_to_array(?1, ',')
How to get the cell's output data from a azure databricks notebook to a file
Programing Coderfunda
November 10, 2023
No comments
Getting an image from the database using path images on the client side
Programing Coderfunda
November 10, 2023
No comments
import multer from 'multer';
const storageConfig = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, './images')
},
filename: (req, file, cb) => {
cb(null, Date.now() + '-' + file.originalname)
}
})
const upload = multer({storage: storageConfig});
let path = '';
app.post('/upload',upload.single('image'), (req, res) => {
res.setHeader('Access-Control-Allow-Origin', '
http://localhost:3000');
/> if(req.file) {
console.log(req.file);
path = req.file.path;
res.send('hi')
return;
}
res.send('bye')
})
after I received the file path I saved it in the database, but I don’t know how to use it later to show this picture on the screen
09 November, 2023
The Ultimate "git nah" Alias
Programing Coderfunda
November 09, 2023
No comments
Recently, developer Liam Hammett shared a fabulous git nah snippet on Twitter that is better than your existing git nah alias 🔥
I know lots of people use a "nah" alias to abort their current changes, but they usually limit it to "git reset --hard".
I like to do more by cleaning and aborting any potential rebase. If I use the "nah" command, I know I want a fresh start, so this helps
He shared two versions, including setting it up as a git alias:
# Git alias ⬇️
[alias]
nah = "!f(){ git reset --hard; git clean -df; if [ -d ".git/rebase-apply" ] || [ -d ".git/rebase-merge" ]; then git rebase --abort; fi; }; f"
If you prefer a bash function instead, here's that version that you would add to your .bashrc or .zshrch file:
# Bash function ⬇️
nah () {
git reset --hard
git clean -df
if [ -d ".git/rebase-apply" ] || [ -d ".git/rebase-merge" ]; then
git rebase --abort
fi
}
Depending on which snippet you prefer, here's how you'd run it:
# Alias
$ git nah
# Bash
$ nah
What are some of your favorite git aliases? Share them with us!
The post The Ultimate "git nah" Alias appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
Laravel Nova gets a fresh new website
Programing Coderfunda
November 09, 2023
No comments
Laravel Nova is a beautifully-designed administration panel for Laravel. Carefully crafted by the creators of Laravel, and they just launched a brand new website with a fresh design.
Nova allows you to create beautiful, easy-to-use, and complete application backends that handle all of your needs.
Gone are the days of cobbling together lackluster administration panels. Nova is designed and crafted by the Laravel team, so it integrates perfectly with the framework.
Nova is the easiest way to quickly manage your data, view your key application metrics, or handle any custom process your application requires.
To celebrate the new launch, all Nova licenses are discounted by ~30%. You can even renew your existing license early to lock in the 30% discount. Visit nova.laravel.com for all the details.
The post Laravel Nova gets a fresh new website appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
How to prevent GitHub Actions from being run based on name of the branch merging into other branch
Programing Coderfunda
November 09, 2023
No comments
on:
pull_request:
branches: [main]
I only want GitHub Actions to run when the branch I'm making the PR from does not start with "random/name*".
I found this in the docs:
on:
pull_request:
# Sequence of patterns matched against refs/heads
branches-ignore:
- 'mona/octocat'
- 'releases/**-alpha'
but it only excludes it when making a PR to that branch, I want it to ignore branches I'm making the PR from. Is this possible?


