Skip to content

Instantly share code, notes, and snippets.

View pedrovgs's full-sized avatar
😃

Pedro Gómez pedrovgs

😃
View GitHub Profile
@pedrovgs
pedrovgs / ExhaustiveIntentsTestRule.kt
Created February 21, 2019 12:17
Imroved IntentsTestRule implementation. This class initialized the intents components before starting the activity so we avoid a race condition between our test and the activity we are testing
package com.aplazame.utils
import android.app.Activity
import androidx.test.espresso.intent.Intents
import androidx.test.rule.ActivityTestRule
class ExhaustiveIntentsTestRule<T : Activity> : ActivityTestRule<T> {
private var isInitialized: Boolean = false
@pedrovgs
pedrovgs / .travis.yml
Created September 20, 2018 13:28
iOS simple Travis CI configuration
language: objective-c
osx_image: xcode9.4
before_install:
- gem install cocoapods
- pod repo update --silent
- gem install xcpretty
script:
- set -o pipefail && xcodebuild -workspace KataLogInLogOutSwift.xcworkspace -scheme 'KataLogInLogOutSwift' -destination 'platform=iOS Simulator,name=iPhone 6s Plus' build test CODE_SIGN_IDENTITY=- | xcpretty -c
@pedrovgs
pedrovgs / .travis.yml
Created September 20, 2018 13:28
iOS simple Travis CI configuration
language: objective-c
osx_image: xcode9.4
before_install:
- gem install cocoapods
- pod repo update --silent
- gem install xcpretty
script:
- set -o pipefail && xcodebuild -workspace KataLogInLogOutSwift.xcworkspace -scheme 'KataLogInLogOutSwift' -destination 'platform=iOS Simulator,name=iPhone 6s Plus' build test CODE_SIGN_IDENTITY=- | xcpretty -c
@pedrovgs
pedrovgs / .travis.yml
Created September 20, 2018 13:27
Android Travis CI config
language: android
android:
components:
- tools
- platform-tools
- build-tools-27.0.3
- android-28
- extra-android-support
- extra-google-m2repository
- extra-android-m2repository
@pedrovgs
pedrovgs / CrashlytisDestination.swift
Created August 24, 2018 07:57
SwiftyBeaver destination used to log error traces using Crashlytics
import Crashlytics
import Foundation
import SwiftyBeaver
import UIKit
public class CrashlyticsDestination: BaseDestination {
open override func send(_ level: SwiftyBeaver.Level, msg traceMessage: String, thread traceThread: String, file traceFile: String,
function traceFunction: String, line traceLine: Int, context _: Any? = nil) -> String? {
if level == SwiftyBeaver.Level.error {
let userInfo: [String: Any] = [
@pedrovgs
pedrovgs / enqueueJobs.sh
Created August 2, 2017 08:51
Bash script to enqueue jobs using qsub
#!/bin/bash
echo "Let's enqueue some jobs ❤️"
if [ "$*" == "" ]; then
echo "We will try to enqueue every folder named Instance_X"
for dir in `find . -name "*Instance_*"`
do
echo "I've found an instance folder: $dir. Interesting 🤔"
cd $dir
qsub *.sge
@pedrovgs
pedrovgs / wrapFunction.scala
Created June 11, 2017 17:11
Declaration of a wrap function using Scala.
type Text = Option[String]
case class ColumnWidth(width: Int)
sealed trait WrapError
case class InvalidText(text: Text) extends WrapError
case class InvalidColumnWidth(width: ColumnWidth) extends WrapError
def wrap(text: Text, width: ColumnWidth): Either[WrapError, Text] = ???
@pedrovgs
pedrovgs / AndroidSQLIteDatabaseExample.java
Created March 6, 2017 16:46
Working with SQLite in two simple classes
package com.github.pedrovgs.example.storage;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabaseLockedException;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.annotation.NonNull;
import com.github.pedrovgs.example.logger.Logger;
public class SQLDelightStorage {

DevEGOpers

Llevo unos años trabajando en empresas del sector tecnológico, me dedico al desarrollo de software y creedme cuando os digo que he visto de todo. Empresas, grandes, empresas pequeñas, auto financiadas, con inversión externa, con equipos técnicos brillantes y equipos técnicos como los que puedes encontrar en cualquier otro lugar. Al igual que empresas de todos los colores también he tenido el placer de conocer a todo tipo de programadores y es ahora que ya han pasado unos cuantos años cuando puedo reconocer una serie de patrones que he visto tanto en mi mismo como en la gente que me rodea. En este gist/post voy a intentar plasmar algunos de estos patrones que he me resultan cuanto menos curiosos.

En este post me centraré en los desarrolladores de software porque es el gremio en el que me encuentro, pero seguro que aunque no te dediques a esto podrás encontrar similitudes con tu profesión. Estos son los patrones con los que yo me he econtrado en diferentes empresas y que he podido ver en mi mismo

Keybase proof

I hereby claim:

  • I am pedrovgs on github.
  • I am pedrovgs (https://keybase.io/pedrovgs) on keybase.
  • I have a public key whose fingerprint is E86C 312B 2D0A 2FA0 85C1 1BD3 8C96 94DD 6F89 76AA

To claim this, I am signing this object: