Commit graph

15619 commits

Author SHA1 Message Date
Vincent Ambo
a8c9058a58 refactor(lisp/dns): Refactor structure of lookup-generic calls 2020-01-27 00:15:58 +00:00
Vincent Ambo
a41b8c70a6 refactor(third_party/lisp): Use buildLisp.bundled for built-in libs
Deprecates derivations for:

* sb-bsd-sockets
* sb-posix
* sb-rotate-byte
* uiop
2020-01-26 23:59:07 +00:00
Vincent Ambo
ca60eafa80 feat(nix/buildLisp): Add 'bundled' function for built-in libraries
Makes it possible to add virtual dependencies on built-in libraries,
e.g. `buildLisp.bundled "sb-posix"`.
2020-01-26 23:58:31 +00:00
Vincent Ambo
479510005b chore(lisp/dns): Remove unused dependencies 2020-01-26 21:06:59 +00:00
Vincent Ambo
24c2fc8ae1 Merge branch 'feat/dns-lisp' 2020-01-26 21:06:17 +00:00
Vincent Ambo
3f9546197e feat(lisp/dns): Export struct fields 2020-01-26 20:34:03 +00:00
Vincent Ambo
4c109f66b6 feat(lisp/dns): Introduce enum for DNS types & decode RDATA
Adds some of the most common DNS types in the enum (others TBD), and
starts decoding RDATA for TXT and A.
2020-01-26 20:29:30 +00:00
Vincent Ambo
72abb43577 chore(lisp/dns): Add 'message.lisp' to build instructions 2020-01-26 20:00:22 +00:00
Vincent Ambo
8f805a29d1 feat(lisp/dns): Use new DNS deserialiser in dns:lookup-generic
This enables arbitrary DNS lookups (with the caveat that RRDATAs are
currently not deserialised into a record-type-specific format).

An error condition has been defined for error-responses from the HTTP
server which provides interactive restarts for attempting a new call
with different parameters.
2020-01-26 19:58:52 +00:00
Vincent Ambo
a2d0b7f399 feat(emacs.d): Add interactive 'scrot-select' screenshot function 2020-01-26 19:13:59 +00:00
Vincent Ambo
1440fc0dd7 feat(lisp/dns): Implement qname compression parsing
Implements support for the compresion scheme used in binary DNS
messages.

This makes it possible to decode messages entirely, but not yet
actually resolve the labels to their "real" values.

All qnames are stored with file-offsets pointing at the position at
which their reading started, which enables the implementation of a
function to resolve pointers internally.
2020-01-26 18:27:35 +00:00
Vincent Ambo
cefb60f20c refactor(lisp/dns): Introduce structured QNAME representation
Adds a struct that represents QNAMEs, tracks the stream offset at
which the QNAME parsing began and makes it possible to resolve
pointers inside of the QNAME.

Note that resolving pointers needs to happen *after* the call to
lisp-binary currently. It might be possible to implement this inside
of lisp-binary in the future by switching on the top two bits of the
qname field, but since this is happening *inside* of a reader function
I'm not currently sure how to implement it.
2020-01-26 02:51:29 +00:00
Vincent Ambo
7ef14db936 feat(lisp/dns): Check in initial DNS message implementation
This uses lisp-binary to define serialisation types for the DNS
messages defined by RFC 1035.

Currently the compression scheme used for QNAMEs is not supported,
hence deserialisation of even simple records fails after the header
and question sections are read.
2020-01-26 01:20:45 +00:00
Vincent Ambo
09621f5371 refactor(lisp/dns): Split package into multiple files
Adds a package definition file and moves the current client into
client.lisp

Note that the client is not working at all at this commit as this is a
work-in-progress snapshot.
2020-01-26 01:20:45 +00:00
Vincent Ambo
29e1de2fd2 feat(fun): Add copy of my avatar
Handy to keep this around somewhere!

