Skip to content

Instantly share code, notes, and snippets.

View hasokeric's full-sized avatar
👋

Haso Keric hasokeric

👋
View GitHub Profile
@hasokeric
hasokeric / test.sh
Created November 27, 2023 12:59
test
#!/bin/bash
# We don't need return codes for "$(command)", only stdout is needed.
# Allow `[[ -n "$(command)" ]]`, `func "$(command)"`, pipes, etc.
# shellcheck disable=SC2312
set -u
abort() {
printf "%s\n" "$@" >&2
@hasokeric
hasokeric / GetNewUBAQExample.cs
Created August 30, 2023 13:35
GetNewBase UBAQ
//var x = defaultImpl.CreateEmpty(result);
//this.resultHolder.Attach(QueryResultDataSetUbaqTableset.FromDataSet(result));
ResultsUbaqRow row = (ResultsUbaqRow)result.Results.NewRow();
row.SysRowID = Guid.NewGuid();
row.Calculated_RowStatus = "Meow";
row.RowIdent = row.SysRowID.ToString();
row.RowMod = "A";
var z = ((ResultsUbaqTable)result.Results);
@hasokeric
hasokeric / swa.txt
Created August 16, 2023 12:55
swa deploy to azure static web apps
swa deploy .\build\ --env production --app-name swa
@hasokeric
hasokeric / JoinsAndResourceCalTests.cs
Created May 17, 2023 14:19
Messing Around with JOINs ResourceCal
var resourceGroupRows = Db.ResourceGroup.Where(x => x.Company == Session.CompanyID
&& x.Inactive == false
&&
).ToList();
var resourceCalRows = Db.ResourceCal.Where(x => x.Company == Session.CompanyID
&& x.SpecialDay >= DateTime.Today
).Join(Db.ResourceGroup,
rc => new { rc.Company, rc.ResourceGrpID, Inactive = false },
rg => new { rg.Company, rg.ResourceGrpID, rg.Inactive },
@hasokeric
hasokeric / settings.jsonc
Created May 15, 2023 14:21 — forked from hyperupcall/settings.jsonc
VSCode config to disable popular extensions' annoyances (telemetry, notifications, welcome pages, etc.)
// I'm tired of extensions that automatically:
// - show welcome pages / walkthroughs
// - show release notes
// - send telemetry
// - recommend things
//
// This disables all of that stuff.
// If you have more config, leave a comment so I can add it!!
{
@hasokeric
hasokeric / Uber Tech Lead Questions on Urgency.md
Created February 3, 2023 11:01
Uber Tech Lead Questions on Urgency

As a tech lead, you so frequently get request from above or from other teams to drop what you are doing and work on this thing they need, now.

During my 4 years at Uber after asking these questions, 9 out of 10 times it turned out it wasn't really urgent:

  1. "What is the impact of this work you're asking for?" If the impact is unclear: sorry, but we can't do the work. Why would we?

Just this question made the requester realize half the time they just think it's urgent, but don't know what the work will actually result in.

  1. "Do you have a spec that is agreed with stakeholders?" A writeup answering the "why" and the "what" that is signed off by relevant business folks.
@hasokeric
hasokeric / jiggawatssays.md
Created February 1, 2023 14:24
Words of Wisdom by jiggawats

Microsoft does this a lot, where they assume that rules that apply to their own organisations apply to all organisations in precisely the same way. If a Microsoft IC leaves, they should lose access to all Git repos, including forks.

If Joe Random open-source contributor is removed from an open source repo's access list, their fork shouldn't be wiped.

But Microsoft has One Rule To Rule Them All, so they won't make exceptions for unimportant people like their customers.

I see this a lot. A good example is Azure Active Directory, which is basically "Microsoft 365 Authentication" that they rebranded and sold to developers for their own use, i.e.: Azure AD Enterprise Apps, App Registrations, and B2C.

There are many aspects of the AAD design that make zero sense until you pause for a second and realise that it is not designed for you. It's designed for Microsoft 365!

@hasokeric
hasokeric / example.epicor.ts
Created January 27, 2023 20:39
Epicor type safety with OpenAPI
import { Component, ViewEncapsulation } from '@angular/core';
import {
ApiModule,
CustomMethodsService,
ChangeJobAsmblPartNumInput,
ErpTablesetsJobAsmblRow,
ChangeEquipIDInput,
ErpTablesetsJobEntryTableset,
ErpTablesetsJobHeadRow,
} from 'app/modules/openapi';
@hasokeric
hasokeric / nx-structure-angular-nestjs.md
Created January 21, 2023 23:33 — forked from trungvose/nx-structure-angular-nestjs.md
Nx workspace structure for NestJS and Angular

Nx

https://nx.dev/

Nx is a suite of powerful, extensible dev tools to help you architect, test, and build at any scale — integrating seamlessly with modern technologies and libraries while providing a robust CLI, caching, dependency management, and more.

It has first-class support for many frontend and backend technologies, so its documentation comes in multiple flavours.

Principles

@hasokeric
hasokeric / Epicor Classic Vs Kinetic.md
Created January 12, 2023 22:28
Epicor Classic vs Epicor Kinetic

Epicor ERP Classic and Epicor ERP Kinetic are two different user interfaces for the same ERP system. Both have their own unique features and capabilities, and the choice between them will depend on the specific needs of your organization.

Pros of Epicor ERP Classic:

Familiarity: Epicor ERP Classic is the traditional user interface for the Epicor ERP system, and many users are already familiar with its layout and functionality. Customization: Classic UI can be customized to a greater extent than Kinetic UI. Third-party Add-ons: Many third-party add-ons and integrations have been developed for the Classic UI and are readily available. Cons of Epicor ERP Classic:

Limited scalability: The Classic UI may not be able to handle the requirements of larger organizations or those with more complex needs.