about summary refs log tree commit diff
path: root/users
AgeCommit message (Collapse)AuthorFilesLines
2023-04-11 r/6091 fix(grfn/emacs): Give all snippets a unique uuidGriffin Smith15-15/+15
Change-Id: Iae2ce3783bc2632b265641e286b4145373c7a226 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8478 Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2023-04-11 r/6090 feat(grfn/emacs): Add snippet for rust test-moduleGriffin Smith1-0/+11
Change-Id: Ie035d867d4df3ad61f9ce6b78285292105a0cb70 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8477 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: grfn <grfn@gws.fyi>
2023-04-08 r/6085 docs(users/Profpatsch): Add toplevel READMEProfpatsch2-0/+10
Change-Id: Iae4b46932cb964c5668ed679ad068c20d480cdf0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8472 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-04-08 r/6084 feat(users/Profpatsch): Actually add the mentioned .hlint fileProfpatsch1-0/+355
Change-Id: I6d08379835160dfb941fe45e708cfc2f942acfbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/8471 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-04-08 r/6083 docs(users/Profpatsch): Add small README to most subdirsProfpatsch12-1/+93
Change-Id: I2912e32fe1b2d3d3aff7bafba809634ec4c9adb6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8470 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-04-08 r/6082 refactor(users/Profpatsch/lorri-wait-for-eval): use MyPreludeProfpatsch2-19/+5
Change-Id: I45aec0cd178cd51b1857b576e9c3a8ccc1866100 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8469 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-04-08 r/6081 chore(users/Profpatsch): delete struct-editProfpatsch2-444/+0
Change-Id: I17c6c1b2659267a74ed252e18363c46ea89d99fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/8468 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-04-08 r/6080 chore(users/Profpatsch): delete nixpkgs-rewriterProfpatsch2-228/+0
Change-Id: I0e8a1f4e6e23cbeead46ea60129cad66d3ffe844 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8467 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-04-08 r/6079 chore(users/Profpatsch): delete check-crate-advisoryProfpatsch2-187/+0
Change-Id: Iefd7d8bcd699c9bef5c88e730e1d2dc5ec407ee0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8466 Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-04-08 r/6078 chore(users/Profpatsch): bring reverse-haskell-deps into shapeProfpatsch4-35/+57
Add a cabal file and move into subdir. Use MyPrelude & fix a few linter warnings. Change-Id: I19d5ba47be789fc24f8e02ee8721f73c706ae3e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8465 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-04-07 r/6072 chore(3p/sources): Bump channels & overlayssterni2-1/+5
* Satisfy new assert that the corresponding shell needs to be enabled via programs.* if it is as the login shell of at least one user. * //users/tazjin: “Address” removal of hardware.video.hidpi option. * //3p/gerrit: update fetch sha256 Change-Id: Id0988a0ea7f393d6b7848a7104fc3526ee1177f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8407 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-04-05 r/6071 chore(sterni/machines/edwin): minecraft 1.19.2 -> 1.19.4sterni2-6/+20
Change-Id: Ib6141a6d905220395d822ac1d8e4f47aa89161a3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8425 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-04-01 r/6070 fix(tazjin/nixos): scrot is out, maim is inVincent Ambo3-5/+9
Scrot doesn't work very well anyways, it keeps producing crazy artifacts. Maim seems more sane. Change-Id: I0823b1755b7810c8b35a9c53f232d2e7f1722943 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8414 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2023-03-30 r/6062 feat(sterni/emacs): disable warning 8 (dash len) in chktex flycheckssterni2-1/+16
Change-Id: I394c48395cdc50bea3747f55d95f169e599018ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/8370 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2023-03-27 r/6051 refactor(sterni/mblog): drop redundant <style> elementsterni1-2/+1
Change-Id: I7cf9681130cc2f99050ebc0c736a4e1387ce8fbc Reviewed-on: https://cl.tvl.fyi/c/depot/+/8350 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-03-27 r/6048 chore(3p/sources): Bump channels & overlayssterni1-1/+2
* //users/wpcarro/avaSystem: disable hidpi Recent changes have made nixpkgs adopt the position that hidpi optimization can't be done generically and at the very least needs to know a specific DPI number to optimize for. In addition to knowledge of the display(s) in question (i.e. wpcarro needs to do this) the issue <https://github.com/NixOS/nixpkgs/issues/222805> can give guidance as to how to restore the desired hidpi look and feel. Change-Id: Ia4b079a06dcb710050619f350cd0655216b4a42f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8345 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-03-24 r/6040 feat(sterni/mblog): implement environment based config mechanismsterni6-14/+54
Change-Id: I091c0d5decc0a1eb3d24e81b713434ab391c677d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8347 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-03-24 r/6039 fix(tazjin/blog): fix moved link in a blog postVincent Ambo1-1/+1
Change-Id: Ia0fb7638f94cfa7aaeac3044939b9efa20ef3507 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8337 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-03-21 r/6035 chore(sterni/machines/edwin): minecraft 1.18.2 -> 1.19.2sterni2-6/+25
Change-Id: I4d002c933929508baab12d3802ac67d42813507b Reviewed-on: https://cl.tvl.fyi/c/depot/+/8333 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-03-21 r/6034 chore(sterni/machines/edwin): minecraft 1.18 -> 1.18.2sterni2-7/+19
Starting with 1.18.1 we no longer need to pass an extra flag to work around the log4j CVE, so baseJvmOpts can be empty. Change-Id: I6d6c5a366ecbb499b2e3945db81ca0a8b2e2dcbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/8332 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2023-03-21 r/6033 chore(sterni/machines/edwin): minecraft 1.17.1 -> 1.18sterni2-7/+18
Change-Id: If9f6ee1c49a6c427530e56ceff60a2508f6fd9c6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8331 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-03-21 r/6032 chore(sterni/machines/edwin): minecraft 1.17 -> 1.17.1sterni2-6/+15
Change-Id: I5e27eb7cfb87cd20a87aa49af114f43aaadc32d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8330 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-03-21 r/6031 feat(sterni/machines/edwin): minecraft 1.16.5 -> 1.17sterni2-6/+15
Change-Id: I3393c16db76fba839ea72612f54e6a2a72d0b69d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8329 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2023-03-21 r/6030 chore(sterni/machines/edwin): upgrade fabric 0.11.0 -> 0.11.2sterni1-2/+2
Change-Id: I6f833c882e6a5428c9bd94951a5ef5b62ca7c6b6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8328 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org>
2023-03-21 r/6029 chore(3p/sources): Bump channels & overlayssterni1-2/+5
* //users/wpcarro/emacs: use top level (ELPA) version of eglot, as it was removed from MELPA: https://github.com/melpa/melpa/commit/dc2ead17a8e5d5df59fc3729c8f0435cfcbf55ef * //3p/nixpkgs:tdlib: 1.8.11 -> 1.8.12 * //tvix/store: regenerate protos after buf update Change-Id: I782a8d91fda5ed461788055a3721104e8c032207 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8327 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-03-17 r/6021 feat(grfn/gws.fyi): pronouns in bioGriffin Smith1-2/+3
Change-Id: Iba14dcec42aba3195dbe28a1cf31acd66919f1b7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8323 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2023-03-12 r/5955 chore(users/lukegb/keys): -porcorosso-wsl +lukegb-build +lukegb-caLuke Granger-Brown1-2/+3
Change-Id: Ia03d1449eca4c23728ae64be8c0e9f7397c10c2e Reviewed-on: https://cl.tvl.fyi/c/depot/+/8264 Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2023-03-09 r/5905 feat(tazjin/nixos): manage some chromium settings in NixVincent Ambo4-1/+32
Change-Id: Idec699f2c52385dbb4cceb9aece1e1f246d2f619 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8233 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-03-09 r/5904 chore(tazjin/nixos): enable docker on tverskoy for a talkVincent Ambo1-1/+2
Change-Id: Ie5caa5648d34a4163e752f121edd8e828c922a77 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8232 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-03-09 r/5903 chore(tazjin/nixos): reduce number of browsersVincent Ambo1-2/+1
One normal chromium is enough. google-chrome is not needed because Chromecasts usually don't work anymore anyways. Change-Id: I48bed05c56bd6f450be393cf727930eaad5cd6b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8231 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-03-02 r/5866 chore(3p/sources): Bump channels & overlayssterni2-1/+12
* //3p/sources: temporarily switch to nixos-unstable-small, since it includes: - evans update we are interested in, allowing us to drop our evans patches. - awscli2 update that unbreaks //users/grfn * //3p/overlays/tvl: - drop evans patches - update tdlib to 1.8.11 to make tazjin's emacs happy - drop obsolete mullvad workaround * //users/grfn/keyboard: disable -Werror for array-bounds warnings. Seems like a non-trivial job to resolve the warning properly, hopefully GCC 12 still generates the same working code as GCC 11 used to. * //users/grfn/system/home: remove yubikey-manager-qt. Yubico can't seem to keep that on pace with yubikey-manager. It requires a <5 version of the latter which is incompatible with the recently released cryptography >= 39. * //3p/gerrit: update changed FOD hash for the fetch step Change-Id: I590ab996247e69b0ab5059cd173840ef4ebfe939 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8133 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: grfn <grfn@gws.fyi>
2023-03-01 r/5865 chore(users/Profpatsch): remove failed aerc experimentProfpatsch3-205/+0
I didn’t ever get aerc to work, so let’s get rid of this. Change-Id: Ie59b23fe7d5af70ca82c1c624c1e11d21da735f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8189 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-03-01 r/5864 feat(sterni/edwin/code.sterni.lv): mirror vuizvuisterni1-0/+4
Change-Id: I8b163614b588d1cfb8d758cafb8fb407397a1ef7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8188 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-03-01 r/5863 chore(sterni/external/likely-music): update to 2023-02-07sterni1-3/+3
Includes a frontend bug fix and a closure size reduction of the server application. Change-Id: I5713a5348281acb7126c1fd85a637a6fff969c98 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8187 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-02-27 r/5861 feat(grfn/emacs): Add capture template for work todoGriffin Smith1-0/+4
Change-Id: If6e667a28619cd43d1135d6b0552bc09c5c038e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8163 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: grfn <grfn@gws.fyi>
2023-02-27 r/5860 feat(grfn/system): Install some rust profiling toolsGriffin Smith1-0/+2
Change-Id: I0d68c0c20b29ecd48b7c63c5a5498ccb7cc685fd Reviewed-on: https://cl.tvl.fyi/c/depot/+/8162 Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2023-02-27 r/5859 chore(grfn/system): Upgrade emacs packagesGriffin Smith4-16/+18
Some interfaces changed in magit's transient, and doom switched more emphatically to rustic mode Change-Id: Ifb945f7fc693b0b7fb1739e25c6da70b06df96ef Reviewed-on: https://cl.tvl.fyi/c/depot/+/8161 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2023-02-16 r/5855 feat(tazjin/generator-example): add an example for genawaiter crateVincent Ambo5-0/+260
This is an experiment for tvix-eval. Change-Id: Ic752b5b125cefefeb1343e38a70beb364478e6eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/8131 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-01-24 r/5749 feat(tazjin/tverskoy): re-enable virtualboxVincent Ambo1-2/+2
need that ubuntu for ~reasons~ Change-Id: Ia3ba60d84c39b7930b7e7a2a1ee83a01e49ef6a0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7921 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-01-24 r/5748 feat(grfn/yeren): set time.timeZone to IcelandGriffin Smith1-0/+2
Change-Id: I656d90ece42be5b57bc0d7de1bfd978ecb266e9c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7919 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2023-01-23 r/5745 chore(wpcarro/ynabsql): Prefer let to varWilliam Carroll1-9/+9
"Something something modern JavaScript" Change-Id: I00abddd0a5b0abc4fcb4daee2d4ffa5189245d3b Reviewed-on: https://cl.tvl.fyi/c/depot/+/7916 Reviewed-by: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI Autosubmit: wpcarro <wpcarro@gmail.com>
2023-01-23 r/5744 fix(wpcarro/ynabsql): Filter and sort transactions onUploadWilliam Carroll1-1/+8
:) Change-Id: I8ae1dfb16885f2aa2d3416fadaf860bbe4e196fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/7915 Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2023-01-23 r/5743 fix(wpcarro/ynabsql): caption -> legendWilliam Carroll1-1/+1
Cleaning up React console warnings Change-Id: I41742d01d420be7c56332e233443aa4b18194837 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7914 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2023-01-23 r/5742 chore(wpcarro/ynabsql): Delete stale filesWilliam Carroll4-1196/+12
This also removes the globally available `data.data.transactions`. Change-Id: I674a772ac91f01ff8c2d211157bd567391ab1765 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7913 Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2023-01-23 r/5741 feat(wpcarro/ynabsql): Proof-of-concept demoWilliam Carroll10-148/+3832
Hacked this together during my week-off while I was in Telluride, CO. The git history is quite sloppy; so is some of the code. But it (mostly) works as a demo, and that was the point. Change-Id: Icfbc277090b69a802c00becdbd162652e4e8e156 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7904 Reviewed-by: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI Autosubmit: wpcarro <wpcarro@gmail.com>
2023-01-22 r/5731 feat(sterni/aoc/2022): day16 part 1 k solutionsterni1-0/+21
Change-Id: I4d141e0d911157ae17f12066b859297836d4858b Reviewed-on: https://cl.tvl.fyi/c/depot/+/7897 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-01-20 r/5718 fix(wpcarro/slx): Fix LTE/GTE parsing errorWilliam Carroll2-4/+8
Fix: `i += 2`. Welp! Change-Id: I06061f0c5bb5283c8b85bd3f5a6e52e2eb59d4f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7885 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com>
2023-01-20 r/5717 test(wpcarro/slx): Add (basic) testsWilliam Carroll5-0/+1589
Tests with React? ...wat? Change-Id: I95ccd08bb6e66e9d74a63a596b5f844f9dab0361 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7884 Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com> Tested-by: BuildkiteCI
2023-01-20 r/5716 feat(wpcarro/slx): Support groupingWilliam Carroll1-8/+26
I'm considering rearchitecting the parser to align with the "Crafting Interpreters" wisdom. I don't really want to do that right now, and the current implementation fits my use-case. If I discover bugs or want to add more features, I'll revisit the issue. Change-Id: Ia767933519ea9fc0fe954cb142f21b02e13a1f40 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7883 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com>
2023-01-20 r/5712 feat(wpcarro/slx): Include naive optimizationsWilliam Carroll1-0/+5
Empty queries and empty lists. Change-Id: Iacd429feb9d6a0b48ffcac682c3dbd4a0a164134 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7880 Tested-by: BuildkiteCI Autosubmit: wpcarro <wpcarro@gmail.com> Reviewed-by: wpcarro <wpcarro@gmail.com>