├── drafts.md ├── bancoestado-refined.md ├── task-runner.md ├── hollografic-space-invaders.md ├── inclusive-linter.md ├── README.md ├── runaway.md ├── p2p-democracy.md ├── relicense.md └── desisted ├── TUTORIAL.md └── README.md /drafts.md: -------------------------------------------------------------------------------- 1 | - Antifa-licenses 2 | - 1312 alert 3 | - Bachillerato 4 | - Blocks 5 | - Router component 6 | - Dat shell 7 | - Mobile p2p server 8 | -------------------------------------------------------------------------------- /bancoestado-refined.md: -------------------------------------------------------------------------------- 1 | # BancoEstado Refined 2 | 3 | > Better UX for www.bancoestado.cl 4 | 5 | ## description: 6 | 7 | Similar to what the refined github extension does, this should improve the experience while navigating through www.bancoestado.cl, it should: 8 | 9 | - Have minimal UI 10 | - Be responsive 11 | - Be a11y friendly 12 | - etc 13 | -------------------------------------------------------------------------------- /task-runner.md: -------------------------------------------------------------------------------- 1 | # Task runner 2 | 3 | > Simple menubar task runner 4 | 5 | ## Description 6 | 7 | Run repetitive commands in the menubar. It should allow to: 8 | 9 | - Save tasks 10 | - Run commands 11 | - Run executable files 12 | - Program task execution 13 | - Notify task execution status 14 | - Allow predefined tasks (SLQ queries, mail sending, etc) 15 | -------------------------------------------------------------------------------- /hollografic-space-invaders.md: -------------------------------------------------------------------------------- 1 | # Holographic spaceinvaders 2 | 3 | > Futuristic space invaders 4 | 5 | ## description: 6 | 7 | Everyone knows the Spaceinvaders game. Seeing this two projects. 8 | 9 | * https://github.com/feross/magickeyboard.io 10 | * https://github.com/philippedubost/keybright 11 | 12 | I think that an awesome new version of the popular game could be made. A web 13 | version and an awesome holographic version. 14 | -------------------------------------------------------------------------------- /inclusive-linter.md: -------------------------------------------------------------------------------- 1 | # Inclusive linter 2 | 3 | > Drop gender to the trash 4 | 5 | ## Description 6 | 7 | Similar to what eslint does, this would check a piece of text to find 8 | uninclusive parts in different languages. For example, replaces all the `he` 9 | for `he/she`, or in spanish replace `amigos` with `amigxs` or `amig@s` allowing 10 | to configure the inclusive char. [Alex project](https://github.com/wooorm/alex) 11 | seems to do something very similar. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # :bulb: Ideas 2 | 3 | ## [Holographic spaceinvaders](/hollografic-space-invaders.md) 4 | 5 | > Futuristic space invaders 6 | 7 | ## [Inclusive linter](/inclusive-linter.md) 8 | 9 | > Drop gender to the trash 10 | 11 | ## [Relicense](/relicense.md) 12 | 13 | > Change the license of your git repos 14 | 15 | ## [Runaway](/runaway.md) 16 | 17 | > Abandona el barco, no porque se hunda, sino para que se hunda. 18 | 19 | ## [BancoEstado refined](/bancoestado-refined.md) 20 | 21 | > Better UX for www.bancoestado.cl 22 | 23 | ## [P2P Democracy](/p2p-democracy.md) 24 | 25 | > Distributed and participative (real) democracy 26 | 27 | ## [Task runner](/task-runner.md) 28 | 29 | > Simple menubar task runner 30 | -------------------------------------------------------------------------------- /runaway.md: -------------------------------------------------------------------------------- 1 | # Runaway 2 | 3 | > Abandona el barco, no porque se hunda, sino para que se hunda. 4 | 5 | ## description: 6 | 7 | The main goal of this project is to leave social media networks, mainly facebook. 8 | Big web networks, like facebook, are a trap because they are huge, so they looks 9 | like public networks, but they are not, they are controlled by big corporations. 10 | So, this project is basically a way to escape social networks while keeping your 11 | self aware of what happens in it. 12 | 13 | The project consist of two softwares: 14 | 15 | ## Data download 16 | 17 | Some tool to help you get back your media from facebook. 18 | 19 | ## Ghost 20 | 21 | A facebook bot that let you know of news and events of interest. 22 | 23 | - events: The bot keet an iCalendar for the events shared by the people/pages 24 | you like, optionally it can send desktop notifications for them. 25 | - news: Notify yourself when people/pages you like share any external link or a 26 | media from facebook. 27 | -------------------------------------------------------------------------------- /p2p-democracy.md: -------------------------------------------------------------------------------- 1 | # p2p Democracy 2 | 3 | > Distributed and participative (real) democracy 4 | 5 | ## Description 6 | 7 | I don't trust in actual voting system. They are centralized under 8 | cliente-server architecture, so compromising the server meand 9 | compromising the whole system. 10 | 11 | This should be a voting system based on p2p tools ([Dat](https://github.com/datproject/dat)). 12 | The benefit of this p2p technology, is that ever peer (voter) has 13 | read access to every other peer, and writing access to their own files. 14 | With no central server with voting results, hacking on this system becomes virtually 15 | impossible, if some peers get compromised, the rest of them will have the actual info, so 16 | to hack this system it would be necesary to hack every single peer of the network. 17 | 18 | ## How should it work 19 | 20 | - When a peer cast a vote, it will broadcast an update to every 21 | other peer. 22 | - Every peer must have a reference to a resume file. 23 | - Resume files must be updated ONLY when votes are casted. Only once per peer. 24 | -------------------------------------------------------------------------------- /relicense.md: -------------------------------------------------------------------------------- 1 | # Relicense 2 | 3 | > Change the license of your git repos 4 | 5 | ## description: 6 | 7 | Change the license of all of your repos, or some of them. This might sound 8 | simple but it isn't always that simple, some licenses are compatible between 9 | them but some others not, and moving between means major (breaking) changes, the 10 | idea is to easily handle that. 11 | 12 | Initially, it would work for Github client, but it should work for any git 13 | client with a stable API 14 | 15 | So, api might look like this 16 | 17 | ```bash 18 | $ relicense 19 | ``` 20 | 21 | Above command would relicense **every** project from _gh-user_ to _license_. 22 | _gh-user_ could be a user or organization. By default, this should handle semver 23 | changes (minor change). When the license update implies a major change, user 24 | will be prompted to accept change. There should be an option to force change 25 | (make major changes without prompting) or to skip them (only make minor changes). 26 | 27 | Also some filters should be added 28 | 29 | ```bash 30 | $ relicense # Use specific project 31 | $ relicense --lang=js # Only js projects (shortcut: -l js) 32 | $ relicense --tag=js # Only web tagged projects (shortcut: -t web) 33 | ``` -------------------------------------------------------------------------------- /desisted/TUTORIAL.md: -------------------------------------------------------------------------------- 1 | # Tutorial comparación de frameworks 2 | 3 | > **TL;DR**
4 | > Propuesta para realizar una serie de screencast en que se desarrolle en paralelo una misma aplicación web con distintos frameworks js frontend 5 | 6 | ## Contexto 7 | 8 | Actualmente existen muchos frameworks para el desarrollo frontend en comparación a años (o meses) atras, y constantemente están apareciendo más. Es por esto, que una de las preguntas más frecuentes entre quienes se inician en la programación con javascript, o incluso entre quienes ya tienen más experiencia, es ¿Qué framework aprender?¿Qué ventajas tiene uno sobre otro? 9 | Es por esto, que existen una serie de comparaciones de frameworks, siendo las más populares las comparaciones entre [Angular](https://angularjs.org/) y [React](https://facebook.github.io/react/), sin embargo, pocas de estas comparaciones son _practicas_, en su mayoria se trata de comparaciones teoricas y a lo más tecnicas, pero que poco sirven para orientar a los novatos en su elección. 10 | Pensando en lo anterior, y basado en el lema del [_aprender haciendo_](https://en.wikipedia.org/wiki/Experiential_learning), es que creo sería útil un tutorial practico de comparación de frameworks, y en este documento ordenaré mis ideas al respecto. 11 | 12 | ## Idea 13 | 14 | En general, la idea es sencilla: desarrollar **la misma aplicación** con distintos frameworks. En cuanto a los detalles, hay que considerar lo siguiente: 15 | 16 | * El seteo de los ambientes de desarrollo no debiese ser incluido en el tutorial, ya que no es parte integral del desarrollo en cada framework y depende principalmente de los gustos del programador. 17 | * La aplicación debe ser simple, pero completa, para adaptarse a los requerimientos reales de un proyecto web, es decir, debiese incluir, por lo menos **manejo de rutas, manejo de estado y conecciones HTTP** 18 | * Los recursos que no sean relativos al framework, deben ser comunes para cada una de las aplicaciones finales, es decir, los estilos, imagenes y la API HTTP que se consulte 19 | * También es recomendable realizar una serie de test relativos a metricas de comparación de las aplicaciones. Estas metricas son: LOC (lineas de codigo), performance de algunas tareas por definir, numero de dependencias utilizadas, tamaño final en Kb de las aplicaciones, entre otras. 20 | 21 | ## Requisitos 22 | 23 | La mayoria de los requisitos ya son evidentes: 24 | 25 | * Una API (y un servidor para alojarla), debidamente documentada y configurada (sin problema con CORS, por ejemplo) 26 | * Hojas de estilo comunes (CSS), puede ser algun framework como Bootstrap o Materialize 27 | * Un repositorio para cada proyecto 28 | * El detalle del seteo de ambiente de desarrollo* 29 | 30 | _* Si bien se menciono que este seteo no va incluido en los screencast, es necesario incluir algún pequeño instructivo, probablemente en el README de cada proyecto final, con las consideraciones de configuracion_ 31 | 32 | ## Pasos a seguir 33 | 34 | 1. Discutir sobre la propuesta y llegar a un concenso común. 35 | 2. Una vez aceptada, encontrar voluntarios: 1 por cada framework y a lo menos 1 para configurar recursos comunes. 36 | 3. Diseñar la aplicación a desarrollar. Debe ser diseñada de tal manera, que el producto final de cada framework sea equivalente para un usuario final. 37 | 3. Crear una aplnificación. Lo ideal sería dividir la aplicación a desarrollar en etapas y por cada etapa, cada desarrollador entregar un screencast del hito desarrollado. Las etapas y la entrega de los videos no debiese demorar más de una o dos semanas entre cada una. 38 | 4. Una vez recibidos todos los videos, se deben editar para dejarlos juntos y liberar por cada etapa, un unico video con los detalles de la implementación en cada framework. 39 | 5. Cuando hayan concluido todas las etapas, se debiese incluir en un ultimo video el resultado de cada uno de los test anteriormente definidos. 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /desisted/README.md: -------------------------------------------------------------------------------- 1 | > Don't forget these ideas 2 | 3 | * [Ideas](#ideas) 4 | * [Facebook chat cli](#facebook-chat-cli) 5 | * [Soundcloud cli](#soundcloud-cli) 6 | * [Github chrome extension](#github-chrome-extension) 7 | * [Mobilify](#mobilify) 8 | * [Social coding](#social-coding) 9 | * [Holographic spaceinvaders](#holographic-spaceinvaders) 10 | * [Config manager](#config-manager) 11 | * [Bachelet bot](#bachelet-bot) 12 | * [Markdown extension API](#markdown-extension-api) 13 | * [Inclusive linter](#inclusive-linter) 14 | * [Summary](#summary) 15 | 16 | # Ideas 17 | 18 | This repo has some crazy ideas that could become, some day, in awesome projects. 19 | 20 | ## Facebook chat cli 21 | 22 | > Facebook chat from the command line 23 | 24 | ### Description: 25 | 26 | There are many cli extension through npm modules, like: 27 | 28 | * https://github.com/sindresorhus/term-img-cli 29 | * https://github.com/chjj/blessed 30 | * https://github.com/JoshCheek/animated-gif-in-the-terminal 31 | * https://github.com/as-cii/terminal-emojify 32 | * https://github.com/yaronn/blessed-contrib 33 | 34 | That improve the terminal experience, also there are some facebook messenger clones like [this](https://github.com/sindresorhus/caprine). 35 | 36 | So, the idea is simple, clone the facebook chat on the terminal, so there is no need of a browser. 37 | 38 | ## Soundcloud cli 39 | 40 | > Soundcloud client from the terminal 41 | 42 | ### Description: 43 | 44 | Similar to facebook chat cli, but easier because there is a [public API](https://developers.soundcloud.com/docs/api/guide) for the souncloud app. Some people already made some [GUI app](https://github.com/Soundnode/soundnode-app) with it 45 | 46 | ### References: 47 | 48 | * http://askubuntu.com/questions/82605/how-to-play-music-in-terminal 49 | * http://askubuntu.com/questions/115369/how-to-play-mp3-files-from-the-command-line 50 | * http://askubuntu.com/questions/193737/how-to-listen-radio-from-terminal 51 | * http://www.unixmen.com/how-to-play-music-from-command-line-terminal/ 52 | 53 | ## Github chrome extension 54 | 55 | > Manage your github stars by tags 56 | 57 | ### Description: 58 | 59 | There are already some github chrome extensions, but this wouls be only to (better) manage github stars, as Github only group by langague. Check [astralapp](http://astralapp.com/) 60 | 61 | ## Mobilify 62 | 63 | > Convert any web page into a mobile app 64 | 65 | ### Description: 66 | 67 | Heavily inspired by the awesome [nativifier](https://github.com/jiahaog/nativefier). Basically, the same but to make mobile apps from a web page. It would use cordova to take the html, js and css and convert it in a mobile app. It would be useful for awesome pages that doesn't have a mobile app, but have awesome mobile sites, for example, Github. 68 | 69 | ## Social coding 70 | 71 | > Let others developers know what you are coding 72 | 73 | ### Description: 74 | 75 | Github and Stackoverflow are some of the most popular dev sites/tools. They have two big things in common: 76 | 77 | 1. A public API 78 | 2. They are social! 79 | 80 | So, it would be awesome to have some feed of your social coding, for the cli or as an embedded html (to add to portfolio for example) 81 | 82 | ## Holographic spaceinvaders 83 | 84 | > Futuristic space invaders 85 | 86 | ### description: 87 | 88 | Everyone knows the Spaceinvaders game. Seeing this two projects. 89 | 90 | * https://github.com/feross/magickeyboard.io 91 | * https://github.com/philippedubost/keybright 92 | 93 | I think that an awesome new version of the popular game could be made. A web version and an awesome holographic version. 94 | 95 | ## Config manager 96 | 97 | > Centralized manager for config files of npm modules 98 | 99 | ### description: 100 | 101 | Many npm packages use config files, like `eslint`, `babel`, `flow`, etc. So it would be useful to have a single json file to manage all of that config files. 102 | 103 | ## Bachelet bot 104 | 105 | > Talk with Bachelet 106 | 107 | ## Markdown extension API 108 | 109 | > Library to extends markdown language 110 | 111 | ### Description 112 | 113 | Library to extend regular markdown as you want, similar to what Github flavored Markdown does. Useful to add Math formulas, charts, graphics or whatever could be rendered to html. 114 | 115 | ## Inclusive linter 116 | 117 | > Drop gender to the trash 118 | 119 | ### Description 120 | 121 | Similar to what eslint does, this would check a piece of text to find uninclusive parts in different languages. For example, replaces all the `he` for `he/she`, or in spanish replace `amigos` with `amigxs` or `amig@s` allowing to configure the inclusive char. [Alex project](https://github.com/wooorm/alex) seems to do something very similar 122 | 123 | # Summary 124 | 125 | Here is a quick and highly opinionated summary about the ideas, showing three metrics from 1 to 10, except for the dificulty that goes from 1 to 5. The priority is the sum of the three metrics, and give us the order of development of the ideas. 126 | 127 | | Idea | Difficulty | Fun | Useful | Priority | 128 | | ------------------------- | ---------- | --- | ------ | -------- | 129 | | Facebook chat cli | 5 | 8 | 5 | 18 | 130 | | Soundcloud cli | 4 | 10 | 10 | 24 | 131 | | Github extension | 2 | 5 | 10 | 17 | 132 | | Mobilify | 5 | 5 | 7 | 17 | 133 | | Social coding | 3 | 8 | 5 | 15 | 134 | | Holographic Spaceinvaders | 5 | 10 | 3 | 19 | 135 | | Config manager | 4 | 7 | 7 | 18 | 136 | | Bachelet bot | 4 | 10 | 1 | 15 | 137 | | Markdown extension API | 3 | 7 | 7 | 17 | 138 | | Inclusive linter | 5 | 5 | 8 | 18 | 139 | 140 | So, the order would be 141 | 142 | 1. **Soundcloud cli** 143 | 2. **Config manager** 144 | 2. **Holographic Spaceinvaders** 145 | 3. **Inclusive linter** 146 | 2. **Facebook chat cli** 147 | 3. **Markdown extension API** 148 | 3. **Github extension** 149 | 4. **Mobilify** 150 | 5. **Social coding** 151 | 6. **Bachelet bot** 152 | 153 | --------------------------------------------------------------------------------