Skip to content

Instantly share code, notes, and snippets.

View rifkiamil's full-sized avatar
🦆
transforming 💽 with 🦆

Rif rifkiamil

🦆
transforming 💽 with 🦆
View GitHub Profile
@rifkiamil
rifkiamil / Select_A_Terminal_on_macOS_2025.md
Created November 10, 2025 22:35
Select A Terminal on macOS

Introduction

The command-line environment on macOS is experiencing a renaissance in 2024–2025. Beyond the built-in Terminal.app, a wave of modern terminal emulators and related tools are vying for attention – especially among developers, DevOps engineers, and power users often dubbed the “cool kids.” This report explores the coolest terminal/emulator tools for macOS in 2024–2025 and compares them, including how they stack up against resource monitoring tools like btop. We’ll survey which terminal emulators and CLI tools are gaining traction, delve into each tool’s features and differentiators, discuss what makes them trendy, and consider their target users and platform support. We’ll also examine strengths and trade-offs (performance, resource usage, complexity, cost, etc.), and where a tool like btop fits in. Finally, we present case studies of a few trend-setting terminals, and give recommendations for Mac power-users choosing a terminal setup in 2025 – including when to augment a terminal with

product_name capture_date rank_1_cheapest rank_1_price rank_1_days_since_price_change rank_2_cheapest rank_2_price rank_2_days_since_price_change rank_3_cheapest rank_3_price rank_3_days_since_price_change product_name_1 capture_date_1 Tesco_future_price Tesco_future_days_since_change Tesco_name_price_unit_gbp Tesco_days_since_change Tesco_last_change_date Tesco_price_changed Tesco_last_price Tesco_price_diff Tesco_change_within_1d Tesco_change_within_3d Tesco_change_within_7d Tesco_change_within_8d Tesco_change_within_14d Tesco_change_within_16d Tesco_change_in_past_1d Tesco_change_in_past_3d Tesco_change_in_past_7d Tesco_change_in_past_8d Tesco_change_in_past_14d Tesco_change_in_past_16d Sains_future_price Sains_future_days_since_change Sains_name_price_unit_gbp Sains_days_since_change Sains_last_change_date Sains_price_changed Sains_last_price Sains_price_diff Sains_change_within_1d Sains_change_within_3d Sains_change_within_7d Sains_change_within_8d Sains_change_within_14d Sains_change_within_16d Sains_ch
@rifkiamil
rifkiamil / Looker_Studio_Community_Connector_for_Speckle.md
Created May 11, 2025 19:06
Building a Looker Studio Community Connector for Speckle API

Let's look at the Speckle APIs and 3 methods getting data into Looker Studio.

  1. https://speckle.guide/dev/server-rest-api.html
  2. https://developers.google.com/looker-studio/connector
  3. https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app

Speckle Service APIs: GraphQL vs. REST

Speckle provides both GraphQL and REST APIs to interact with your data on a Speckle Server. They serve similar purposes (accessing streams, commits, objects, etc.) but differ in how you structure your requests and receive data.

@rifkiamil
rifkiamil / Trino_JSON_Processing_gemini.md
Created May 5, 2025 15:13
Trino's Efficiency in Processing JSON Files in Data Lakes: A Technical Deep Dive

Trino's Efficiency in Processing JSON Files in Data Lakes: A Technical Deep Dive

Introduction

Trino, the distributed SQL query engine formerly known as PrestoSQL, is engineered for high-performance, interactive analytics across a multitude of heterogeneous data sources.1 Its architecture is particularly well-suited for querying large datasets residing in data lakes, whether deployed on-premises using HDFS or in the cloud on object storage systems like Amazon S3, Google Cloud Storage, or Azure Blob Storage.2 A key capability enabling this is Trino's schema-on-read approach, allowing users to query data in various formats directly where it resides, without requiring upfront transformation and loading into a proprietary storage system.3

JSON (JavaScript Object Notation) has become ubiquitous in modern data ecosystems, frequently used for API payloads, application logs, configuration files, and semi-structured data exchange.7 However, querying JSON efficiently at scale presents significant challen

