3,216,630 events, 1,576,683 push events, 2,445,757 commit messages, 177,928,757 characters
I figured out how the shitty ass ruby-curses fucking form field buffer stuff works. According to curses docs when calling the driver on the form to insert an ASCII character it should update the field's buffer automatically, this DOES NOT HAPPEN with this library. I have to manually manage the buffers myself.
Atoll: Set SELinux enforced at boot For some stupid reason this fucking device dies with enforcing from the begining I writed a lot of sepolicy and this is a fucking nightmare. Some time ago I had this idea in my head but I had not implemented it now I have seen the missing sepolicy to carry it out so I will sign this commit as with co-authored I will also add the note from lmi's dataoutpustream
lmi: Since redefining all the missing sepolicy is madness and seeing that the lack of definition does not allow the interaction with the vendor data files and persist data files etc at startup, break the rules but with a limit, we unset at init and set enforcing at the boot stage.The sepolicy required after boot has been defined and is more than necessary, thus doing all malicious applications that would like to read from nodes on sysfs etc will not be able to do it.
Co-authored-by: klozz [email protected] Signed-off-by: klozz [email protected]
added background image of my headshot, i'm not in love with it but it will work for now as it does look professional in my opinion. I might need new headshots however. yeah I know tmi
Update excerpt.txt
<title> 12 "I. What It's All About" </title>
Whence come the thousands of photographs used every month by newspapers and magazines?
More than that, whence do the photographs come which are used by makers of calendars, postcards, for advertisements, and for illustrating books, stories and articles?
This little book is a practical, up-to-the-minute answer to the question: "How can I make my camera-work profitable?"
<title> A. H. Beardsley, Publisher, Photo-Era Magazine. </title> ----------------------------------"At first thought, the answer is, "From professional photographers and publisher-photo-services." But professional photographers do not produce one-third of the photographs used, and publisher-photo-services are supplied by that same large number of camerists that supply publications with most of their prints.
No one can deny that the greatest number of prints published are bought from amateur photographers in towns no larger than the average, and sometimes smaller.
The camerist does not have to get in an air-ship and fly to Africa in order to produce photographs that will sell. Read what Waldon Fawcett says, himself a success at selling his photographs:
"The photographer is apt to think that all his ambitions would be realised if only he could journey to foreign shores or to distant corners of our country; or if he could attend the spectacular events that focus the attention of the world now and then. [emphasize] This is a delusion. The real triumph is that of the photographer who utilises the material ready at hand in his own district, be it large or small."[end]
And more, a person does not have to be an expert photographer in order to succeed at the work. Here is what one prominent writer says about it:
"The requirements of the field are well within the capabilities of even the beginner in photography, viz.; the ability to make good negatives and good prints, the ability to recognise news-value, and a methodical plan to find the market where the prints will find acceptance. The man or woman who can meet these requirements should be fairly successful from the beginning, and will open up quickly new avenues of special work and profit."
In short, ability to make metaphors, create lovely heroines or such is not at all necessary to the successful selling of photographs to publications.
Is the field overcrowded? [emphasis]No.[end] If there were ten times as many persons engaged in the work they could all keep themselves busy.
The field—how wide is it? Get out your map of the world. The field for [emphasis]making [end] photographs extends from the top margin to the bottom, and from the left to the right. The field for [emphasis]selling [end] photographs—which is more to the point—extends over about five thousand publications which use prints; not to speak of a few score of other markets.
The markets may be classified briefly:"
- "(1) Newspapers"
- " (2) Magazines"
- " (3) Postcard-makers"
- "(4) Calendar-makers"
- "(5) Art-study producers"
- "(6) Illustrations for books"
- "(7) Illustrations for articles"
- "(8) Prints for advertising."
And there are more, of more specialised branches.
And how does it pay? Please note: "A certain magazine once paid $100 for four prints of sundials. An amateur, who happened to be on the spot with a kodak, made over $200 out of a head-on railroad-collision. A New York professional netted $125 from the newspaper-use of a wedding-party, of considerable local prominence, which was leaving the church after the ceremony." One amateur "realised $300 a year for two or three years from a lucky snapshot of eight pet rabbits in a row."
A set of South-Pole photographs brought $3,000 from Leslie's and $1,000 more from the International Feature Service. These all, though, are very exceptional instances. The average print sells for about three dollars. But there is absolutely nothing in the world to hinder a wide-awake person with a camera from making from several hundred to over $3,000 a year from his prints. If he becomes a specialist he may earn as high as $5,000 or even more.
No discrimination is made between press-photographers. The person wins who "delivers the goods."
My name is Yoshikage Kira. I'm 33 years old. My house is in the northeast section of Morioh, where all the villas are, and I am not married. I work as an employee for the Kame Yu department stores, and I get home every day by 8 PM at the latest. I don't smoke, but I occasionally drink. I'm in bed by 11 PM, and make sure I get eight hours of sleep, no matter what. After having a glass of warm milk and doing about twenty minutes of stretches before going to bed, I usually have no problems sleeping until morning. Just like a baby, I wake up without any fatigue or stress in the morning. I was told there were no issues at my last check-up. I'm trying to explain that I'm a person who wishes to live a very quiet life. I take care not to trouble myself with any enemies, like winning and losing, that would cause me to lose sleep at night. That is how I deal with society, and I know that is what brings me happiness. Although, if I were to fight I wouldn't lose to anyone.
I hate my life. Here's proof I know some basic css.
Create 705A - Hulk.cpp
Dr. Bruce Banner hates his enemies (like others don't). As we all know, he can barely talk when he turns into the incredible Hulk. That's why he asked you to help him to express his feelings.
Hulk likes the Inception so much, and like that his feelings are complicated. They have n layers. The first layer is hate, second one is love, third one is hate and so on...
For example if n = 1, then his feeling is "I hate it" or if n = 2 it's "I hate that I love it", and if n = 3 it's "I hate that I love that I hate it" and so on.
Please help Dr. Banner.
Input The only line of the input contains a single integer n (1 ≤ n ≤ 100) — the number of layers of love and hate.
Output Print Dr.Banner's feeling in one line.
"2:45pm. The chores today took a while.
2:50pm. Right now I am thinking what I want to do. I think I figured out a bug in editor support, but I am not sure if it is worth fixing.
inl q () = "qwe" 1
It is this thing. I have modules a
and b
. If I switch them in the package, the type errors linger. This is problem.
I should make it so that when a package changes, the old modules get zeroes out.
Let me take a look at the attention server again.
let loop_module (s : AttentionState) mpath (m : WDiff.ModuleState) =
let uri = Utils.file_uri mpath
let interrupt = req ^=> fun x -> loop (update {s with modules=push mpath s.modules} x)
let rec bundler (r : BlockBundling.BlockBundleState) ers' = r ^=> function
| Cons((_,x),rs) -> body uri interrupt x.errors ers' errors.parser (bundler rs)
| Nil -> loop s
send_tokenizer uri m.tokenizer.errors
clear_parse uri
clear_typer uri
bundler m.bundler []
Let me clear the typer here.
type AttentionState = {
modules : string Set * string list
packages : string Set * string list
supervisor : SupervisorState
}
Let me add the old schema here.
let clear_old_package x = Map.tryFind x s.old_packages |> Option.iter (fun x ->
let rec loop = function
| SpiProj.FileHierarchy.File(_,(_,pdir),_) -> clear (Utils.file_uri pdir)
| SpiProj.FileHierarchy.Directory(_,_,_,l) -> list l
and list l = List.iter loop l
list x.schema.modules
)
Let me try it again. This is just covering up some loose ends.
3:05pm. Yeah, it works. Great. Now things should be spotless.
All the error reporting is in the attention server, so these kinds of adjustments are a piece of cake now.
Previuosly the error reporting was in all sorts of places. What I had previously was simply spew. I am thinking of the way I wrapped those promises in error reporting code. That was so stupidly clever.
3:15pm. Right now I am meditating just for a bit on my next move.
Ok, focus me...
Before I can do the game UIs, I need the games.
I had a fun time doing what I did last time with prototypes, but I am not sure if that is the right approach to take here.
prototype sample g o a : option u8 -> array o -> (o -> g o a) -> g o a
prototype draw g o a : option u8 -> array o -> (o * array o -> g o a) -> g o a
prototype action g o a : u8 -> array a -> (a -> g o a) -> g o a
3:50pm. Ok, much like before, I do have a an idea of what I need to do. But now that I am really focusing, I don't know how to merge the CPS^2 design that the UIs would need with what I have above.
https://boards.4channel.org/a/thread/218318829/exarms-manga-has-suddenly-been-cancelled-in-the
And holy shit this. Ex-Arm is one of the manga that I am active following. The author's luck is the worst I've seen in a while.
3:55pm. Let me chill for a bit here. Then I will gather my resolve and redo the games without the use of prototypes in the CPS^2 manner. That will allow me to plug the dispacher into them. Things should become more clear to me once I start.
I just need a short break from the frenzied pace of the last two weeks.
Let me commit here, so I can save that bug fix."
holy hell these are some magic numbers. Don't merge this until we can justify it! But it works...
"4:30pm. I've made up my mind. Let me start here. It is time that I pick up steam and get my foot on the ball.
My normal programmer life starts here. I'll normalize my mental state from a crazy mind scientist to a dignified elite programmer. Trying out wild things has worn me out. From here on out, I'll only pull my trigger on shots that I know I can hit.
I can't stand another 6 years like the ones that just passed. I don't have it in me anymore. I might not have found my niche just yet, but it sure found me.
I started out by being talented at programming, and now I've ended up at being skilled. In the end, I've converged to what suits my nature the most. Anybody could have seen this coming.
Let me create the ui_leduc1
folder. This time I am not going to use prototypes as I am not sure how to handle them here. I used this architecture last time and was impressed, but I think passing interfaces like I did in the wdiff
function is the way to go. The types end up being too complex when prototypes are used pervasively.
Though it is not like that effort was useless - it did give me a chance to elaborate and explore their use. I found and fixed a bunch of bugs during this.
4:45pm.
open nodes
type game (p1 : * -> * -> *) (p2 : * -> * -> *) (c : * -> *) = game (pl2 p1 p2) c r2 card action
inl Game : game _ _ _ =
inl terminal (a,b : _ * u32) = terminal (r2 (a, utils.f64 b))
I found an editor support bug. When I press enter above this block, the type errors do not move downwards.
4:45pm. This happens for parser and type errors, but not for tokenizer errors.
Ok, I see. These kinds of bugs are what I'd be expected to fix though regular programming. It is good that I had not pushed this to master yet. Let me investigate it.
let move_temp (s : BlockBundleStateInner) next =
let o' = List.rev s.tmp
let fl () = (o',{bundle=bundle_blocks o'; errors=Seq.toList s.errors}), next empty
if Promise.Now.isFulfilled s.state then
match Promise.Now.get s.state with
| Cons((o,q),xs) when o = o' -> (o,{bundle=q.bundle; errors=Seq.toList s.errors}), next {s with state=xs; tmp=[]; errors=[]}
| _ -> fl ()
else fl ()
|> Cons |> Promise.Now.withValue
This is the most suspicious culprit, but I do not see how this could be wrong.
let rec loop_package (s : AttentionState) pdir = function
| (mpath,l) :: ls ->
let uri = Utils.file_uri mpath
let interrupt = req ^=> fun x -> loop (update {s with packages=push pdir s.packages} x)
let rec typer (r : WDiff.TypecheckerStateValue Stream) ers' = r ^=> function
| Cons((_,x,_),rs) -> body uri interrupt x.errors ers' errors.typer (typer rs)
| Nil -> loop_package s pdir ls
let rec bundler (r : BlockBundling.BlockBundleState) ers' = r ^=> function
| Cons((_,x),rs) -> body uri interrupt x.errors ers' errors.parser (bundler rs)
| Nil -> clear_typer uri; typer l []
let m = s.supervisor.modules.[mpath]
send_tokenizer uri m.tokenizer.errors
clear_parse uri
bundler m.bundler []
| [] -> loop s
As for this, it makes even less sense.
It happens even in ownerless modules. So this is not the fault of the type checker.
The error gets updated though when I modify the block in which it occurs.
5pm. I have no idea what is going on. This is unthinkable.
let move_temp (s : BlockBundleStateInner) next =
let o' = List.rev s.tmp
let fl () = (o',{bundle=bundle_blocks o'; errors=Seq.toList s.errors}), next empty
if Promise.Now.isFulfilled s.state then
match Promise.Now.get s.state with
| Cons((o,q),xs) when o = o' -> (o,{bundle=q.bundle; errors=Seq.toList s.errors}), next {s with state=xs; tmp=[]; errors=[]}
| _ -> fl ()
else fl ()
|> Cons |> Promise.Now.withValue
The error has to be here. Let me get rid of diffing.
Yes, the error happens even with this. What the hell?
let bundle_blocks (blocks : TopStatement Block list) =
Let me put a print here. I'll print out the offsets.
inl qwe () =
()
inl qwe () =
() ""
// Does it run?
inl main ~() = () ""
Ok, I understand what the problem is.
The problem is that the offsets are not being updated. This is actually a problem in the parser. Even need to look even earlier for the problem.
let wdiff_parse (state : ParserState) (unparsed_blocks : LineTokens Block list) =
let dict = Dictionary(HashIdentity.Reference)
// Offset should be ignoring when memoizing the results of parsing.
List.iter dict.Add state.blocks
let blocks = unparsed_blocks |> List.map (fun x ->
x.block, Utils.memoize dict (fun a -> {block=Hopac.memo(Job.thunk <| fun () -> (parse_block state.is_top_down) a); offset=x.offset}) x.block
)
{state with blocks = blocks }
I think I am memoizing the wrong thing here.
...No, not the wrong thing.
let wdiff_parse (state : ParserState) (unparsed_blocks : LineTokens Block list) =
let dict = Dictionary(HashIdentity.Reference)
// Offset should be ignored when memoizing the results of parsing.
List.iter (fun (a,b) -> dict.Add(a,b.block)) state.blocks
let blocks = unparsed_blocks |> List.map (fun x ->
x.block, {block=Utils.memoize dict (fun a -> Hopac.memo(Job.thunk <| fun () -> (parse_block state.is_top_down) a)) x.block; offset=x.offset}
)
{state with blocks = blocks }
I compltely misunderstood the comment. I think this should fix it.
5:15pm. Yes, it is perfect now. Let me get back on track.
5:20pm.
inl Game {terminal draw action sample} =
I got rid of all the prototype dependencies. Now rather than the function having a 4 argument HKTs here, they are simple. action
for example is just u8 -> array action -> (action -> 'a) -> 'a
.
In order to do the kind of CPSing that I want, what I will need is set 'a
to something like (state -> f64 -> ()) -> ()
...
Gah, I am not sure. I just know I need something I can pass to the UI. Obviously the end type have to be unit for that.
5:25pm. For now, let me just focus on doing the game in the CPS form. I'll forget about the UI considerations for a bit. Let me just get a random player going. Thankfully I have a lot of code from previous time.
5:45pm. I am focusing, but it is not coming to me. Let me in that case do some sketching.
inl Game {terminal draw action sample} =
First, let me formalize the types of this.
type leduc_funs r = {
terminal : u8 * u32 -> r
draw : u8 -> array card -> (card * array card -> r) -> r
action : u8 -> array action -> (action -> r) -> r
sample : option u8 -> array card -> (card -> r) -> r
}
inl Game ({terminal draw action sample} : leduc_funs _) =
Not bad.
Now let me dig up the good stuff from last time.
union observation o a = Observation: o | Action: a
type pl (p : * -> * -> *) o a = { path_prob : f64; observations : list (observation o a); state : p o a }
I'll want this.
6pm.
union observation o a = Observation: o | Action: a
type pl (p : * -> * -> *) o a = { path_prob : f64; observations : list (observation o a); state : p o a }
inl prob ({path_prob} : pl _ _ _) = path_prob
inl prob_mult (x : pl _ _ _) prob = {x with path_prob#=(*) prob}
inl observation_add (x : pl _ _ _) o = {x with observations#=(::) (Observation: o)}
inl action_add (x : pl _ _ _) a = {x with observations#=(::) (Action: a)}
type pl2 (p1 : * -> * -> *) (p2 : * -> * -> *) o a = pl p1 o a * pl p2 o a
open leduc
inl nodes forall (p1 : * -> * -> *) (p2 : * -> * -> *) o a. : leduc_funs (pl2 p1 p2 o a -> f64) = {
terminal = fun (pid,reward) => failwith ""
draw = fun pid ar f => failwith ""
action = fun pid ar f => failwith ""
sample = fun pid ar f => failwith ""
}
This is good as an appetizer. Now to CPS this (even more) let me change the return type.
inl nodes forall (p1 : * -> * -> *) (p2 : * -> * -> *) o a ret. : leduc_funs (pl2 p1 p2 o a * (f64 -> ret) -> ret) = {
terminal = fun (pid,reward) => failwith ""
draw = fun pid ar f => failwith ""
action = fun pid ar f => failwith ""
sample = fun pid ar f => failwith ""
}
Now let me start with the terminal function.
terminal = fun (pid,reward) (_,ret) => inl r = $"!reward" in ret (if pid = 0 then r else -r)
I won't try to make things too generic at this point.
Let me move straight to the action.
inl nodes forall (p1 : * -> * -> *) (p2 : * -> * -> *) o a ret. dispatch : leduc_funs (pl2 p1 p2 o a * (f64 -> ret) -> ret) = {
terminal = fun (pid,reward) (_,ret) => inl r = $"!reward" in ret (if pid = 0 then r else -r)
action = fun pid ar f ((p1,p2),ret) =>
// inl next a = ()
// dispatch (pid,ar,next)
inl q = p1.observations : list (observation o a)
failwith ""
draw = fun pid ar f => failwith ""
sample = fun pid ar f => failwith ""
}
The type errors could use some work here. I write inl q = p1.observations
and the whole thing lights up. That annotation there is not helping any either. I have no idea what the problem is.
inl obs (x : pl _ _ _) = x.observations
open leduc
inl nodes forall (p1 : * -> * -> *) (p2 : * -> * -> *) o a ret. dispatch : leduc_funs (pl2 p1 p2 o a * (f64 -> ret) -> ret) = {
terminal = fun (pid,reward) (_,ret) => inl r = $"!reward" in ret (if pid = 0 then r else -r)
action = fun pid ar f ((p1,p2),ret) =>
// inl next a = ()
// dispatch (pid,ar,next)
inl q = obs p1
Damn it, it works when I do this, but not otherwise. I have no idea what the problem is.
6:20pm. Hmmm, it might be the case that the type is not getting propagated eagerly enough.
action = fun pid ar f ((p1,p2),ret : pl2 p1 p2 o a * (f64 -> ret)) =>
// inl next a = ()
// dispatch (pid,ar,next)
inl q = p1.observations
failwith ""
Ah, yes. What I do this it starts working.
Let me try isolating this.
6:35pm. This is definitely a compiler bug.
type leduc_funs r = { action : r }
inl nodes forall (p : * -> * -> *) o a . dispatch : leduc_funs (pl p o a -> ()) =
{
action=fun p1 =>
inl q = p1 ()
()
}
Unification failure.
Got: {action : {observations : list (observation o a); path_prob : f64; state : p o a} -> ()}
Expected: {action : (() -> ?) -> ()}
type leduc_funs r = { action : r }
inl nodes forall (p : * -> * -> *) o a . dispatch : leduc_funs (pl p o a -> ()) =
{
action=fun p1 =>
inl q = p1.observations
()
}
Unification failure.
Got: {action : {observations : list (observation o a); path_prob : f64; state : p o a} -> ()}
Expected: {action : (.observations -> ?) -> ()}
Ah, this makes is completely clear to me.
The tricky part about this is that the correct type shows up in hover. So why does the wrong thing show up in application?
type leduc_funs r = r // { action : r }
inl nodes forall (p : * -> * -> *) o a . dispatch : leduc_funs (pl p o a -> ()) =
fun p1 =>
inl q = p1.observations
()
If I do it simply like this, the problem goes away. This makes me thing that records are not propagating the types forward properly.
Let me make this a test.
6:45pm.
inl Nodes =
{
action=fun p1 =>
inl q = p1.observations
()
} : { action : { observations : string} -> () }
Yeah, the info is not being propagated into the record correctly. Let me fix this.
| RawRecordWith(r,l,withs,withouts) ->
let i = errors.Count
let er_metavar () = raise (TypeErrorException (if errors.Count = i then [range_of_expr x, MetavarsNotAllowedInRecordWith] else []))
let record x =
match f' x with
| TyRecord m -> m
| TyMetavar _ -> er_metavar()
| a -> raise (TypeErrorException [range_of_expr x, ExpectedRecord a])
let symbol x =
match f' x with
| TySymbol x -> x
| TyMetavar _ -> er_metavar()
| a -> raise (TypeErrorException [range_of_expr x, ExpectedSymbolInRecordWith a])
let tc (l,m) =
let m =
List.fold (fun m x ->
let with_symbol ((_,a),b) =
let v = fresh_var scope
f v b
Map.add a v m
let with_symbol_modify ((r,a),b) =
let x = Map.tryFind a m |> Option.defaultWith (fun () -> errors.Add(r,RecordIndexFailed a); fresh_var scope)
let v = fresh_var scope
f (TyFun(x,v)) b
Map.add a v m
let inline with_inject next ((r,a),b) =
match v_term env a with
| Some (com, TySymbol a & x) -> hover_types.Add(r,(x,com)); next ((r,a),b)
| Some (_, x) -> errors.Add(r, ExpectedSymbolAsRecordKey x); m
| None -> errors.Add(r, UnboundVariable); m
match x with
| RawRecordWithSymbol(a,b) -> with_symbol (a,b)
| RawRecordWithSymbolModify(a,b) -> with_symbol_modify (a,b)
| RawRecordWithInjectVar(a,b) -> with_inject with_symbol (a,b)
| RawRecordWithInjectVarModify(a,b) -> with_inject with_symbol_modify (a,b)
) m withs
let m =
List.fold (fun m -> function
| RawRecordWithoutSymbol(_,a) -> Map.remove a m
| RawRecordWithoutInjectVar(r,a) ->
match v_term env a with
| Some (com, TySymbol a & x) -> hover_types.Add(r,(x,com)); Map.remove a m
| Some (_,x) -> errors.Add(r, ExpectedSymbolAsRecordKey x); m
| None -> errors.Add(r, UnboundVariable); m
) m withouts
|> TyRecord |> List.foldBack (fun (m,a) m' -> Map.add a m' m |> TyRecord) l
if i = errors.Count then unify r s m
try match l with
| x :: x' ->
List.mapFold (fun m x ->
let sym = symbol x
match Map.tryFind sym m |> Option.map visit_t with
| Some (TyRecord m') -> (m,sym), m'
| Some a -> raise (TypeErrorException [range_of_expr x, ExpectedRecordAsResultOfIndex a])
| None -> raise (TypeErrorException [range_of_expr x, RecordIndexFailed sym])
) (record x) x'
| [] -> [], Map.empty
with :? TypeErrorException as e -> errors.AddRange e.Data0; [], Map.empty
|> tc
These are the pains of getting the language right. Let me have lunch here and I will take care of it.
7:25pm. Done with lunch. Let me take a look at that function.
7:50pm.
if i = errors.Count then unify r s m
Wow, did I really do this. This function is absolutely bonkers.
8pm. I am thinking about it. I have a plan in mind for how to deal with this. I will redesign this completely tomorrow. What I have here is bonkers.
|> TyRecord |> List.foldBack (fun (m,a) m' -> Map.add a m' m |> TyRecord) l
if i = errors.Count then unify r s m
Ah, actually, it folds it back. This is actually fine. Except the typechecking is not bidirectional.
8:05pm. I did not except a bug like this.
I thought I would run into editor supprot errors, but not a very basic flaw in the design of the compiler. Spiral really is in the alpha stage right now isn't it?
I'll deal with this and then get to work on the main dish.
I started getting into it towards the end of the day. With some effort that thing will fall. It won't take me too long.
I just have to internalize the design and then I will have an easy way from there.
I won't take me at all until I've gone through all of this and have a trained dream agent. I'd be surprised if it took me longer than a month. Things will move fast, assuming I can stop getting distracted with events like this compiler bug.
But bugs like these are in limited amount. It wouldn't surprise me if the language becomes completely solid in a few months. They'll be increasingly rare as time goes on."
This is septable to change. Just remember, the more that is added, the more pain and suffering I experience in the future
im going to fuckign cast super nova o nthis stupid file
-
optimized some shit
-
changed how enemies approach the player
-
brightened DS serious moonlight env
README.md
I made this project mostly with the inspiration of digital gardening. My interest in language learning, along with my avid use of my “notes” app, lead me to combine these into a digital space to share my thoughts and grow my language abilities. All of the notes selected were originally in typed in English in my app, but were eventually translated into their corresponding language. I would like to ideally type my new notes in that language to begin with and also begin adding notes chronologically, to properly document my language journey. Additionally, I also wanted to incorporate a variety of digital illustrations to reflect the magic of sharing multi-lingual pieces anywhere in the world. The result is a curated art space where my random, and at times personal, notes become on display. There is a bit of barrier between the viewer and the page, however, if they do not know the language. I was debating the possibility of having an option to translate each note into “English” or the viewers’ preferred language. For now it remains more limited.
Add files via upload
Changes:
- Improved the button in the Cheat menu. Now in case of JavaScript error, it will work anyway
- Added two scenes by Rachael. Now in a threesome event (when you are whoring via Smartphone, there is a chance to run into this event), brother and mom can join you and your customer. There's no scene for sister yet
- Made some preparations for the new big feature - the ability to sissify brother. Plaze has already created a few scenes. Now I'm working on code. It will be released very soon!
- A small update in the Problem Solver. It will work better now. Also, I almost finished the better version of it
remember we didnt ask to be here or to be molested or fucked with or see people die or be wrongfully imprisoned or have garbage such as john zimmerman and his coterie of bastards set us up for constant re-traumatizing to make us forget shit.
or most especially for contrived scenarios trying to turn around some nasty chomo punk chasing me years ago and screaming at me for asking for a slice of pizza into two fucking chomo cunts chasing me through a fucking alleyway
i do think there are a few legal phrases related to that. the overarching ones are corruption, treason, and conspiracy the smaller ones are obstruction of justice, entrapment, falsifying evidence, etc.
Removed Ai peace
shit sucked and was more troublesome than worth while
i hate this fucking program and every single annoyance is as a thousand years in perdition (gamemaker take me back)
nothing makes this better now. fucking garbage. i wanted to keep living after you people destroyed my faith in my governemnt in law, in order, in the military, in the decency of people, or even my outlook that by and large people were just ordinary greedy perverts at most, not sick fucking self hating, abnormal, malfunctioning glitchy child rape robots intent on keeping the world going in an endless increasing cycle of depravity, cynicism and the unweaving of the fabric of the best parts of western fucking civilization in favor of fake posturing, complete and utter hyprocrisy for hypocrisies sake, trouble making and in general spoiling everyone and everythings fucking happiness and mood.
please die. most of you will before me that were older, but i'm sick of waiting. just kill yourselves.
I'm genuinely surprised I found this and didn't go crazy
so when I ran with --features "pc-debug" i was getting errors related to local variables. this made me immediately sad because I'm in the process of changing a whole lot of stuff with the vm to make it reentrant. my first thought was a call to debug! somewhere was mutating some state that I had been messing with, which would definitely have driven me off the deep end. then the holy spirit itself guided my fingers to type rg 'pc-debug' and i found this???? how did this happen???????? anyway it's fixed and I'm still sane, and that's the improtant part