Thanks Kitty <3
2020-01-26 01:20:23 +00:00
William Carroll
d67993266f Add index.html with AdSense script to blog
Adds some dummy markup, which includes my Google AdSense `<script>` tag. The
script won't work unless it is loaded from wpcarro.dev.
2020-01-26 00:29:34 +00:00
Vincent Ambo
264a55e2e0 feat(ops/nixos/nugget): Install unzip 2020-01-25 20:39:54 +00:00
William Carroll
130155121a Sketch idea of a buildClojure nix function
The previous commit that adds Java code is part of a larger project intended to
use Nix to package Clojure. I'd like to build something similar to @tazjin's
buildLisp except for Clojure instead of for Common Lisp. Once building for both
ecosystems is similarly easy, it will be easier for me to compare the two
languages. Right now `buildLisp` is so good that it attracts me to Common Lisp
even when I don't know the language.
2020-01-25 19:41:19 +00:00
William Carroll
5a2a1694e3 Support java directory
Add an example of two java files, Main.java and Another.java, where Main.java
depends on Another.java. This is part of a larger example of attempting to use
Nix to package these.

Also ignoring the *.class files that `javac <filename>` outputs.
2020-01-25 19:39:49 +00:00
William Carroll
b6b8611f69 Prefer keynav daemonize
Instead of `keynav &`.
2020-01-25 18:36:24 +00:00
Griffin Smith
308c7eb4f6 Add a close command
Add a close command, to close doors, that works basically the same as
the open command.
2020-01-25 11:38:37 -05:00
Griffin Smith
9256c976ed Factor out an "entitiesAtCharacter" lens
Factor an "entitiesAtCharacter" lens from the one-two step of getting
the character position, then getting the entities at that position.
2020-01-25 11:38:32 -05:00
Griffin Smith
2fc4fcfee9 Put the character at the staircase when going down
Always put the character at the up staircase when going down a level,
even when going down to a level we've already generated.
2020-01-25 11:06:01 -05:00
Griffin Smith
5337d7c0eb Lower the maximum gormlak coefficient
Little too easy to generate tons of gormlaks and then immediately die.
2020-01-25 10:57:38 -05:00
edef
30286d5454 chore(buildLisp): use lib.optionalString where applicable 2020-01-24 22:18:19 +00:00
edef
ccbac831d3 chore(buildGo): use lib.optionalString where applicable 2020-01-24 22:18:19 +00:00
Andre Nguyen
4442770261 fix: Add support for more ARM processors detection (#608)
Internal change submitted. Merging this PR.
The unit test can be fixed in another PR.
2020-01-24 15:27:04 -05:00
Vincent Ambo
fb5f26e548 feat(emacs.d): Add notmuch-depot-apply-patch helper function
This function lets me interactively apply a patch from the currently
opened notmuch message to the depot.
2020-01-24 18:51:13 +00:00
William Carroll
bd82a25ff2 Add additional KBD for scrot/select
As mentioned in the TODO, I need this redundant KBD for my Ergodox.
2020-01-24 16:59:17 +00:00
William Carroll
7c67334141 Support alarm.el
- Renames productivity-timer.el -> alarm.el
- Support functionality
- Whitelists alarm.el in init.el
2020-01-24 16:58:43 +00:00
William Carroll
e0fa9d907d Define pkill Emacs function
I can kill process from Emacs instead of creating a terminal and using that.
2020-01-24 11:26:57 +00:00
William Carroll
143fc97032 Start working on f.lisp
I would like to port the `f.el` library to Common Lisp. I'm adding a README,
some build files, and the module itself to get started.
2020-01-24 10:55:04 +00:00
William Carroll
e2e59c63e7 Cleanup lisp directory
Removing the default.nix that I used to attempt to build prove, a Common Lisp
unit testing library. Also removing the lisp module with the unit tests
themselves.
2020-01-24 10:53:37 +00:00
William Carroll
95d03facb3 Support prelude.lisp
Using this module to support utility functions that I have not classified
further than being miscellaneous.
2020-01-24 10:52:53 +00:00
William Carroll
b6fa3941b3 Rename common-lisp directory to lisp
I could have renamed common-lisp to common_lisp. I think Nix prefers underscores
to hyphens.
2020-01-24 10:50:05 +00:00
William Carroll
402720792e Prefer opening locate buffers using dired-find-file-other-window
`dired-display-file` opens the file in another window but does not focus that
window. `dired-find-file-other-window` does what `dired-display-file` does
except it focuses that window.
2020-01-24 10:04:49 +00:00
William Carroll
7bf8997830 Support nix/sly-from-universe
This function builds a version of SBCL using `nix.buildLisp` and points `sly` to
the built executable. The result is a REPL with access to your project's
dependencies, which is quite useful. One drawback at the moment is that if new
dependencies are added to the project, I think I need to rebuild SBCL using nix
and restart sly.
2020-01-23 22:02:13 +00:00
William Carroll
e1ccee27d5 Add NIX_PATH to envrc
This way functions like `nix/sly-from-universe` can resolve nix paths like
`<depot>` and `<universe>`.
2020-01-23 22:01:25 +00:00
William Carroll
6108f8df01 Support proof-of-concept blog
After some toil, I have a working proof-of-concept blog. The idea is simple:
write blog posts in markdown and store the posts in the `./posts`
directory. Then use the server and `pandoc` to convert these markdown files into
HTML at request time. I'm using nix to package everything together. It's far
from perfect, but it works at the moment, which is encouraging.
2020-01-23 22:01:06 +00:00
William Carroll
2e3bb0435f Package cl-arrows package
Using Nix to package this library of Clojure-inspired threading macros.

TODO: Send this patch to tazjin.
2020-01-23 21:57:25 +00:00
William Carroll
81d7bc405e Extend blog server to consume nix injections
All of this is still a work-in-progress. Just checking in my work.

Also:
- Write function `render-post` to convert a markdown file into HTML. This is
  still a work-in-progress since we need to capture the output and not just have
  it printed to *standard-out*.
- Return dummy data in /posts
2020-01-23 21:57:25 +00:00
William Carroll
b25d06db7e Attempt to inject dependencies into blog/server
- We need the markdown files, to be in the /nix/store and the server needs to be
  aware of there location.
- Since we're dependending on `pandoc`, our server needs to know about it too.

For both of these cases -- especially for the latter case -- I imagine there may
be a more idiomatic way of doing this.
2020-01-23 21:57:25 +00:00
William Carroll
336a1fdf9f Add <nixpkgs> to NIX_PATH
Lest we forget our roots.
2020-01-23 21:57:25 +00:00
Jean-Martin Archer
b53b641306 story, allow to create story without an epic
While it's probably a good idea to assign epics to new stories,
depending on the methodology used by the team not everything may
warrant being attached to an epic. E.g. one off task and what
not.
2020-01-23 16:17:01 -05:00
Jean-Martin Archer
39bb14987f git, ignore files created by spacemacs 2020-01-23 16:17:01 -05:00
William Carroll
2c28f85946 Start working on a blog
Attempting to write a blog where:

- The server is Common Lisp. Why? I'd like to learn Common Lisp.
- The blog posts can be written in Markdown.
- The package is developed and deployed using Nix.

Most of this is a learning exercise. The blog itself is something that I'd like
to use instead of Medium and other forums.
2020-01-23 16:34:07 +00:00
William Carroll
7f37acf548 Prefer <depot> and <universe>
Consuming the aliases that I defined in `NIX_PATH` in `.envrc`.
2020-01-23 16:33:47 +00:00
William Carroll
e76843d337 Create third_party
Create a third_party subdirectory and a third_party/lisp. This directory layout
resembles and is inspired by the layout of Google's mono-repo, Google3. @tazjin
borrowed this idea from Google and I'm borrowing the idea from him.
2020-01-23 16:31:54 +00:00
William Carroll
393bd0a5c7 Nixify repo
Using @tazjin's depot/default.nix to bootstrap this project. I'll be borrowing
his Nix idioms until I better understand Nix and have preferences of my own.
2020-01-23 16:30:39 +00:00
William Carroll
01539a9988 Support .envrc
Add `NIX_PATH` aliases for `depot` and `universe`.
2020-01-23 16:30:06 +00:00