@rifkiamil
rifkiamil / Trino_JSON_Processing_chatgpt.md
Created May 5, 2025 15:07
Trino JSON Processing in Data Lakes: Engine Internals, Comparisons, and SIMD Aspects

Trino JSON Processing in Data Lakes: Engine Internals, Comparisons, and SIMD Aspects

Engine Internals and JSON Processing Enhancements

Trino’s JSON architecture: Trino (formerly PrestoSQL) is a distributed MPP query engine where workers scan data in parallel and pipeline results in memory. JSON in a data lake (e.g. files on S3 or HDFS) is typically handled via the Hive connector, which treats JSON files as line-oriented text. Each JSON object (or array) is expected to be a record – often one JSON per line (NDJSON). Trino splits large JSON files into segments for parallel reading, aligning splits on record boundaries (usually newline delimited) so that no JSON object is cut in half between workers. This ensures each split contains whole JSON records for valid parsing. Internally, Trino uses a LinePageSource to read text files and find record boundaries (e.g. newline positions) so that each worker thread reads a chunk of the file and emits complete JSON rows. For extremely large JSON objects th

@rifkiamil
rifkiamil / Synapse_SQLDW_Table_Creation_from_Query.sql
Created April 11, 2025 16:39
Template for Azure Synapse Dedicated Pool Table Creation from Query with CLUSTERED COLUMNSTORE INDEX ORDER
-- Template for Azure Synapse Dedicated Pool Table Creation from Query with CLUSTERED COLUMNSTORE INDEX ORDER
-- Schema: testing_rif_k
-- Goal: Make easy to find the commands that only work on Azure Synapse Dedicated Pool ( SQL DW )
CREATE TABLE testing_rif_k.banking_data
WITH
(
DISTRIBUTION = HASH(AccountId), -- Recommended for even data distribution based on a key
CLUSTERED COLUMNSTORE INDEX ORDER (TransactionDate DESC) -- Good for analytical queries on date ranges
-- DISTRIBUTION = ROUND_ROBIN, -- Useful for small tables or when no clear distribution key exists
@rifkiamil
rifkiamil / Google-Play-Console-and-Firebase-SHA-1 fingerprints-andriod.md
Last active March 29, 2025 01:03
Google Sign-In with Google Play Console and Firebase - configuration problem related to SHA-1 fingerprints

Rrocess to ensure that both your debug and release builds (including those distributed via Google Play) are correctly recognized by Firebase for Google Sign-In. Option Reading Might want to read SHA1 key hell regarding Gmail authentication and sign-in.


Overview

  • Debug Builds:
    Your development builds are signed with the debug keystore (typically located in ~/.android/debug.keystore). The SHA-1 fingerprint from this keystore is already added to Firebase, which is why sign-in works in the emulator.

  • Release Builds & Google Play App Signing:

@rifkiamil
rifkiamil / football-withjoins.DBML
Last active October 27, 2021 22:43
Football Data Database Markup Language - with joins
Project project_name {
database_type: 'BigQuery'
Note: 'Football Data by https://github.com/dcaribou'
}
Table appearances {
player_id INTEGER
game_id INTEGER
appearance_id STRING [pk]
league_id STRING
@rifkiamil
rifkiamil / football-nojoins.DBML
Last active October 27, 2021 22:05
Football Data Database Markup Language - no joins
Project project_name {
database_type: 'BigQuery'
Note: 'Football data'
}
Table appearances {
player_id INTEGER
game_id INTEGER
appearance_id STRING [pk]
league_id STRING
@rifkiamil
rifkiamil / sql-eth-03.sql
Created February 23, 2021 07:11
Find Ethereum - Internal transactions - Matchs Advanced view on Etherscan.io
## Find Ethereum - Internal transactions - Matchs Advanced view on Etherscan.io
SELECT *
FROM `bigquery-public-data.crypto_ethereum.traces`
WHERE DATE(block_timestamp) = "2021-02-12"
and trace_address IS NOT NULL
and block_number = 11838934
ORDER BY transaction_index