I hereby claim:
- I am philipcmonk on github.
- I am pcmonk (https://keybase.io/pcmonk) on keybase.
- I have a public key ASCLb38rzx85_brKQrl05d8ZFMbANIaRHwxegKVE3FesFQo
To claim this, I am signing this object:
diff --git a/urb/zod/main/app/shell/core.hook b/urb/zod/main/app/shell/core.hook | |
index 5fdcc06..071f29b 100644 | |
--- a/urb/zod/main/app/shell/core.hook | |
+++ b/urb/zod/main/app/shell/core.hook | |
@@ -353,7 +353,8 @@ | |
|= a=span | |
leaf/(trip (rap 3 (~(got by cub.hid) a) '(' a ')' ~)) | |
(blab [ost give/nice/~] (print tak)) | |
- %x =. act next-act | |
+ %x ~& [%ctrl-x act=act nact=next-act pot=pot] |
diff --git a/urb/zod/main/app/terminal/core.hook b/urb/zod/main/app/terminal/core.hook | |
index 49657b9..ed6f450 100644 | |
--- a/urb/zod/main/app/terminal/core.hook | |
+++ b/urb/zod/main/app/terminal/core.hook | |
@@ -174,6 +174,7 @@ | |
%nice +>.$ | |
?(%rust %rush) | |
=. p.q.sih ?^(q.q.sih p.tel p.q.sih) :: XX prompt hack | |
+ ~& [%term-pour dis=dis qsih=q.sih] | |
%_ +>.$ |
~zod/try=> fjdlkfcog: %fjdlkf | |
error: find-none | |
[ %gall-crud-error | |
/a/~zod/._~~.terminal__/u/txt | |
~[/d/term-mess //term/1] | |
[ %g | |
%crud | |
p=%mack-made | |
q | |
~[ |
/- mess,user,users,zing,zong | |
!: | |
=> |% | |
++ axle | |
$% [%0 p=(map path ,[p=(list zong) q=(map ship ,?)])] | |
== | |
++ blitz | |
$% [%zong p=zong] | |
[%user p=user] | |
== |
~zod/try=> ^/%/euler5 | |
! /~zod/try/~2015.1.30..21.28.33..9c0b:<[1 1].[1 11]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[6 1].[56 3]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[7 1].[56 3]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[11 1].[56 3]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[54 3].[55 31]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[55 3].[55 31]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[55 8].[55 20]> | |
! /~zod/try/~2015.1.30..21.28.33..9c0b/euler5:<[55 9].[55 11]> | |
! -find-limb.sq |
I hereby claim:
To claim this, I am signing this object:
This is a proposal for a "lure service".
While this can serve as the foundation for countless features, the primary goal is to solve the "boot into an empty landscape" problem. In other words, it's trying to close the loop of "one person uses Urbit" -> "they invite another to their group on Urbit" -> "they get on Urbit and immediately know what to do with it" -> "they invite another".
Thus, we will first consider the case of inviting someone into an Urbit group who may not already use Urbit.
Invites should be regular links. These work on any device, can be transmitted over any transport (including publicly in a tweet or physically via qr code), and are very low-friction to click. When you click this link, you should expect to receive an invite to that group.
To make this happen, we must somehow establish an association between the person who clicked the link and their @p. We should make this work for as many cases as possible -- especially, it should work even if they don't yet have a @p.
=s -build-file %/lib/strandio/hoon | |
|pass :* %k %lard %base =/ m (strand:rand ,vase) ;< file=@t bind:m (fetch-cord:s "https://raw.githubusercontent.com/urbit/urbit/cec4e11448ee4bbcdf9d586fe0d96d493a3d60c2/pkg/landscape/app/group-store.hoon") ;< ~ bind:m (send-raw-card:s %pass /info %arvo %c %info %landscape %& [/app/group-store/hoon %mut %hoon !>(file)] ~) (pure:m !>('hotfix complete')) == |
!. | |
=> ~ | |
=/ core | |
!= | |
=> ~ => | |
|% | |
+$ card (cask) | |
++ cask |$ [a] (pair mark a) | |
+$ knot @ta | |
++ list |$ [item] $@(~ [i=item t=(list item)]) |
:: An autoformatter for hoon | |
:: | |
:: Usage: +desk!fmt (ream .^(@t %cx /=desk=/gen/fmt/hoon)) | |
:: | |
:: This is still very experimental. The biggest weaknesses are: | |
:: - no comments (need parser to store them) | |
:: - core arms are in alphabetical order (need AST to store `(list | |
:: [term hoon])` instead of `(map term hoon)`) | |
:: - no vertical alignment (requires some fancy lookahead, but should | |
:: be doable locally) |