Skip to content

Instantly share code, notes, and snippets.

View raulh82vlc's full-sized avatar

Raul Hernandez raulh82vlc

View GitHub Profile
@sergiocasero
sergiocasero / Ip.kt
Last active December 21, 2017 17:38
Simple code to get your public ip address
import IpAddress.Companion.IP_END
import IpAddress.Companion.IP_SEGMENT_SIZE
import IpAddress.Companion.IP_START
import kotlinx.coroutines.experimental.runBlocking
import java.net.URL
/**
* Ipfy
*/
data class IpAddress(private val segment1: Int,

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

/*
* Copyright 2016 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
public class GlueItemsAdapter extends RecyclerArrayAdapter<GlueItem, GlueItemsAdapter.Holder> {
public GlueItemsAdapter(LayoutInflater inflater) {
super(inflater);
}
@Override
protected Holder onCreateViewHolder(LayoutInflater inflater, ViewGroup parent, int viewType) {
return new Holder(inflater.inflate(android.R.layout.simple_list_item_1, parent, false));
@pedrovgs
pedrovgs / MVP_discussion.md
Last active August 2, 2023 16:53
Interfaces for presenters in MVP are a waste of time!

##Interfaces for presenters in MVP are a waste of time!

It's been a long time since we started talking about MVP. Today, the discussion is about if creating an interface for the Presenter in MVP is needed.

This is the Model View Presenter pattern's schema:

MVP Schema

In this schema the Model box is related to all the code needed to implement your business logic, the presenter is the class implementing the presentation logic and the view is an interface created to abstract the view implementation.

@mttkay
mttkay / Pager.java
Created November 4, 2015 15:46
A simple Rx based pager
public class Pager<I, O> {
private static final Observable FINISH_SEQUENCE = Observable.never();
private PublishSubject<Observable<I>> pages;
private Observable<I> nextPage = finish();
private Subscription subscription = Subscriptions.empty();
private final PagingFunction<I> pagingFunction;
private final Func1<I, O> pageTransformer;
@sensen
sensen / LollipopBitmapMemoryCacheParamsSupplier.java
Created September 4, 2015 03:33
Fresco's custom BitmapMemoryCacheParamsSupplier for Lollipop devices
public class LollipopBitmapMemoryCacheParamsSupplier implements Supplier<MemoryCacheParams> {
private ActivityManager activityManager;
public LollipopBitmapMemoryCacheParamsSupplier(ActivityManager activityManager) {
this.activityManager = activityManager;
}
@Override
public MemoryCacheParams get() {