Skip to content

Instantly share code, notes, and snippets.

View bernaferrari's full-sized avatar
🎯
Trying to make useful things for people

Bernardo Ferrari bernaferrari

🎯
Trying to make useful things for people
View GitHub Profile
@bernaferrari
bernaferrari / groupie_simple_sample.kt
Last active August 14, 2019 18:53
Simple Groupie sample
class MainActivity : AppCompatActivity() {
private val groupAdapter = GroupAdapter<ViewHolder>()
// Hold a reference to the updating group, so we can, well, update it
private var updatingGroup = Section()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
@bernaferrari
bernaferrari / mvrx_simple_sample.kt
Last active August 13, 2019 21:54
Simple mvrx sample
data class HelloWorldState(val title: String = "Hello World") : MvRxState
class HelloWorldViewModel(initialState: HelloWorldState) : MyBaseMvRxViewModel<HelloWorldState>(initialState, debugMode = BuildConfig.DEBUG) {
fun getMoreExcited() = setState { copy(title = "$title!") }
}
class HelloWorldFragment : BaseFragment() {
private val viewModel: HelloWorldViewModel by fragmentViewModel()
override fun EpoxyController.buildModels() = withState(viewModel) { state ->
/*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-si
/*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-si
@bernaferrari
bernaferrari / airbnb_session_data.txt
Last active September 5, 2015 19:08
Airbnb Visualization
This file has been truncated, but you can view the full file.
id_visitor|id_session|dim_session_number|dim_user_agent|dim_device_app_combo|ds|ts_min|ts_max|did_search|sent_message|sent_booking_request|next_id_session|next_dim_session_number|next_dim_user_agent|next_dim_device_app_combo|next_ds|next_ts_min|next_ts_max|next_did_search|next_sent_message|next_sent_booking_request
ed1329a6-064d-47e9-93bc-93f5a50822df|a8dfb8ed5aa79e00ff14b2da297c9778|83|Airbnb/6.0 iPhone/8.1.2|iPhone - iOS|2015-02-16|2015-02-16 21:50:41|2015-02-16 22:13:42|0|0|0|b812bf56bf89b0b31f4e5b50d0c15ff8|84|Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36|Desktop - Chrome|2015-02-18|2015-02-18 11:57:15|2015-02-18 12:12:48|0|0|0
ed1329a6-064d-47e9-93bc-93f5a50822df|950277daef16f86dc2c05d2b212eea81|84|Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36|Desktop - Chrome|2015-02-18|2015-02-18 11:57:15|2015-02-18 12:12:48|0|0|0|456083b5f5506ad125d595006819de1d|85|Mozilla/5.0 (Windows NT 6.1
@bernaferrari
bernaferrari / d3.v3.min.js
Last active August 29, 2015 14:16
Linear Algebra Applications for edX
!function(){function n(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function t(n){return null===n?0/0:+n}function e(n){return!isNaN(n)}function r(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function u(n){return n.length}function i(n){for(var t=1;n*t%1;)t*=10;return t}function o(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function a(){this._=Object.create(null)}function c(n){return(n+="")===da||n[0]===ma?ma+n:n}function l(n){return(n+="")[0]===ma?n.slice(1):n}function s(n){return c(n)in this._}function f(n){return(n=c(n))in this._&&delete this._[n]}function h(){var n=[];for(var t in this._)n.push(l(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function p(){for(var n in this._)return!1;return!0}function v(){this._=Object
@bernaferrari
bernaferrari / README.md
Last active August 29, 2015 14:14
edX dashboard

Just a little experiment with grades from users in edX (http://edx.org).

I was able to learn javascript, d3, html and css and do this in about 20 days!