Grilled Cheese

ExploreLog inSign up
Terms of UsePrivacy PolicyCommunity StandardsHelpGet the app

Grilled Cheese is a product of Village Compute

Version devBuilt at: 2026-10-17 03:54:26 EDT

PhotosVideosAllPeople
LatestRanked
Load more
@s0-and-s0.bsky.socialOct 11, 2026, 4:21 PM

Sometimes I feel the desire to merge dictionaries in JavaScript

TypeScript, by default, often loses the plot when I give in to such desires

But, a little recursion results in massive DevExp gains

#backend #devexp #frontend #javascript #webdev #typescript

`````typescript
export type Entries_Of<Object extends object> = {
	[Key in keyof Object]: Object[Key];
};

export type Merge<
	Objects extends readonly object[],
	Accumulator extends object = { },
> = Objects extends readonly [infer Head extends object, ...infer Tail extends readonly object[]]
	? Merge<Tail, Entries_Of<Omit<Accumulator, keyof Head> & Head>>
	: Entries_Of<Accumulator>;

const isObject = (input: any) => {
	if (input && typeof input === 'object') {
		return true;
	}
	return false;
};

/**
 * Merge objects recursively and return new object, now with TypeScript hints!
 *
 * @example
 *
 * ````typescript
 * const args = [
 * 	{ foo: true },
 * 	{ bar: false },
 * 	{ bar: {ham: false} },
 * ] as const;
 *
 * const merged = merge(...args);
 * type Merged = typeof merged;
 * //> Resolves to;
 * //>
 * //> ```
 * //> {
 * //>   readonly foo: true;
 * //>   readonly bar: {
 * //>     readonly ham: false;
 * //>   };
 * //> }
 * //> ```
 *
 * console.assert(merged.foo === true, 'Wat?!');
 *
 * type Ham = typeof merged.bar.ham;
 * //> Resolves to; `false`
 * ````
 *
 * ## Attributions
 *
 * @see {@link https://stackoverflow.com/a/48218209}
 */
export function merge<
	const Objects extends readonly Record<string, any>[],
	Result extends Merge<Objects>,
>(...objects: Objects) {
	return objects.reduce((accumulator, object_current) => {
		Object.entries(object_current).forEach(([key, value_current]) => {
			const value_previous = accumulator[key];

			if (Array.isArray(value_previous) && Array.isArray(value_current)) {
				accumulator[key] = value_previous.concat(...value_current);
			} else if (isObject(value_previous) && isObject(value_current)) {
				accumulator[key] = merge(value_previous, value_current);
			} else {
				accumulator[key] = value_current;
			}
		});

		return accumulator;
	}, { } as Record<string, any>) as Result;
}
`````
@inautilo.bsky.socialOct 11, 2026, 1:07 PM

#Development #Launches
The DNS Museum · Clever, weird, and wonderfully pointless uses of DNS ilo.im/16gqyu by Peter Lowe

_____
#Fun #Museum #DNS #Toys #Tools #Tunneling #Traceroutes #WebDev #Frontend #Backend

@stylelib.orgOct 11, 2026, 9:05 AM

Ecme – Next.js Tailwind Admin Template (Next 16 App Router)

https://stylelib.org/?p=932033

#admintemplates #ai #backend #nextjs #react #reactadmin #reacttemplate #rtl #sitetemplates #tailwind #tailwindcss #themeforest #typescript #admin #responsive

Ecme – Next.js Tailwind Admin Template (Next 16  App Router)
@jajupulus.bsky.socialOct 11, 2026, 7:00 AM

Programador de verdad ¿Por que un programador no puede mentir? Implementa verdad. (interfaz... OOP... tiene que tener ese método :D) #Chiste #Humor #Meme #Backend

@communityaws.bsky.socialOct 11, 2026, 3:50 AM

"Botkeep.cloud: Free Hosting, Its Uses and Importance" by Tarun

#aws-free-tier #vpc #backend #sql-server #free-tier-projects

@communityaws.bsky.socialOct 10, 2026, 6:52 PM

""Lift and Shift" for Node Developers: Deploying an Express.js API to AWS Serverless" by Rishav

#aws-lambda #backend #express-js #serverless

@dev-fullstack.bsky.socialOct 10, 2026, 3:12 PM

Design de APIs: contratos, validação e evolução

Aprenda design de APIs com contratos vivos, validação padronizada e observabilida…

https://user.dev.br/blog/estrutura-na-pratica-de-apis/

#desenvolvimentodesoftware #designdeapis #apidesign #backend #arquitetura

@programmerhumor-io.bsky.socialOct 10, 2026, 1:30 PM

Just One More Prompt

#programming #backend #database #production #security

https://programmerhumor.io/ai-memes/just-one-more-prompt-c9wp

Just One More Prompt
@inautilo.bsky.socialOct 10, 2026, 9:11 AM

#Development #Guides
How to turn off AI in Visual Studio Code · It takes a single switch and it stays off ilo.im/16gsdc by Corbin Davenport

_____
#NoAI #Microsoft #Copilot #VsCode #CodeEditor #Settings #WebDev #Frontend #Backend

@stylelib.orgOct 10, 2026, 9:05 AM

Fuse – Angular Admin Template

https://stylelib.org/?p=102753

#admindashboard #adminpanel #admintemplates #angular #backend #material #materialdesign #sitetemplates #tailwind #themeforest #admin #admintemplate

Fuse – Angular Admin Template
@stylelib.orgOct 10, 2026, 7:25 AM

JustDo – Responsive Bootstrap Admin Template

https://themes.stylelib.org/?p=2018

#admin #admindashboard #adminpanel #admintemplate #admintemplates #backend #bootstrap5 #clean #crm #dashboard #flat #jquery #modern #responsive #sitetemplates #themeforest #ui

JustDo – Responsive Bootstrap Admin Template
@jajupulus.bsky.socialOct 10, 2026, 7:00 AM

Gafas Framework ¿Por qué los programadores siempre llevan gafas? El mundo se ve mejor con un framework. #Chiste #Humor #Meme #Backend

@communityaws.bsky.socialOct 10, 2026, 3:23 AM

"Backend Code Protection and Application Security: Industry Standards, Best Practices, and Implementation" by Tarun

#backend #security #api #cloud-security #application-security

@communityaws.bsky.socialOct 10, 2026, 2:25 AM

"One Click, Multiple Systems: What Really Happens Behind a Website?" by SUYASH KUMAR TIWARI

#backend #front-end #api #api-gateway #student-builders

@o11y-jobs.bsky.socialOct 10, 2026, 12:01 AM

◇ Senior AI Performance Engineer @ Graphcore
Remote
Fully remote, senior. One of the better ones up right now.

https://o11y.jobs/jobs/senior-ai-performance-engineer-graphcore-170002?utm_source=bluesky&utm_medium=social&utm_campaign=jobs
#jobs #profiling #remote #backend

@o11y-jobs.bsky.socialOct 10, 2026, 12:01 AM

◇ Staff AI Performance Engineer @ Graphcore
Remote
Fully remote, staff-level. This one's worth moving on.

https://o11y.jobs/jobs/staff-ai-performance-engineer-graphcore-461002?utm_source=bluesky&utm_medium=social&utm_campaign=jobs
#jobs #profiling #remote #backend

@inautilo.bsky.socialOct 9, 2026, 8:08 PM

#Development #Announcements
Deno is joining Cloudflare · The story behind merging celld and workerd. ilo.im/16gv1w by Kenton Varda and Ryan Dahl

_____
#Cloudflare #Deno #JavaScript #Workers #Workerd #Celld #Selfhosting #OpenSource #WebDev #Backend

@jajupulus.bsky.socialOct 9, 2026, 6:00 PM

Programador enlatado ¿Cuál es el animal más parecido a un desarrollador? Muchos dicen que el el murciélago pero los programadores no salen de noche. Se les conoce más como caracoles enlatados #Chiste #Humor #Meme #Backend

@stylelib.orgOct 9, 2026, 5:25 PM

FlatLab – Bootstrap 4 Responsive Admin Template

https://themes.stylelib.org/?p=3869

#admin #admintemplate #admintemplates #backend #bootstrap4 #clean #crm #dashboard #flat #responsive #retina #sitetemplates #themeforest

FlatLab – Bootstrap 4 Responsive Admin Template
@inautilo.bsky.socialOct 9, 2026, 4:11 PM

#Business #Comparisons
Keyboard differences between Windows and Macs · The keyboard gotchas no web app escapes ilo.im/16gupl by Marcin Wichary

_____
#Keyboards #Windows #MacOS #WebApps #Design #WebDesign #Development #WebDev #Frontend #Backend