about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-04-05 Prefer ~/.local/share/static to ~/Dropbox/staticWilliam Carroll1-8/+2
I would like to remove all dependencies on Dropbox.
2020-04-05 Delete //clojureWilliam Carroll1-11/+0
Deleting my early sketches of how I would like a Nix expression that built Clojure packages, libraries, and executables to look like.
2020-04-05 Tidy advent-of-code directoryWilliam Carroll5-76/+4
TL;DR: - Add README.md - Delete *.nix sketches - Delete *.pyc and *.ex python artifacts
2020-04-05 Forward git.wpcarro.dev connections to :3000William Carroll1-0/+7
Gitea is running a web server on localhost:3000.
2020-04-05 Prefer gitea to gogsWilliam Carroll1-8/+1
Gitea's announcement notes explain some of the benefits of Gitea over Gogs: https://blog.gitea.io/2016/12/welcome-to-gitea/ Also, I never configured Gogs such that I could use it, so the cost of switching from Gogs to Gitea was basically zero.
2020-04-04 Move Emacs documents to //emacsWilliam Carroll3-0/+0
These documents outline some of my Elisp conventions and ideas. As such, I think //emacs should host them.
2020-04-04 Update README.mdWilliam Carroll1-183/+81
This change was long overdue. I'm updating this README.md to reflect the state of my monorepo.
2020-04-03 Fix spelling errors in cell-phone-experiment blogWilliam Carroll1-5/+5
Shoutout to Ryan D. for texting me about these.
2020-04-03 Change Disqus shortnameWilliam Carroll1-1/+1
I setup a Disqus Admin account.
2020-04-03 Edit cell-phone-experiment blog postWilliam Carroll1-38/+48
After a full night's rest, I re-read my blog post and made some changes: - Fix grammatical errors - Clarify unclear passages
2020-04-03 Drop support for Terminal workspaceWilliam Carroll1-3/+0
I created the Terminal workspace before I wrote a function for finding/creating vterm instances. I now use the latter almost exclusively.
2020-04-03 Finish blog post about cell phone usageWilliam Carroll1-59/+237
Read the blog post for more information.
2020-04-02 Remove :index field from exwm/named-workspace structWilliam Carroll1-75/+14
I can compute the index use dash.el's -elem-index. I'm also removing some unused EXWM workspaces.
2020-04-02 Tidy window-manager.elWilliam Carroll1-47/+3
Remove stale code and stale comments.
2020-04-02 Refactor opening X applications from EmacsWilliam Carroll2-23/+35
I borrowed heavily from Vincent's depot.
2020-04-02 Build either emacs.{glinux,nixos} depending on my current deviceWilliam Carroll1-7/+12
`M-x nix/rebuild-emacs` will build either emacs.glinux or emacs.nixos depending on whether I'm using a work device or a personal device.
2020-04-02 Define device/corporate?William Carroll1-0/+4
Write a predicate function for checking whether or not I'm on a corporate device.
2020-04-02 Tidy up emacs/default.nixWilliam Carroll1-33/+13
When I run `nix-env -f '<briefcase>' -iA emacs`, Nix builds a derivation of wpcarros-emacs using the path to the Emacs derivation. This doesn't work well on glinux and causes strange behavior. For instance, Chrome crashes when it tries to browse for files. Building with `nix-env -iA emacs.glinux` fixes this and other problems. Miscellaneous other changes: - Remove unnecessary fix-point recursion - Drop support for unused dottime.el - Remove unused overrideEmacs - Remove unused withLocalConfig - Support emacs.glinux and emacs.nixos alternative derivations
2020-04-02 Set Gruvbox theme as my default Emacs themeWilliam Carroll1-1/+1
I want to use a dark theme for awhile.
2020-04-02 Tidy up themes.elWilliam Carroll1-87/+34
TL;DR: - Prune unused themes - Prefer "JetBrainsMono" font for all themes - Remove TODOs that I've either supported or that I'm uninterested in supporting
2020-04-02 Increase default font size for laptopWilliam Carroll1-1/+1
I'm working off of my laptop but I'm using my 4k monitor. The expression that sets `fonts/size` could be more sophisticated and detect this, but for now, I'm just bumping up the size.
2020-04-01 Drop support for org-captureWilliam Carroll1-33/+3
I don't use org-capture, and I am not currently interested in developing that habit.
2020-04-01 Prefer briefcase/org to Dropbox/orgWilliam Carroll2-2/+3
I would like to version-control most but not all of my org files.
2020-04-01 Delete dusty Elisp codeWilliam Carroll2-421/+0
When I first switched to EXWM, I wrote a lot of Elisp. I think I was mostly excited about having a monorepo and, as I had a backlog of ideas that I wanted to implement, I ended up writing many halfly baked ideas in Elisp. These are mostly sketches.
2020-04-01 Version-control first-of-the-month.orgWilliam Carroll1-0/+13
Every time it is the 1st day of the month, I complete this habit chain.
2020-04-01 Add finance.org to briefcase/orgWilliam Carroll1-0/+8
I'd like to version-control the habit chain that I follow after Google sends me my paycheck.
2020-03-31 Update morning routineWilliam Carroll1-0/+2
I've been trying to read 15 minutes in the mornings. I also recently purchased some house plants that I have been watering daily before I do my yoga routine.
2020-03-31 Progress with InterviewCake's coin problemWilliam Carroll1-0/+102
I'm writing a function that returns the total number of ways a cashier can make change given the `amount` of change that the customer needs and an array of `coins` from which to create the change. My solution conceptually works but it actually does not return the results I am expecting because I cannot create a Set of Map<A, B> in JavaScript. I'm also somewhat sure that InterviewCake is expecting a less computationally expensive answer.
2020-03-30 Add dir-locals.nix to boilerplate/typescriptWilliam Carroll1-0/+3
This should help prettier-mode work out-of-the-box.
2020-03-30 Prototype my digital habits journalWilliam Carroll15-0/+5904
Trying to obviate my Google Sheets spreadsheet in favor of a more focused web app.
2020-03-30 Solve InterviewCake's compute nth FibonacciWilliam Carroll2-1/+73
While the "Dynamic programming and recursion" section hosts this problem, the optimal solution does not use recursion. Many cite the Fibonacci problem as a quintessential dynamic programming question. I assume these people expect an answer like: ```python def fib(n): cache = {0: 0, 1: 1} def do_fib(n): if n in cache: return cache[n] else: cache[n - 1] = do_fib(n - 1) cache[n - 2] = do_fib(n - 2) return cache[n - 1] + cache[n - 2] return do_fib(n) ``` The cache turns the runtime of the classic Fibonacci solution... ```python def fib(n): if n in {0, 1}: return n return fib(n - 1) + fib(n - 2) ``` ... from O(2^n) to a O(n). But both the cache itself and the additional stacks that the runtime allocates for each recursive call create an O(n) space complexity. InterviewCake wants the answer to be solved in O(n) time with O(1) space. To achieve this, instead of solving fib(n) from the top-down, we solve it from the bottom-up. I found this problem to be satisfying to solve.
2020-03-29 Drop attempt to support a user-local /etc/hostsWilliam Carroll2-2/+0
While the idea of managing the hosts at a per-user level appeals much more to me that running this as root and managing /etc/hosts, I haven't been able to get it to work.
2020-03-29 Delete the stale testsWilliam Carroll2-44/+1
While this project would benefit from having test coverage, the current tests are not providing any useful coverage.
2020-03-29 Read and write to /etc/hostsWilliam Carroll8-25/+182
TL;DR: - Rename website-blocker to url-blocker - Add a README.md - Reads and writes to /etc/hosts
2020-03-29 Parse and serialize rules.jsonWilliam Carroll5-110/+216
TL;DR: - Write FromJSON instances to decode rules.json file - Prefer Text to String and use the OverloadedStrings language extension - Read /etc/hosts and append the serialized rules.json to the end Notes: - I can remove some of the FromJSON instances and use GHC Generics to define them for me. TODO: - Define the systemd timer unit for this to run - Ensure script can run with root privileges
2020-03-29 Experiment with user /etc/hostsWilliam Carroll2-0/+3
I have not been able to get this to work yet, but I hear that it is possible to maintain a user-specific /etc/hosts.
2020-03-29 Implement isToday predicateWilliam Carroll2-23/+17
Use the Data.Time package to implement the isToday predicate.
2020-03-28 Add <unstable> to NIX_PATHWilliam Carroll1-1/+1
1. I should be using NixOS/nixpkgs-channels instead of NixOS/nixpkgs 2. Instead of refactoring everything, I'm supporting <unstable> and pointing it to NixOS/nixpkgs-channels I needed <unstable> to get a more recent version of the Data.Time Haskell package.
2020-03-28 Start social-fasting appWilliam Carroll3-0/+143
I'd like to ensure that my /etc/hosts file blocks websites at certains times. I use this to allow / disallow websites at various times of the day. TODO: - Add project README - Add tests - Publish - Create a Nix derivation - Run as a systemd timer unit - Figure out if I can run this as a user rather than root
2020-03-27 Digitize daily habitsWilliam Carroll15-0/+6048
Create a web app off the post-its that I keep near my bathroom mirror.
2020-03-27 Add timestamps to habits.orgWilliam Carroll1-28/+33
Add approximations to the duration of each activity.
2020-03-27 Change srcs to src for website.goals derivationWilliam Carroll1-1/+1
Debug the typo.
2020-03-27 Publish habits as a webpageWilliam Carroll4-0/+66
I think it might be a good idea to version control my habits, so that I can audit them as they change. I'm publishing these on my website, so that I can refer to them wherever I had internet.
2020-03-27 Ensure Emacs prettier hook activatesWilliam Carroll1-2/+0
Problem: prettier-js waits for rjsx-mode. rjsx-mode only runs on .js files. As such, the hook that installs prettier-js-mode for *all* of my frontend hooks, which includes more than just js files, does not install until a javascript file is opened. Solution: Do not conditionally load prettier-js. Bonus: Remove the .js mode from rjsx.
2020-03-27 Add node_modules to .gitignore of boilerplate/typescriptWilliam Carroll2-4/+6
briefcase's top-level .gitignore ignores node_modules, so I never noticed that it was missing from my boilerplate .gitignore. I don't *really* need to add it to that .gitignore, but if I want to cleanly eject directories from this monorepo, it makes sense to keep the .gitignore files local to each project.
2020-03-27 Run Prettier across projectsWilliam Carroll22-128/+181
Problem: Prettier was not running when I saved Emacs buffers. Why? - prettier-js-mode needs needs node; lorri exposes node to direnv; direnv exposes node to Emacs; lorri was not working as expected. Solution: Now that I'm using nix-buffer, I can properly expose node (and other dependencies) to my Emacs buffers. Now Prettier is working. Commentary: Since prettier hadn't worked for so long, I stopped thinking about it. As such, I did not include it as a dependency in boilerplate/typescript. I added it now. I retroactively ran prettier across a few of my frontend projects to unify the code styling. I may need to run... ```shell $ cd ~/briefcase $ nix-shell $ npx prettier --list-different "**/*.{js,ts,jsx,tsx,html,css,json}" ``` ...to see which files I should have formatted.
2020-03-27 Delete nut-scoreWilliam Carroll13-474/+0
In the spirit of minimalism, I would like to delete this half-baked project from my repository. Do less, but better.
2020-03-27 Drop support for lorriWilliam Carroll20-52/+43
Lorri does not cleanly integrate with my corporate device, which cannot run NixOS. To expose dependencies to Emacs buffers, I will use nix-buffer.el, which reads its values from dir-locals.nix. To easily expose dependencies from my existing shell.nix files into dir-locals.nix, I wrote a Nix utility function.
2020-03-26 Change theme to doom-oneWilliam Carroll1-1/+1
TL;DR - Prefer doom-one theme to solarized light - Prefer colorscheme/set to themes/set
2020-03-26 Solve InterviewCake's recursive string permutations problemWilliam Carroll2-1/+86
Write a function that returns the set of all of the possible permutations of an input string. This function should be solved recursively.