Get Mystery Box with random crypto!

Programming Tips 💡

Logo of telegram channel programmingtip — Programming Tips 💡 P
Logo of telegram channel programmingtip — Programming Tips 💡
Channel address: @programmingtip
Categories: Technologies
Language: English
Subscribers: 54.85K
Description from channel

Programming:
Tips 💡
Articles 📕
Resources 👾
Design Patterns 💎
Software Principles ✅
🇳🇱 Contact & Ads: @MoienTajik

Ratings & Reviews

4.00

2 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

1

4 stars

0

3 stars

1

2 stars

0

1 stars

0


The latest Messages

2024-02-28 12:43:19 Bloom Filters

Imagine ensuring web safety by identifying malicious links without storing massive data. Traditional methods involve keeping a huge list of bad links, consuming substantial storage and bandwidth. Enter Bloom Filters - a genius method allowing us to significantly reduce storage needs (up to 82% smaller) with a minimal error rate.

For instance, instead of a 20MB list for 1,000,000 links, a Bloom Filter achieves this with just 3.59MB, accepting a tiny error chance (0.0001%). Even more impressive, with a 0.1% error tolerance, the size shrinks to 1.8MB. This technique was even utilized by Google Chrome until 2012.

Bloom Filters offer a balance between efficiency and accuracy. For critical checks, it pairs with a database API for zero false positives. A practical, space-saving solution for modern web browsers!


[ Article ] : https://samwho.dev/bloom-filters


#Algorithm #BloomFilters
@ProgrammingTip
12.8K viewsMoien Tajik, 09:43
Open / Comment
2024-02-05 10:58:18 The ultimate guide for making the best career choices in Tech

Denilson Nastacio shares a structured framework for career success, likening it to Maslow's Hierarchy of Needs. He highlights the importance of aligning one's career with personal values and market demands, offering insights into the tech industry's evolving landscape.


Key Takeaways :

• Employability is foundational, emphasizing education, skills, and market relevance.

• Compensation & Stability ensure job adequacy and a supportive environment.

• Growth & Development demand continuous learning and skill enhancement.

• Work-Life Balance & Well-Being focus on mental and physical health.

• Purpose & Meaning represent the pinnacle, aligning personal values with professional careers.


[ Article ] : https://medium.com/@dnastacio/c18768d32598


#Tech #CareerPath #Growth
@ProgrammingTip
12.9K viewsMoien Tajik, 07:58
Open / Comment
2024-01-21 23:23:36 Spotube

Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!

Features :
No ads
Downloadable tracks
Cross-platform support
Small size & less data usage
Anonymous/guest login
Time synced lyrics
No telemetry, diagnostics or user data collection
Native performance
Open source/libre software
Playback control is done locally, not on the server


[ GitHub ] : https://github.com/KRTirtho/spotube


#OpenSource #Spotify
@ProgrammingTip
13.1K viewsMoien Tajik, 20:23
Open / Comment
2024-01-12 17:55:36
MeiliSearch: The Fast, Open-Source Search Engine

MeiliSearch is a powerful, open-source search engine written in Rust. Designed for speed and ease of use, it's the perfect choice for developers looking to implement search capabilities in their applications.

Key Features:


Lightning-fast search responses
Typo-tolerance for better user experience
Simple to set up and integrate
Customizable ranking rules for tailored search results
Open-source and fully documented


[ GitHub ] : https://github.com/meilisearch/meilisearch


#MeiliSearch #SearchEngine
@ProgrammingTip
13.8K viewsMoien Tajik, 14:55
Open / Comment
2024-01-04 19:42:04 Challenge: Create a compact Maze Game in C# under 2KB without .NET Runtime, Small enough to fit in a QR Code

Process:
• Self-Contained: Includes all necessary components to run on any OS.

• Game Type: A graphical maze, utilizing Win32 APIs, avoiding WinForms.

