Skip to content

Instantly share code, notes, and snippets.

Avatar
😄

Sergio Casero Hernández sergiocasero

😄
View GitHub Profile
@sergiocasero
sergiocasero / build.gradle.kts
Last active Mar 30, 2021
Add common code to sonarqube analysis
View build.gradle.kts
buildscript {
repositories {
// repos
}
dependencies {
// deps
}
}
plugins {
@sergiocasero
sergiocasero / project_cleaner.md
Created Feb 3, 2021
This is a quite simple script that cleans all your grade/flutter projects inside a folder
View project_cleaner.md

Works on linux and macOS (and linux inside Windows)

  1. Download the script (or copy paste it)
  2. Put the script in the same folder than your projects
  3. chmod +x your_script_name.sh, if you didn't change the name => `chmod +x projects_cleaner.sh
  4. ./projects_cleaner.sh
  5. Wait and enjoy!!

If you find this gist helpful, don't forget the star! :)

@sergiocasero
sergiocasero / pico_micropython.sh
Created Feb 1, 2021
This is a simple and small script to automatize the raspberry pi pico micropython SDK compilation
View pico_micropython.sh
mkdir pico_micropython_install
cd pico_micropython_install
git clone -b pico https://github.com/raspberrypi/micropython.git
cd micropython
git submodule update --init -- lib/pico-sdk
cd lib/pico-sdk
git submodule update --init
cd ../..
make -C mpy-cross
cd ports/rp2
View KotlinPush.kt
package com.sergiocasero.backend.push
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.sergiocasero.jvm.network.createService
import com.sergiocasero.model.PushTopic
import com.sergiocasero.properties.Property
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.runBlocking
import okhttp3.ResponseBody
import retrofit2.http.Body
@sergiocasero
sergiocasero / ssl_pinning_android_ktor.kt
Last active Sep 22, 2020
Simple snippet that demonstrates how to make https request with SSL pinning by using ktor on Android
View ssl_pinning_android_ktor.kt
class AndroidRemote(private val context: Context) : Remote {
companion object {
private const val SSL_PROTOCOL = "TLSv1.2"
private const val KEYSTORE_PROTOCOL = "BKS"
private const val KEY_MANAGER_ALG = "X509"
private const val KEYSTORE_PATH = "YOUR_ASSET_NAME.bks"
private val KEYSTORE_PASSWORD = "YOUR_PASS".toCharArray() // Find better place to store this please hahaha
private const val API_ENDPOINT = "API_ENDPOINT"
@sergiocasero
sergiocasero / main.dart
Created Jul 31, 2020
Custom Sliver with Toolbar Ellipsis behind
View main.dart
import 'package:flutter/material.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
@sergiocasero
sergiocasero / Explanation.md
Last active Apr 13, 2020
Firebase wrapper for iOS and Android with kotlin multiplatform
View Explanation.md

Hello guys, I've raised into that problem for a days, but i think I've found one solution, maybe this isn't the better way to do that, but... I will share it. (This is inspired in the Firebase multiplatform repo -> https://github.com/RubyLichtenstein/Kotlin-Multiplatform-Firebase, I'm just summarizing that)

If you want to call some code from a DataSource or Repository from your common code, and the libraries you're using use callbacks, you need to wrap them and there are some problems:

Let me explain it with an example:

expect class RemoteDataSource() {
@sergiocasero
sergiocasero / DaoGenerator.kt
Created Apr 25, 2019
DaoGenerator code template for IntelliJ/AS
View DaoGenerator.kt
package ${PACKAGE_NAME}
#parse("File Header.java")
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Update
import androidx.room.Query
@Dao
@sergiocasero
sergiocasero / functions.js
Created Jan 12, 2019
Switch Google Assistant
View functions.js
'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.database();
const ref = db.ref("/switch");
View find_support.sh
#!/bin/bash
grep -rnw '.' -e 'android.support'