3,019,139 events, 1,564,330 push events, 2,408,168 commit messages, 171,198,331 characters
Wanderer tweaks (#3016)
-
Wanderer tweaks
-
Point Aversion bonus damage per point difference increased from 25 to 75.
-
Increased boss tier (for boss regen and degen) from 1 to 3/4/5. This means all Wanderers will be harder to kill with Bleeding.
-
Each Wanderer kill increases its regen tier. This means Wanderers that spawn after Wanderer 3 (wanderers that give only points) will be way harder to kill with Bleeding.
-
Spawning Wanderer with a cheat will set the regen tier to 3.
-
Added more comments to ai_wanderer.lua and did some cleanup.
-
Wanderers 3 and those that spawn after now have Siltbreaker protection (immunity to most stuns and silences). I am still thinking about if Wanderer 2 should have this as well because normal tier 3 bosses and some tier 4 bosses have this Siltbreaker protection and they are not that hard to kill.
-
Disable Sticky Blood proccing if Wanderer is not aggroed.
-
Travis
Added upcoming events
Ran into some trouble where I almost deleted a whole 12 hours of work. My recovery might have messed somethings up, so if we see any weird issues, taht might be the cause. Sorry in advance!
Merge #3498
3498: Add Naga dependency r=grovesNL a=kvark
By exposing Naga in gfx-hal we'll be able to have wgpu and gfx communicate the shaders without going through SPIR-V. PR checklist:
-
make
succeeds (on *nix) -
make reftests
succeeds - tested examples with the following backends:
The controversial part here is that Naga is not optional. I tried to think of pros and cons. Cons:
- Naga needs more work anyway, it's not ready yet
- Naga in gfx-hal isn't needed for any libraries that only depend on the gfx-hal, and do not care about Naga
Pros:
- Naga will need to be ready at some point, replacing SPIRV-Cross. And it will need to be available for wgpu interop, so we might as well skip the stage where it's optional in the gfx-hal.
- Naga by itself without features is super lightweight, it shouldn't affect the libraries too much. All the frontends and backends are gated by features.
- The end user app will need to depend on gfx-hal backends, and probably not the Vulkan backend alone. So in the end those backends would require Naga anyway to do their translation (currently, only Metal backend supports this, optionally).
- It's annoying in Cargo to say that
naga
dep is optional in a backend, in addition to requiringnaga
dep in the gfx-hal. This would require renaming the feature in the backend to be something else.
Unresolved question: how do we nicely specify Naga revision? It's needed everywhere: in gfx-hal, in each backend, in wgpu, etc, and all of them need to agree. We can't simply re-export Naga from gfx-hal, since every client will need to enable some of the features (i.e. Metal backend enables "mtl-out", wgpu
enables "wgsl-in", etc).
One way to proceed is to just use the revisions. It's a bit clunky, since for the reader a revision is just a random set of symbols.
Another interesting way is to have tags in the Naga repo, and depend on those tags. E.g. it could be called gfx-1
, gfx-2
, etc, monotonically, as we update Naga dependency through the stack. I think that could work fine, at least better than with revisions only.
Co-authored-by: Dzmitry Malyshau [email protected]
Dump of lost files
Fuck github piece of shit, fucking die die die!
wow, absolutely unbelievable. I have just been typing about and drinking liquor drinks for hours just hunting down problems one after another with this fucking text input area. Getting the text to update and position correction has proven to be a chore. BUT, somehow at 12:18 on a Wednesday night, I was able to completely refactor the coordinate positioning system for all text elements and realistically all general block elements. This is a good time to point out that while this fix was less than visible from a front end perspective (the UI actually lost functionality where im leaving this commit!), It was the discovery of one of many very importany KEYS to completeing a project of this magnitude. by defining these ratios of text boundary to text width and boundary origin to text origin, I can reproduce the size of a textblock on any width or height. Models are king, Declare the models and the rest follows.
Fuck I hate homebrew's bullshit [git-p4: depot-paths = "//usr/ryand/Bin/": change = 12852]
Add a new file access API
The API is meant to be a replacement for commands.read_file() and commands.write_to_file().
The new API allows us to log each read and write. At the same time, it allows the callers to react to different errors that the read/write operation can result in.
It also allows the callers to log more user-friendly messages - no more messages like "writing to file foobar failed: Permission denied", that may not be understandable to a regular user. Instead, we can log more high-level messages like "Failed to set parameter X to Y: Permission denied". The actual files that were accessed can still be logged using the API, however these messages are meant to be debug messages. I.e., the 'log_func' argument to FileHandler should be something like log.debug.
The new API also allows us to test its callers in a better way and more easily, by replacing the FileOperations class with a mock implementation that doesn't access real files. Also, the API itself is very nicely testable, see the included tests.
Another advantage of the new API is that it's separate from the overcrowded 'commands' class which violates the Single Responsibility Principle.
The old API provided several features that the new API doesn't provide:
- The 'makedir' argument to write_to_file() that can be used to create directories on the path to the file being written. While having this functionality is kind of nice, it's not worth polluting the API with an extra parameter that is set to True only twice in the entire codebase (one occurence being in tests).
- The 'no_error' argument, which can be used to suppress logging error messages. The same effect (() and better) can be achieved by not providing 'log_error_func' to the new API. () The old API is kind of silly in that if no_error == True and an error happens, debug log messages about reading/writing to the file are still logged, however no messages of any kind regarding the error that happened are logged.
- The 'err_ret' argument to read_file which can be used to obtain a default value if reading the file fails. The existence of this feature is nothing but laziness to write exception handlers IMHO. It's not that hard to write exception handlers, and having them results in more readable code, so please, let's just drop this feature.
Signed-off-by: Ondřej Lysoněk [email protected]
"10:30am. I got up late today so let me skip the morning session.
11:05am. Strike Witches, breakfast, chores. In that order, let me go for it. Then I will show my determination through programming.
12pm. Nana and then chores.
12:30pm. Chores.
1:10pm. Let me start. It is enough that I show my will for a few hours a day.
1:15pm. Router off.
Let me take some time to focus myself. Open the IDE.
1:20pm.
Ok(PartEval.Main.peval {prototypes_instances=prototypes_instances; nominals=nominals} main) // TODO: peval throws exceptions on type errors.
1:25pm. I haven't changed anything yet. Let me pass in the peval outputs into code gen.
I am not high on inspiration right now.
let codegen (env : PartEvalResult) (x : TypedBind []) =
Ok, I have these.
// TODO: peval throws exceptions on type errors.
let (a,_),b = PartEval.Main.peval {prototypes_instances=prototypes_instances; nominals=nominals} main
Ok(Codegen.Fsharp.codegen b a)
1:45pm.
let build_file (s : SupervisorState) module_target =
match inputs s module_target with
| Ok x ->
let a,b = package.Run(x) // TODO: Take care of the stream.
match a with
| Some x ->
x >>- fun x ->
if x.has_errors then Error "There are type errors in at least one module."
else
match Map.tryFind "main" x.term with
| Some main ->
let top_env = package_to_top x
let prototypes_instances = Dictionary(top_env.prototypes_instances)
let nominals =
let t = HashConsing.HashConsTable()
let d = Dictionary()
top_env.nominals |> Map.iter (fun k v -> d.Add(k, t.Add {|v with id=k|}))
d
// TODO: peval throws exceptions on type errors.
let (a,_),b = PartEval.Main.peval {prototypes_instances=prototypes_instances; nominals=nominals} main
Ok(Codegen.Fsharp.codegen b a)
| None -> Error <| sprintf "Cannot find the main function in module. Path: %s" module_target
| None -> Job.result (Error <| sprintf "Cannot find the target module. Path: %s" module_target)
| Error x -> Job.result (Error x)
I haven't done anything in the last 20m. I could technically program right now, but inspiration is very low. The last few sessions took their toll on my reserves.
I mean it is incomplete, but what I have here is in fact the compilation function. I could run it and get compiled Spiral code!
I was such an enormous struggle to just get to this point.
And I finally did it.
There are many features a fully fledged language would be expected to have that Spiral does not yet, and many TODOs left to do, but the core of the language - and I would consider the editor support a part of that - is in fact mostly complete.
It is a miracle that in 2020 I decided to put my foot down and decided to redo Spiral from scratch into something that would be worth using from here on out.
My vision, my purpose and my future, it is all there in the Spiral's source.
No matter how much I burn, my flame will never be extinguished.
1:55pm. Programming is more than just putting code down. It is more than just laying down the railroad tracks.
It is the act of drawing my future towards me.
In 2018 when I finished v0.09 and started doing RL for the first time, I had to endure a feeling of oppression.
Despite my deep belief in the new features I've introduced to the world at large, I knew that writing Spiral code in F# strings was low class. I believed that a real language should have editor feedback. And as time went on, that only cemented my belief - though join points and inlineables were good, doing everything bottom up became very tedious after a while and I knew that I'd gotten v0.09 only half right and that is even ignoring the compilation performance issues.
At that time I did not know how to fix the compilation performance, but at the end of 2019 I got my inspiration and at that point I could only decide whether to move forward and tackle the huge pile of work in front of me, or whether to retreat and give into despair.
2pm. It was just so much work. It was just so much study.
2021 will have much of that as well, but in 2021 I will have Spiral in working shape. And I will have sponsors on the side feeding me money, so that will relieve some pressure on me. I can't let those around me think I am useless forever.
2pm. Spiral v0.2 is really my limit. I just can't take on any more complexity than it. I can't do a language bigger than this without external support. And certainly not while wanting to work on ML libraries on the side. Or its tooling. Any one of those factors being missing renders the whole notion void.
If I had sponsors and no need to work on ML libraries or RL agents, I could dedicate myself to improving the type system and Spiral's tooling. But the disadvantages of this even if I had external support outweight the advantages to me. I am just considering viability here.
Eventually, the AIs will dawn and they will be able to do as much work in a minute as I could in a year. So I'd expect that to be the real blossoming of the field of computer science.
There is no need to be arrogant here. When I made v0.09 I thought I had achieved nirvana, but now I can see that there is plenty of room in all sort of directions. I just did the best I could as a human. I am sure that they will be able to vastly exceed my own effort here.
I wouldn't mind making v0.3 just to flex my newly evolved superhuman abilities if I manage to get to that level. I want to see what I would be capable of with a 1,000,000x times better brain.
2:10pm. I am deeply fatigued. As much as I hate normies, I am envious of their capability to do a little bit of work, actually get paid and get on with their life.
But I do not really want that. I want my work to be my life. I do not want my profession and my private life to be two different things. I led two different lives as a kid, and I had enough of that.
A wizard should be a wizard, he should not be a court jester on the side.
And if demonic cultivation is the only choice, then one should accept that fact and get on with it. Dark forces are not so bad when they are helping you.
2:15pm. Right now a part of me is lethargic because after doing this build function, I'll have to move straight to testing and deal with various compiler bugs for weeks.
That is the wrong mindset to have.
The right mindset is - I can finally program in Spiral. The money will come in 2021, but the actual pay is the mere fact that I can program in it again.
It is a power that I had in 2018, lost in 2019, and now have revived. This time with extra concurrency skills as tools in my toolbox. 2019 was such a waste of time. I've been used to skipping proofs in papers, but to think I was completely right to do so is something I did not expect.
An ongoing theme in my work will be to merge randomized testing and ML in order to find a new way of grasping with mathematics. Expressing mathematical knowledge through pseudo-proofs that nonetheless have computational context would be something revolutionary. ML is already dragging the world in that direction, but the world is used to doing things the 20th century way.
2:25pm. The right mindset to have is not that I want to move to testing. It is not that I want to implement those extra features.
It is that I want to program in Spiral, and I will do the debugging of it and improving it as an auxiliary.
When you are the author of the language, you have the option of evolving it as you go along. And if you are the only user, that can be done quickly and painlessly.
2:30pm. Let me turn off for a while. It does not matter if I do not program today. I will spend a while in bed and focus on the desire to program in Spiral itself. I will draw it out.
Once become capable of compiling Spiral code - and I am only a few steps away from that, the toil ends and the harvest begins.
It is my victory.
Think about the neurochips and the agents again. Consider even the GPUs - should I want to v0.2 would make it much easier to program them than v0.09.
The world is my oyster. I can target any platform, and any kind of hardware with v0.2. None of the other functional languages can come even close to Spiral in terms of versatility. The only annoyances are those puffed up C#/Java clones like Julia who don't really have any remarkable features to allow them to prosper in either systems programming or numerical computing, but merely have focus. It will take time, but if Spiral gets popular it should be able to supress them.
Or I suppose Julia could always get pattern matching, union types, a type system that can guarantee correctness, capability to compile binaries. It could get the best features of Spiral. If it did that I would find it hard to compete. But if Julia was not incompetent as a language I would not have had to start work on Spiral in the first place.
Though I might be be unfair to Julia - I could blast F# for not having join points, but F# is not trying to pretend to be a language capable of programming GPUs or trying to make inroads into ML. So I am not being unfair at all.
2:40pm. I had this feeling a few months ago when I finished the codegen and praised myself for having reached a major milestone. At that time it felt like programming in Spiral was just a stone's throw away, but then I ended up working on editor support for 7 weeks.
I'll turn off here and for a few hours try to embrace that feeling of hope in the future. It is early 2018 again and it is time to have fun.
I succeeded in my quest."
powder-toy: Update to 95.0
Cracker1000 (1): Add .life serialization support to lsns (#652)
Ian Bastos (2): check SDL2 framework on OSX Implement file drop handler (#666)
Nick Renieris (2): graphics/gldrawmethods: Fix compilation gui/game/brush: Add smooth/organic elliptical brush
Nikolas Ostrowski (1): include libcurl package in prerequisites
Nuno Miguel (1): Fix namespace error
Piotr Szegda (1): Update appdata.xml (#680)
QuanTech0 (1): Division by Zero fix (#689)
Sebastián Mestre (1): Use CoordStack for INST Flooding (#676)
Secundario (1): Do a single CoordStack allocation per thread
Tamás Bálint Misius (97): Replace http_* calls with Download calls in non-RequestBroker stuff Turn RequestBroker::RetrieveAvatar into a request derived from Download Turn RequestBroker::RetrieveThumbnail into a request derived from Download Use the new thumbnail renderer task everywhere Add RequestMonitor Turn RequestBroker::Get/SaveUserInfoAsync into a request derived from Download Rename Download* to Request* and move HTTP stuff inside src/client/http Fix filename field in multipart content-disposition headers More renaming, remove a few useless .c_str()s and fix a URL that had previously contained Download and thus fell victim to my mindless text replacement tricks Turn ThumbnailRendererTask into an AbandonableTask Fix dumb things that aren't necessarily lethal but are eyesores Add curl, rework Request and RequestManager a bit Remove spinning from AbandonableTask::Finish Change scheme to https everywhere Add STATICSCHEME macro to be used with requests to STATICSERVER Fix a bunch of threading-related issues Fix thumbnails sometimes not being resized in the save browser Follow redirects and fix save loading by ptsave parameter Fix AbandonableTask being utterly broken Only use curl mime feature if it actually exists Another curl version-dependent feature thing Fix save buttons and probably other things not being cleaned up in FileBrowserActivity (fixed #635) Tweak replace mode and specific delete mode (fixes #631) Fix pavg loading behaviour of QRTZ/GLAS/TUNG (fixes #607) Add more sign macros (fixes #578) Fix {ctype} sign macro displaying Empty for non-element ctypes Fix msvc compile error again Add more SSL client error strings Add option to redirect cout/cerr to files Print libcurl error buffer to stderr on client error Fix a few exceptions returning pointers to temporaries in what() Fix Lua reference leaks (fixes #638) Fix Element::Identifier assignment leak (closes #205) Clean up sign-related code a bit Use C++11 threads Get GetUserName out of the way on Windows Move notification out of block locking associated mutex in Gravity.cpp Flatten include trees Nuke using namespace std; Add really basic VS project generator Add new element script Leave only the 'wants pressure' check in Simulation::Load for QRTZ/GLAS/TUNG Fix transition properties not being validated Fix part_change_type not being called by sim.partProperty Add more transition type checks and fix tpt.eltransition Expose transition constants to Lua (fixes #654) Make elem.free rebuild menus (fixes #649) Update README and intro text Add missing standard include (fixes #644) Invoke vsproject.py automatically and make newelement.py a bit more friendly Ignore more VS crap Get widths in order, various other things Make Simulation.IncludePressure pref node accessible from OptionsView Reinstate inversion of inclusion of pressure when shift is held Use tool desc. and relevant menu desc. in tool search (fixes #289) Fix text wrapping (fixes #166) Allow wrapping after certain punctuation characters Fix highlighting in ConsoleView Purge the last traces of PositionAtCharIndex and CharIndexAtPosition Fix selection background of formatted labels Use current rendering modes when placing a save (fixes #446) Make Renderer::ResetModes actually reset modes Revise ctype-drawing (fixes #657) Replace a few occurrences of hard-coded font height with FONT_H Prioritise ctypeDraw functions over sparking Okay, it wasn't functionally equivalent (see 79f9a2d6) Prevent protocol downgrade attacks Prevent newlines from being needlessly appended (fixes #667) Only allow strong ciphers to be used Fix VS warning complaining about std::fill(float *, float *, int) Remove unused variables from Simulation::FloodINST Don't destroy the new command being entered in ConsoleView Nicer implementation of sim.parts Add option to make deco tools use sRGB colour space Add Lua API for deco tool colour space, see 51e5f2b Add gamma = 2.2 and 1.8 modes, see 51e5f2b Make sRGB the default colour space for deco tools, see 51e5f2b Add link to up-to-date build instructions to README.md Keep GameModel brush radius consistent Incorporate Gravity property into calculation of acceleration due to newtonian gravity Revert previous change, add NewtonianGravity element property instead Fix unsigned integer properties being returned as signed integers from Lua functions Blacklist SPRK in PCLN's and PBCN's ctypeDraw function Get rid of tiny callback classes, round No.1 If you don't assign the callback, it won't be called Ditch element and tool classes Add HTTP API for Lua Much good #defining ENFORCE_HTTPS does if we don't include Config.h Make NOHTTP transparent to the Lua API Fix random warnings from clang 8.0.0 Only make the request a POST if POST parameters are present Fix PMAPBITS compile-time sanity check Don't treat warnings as errors in MSVC (fixes #686) Failure to remove a tag shouldn't be fatal Fix crash when overwriting existing local saves Restrict saved version to 95.0 if signs with macros are present Catch exception by reference rather than value
iczero (1): Fix race condition in Gravity.cpp
jacob1 (73): allow using element names as argument 2 to tpt.set_property again prevent weirdness when ctrl/shift/alt key event is canceled change a bunch of virtual to override (should fix annoying mac compile warnings) USE_SDL is no longer used Fix stamp and local save thumbnails being stretched Tick Client 10 times a second, makes thumbnails appear way faster Increase local browser ui size zoom api changes: throw errors instead of returning bools, zoomEnabled takes book as arg, some small refactoring Fix compile error in some older versions of clang use override in all possible places Fix updater Make element names a String (unicode support) Fix msvc compile Add CURL_STATICLIB when compiling on windows, add possibly needed msvc libraries run curl-config on linux; remove hacks for detecting old mac compiler Add MotD when using a broken alternate update server Allow loading window positions on 2nd monitor Fix sim.deleteStamp not updating stamps.def Fix pressure / ambient heat being saved as 0 instead of not at all when shift is held Fix msvc compile error better capitalization Fix POLO eating PROT ID#0 no matter where it is Fix crash when searching in element search ui Add sim.CELL constant + some other change I made a while ago for some reason Add disable-network command line argument misc whitespace changes Fix 'l' crash Fix stamps not saving properly to stamps.def. Make "Rescan Stamps" sort stamps by time created Fix tpt.eltransition..presHighType Update gravity mask even while paused arbitrary gravity code cleanup Fix CELL size check when loading OPS saves don't automatically run vsproject.py when running generator.py, update msvc version Fix cipher list on Windows. Lock cipher changes behind a define, not going to define it for now vsproject.py updates LSNS: formatting changes, change if statements to switch Fix frame # not showing properly in HUD when recording Rewrite flood_water to use CoordStack and fix stack overflow, fixes #646 Make water equalization fill in areas slightly more naturally Fix missing period in update notification, --no-fft compile fix Add somewhat ugly --nohttp option fix --nofft renderer check Fix --nohttp Fix static compilation Fix deleting stamps not working Fix off-by-one issue in sim.parts, fixes #678 Fix clang 8 compile warnings Fix crash if any built-in scripts try to use the interface api Fix STK2 rocket boots not saving in saves Fix crash if error happens in ctypeDraw lua function Fix crashes if returning invalid arguments from graphics or ctypeDraw lua functions also allow nil here Add DefaultProperties, replaces some of the case statements in create_part Add Create function, handles setting default properties for elements that need randomness or special code Add CreateAllowed and ChangeType events Add Lua apis to interact with DefaultProperties, Create, CreateAllowed, and ChangeType Fix MSVC compile remove unnecessary arguments to FloodINST. Fix random warning. Don't look at generated/ anymore (fixes compile error) split http.request into http.get and http.post (for api reasons) allow making POST requests with empty body change to 1L because technically the argument is a long Add "perfect circle brush" option (on by default), to allow using old circle brush replace mode: reset created element back to default properties, instead of just changing type Fix fighters sometimes loading from saves with no element whitespace fix Check for Security.Framework on mac Fix bug where deco renders on EMBR in save thumbnails Fix TextPrompt::Blocking restrict new LSNS features to version 95.0 also Fix --no-http compile Version 95.0 (build 345) Fix compilation with static SDL 2.0.10
mniip (3): Fix --nolua compilation Fix font editor compilation Fix signedness warnings in String.h
moonheart08 (1): Add shebang to python scrips used in the project.
ssccsscc (3): Added Lua function for working with zoom Added Lua function for working with zoom Fixed typo
suve (3): Add the --no-install-prompt option to Sconscript Add a man page Guess best scale on startup (#684)
yarek (2): Add horizontal separator Small UI refactor nFixed category refreshing
yareky (1): Allows to change menu selection from hovering to mouse click
"5:50pm. I spent this time in bed.
Saying I will move from programming Spiral to programming in Spiral is not quite right as a goal.
For the past month or so I've been playing wizards, both in Baldur's Gate and Pathfinder Kingmaker now.
These aren't something I'd have experienced as a kid. When I was a kid, I just liked the exploration aspects of RPGs. Right now, I am playing like a true wizard. I am not trying to explore. I am not trying to level up. I am not trying to kill monsters. Instead I am really doing research on how to use spells and abilities most effectively.
To be good, a wizard must have a great library of spells and the skill to use them.
Both taken together, are what is power. Having a large selection or having just the skill is not enough for it to be called power. Skill is not power by itself.
I will program in Spiral. Just why is that good?
Back as a kid I was the best at programming, but just what was I good at? At being a machine that just solves problems as they are given to me. It was a fun game. I was skillful.
But I was never powerful.
A programmer's power is having a big library as well. The thought of developing my own for some task or purpose never even occured to me.
Now I am different.
Over the past six years, I've gained plentiful skill.
What I need to focus on is building my own library again.
Once I have that, I will have actual power, and then the monsters will fall and treasure will be gotten.
This is what I should be excited about. Right now, I can't even cast cantrips in Spiral. A few steps more and I will be able to do that.
That will be worth being excited about.
To a programmer, a language is pretty much its class. The fact that prepared casters like wizards are tier one and the rest are lower speaks volumes about the value of strategic versatility. Wizards are all about the dominance of strategy over tactics.
6pm. If I am going to be excited about something - I should make that excitement about my own libraries. That is what I need. That is how I will prove the fruits of my labour.
As a kid, I wanted to be a sorcerer and have all my power be innate, but now I am going to use everything to win. Forget fair play and forget ever showing courage.
I'll strike at the future and drag it into the present.
6:05pm. The first project should definitely be CFR. I am not interested in deep learning anymore - I'll leave that to lie in the desert of time. Instead I should be focusing on CPU RL agents for the next few months while I test out the language. I should take this chance to implement the material in the latest papers and so on. There is also that thesis by the guy whose name eludes me right now that I wanted to reimplement.
Maybe I should write bindings for Avalonia and Hopac. I do not want all my work to be sequential console code. I'll definitely make that a consideration.
Let me jsut say - it not like I am going to be raiding the gambling dens with CPU based agents either way, but had I this attitude as a kid, my life would be a lot different.
Many people put too much stock in their attitude in public. But the attitude in private is what makes a difference for a programmer.
6:10pm. I should have worked hard to crystalize my skill as a kid, but I did not. Yet, not doing the work today does not mean that work does not have to be done.
Trading skill? I have trading skill. But so what? I had a hunch that I would get back to programming at some point - it just seemed too unlikely that I would ever drop that, but I did not hedge properly.
Even if I did not have a greater purpose, I should have cultivated for the future I anticipated. Yet, I did not, and I to suffer for it. But I've endured.
6:10pm. Speaking as a game player, the true way of acquiring wizardly power is merely recognizing the correct value of spells. It was only recently that I read some posts on the Pathfinder sub arguing that control spells are useless because they tend to fail so you are better off focusing on your fighters.
That guy is really me a few decades in the past. That is how I played BG as a kid.
6:15pm. Being a programmer is more involved as at all times you need to compose what you know, but what really matters is motivation. As long as you can keep going you can attain skill, but you do not get motivation merely from working!
You get motivation from recognizing the true value of what you are doing. You get motivation from recognizing the true value of algorithms and the techniques you are using.
You make a piece, and you get value because you can compose it with other things. You can use algorithms and techniques to make bigger things. You build things up.
And soon you have a library.
6:20pm. My curse is that I keep restarting from such lower places. Spiral really cost me a lot.
To think I am going to be develping my 'first' library six years into my programming journey. That is expensive!
6:35pm. Done with lunch.
Let me just do one thing and I will call it a day.
// TODO: peval throws exceptions on type errors.
let (a,_),b = PartEval.Main.peval {prototypes_instances=prototypes_instances; nominals=nominals} main
Tomorrow I will make handling peval and codegen errors a priority, but nevermind that for now.
type SupervisorState = {
modules : Map<string, TokRes * ParserRes Promise * ModuleStream>
infer_results : Map<string, InferResult Stream>
diff_stream : PackageDiffStream
prepass_stream : Prepass.PackageStream
packages : PackageMaps
package_ids : PackageIds
}
Let me add this to the supervisor state.
Now let me make use of it.
6:50pm.
let build_file (s : SupervisorState) module_target =
match inputs s module_target with
| Ok x ->
let a,prepass_stream = s.prepass_stream.Run(x)
let s = {s with prepass_stream=prepass_stream}
match a with
| Some x ->
x >>- fun x ->
if x.has_errors then Error("There are type errors in at least one module."),s
else
match Map.tryFind "main" x.term with
| Some main ->
let top_env = package_to_top x
let prototypes_instances = Dictionary(top_env.prototypes_instances)
let nominals =
let t = HashConsing.HashConsTable()
let d = Dictionary()
top_env.nominals |> Map.iter (fun k v -> d.Add(k, t.Add {|v with id=k|}))
d
// TODO: peval throws exceptions on type errors.
let (a,_),b = PartEval.Main.peval {prototypes_instances=prototypes_instances; nominals=nominals} main
Ok(Codegen.Fsharp.codegen b a),s
| None -> Error(sprintf "Cannot find the main function in module. Path: %s" module_target),s
| None -> Job.result (Error(sprintf "Cannot find the target module. Path: %s" module_target),s)
| Error x -> Job.result (Error(x),s)
This is just a small adjustment, but at least did do a single thing today. Tomorrow, I am really going to focus on changing my gear from working on Spiral towards building its libraries. It is time to start gathering my power. In 2018 I failed, but this time I will succeed.
I do not have a lot work left before I can get code compiling.
// TODO: peval throws exceptions on type errors.
let (a,_),b = PartEval.Main.peval {prototypes_instances=prototypes_instances; nominals=nominals} main
I need to handle the peval and codegen errors. For the initial run I'll just report them as fatal errors. I'll have to make use of that printing function though...
Ah, now that I think about it, do I even have the ranges in the peval AST? And just how am I going to do the printing if I do not have the actual file lines loaded.
In the tokenizer I only have tokens, but I am keeping raw file text nowhere.
I'll need that to make the trace.
6:55pm. So these concerns are what I will be working on tomorrow.
I just need to make this work and then I'll try firing some cantrips.
Spiral is good because it will give me a chance to make my own library of them."
tl;dr big progresso
- Fixed a bug in berry_fix that prevented building
- Cheap and dirty way to get Bounny working
- A handful of missing resprites added
- Metagaster's shiny is no longer Fuck You Green
- Existing menu sprites up to Urtiga (Nido F) added, but some palettes may be incorrect
- Front and back sprite positions are added up to Feentee (Bellsprout)
- Chapebaya line's height, weight, and pokedexes added as tests IF ANYTHING IS MISSING OR BROKEN PLEASE LET ME KNOW ASAP
Update index-de.html
-Please check wether the additional information work and were well integrated in the website -2 new information are in the "Create" section left and right besides the screenshot -1 new information in the "Play" section on the second place -the 1. information in the "Play" section was shortened because of the new information -The additional information from Discord: "Sooo… longt text incoming: The German version is (hopefully) ready. (I sent the propose for changes.) As told above I separated the information in the „Play“ section. This is point 5-8. I also added two „new“ information in the „Create“ section to draw some additional attention to the buttons on the top right (point 1-4). @Tantum: I’m sorry if I was over engaged in this. …I know it creates extra work for you… In the case that you are all right with the new texts, I would post the English part in the translations channels.
English:
-
Learn from tutorials
-
In illustrated tutorials and detailed instructions all functions are explained in a simple way. (link on the top right)
-
Ask other authors
-
Become part of the Valkyrie Discord community and ask other authors for advice on problems. (link on the top right)
-
Enjoy your creation
-
Test your content during creation and play it anytime after completion.
-
Discover numerous other adventures
-
Experience the stories of other authors. Sort them by existing languages and required extensions. Choose by duration, difficulty and rating.
-
Lerne von Tutorials
-
In bebilderten Tutorials und ausführlichen Anleitungen werden alle Funktionen einfach erklärt. (Link oben rechts)
-
Stelle anderen Autoren Fragen
-
Werde Teil der Valkyrie Discord Gemeinschaft und frage bei Problemen andere Autoren um Rat. (Link rechts oben)
-
Genieße dein Werk
-
Teste deine Inhalte während der Erstellung und spiel sie nach Fertigstellung jederzeit.
-
Entdecke zahlreiche weitere Abenteuer
-
Erlebe die Geschichten von anderen Autoren. Sortiere sie nach vorhandenen Sprachen und benötigten Erweiterungen. Wähle nach Dauer, Schwierigkeit und Bewertung. "
Complete 2019.03.1
Didn't consider wires crossing themselves. Thanks to my beautiful boyfriend for his help figuring that out!
art generative-art pen-plotting augmented-reality home-automation bioinformatics dna books business pricing startups aws-amplify aws cloudflare-workers computer-vision bitcoin cryptocurrencies data-processing data-science data-visualization blockchain ethereum databases postgresql prisma sqlite 3d-modeling design-inspiration design-systems design fonts user-experience observability terraform load-balancing finance learning tailwind-css chess game-engines geography spatial-analysis arduino cpu fpga hardware foods knowledge-graphs contacts macOS-apps ml-libraries pytorch machine-learning ml-models neural-networks reinforcement-learning geometric-algebra music-production music apollo-graphql graphql http networking quic tcp nlp github-actions github kubernetes coreml linux nixos operating-systems newsletters other wiki-workflow quantum-computing privacy tor c-libraries cpp-libraries go-libraries haskell-libraries haskell java javascript js-libraries expo react-components react-hooks react-native svelte vue julia-libraries common-lisp lua ocaml programming-languages datalog django python-libraries python rust-libraries swift-libraries swift typescript-libraries coding-practice continuous-integration reverse-engineering software-testing git decision-making marketing staying-on-top-of-things security social-networks presentations elasticsearch roam-research travel japan united-states shell video cms nodejs web webpack consultancies