• Size Reduction Steps:
1- Initial Size: 64MB (with CoreCLR)
2- Post-Compression: 35.2MB
3- IL Trimming Applied: 10MB
4- Native AOT Compilation: 1.13MB
5- Removing Unused Features: 923KB
6- Using bflat Compiler: 882KB
7- bflat with Zerolib: 9KB
8- Direct PInvoke: 8KB
9- Eliminating Debugging and Relocations: 7KB
10- Targeting x86 Architecture: 6.5KB
11- Final Step with Crinkler Linker: 1,936 Bytes

Outcome: Achieved a C# game small enough to fit in a QR code!


[ Full Article ] : https://migeel.sk/blog/2024/01/02/building-a-self-contained-game-in-csharp-under-2-kilobytes


#CSharp #DotNet #Optimization #LowLevel
@ProgrammingTip
12.6K viewsMoien Tajik, edited  16:42
Open / Comment
2023-11-14 21:52:37 Introducing .NET Aspire: Simplifying Cloud-Native Development with .NET 8

.NET Aspire is an opinionated stack for building resilient, observable, and configurable cloud-native applications with .NET. It includes a curated set of components enhanced for cloud-native by including service discovery, telemetry, resilience, and health checks by default.


Sample Usage:
var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedisContainer("cache");

var apiservice = builder.AddProject("apiservice");

builder.AddProject("webfrontend")
.WithReference(cache)
.WithReference(apiservice);

builder.Build().Run();


[ Article ] : https://devblogs.microsoft.com/dotnet/introducing-dotnet-aspire-simplifying-cloud-native-development-with-dotnet-8


#DotNET #AspNetCore #CSharp #Aspire
@ProgrammingTip
14.3K viewsMoien Tajik, 18:52
Open / Comment
2023-09-07 19:42:14
For those aiming to manage web & mobile apps in their .NET project, discover Bit. Experience seamless integration, PWA, SSR, SEO-friendly, optimized project templates, and a set of standard components. An open-source gem with an MIT license, tailored just for C# .NET enthusiasts.

Love it? Check out their GitHub repo and give them a !

Repository Link
12.7K viewsProgramming Tip Bot, 16:42
Open / Comment
2023-08-31 08:51:52 .NET 8 - Keyed service dependency injection container support

Keyed services are useful when you have an interface/service with multiple implementations that you want to use in your app. What's more, you need to use each of those implementations in different places in your app.

Sample:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddKeyedSingleton("sms");
builder.Services.AddKeyedSingleton("email");
builder.Services.AddKeyedSingleton("push");


[ Article ] : https://andrewlock.net/exploring-the-dotnet-8-preview-keyed-services-dependency-injection-support


#DotNet #DotNetCore #AspNetCore #CSharp
@ProgrammingTip
13.0K viewsMoien Tajik, edited  05:51
Open / Comment
2023-04-16 19:07:02 Raycast

Raycast is a blazingly fast, totally extendable launcher for MacOS. It lets you use AI (ChatGPT) directly from your launcher, complete tasks, calculate, share common links, and much more.

[ Website ] : https://www.raycast.com


#MacOS #Launcher #RayCast
@ProgrammingTip
30.8K viewsMoien Tajik, 16:07
Open / Comment
2023-04-15 18:58:15 Check out new C# 12 preview features!

Three new features for C# 12 :

- Primary constructors for non-record classes and structs :
public class Student(int id, string name, IEnumerable grades)
{
public Student(int id, string name) : this(id, name, Enumerable.Empty()) { }
public int Id => id;
public string Name { get; set; } = name.Trim();
public decimal GPA => grades.Any() ? grades.Average() : 4.0m;
}


- Using aliases for any type:
using Measurement = (string, int);

public void F(Measurement x)
{ }


- Default values for lambda expression parameters:
var addWithDefault = (int addTo = 2) => addTo + 1;
addWithDefault(); // 3
addWithDefault(5); // 6


[ Article ] : https://devblogs.microsoft.com/dotnet/check-out-csharp-12-preview


#CSharp #DotNet
@ProgrammingTip
27.2K viewsMoien Tajik, 15:58
Open / Comment