1,486,169 events recorded by gharchive.org of which 1,486,169 were push events containing 2,006,632 commit messages that amount to 115,358,388 characters filtered with words.py@e23d022007... to these 27 messages:
Merge: Performance improvements.
This patchset brings some performance improvements and the addition of the LZO-RLE algorithm to the kernel, also usable in zram (yup, tested, works but LZ4 is still ok for us).
The main performance improvement is for SWAP space: the locking has changed and the swap cache is now split in 64MB trunks. This gives us a reduction of the median page fault latency of 375%, from 15uS to 4uS, and an improvement of 192% on the swap throughput (this includes "virtual" swap devices, like zRAM!). The real world user experience improvement of this on a mobile device is seen after a day or two of usage, where it usually starts losing just a little performance due to the large amount of apps kept open in background: now I cannot notice any more performance loss and the user experience is now basically the same as if the phone was in its first 2 hours of boot life.
Other performance improvements include, in short:
UDP v4/v6: 10% more performance on single RX queue
Userspace applications will be faster when checking running time of threads
2-5% improvements on heavy multipliers (yeah, not a lot, but was totally free...)
Improvements on rare conditions during sparsetruncate of about 0.3% to a
way more rare around 20% improvement (that's never gonna happen, but there
is no performance drop anywhere).
Tested on SoMC Tama Akatsuki RoW
This was taken from Repo: https://github.com/sonyxperiadev/kernel PR: 2039 ([2.3.2.r1.4] Performance improvements)
Remove offensive bullshit
I honestly have no idea what pea-brained me 10 years ago was thinking, but I clearly wasn't.
updated
the autopsy report objection added ambient teleporter static sounds Sgt. Major Kiwi(Half Kobold)#9221 on discord added option to start from waves 11 and 21, as well as Beelzie-chan's special hell which is the spawns for past wave 40 ish with the monster count from wave 30 ish this is probably the finished version finito that's all folks that's it nothing else unless... nope oh also added archviles to the spawn pool. don't worry they don't resurrect alot but they do release demon resurrection energy which can resurrect 1 demon after the archie dies but yeah that took way too long. enjoy.
Use Vertico for completions by default!
This is an exciting commit, since I think I can finally abandon embark-collect-completions in favor of Vertico! Vertico is of course much faster than Embark, in part because Embark is designed to include all candidates in the buffer while Vertico only handles a handful at a time, but also because @minad wrote Vertico and I wrote Embark. :)
But embark-collect-completions is actually surprisingly featureful and I couldn't really switch to Vertico until I learned about two extensions: vertico-multiform-mode (to replace the handy embark-collect-initial-view-alist) and especially vertico-unobstrusive-mode (which I just noticed today and switched immediately!).
The vast majority of the time I don't want a list of completions to be displayed at all, and now I can set vertico-unobstrusive-mode to be the default display mode. Showing 1 completion really is still unobstrusive but is even better than 0 completions: I get visual confirmation that the top completion is the one I want! It will probably lead to me typing a little less.
There are still some things I'll probably miss from Embark (but I can try to configure Vertico more to my liking ---I haven't fully explored Vertico's configuration options yet--- or I can just use Embark Collect for a few commands):
-
browsing the kill-ring is much, much nicer in embark collect with untrucated candidates with newlines and zebra stripes. I'll have to see if I either get used to Vertico's display or see how closely I can match that with Vertico, I think I can probably include newlines and a thin line separating candidates which sounds good enough.
-
the grid view in Vertico sometimes chooses only 1 column, which doesn't really feel like a grid and is a waste of space: if you only have 1 column you might as well show annotations! This may be configurable.
-
the annotations are really messy and I'm not sure I can get used to not having them aligned.
The first two items are probably things I can deal with in Vertico, but to read annotations comfortably I might just stick with Embark collect. We'll see.
Add files via upload
This was what I found in the tmp folder after trying to run alsa-info. I am just trying to find a spectrum analyzer so I can see how strong the piercing sound waves pummeling me because I did the same to everyone else I guess... I wouldn't know since I just mumble silly things about Go-Go Gadget Beacon and never actually have a way to know if it did anything. I guess it does though. Regardless, I have been so nauseous since yesterday and I can feel a constant vibrating or rumbling in my gut and I am waiting for aliens to jump out. I think I managed to prevent that, though, with a lot of smearing random things on myself. But that's another story. The "tinnitus" is so loud it is insane and so am I. Back to alsa-info. I ran it, and then it gave me a ncurses window showing the files it was going to access, and went through the list about halfway before stopping to say that it had found a more updated version and downloaded it to the temp folder. I opened it up and lo and behold it is this gigantic script that is so blatantly not appropriate for something like this that it has to be a hack and a way for someone to find out every detail about this computer and the hardware running on it. I'm not even sure what the script was telling me. That it was just going to stop in the middle of running and oh hey I think I'll use this other version instead. But it didn't even install anything. Just said it's in the folder and quit before giving me any information. That said, I am tempted to run it because I bet it would be really useful for me or at least interesting. I just haven't figured out how to do anything privately offline.
This was causing the XML form display issues in #159 and akeeba/engage#141 (reply in thread)
This is a really STUPID Joomla issue. In previous versions you could have a multistate toggle e.g. Yes / No / Use Global. If you try to do that as of Joomla 4.0.5 you get a broken binary state (Yes / No) toggle. The only solution is to use a stupid dropdown like we're back in the olden Joomla 1.5 days. I fail to see how this is an improvement in Joomla BUT they are using this shitty display everywhere now, so...
openjp2: Use wrap fallbacks instead of thirdparty
The thirdparty directory provided by upstream contains (old) versions of projects we already have in the wrapdb. There is zero value in permitting or encouraging this usage.
Also, the actual dependency lookups suck. e.g. the zlib logic, even when probing for system versions, tries to find a pkg-config dependency, then probes for 3 different library names, falls back to subproject() on a subproject that doesn't exist in the wrap itself, with incorrect usage of found(), and finally subdirs into the custom copy.
Half of this doesn't work, and all of it is redundant since meson includes its own robust finder logic that does library probing correctly in a cross-platform manner under the name... "zlib", just like the pkg-config dependency.
Furthermore, upstream agrees with us. To quote their own README:
This directory contains 3rd party libs (PNG, ZLIB)...
They are convinient copy of code from people outside of the OpenJPEG community.
They are solely provided for ease of build of OpenJPEG on system where those
3rd party libs are not easily accessible (typically non-UNIX).
The OpenJPEG does not recommend using those 3rd party libs over your system
installed libs. The OpenJPEG does not even guarantee that those libraries will
work for you.
This is so un-recommended by literally everyone everywhere, that continuing to provide broken versions here is an intolerable thing.
What upstream wanted, really, was a build system that supported meson wraps. Then they could have never included a thirdparty directory, but provided subprojects/*.wrap "solely for ease of build on systems where those libs are not easily accessible". It's a match made in heaven!
...
Also while we are at it, ditch the commented out copy of astyle, which was built as an executable because a manually run maintainer shellscript would execute the forked "openjpstyle" for you. It's totally unneeded by the wrap, and even if it was considered interesting, it must go through the standard wrap review && release process.
Move the remaining simple dependency() calls to the subdir that needs them, which is already guarded by a project option.
Co-authored-by: Xavier Claessens [email protected]
sched/core: Fix ttwu() race
Paul reported rcutorture occasionally hitting a NULL deref:
sched_ttwu_pending() ttwu_do_wakeup() check_preempt_curr() := check_preempt_wakeup() find_matching_se() is_same_group() if (se->cfs_rq == pse->cfs_rq) <-- BOOM
Debugging showed that this only appears to happen when we take the new code-path from commit:
4ff60c413b33 ("sched/core: Offload wakee task activation if it the wakee is descheduling")
and only when @cpu == smp_processor_id(). Something which should not be possible, because p->on_cpu can only be true for remote tasks. Similarly, without the new code-path from commit:
3646542d7c8e ("sched/core: Optimize ttwu() spinning on p->on_cpu")
this would've unconditionally hit:
smp_cond_load_acquire(&p->on_cpu, !VAL);
and if: 'cpu == smp_processor_id() && p->on_cpu' is possible, this would result in an instant live-lock (with IRQs disabled), something that hasn't been reported.
The NULL deref can be explained however if the task_cpu(p) load at the beginning of try_to_wake_up() returns an old value, and this old value happens to be smp_processor_id(). Further assume that the p->on_cpu load accurately returns 1, it really is still running, just not here.
Then, when we enqueue the task locally, we can crash in exactly the observed manner because p->se.cfs_rq != rq->cfs_rq, because p's cfs_rq is from the wrong CPU, therefore we'll iterate into the non-existant parents and NULL deref.
The closest semi-plausible scenario I've managed to contrive is somewhat elaborate (then again, actual reproduction takes many CPU hours of rcutorture, so it can't be anything obvious):
X->cpu = 1
rq(1)->curr = X
CPU0 CPU1 CPU2
// switch away from X
LOCK rq(1)->lock
smp_mb__after_spinlock
dequeue_task(X)
X->on_rq = 9
switch_to(Z)
X->on_cpu = 0
UNLOCK rq(1)->lock
// migrate X to cpu 0
LOCK rq(1)->lock
dequeue_task(X)
set_task_cpu(X, 0)
X->cpu = 0
UNLOCK rq(1)->lock
LOCK rq(0)->lock
enqueue_task(X)
X->on_rq = 1
UNLOCK rq(0)->lock
// switch to X
LOCK rq(0)->lock
smp_mb__after_spinlock
switch_to(X)
X->on_cpu = 1
UNLOCK rq(0)->lock
// X goes sleep
X->state = TASK_UNINTERRUPTIBLE
smp_mb(); // wake X
ttwu()
LOCK X->pi_lock
smp_mb__after_spinlock
if (p->state)
cpu = X->cpu; // =? 1
smp_rmb()
// X calls schedule()
LOCK rq(0)->lock
smp_mb__after_spinlock
dequeue_task(X)
X->on_rq = 0
if (p->on_rq)
smp_rmb();
if (p->on_cpu && ttwu_queue_wakelist(..)) [*]
smp_cond_load_acquire(&p->on_cpu, !VAL)
cpu = select_task_rq(X, X->wake_cpu, ...)
if (X->cpu != cpu)
switch_to(Y)
X->on_cpu = 0
UNLOCK rq(0)->lock
However I'm having trouble convincing myself that's actually possible on x86_64 -- after all, every LOCK implies an smp_mb() there, so if ttwu observes ->state != RUNNING, it must also observe ->cpu != 1.
(Most of the previous ttwu() races were found on very large PowerPC)
Nevertheless, this fully explains the observed failure case.
Fix it by ordering the task_cpu(p) load after the p->on_cpu load, which is easy since nothing actually uses @cpu before this.
Fixes: 3646542d7c8e ("sched/core: Optimize ttwu() spinning on p->on_cpu") Reported-by: Paul E. McKenney [email protected] Tested-by: Paul E. McKenney [email protected] Signed-off-by: Peter Zijlstra (Intel) [email protected] Signed-off-by: Ingo Molnar [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: wimbiyoashizkia [email protected]
Oh good lord this is a big one.
TBH, I kinda forgot a bit of what I added here, was suffering without internet while adding to this.
Moved everything to a global Figura namespace. This allows easy editing of (read: fucking around with) the plugin while it is running.
Neat new Dialog for creating a new avatar. Allows selecting the model type (does nothing atm) and allows creating a Steve statue when the avatar file is created. (also does nothing, RIP)
Removed the MIMIC keywords This was done in favor of the new MIMIC MODES menu. This menu will only appear if the selected keyword supports mimics. It also allows Position Mimics and Dual Mimics (Position and rotation!)
Probably some other things. This still isnt finished, and there are things that definitely don't work the way I want them to.
I really need to commit more often, this commit shouldn't have been as big as it was.
Update index.md
Regarding line108: // Watch Austin walk you through hash functions, and key pairs. My proposal stated below . Thank you :)
Proposal 1: Problem : In the stream of video tract at : 2:55 signature is described as "Signatures are basically taking the message and private key and signing something" also in the video stream at 2:55 signing process is being described but in the output of SIGN function message is shown as encrypted text. The process in reality is encrrption. Also according to reference stated below in the literature the digital signature is technology that uses private key to Encrypt a hash value (=Message Digest). DS= E[PRa, Hash (M)] means that encryption by Pra is applied to the not message but hash of message. Message should not be encrypted because of digital signature is not the process of encryption of message. DS provides the integrity assurance instead of confidentiality (process of encryption input message)
solution:
- In my opinion either SIGN process should be replaced by ENCRYPT function or message output of SIGN should be open message and attached signature(hash of message encrypted by PRa )
- The expression stated in the video "Signatures are basically taking the message and private key and signing something" should be replaced by "Signatures are basically taking the message and private key and signing by encrypting the hash of message by private key"
Proposal 2: Problem : 1.In the stream of video tract at : 4:31 function RECOVER is intented to describe Verification process of signature but in reality describing decrypion process of message. Encryped message is being used as input and decryped message as output. 2.The expression stated at streamn 5:19 "message plus signature equals signature. Signature plus message equals public key" conflicts with reference stated below.
solution:
- In my opinion either RECOVER process should be replaced by DECRYPT function or message output of RECOVER should be open message and comparision of attached signature(hash of message encrypted by PRa ) by decryption of message hash by public key PUa.
- The expression stated at streamn 5:19 "message plus signature equals signature. Signature plus message equals public key" should be replaced by " encryption the hash of message by private equals signature.(DS= E[PRa, Hash (M)]). Signature decrption by public equals verification ( decrypt signature by public and take hash of message and compare the computed hash by sended hash as signature. DS= E[PUa, Hash (M)]) " reference:Cryptography and Network Security: Principles and Practice 5th Edition,WILLIAM STALLINGS
As an Ethereum fun :) and having master of science on computer engineering on Network security I hope my comments would be useful for ETHEREUM further improvement plan. I wish all developers happy year and success. Thanks.
Fix my so stupid fix for VD-1301 vulnerability
I can't believe I committed that copy/paste mistake. Sorry Maor Vermucht and Or Peles, excepted naming your original patch was OK.
Thank you Karl Palsson for your review.
PATCH 2.0
Added mods: [CP] Community Center [CP] Dinosaurs Growl [CP] Elle's New Barn Animals [CP] Elle's New Coop Animals [CP] Elle's New Horses [CP] Elle's Seasonal Buildings [CP] Elle's Town Animals [CP] Elliot - Expanded Marriage Dialogue [CP] Goddess statue Obelisk [CP] Hats Won't Mess Up Hair [CP] Hot Spring Farmcave [CP] MonsterGirl Animals [CP] Natural Hairstyles [CP] New Fish [CP] Peskit's Hogwarts Express [CP] Pet Dog [CP] Rival Events for Maru and Penny (Poly Option) [CP] Rival Events for Sam and Sebastian [CP] Seasonal Villager Outfits [CP] Sexy Haley Replacer [CP] Sprinklerable Beach Farm [CP] True Love Abigail Dialogue Expansion [CP] Yandere Sam Dialogue Expansion [CP]UniqueDatingResponses [CP-A] Animated Fish [CP-A] Animated Food and Drinks [CP-A] Animated Furniture and Stuff [CP-A] Animated Slime Eggs and Loot [CPP] Penny Expanded Marriage Dialogue by catacoon [FTM] Farm Extended Unofficial Fix [GG] Ace's Hairstyles [GG] Get Dressed Pack [JA] Strawberry Blossom [PPJA] Artisan Valley [PPJA] Cannabis Kit [PPJA] Fruits and Veggies [PPJA] Mizus Flowers [PPJA] More Recipes [PPJA] More Trees [TMX] Shiko Festival Locations [TMX] Shiko Spouse Room AllowBeachSprinklers AnimalHusbandryMod AntiSocialNPCs Automate AutomaticGates BiggerBackpack BusLocations CapstoneProfessions catGifts CharacterCustomizationAnywhere ChatCommands ChildAgeUp ChildToNPC CJBCheatsMenu CJBItemSpawner ConsoleCommands ContentPatcher ContentPatcherAnimations CustomMusic CustomNPCExclusions CustomNPCFixes CustomReminders CustomSpousePatio Dickshrooms DynamicNightTime EntoaroxFramework ErrorHandler EventRepeater ExpandedPreconditionsUtility ExpandedStorage FarmTypeManager FireCrackers Mod FriendsForever GetGlam GreenhouseSprinklers HB HoldToBreakGeodes Immersive Farm 2 Remastered Increased Artifact Spots IndustrialFurnace JsonAssets JumpOver JunimosAcceptCash LewdDew_Valley LewdDew_Valley_helper lewdLeah Lockpicks LookupAnything LoveOfCooking LunarDisturbances MailFrameworkMod ModUpdateMenu ModUpdater MoreAnimals MultipleSpouses NPCMapLocations Portraiture ProducerFrameworkMod PyTK QuestFramework Ridgeside Village Mod 1.2.3 SaveBackup SeedBag Shane's New Dialogues ShopTileFramework SitForStaminaMod Sleepovers Slime Girls SMAPIChestLabelSystem SMAPIHealthBarMod SpaceCore Stardew Valley Expanded StardewHack TMXLoader TractorMod TrainStation UI Info Suite WinterGrass Xtardew Valley zGardenVillage-1-4-4 (A) Abigail - The Extended Unrated Director's Cut 8K Gold Limited Edition [BL] Desert [CP] Abigail Dialogue Expansion [CP] Abigail Lewd Dialogue [CP] Anime Beach Loader
WIchtige infos:
rein lade zeiten sind lang ich weis Das Spiel mag rein und raus taben nicht immer
Update zum dev: Consum: Energie x2 Bemvel X2 Urzeit 3:30 Flüche Ausgesprochen 9999999 verstörende Dinge Geshen: zuviele ...... Neuer Lösungs Statigie: ALLLKOOOOOHOL Update: Uhrzeit: 4:00 alk ist toll
[NTOS:PS] Enable alignment probing for thread/process information classes
In addition to that, here are some stuff done in this commit whilst testing:
-
ICIF_QUERY_SIZE_VARIABLE and friends were badly misused, they should be used only when an information class whose information length size is dyanmic and not fixed. By removing such flags from erroneous classes, this fixes the STATUS_INFO_LENGTH_MISMATCH testcases.
-
Use CHAR instead of UCHAR for classes that do not need alignment probing, as every other class in the table do, for the sake of consistency.
-
ProcessEnableAlignmentFaultFixup uses BOOLEAN as type size, not CHAR. This fixes a testcase failure on ROS.
-
Check for information length size before proceeding further on querying the process' cookie information.
-
ProcessHandleTracing wants an alignment of a ULONG, not CHAR.
-
Move PROCESS_LDT_INFORMATION and PROCESS_LDT_SIZE outside of NTOS_MODE_USER macro case. This fixes a compilation issue when enabling the alignment probing. My mistake of having them inside NTOS_MODE_USER case, sorry.
-
On functions like NtQueryInformationThread and the Process equivalent, complete probing is not done at the beginning of the function, complete probing including if the buffer is writable alongside with datatype misalignment check that is. Instead such check is done on each information class case basis. With that said, we have to explicitly tell DefaultQueryInfoBufferCheck if we want a complete probing or not initially.
Add Jupyter as OnePassword users.
https://jupyter.1password.com/home
Jupyter
The Jupyter Project is a project and community whose goal is to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages"
7 Years old (created in 2015)
Current Steering council is 17 members (as per https://jupyter.org/about), the definition of core contributors is a bit more fuzzy and there are likely a few dozen with all the repos we manage.
https://github.com/jupyter https://github.com/jupyterhub https://github.com/jupyterlab https://github.com/ipython/
https://pypi.org/project/jupyterlab/ https://pypi.org/project/notebook https://pypi.org/project/ipython https://pypi.org/project/ipykernel
BSD
https://github.com/jupyterlab/jupyterlab/blob/master/LICENSE
Matthias Bussonnier
Steering Council Member and Founder of the Jupyter Project since before it's inception (2012), I'm currently trying to push a bit for better security practices and credential managements.
You can find some of my rambling on https://matthiasbussonnier.com/, otherwise most of my activity is on github https://github.com/carreau and on twitter (https://twitter.com/mbussonn)
I'm personally not a 1password users, but I heard good things, the current solution seem to be a bit inadequate as there is a keepassc credential file shared via dropbox which is super problematic.
My hope is to make it easier to share sensitive credentials to the core security/admins, that is everything that does not support account delegation. Currently the main struggle we have are with:
- Hosting providers that do not support delegation.
- Twitter (and indirectly via twitter: medium)
- Some website like readthedocs,
- the original credentials of some shared accounts (like Gmail, where folks are delegated but every now and then need access to them).
We'll likely also store there a few rarely access personal credential in case of a catastrophe.
I hope that the group structure of 1password will help us to manage who needs access to what (website/social-media/communication), but as stated above I don't have much one-password experience.
Side personal note, I really appreciate your team putting out technical blogs out, like the recent 1password for linux using rust.
Thanks,
Add Jupyter as OnePassword users.A
https://jupyter.1password.com/home
Jupyter
The Jupyter Project is a project and community whose goal is to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages"
7 Years old (created in 2015)
Current Steering council is 17 members (as per https://jupyter.org/about), the definition of core contributors is a bit more fuzzy and there are likely a few dozen with all the repos we manage.
https://github.com/jupyter https://github.com/jupyterhub https://github.com/jupyterlab https://github.com/ipython/
https://pypi.org/project/jupyterlab/ https://pypi.org/project/notebook https://pypi.org/project/ipython https://pypi.org/project/ipykernel
BSD
https://github.com/jupyterlab/jupyterlab/blob/master/LICENSE
Matthias Bussonnier
Steering Council Member and Founder of the Jupyter Project since before it's inception (2012), I'm currently trying to push a bit for better security practices and credential managements.
You can find some of my rambling on https://matthiasbussonnier.com/, otherwise most of my activity is on github https://github.com/carreau and on twitter (https://twitter.com/mbussonn)
I'm personally not a 1password users, but I heard good things, the current solution seem to be a bit inadequate as there is a keepassc credential file shared via dropbox which is super problematic.
My hope is to make it easier to share sensitive credentials to the core security/admins, that is everything that does not support account delegation. Currently the main struggle we have are with:
- Hosting providers that do not support delegation.
- Twitter (and indirectly via twitter: medium)
- Some website like readthedocs,
- the original credentials of some shared accounts (like Gmail, where folks are delegated but every now and then need access to them).
We'll likely also store there a few rarely access personal credential in case of a catastrophe.
I hope that the group structure of 1password will help us to manage who needs access to what (website/social-media/communication), but as stated above I don't have much one-password experience.
Side personal note, I really appreciate your team putting out technical blogs out, like the recent 1password for linux using rust.
Thanks,
FUCK YOUgit add .git add . tests fucking miraculously work again. I didnt do shit. FUCK. YUO. FUCK YUO FUCK YOU FUCK YOU
Interface Update
I think what makes our marriage work amid all the glare is that my husband is my best friend. He inspires everything in my life and enables me to do the best that I can. I want to hang out with him more than anyone.
Created Text For URL [www.iol.co.za/dailynews/news/mercury/news/man-fights-for-his-life-after-he-was-shot-in-the-head-while-sitting-with-friends-in-morningside-0f7815a4-8d51-4fc2-9fb2-68e9cf1b3625]
New spell: Anguish (L4 Hex/Necro)
With Yred's Injury Mirror ability removed, the design space of 'retalation damage' that it occupied has become open. Anguish puts a different spin on that idea, causing affected monsters to take twice the damage they deal for the duration of the affect.
Assorted notes:
- The theme is 'haunted by the damage you've done'. Horrible, supernatural visions of the wounds you've caused appearing on your own body, that kind of thing.
- For flavour reasons, it doesn't work on mindless creatures, but it does work on intelligent demons and undead.
- It's not a straight port of Injury Mirror as a player-based duration, largely because, without the piety cost of Injury Mirror, it'd suffer from the 'buff problem' of something you'd want to have online at all times. Probably there's some way to deal with that, but in general, Crawl spells work better as things you cast on enemies.
- It's taken Corona's spot in the status effect icons, because Corona is now a somewhat uncommon effect on monsters (mostly just from Ru retaliation?) and not that important. We should strongly consider refactoring the status effects to not be packed into a single int, either by adding a second int (lol) or by using a list like sane people. We don't need to scrounge for a few dozen bytes per monster... it's 2022, for heaven's sake.
- It's Hexes because it checks Will and I wanted to make a hex, and it's Necromancy for flavour (somewhat difficult to conceptualize as pure hexes) and to suggest fun synergy with undead allies. (Enemies hitting your zombies triggers anguish too, which is big thematic!)
- I'm very unsure about balance. Lots of levers and knobs to pull, so let's try it out!
[skip ci] ombreko
I don't understand why everyone has to fall to NFTs, not limited to TheFatRat.
And what makes it even more impossible to cut ties with everyone selected is the Royalty-Free-ness. We've been lacking these types of humbleness. TheFatRat included.
luckily, TheFatRat chose RCRDSHP instead of usual ETH, which I pecking have trouble with (high gas fee). there, I can just use centralized money to buy those 'trading cards'. That's it.
And see, that the thumbnail makes it impossible to right click. yeah clever. So anyone sacrifice themselves are encouraged to sparsdat them all back in here, pls, thancc.
But, I've succumbed my soul to a video game before (Crossout every season battle pass), and now this? man. stop anymore. We've got things to do!
AH PECK THE SECOND DROP SOLD OUT BEFORE i COULD BUY THEM!!! WHY DID I PROCRASTINATE!! PLS VOTE THAT THIS IS NOT MISTAKE!!! NFT HATERS, COME HERE!!! HELP ME!!!
Improved noteskin loading!!! Now majority of noteskin loading completely relies on Noteskin helpers yey!
also resupport my foldered noteskin loading system wow!!!! enable loadNoteStyleOtherWayArround if you put noteskin name as a folder containing vanilla naming styles!
extendo the 4'33" back to its original length. Kade, wtf why end song early? fine, I'll just put other touchers notes at the end of the song.
SPLASH SCREEN!!! Special splash screen when game started
image outline Std.is -> Std.isOfType . new function but same. move away from deprecated
hey push the default position for opponent further on those color bgs okeh?
refactor: The Great mypy
/pylint
Wars
For many days a great hero developer worked night and day to clean up his project.
During this grueling adventure he made many a mistake, and coded sporadically. On more than one occasion he made changes that were unrelated to what he was actually doing at the moment.
Carelessly committing only when the day be done, not when he supposed to. Some commits were larger than some devs ever dreamed were possible, but aye, they are.
Thus many mypy
and pylint
errors were resolved.
[NON MODULAR] Teshari clothes (#10233)
-
aaAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRHHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGAAAAAAAAAAAAAAHHHHHHHH
-
FUCK YOUUUUUUUUUUUU
-
ffsfffdfddfsfdsfd
-
defines DEFINES DEFINES
-
FUCK YOU
-
muh documentation
(apparently this was painful, huh?)
"2pm. Damn, I keep getting up later and later. Let me skip the morning session. I'll go straight to doing the chores and having breakfast.
12:05pm. Let me leave manga for later. I'll relax while having breakfast. I want to get scripting out of the way today so I can start doing art tomorrow.
12:55pm. Done with chores. Let me go for breakfast.
1:25pm. Done with breakfast. Let me start the workday.
https://www.youtube.com/watch?v=WSQFt1Nruns Create Mandelbulb Fractals In Blender Eevee
Let me watch this to get into it. Then I'll just read the official docs. Then I'll watch some of the online series. After that I'll have made a tour and will be done. I won't actually bother practicing scripting right now since by the looks of things it seems to be general programming stuff.
1:30pm. It is enough that I know the basics. I need this. I also really needed to understand how geometry node contexts work, and what the potential of attribute capturing is.
But I am starting to sense I have enough. The basics are the 90% of anything.
https://youtu.be/WSQFt1Nruns?t=258
Eevee only came in 2.8? I expected it would have been there from the start.
Oh, I just noticed on the sidebar that Ram came out with the newest installment of geometry nodes course on proximity nodes. It is 70m long, but I will definitely take the time to watch it before getting back to my own things.
https://youtu.be/WSQFt1Nruns?t=308
This is the formula. Ok, how would I do something like this? I was prepared to do scripting, but something like this might involve creating a procedural texture. In other words making a shader. Since the time is right, I might as well touch upon that here.
1:45pm. No I am wrong. For this I'd just need to map the old cords to the new ones.
https://youtu.be/WSQFt1Nruns?t=915
How complicated. This would be easier with actual programming. He says he will just copy the nodes by hand instead of using recursion.
https://youtu.be/WSQFt1Nruns?t=1194
I do not get this entirely. How can you get a volume using just the mesh coordinates?
2pm. Maybe my assumption of how texture coordinates nodes work are wrong. The volumetrics stuff obviously needs to sample from within an object. So the assumption that object data is just the mesh data has to be wrong.
You learn something new every day.
I admit, I had no idea how 3d textures could work, but this has to be the answer. It is easier to arrive at once I know how contexts for geomtry nodes work.
The example here should really be a specialized shader rather than messed around with nodes. That would have made things a lot more straightforward, as well as allowing him to use recursion.
https://youtu.be/RvjQEUwKScM Using Custom OSL Shaders in Cycles - CGC Weekly #9
This is only 8m, so let me watch it.
https://youtu.be/RvjQEUwKScM?t=152
They only work when you are rendering on the CPU.
Lame. Nope, Eevee does not support this.
I guess shader nodes are the way to go for this after all. I was wrong. Unless I want to fork Blender to add my own custom nodes, this is how things should go.
2:20pm. Ok, now let me read the scripting docs. It shuold not take long.
https://docs.blender.org/manual/en/latest/advanced/scripting/introduction.html
2:35pm. https://docs.blender.org/manual/en/latest/advanced/scripting/addon_tutorial.html
The amount of documentation is really low. It is basically nothing. Let me watch some course vids for an hour and I am done.
https://cgcookie.com/articles/blender-2-8-python-scripting-superpowers-for-non-programmers
The Text Editor also has a Ctrl+Space autocomplete feature, but it doesn’t work the same and is generally not that helpful. If it’s something you’d use often, I’d recommend grabbing Jacques Lucke’s Code Autocomplete addon which will allow you to work much faster.
https://cgcookie.com/course/scripting-with-python-handler-functions-in-blender
Not really free.
https://www.youtube.com/playlist?list=PLunr0YiKm4r4OqzEfMrGSPYS1WuvaSRu5 Blender Programming Tutorials
This is the playlist from Olav. Let me look at some of these.
https://youtu.be/xZ8hDKb51Y0?list=PLunr0YiKm4r4OqzEfMrGSPYS1WuvaSRu5 [2.8] Blender Tutorial: Spiral Staircase Using Python, Programming
Making a staircase is something I've been wondering about.
2:55pm. Short tutorial like this is enough for me.
https://www.youtube.com/watch?v=pdN1-B69HVk&list=PLunr0YiKm4r4OqzEfMrGSPYS1WuvaSRu5&index=9 [2.83] Blender Tutorial: Python Programming With Math, Part 1
https://youtu.be/KI0tjZUkb5A?list=PLunr0YiKm4r4OqzEfMrGSPYS1WuvaSRu5 [2.8] Tutorial: 3D Programming with Python and Blender for Physics Simulations
https://youtu.be/ssHiWpVuxTk?list=PLunr0YiKm4r4OqzEfMrGSPYS1WuvaSRu5 [2.79] Tutorial: 3D Animation With Python and Blender!
All these put together are not even 30m long. Let me go over them, I'll take a peek at Darkfall's list and then I am done with Blender scripting.
https://youtu.be/8PkdI87qDho Procedural Stairs with Geometry Nodes in Blender 3.0 with Download Link
Actually, being able to do the stairs with geometry nodes is something that would be of interest to me. Why is this 50m long though?
I am trying to think about how I could do various kinds of stairs with GNs, but it does seem a good bit harder than with scripting.
Let me do it all in turn. Let me get the scripting stuff out of the way.
https://youtu.be/pdN1-B69HVk?list=PLunr0YiKm4r4OqzEfMrGSPYS1WuvaSRu5&t=151
So this is how it is possible to use scripting to do animations. I see.
3:15pm. Enough with scripting. I am done with that, way ahead of schedule. Let me take a look at the geo nodes stairs tutorial.
https://youtu.be/8PkdI87qDho?t=11
I suppose it is not worse than code.
https://youtu.be/8PkdI87qDho?t=436
Since this video is too damn long, I am pretty sure none of you are going to watch it till the end.
Well, I am not sure if I will be paying exact attention, but I will study this to see if I can pick up a few tricks. After that, it is Ram's tutorial. And after that I am done with tutorials.
https://youtu.be/8PkdI87qDho?t=665
Why did he bother connecting the elevation twice? He could have reused the socket.
https://youtu.be/8PkdI87qDho?t=765
Hmmm, this is a cool tip.
3:35pm. I have no more patience for this. Let me move on. Time for Ram's tutorial. After that I am going back into the fray.
https://youtu.be/9flmk1sHBnk 09-Geometry Proximity-Geometry Nodes( Fields) For Beginners / Blender 3.0
Ram's previews are as good as usual. He really has a knack for them. I actually did learn a bit of how lighting and camera work can make the scene look good.
3:45pm. https://youtu.be/9flmk1sHBnk?t=218
It never occured to me to think, but how does the proximity node handle recursive relationships?
https://youtu.be/9flmk1sHBnk?t=571
Hmm, once it goes negative it goes in the opposite direction.
https://youtu.be/9flmk1sHBnk?t=1424
He should have just used a convex combination of points. That would be way easier. The way he approaches the problem is like a genetic algorithm would.
4:45pm. I watched half of it. Let me take a break here.
I had enough. I am done, done! Done with geometry nodes and done with scripting.
I've had my study time, but now I will really get things going even if have to just work with primitive shapes and only the basics.
This geometry node stuff is the hardest Blender will get.
5:25pm. Took a break. Let me mentally prep myself for the next step.
The next step is just actually working at it. Forget the complex stuff. I need to clear my mind of such distractions.
5:30pm. Time for lunch.
5:55pm. I am back.
6:20pm. Done with the cake, let me resume. At this point I feel like stopping for the day, but no way would I be satisfied with that. Let me at least make the fence icon. I'll sketch it out in CSP and import as a texture. It will also serve as a displacement map. I'll just draw an anime eye and brow. Something slanted an aggressive, as fits Luna.
6:25pm. I have every right to be happy right now. My insecurity was driving me to seek out knowledge, but I am good now. The tutorial by Ram I could have done without him walking me through it. I definitely understand geo nodes now. I have the understanding that I need to make great use of scripting as well.
I haven't really fully mastered sculpting yet. That is one aspect for which I will have to watch tutorials, but a few more months of practice will do me great good.
6:30pm. Let me talk a bit about the fence. I was wondering how to displace the instances so they stick the curve.
It is not a big problem. First I will turn the curve into a wall mesh, then I will just use the proximity node + set position to dispace it alongside it. When I first stumbled on this problem I wanted to figure out a way to displace it directly along a curve, but would not work. An arbitrary curve is not a texture, it needs to be converted into a form that Blender can use easily.
6:35pm. Once you make up your mind to just do what is needed, the task becomes easy. Now let me actually do that drawing.
6:45pm. Hmmm, why don't I go with this? It doesn't really match Luna's eyes, but as far as killer eyes go, these 5 curves capture the feeling perfectly.
I just did a sketch with the mili pen here. Let me lock this as the ref layer, and I'll draw the out using vectors.
6:55pm. What vectors allow me to do is fine control over line weight. Rather than struggle to draw it right the first time using pen pressure. I can just swipe over it and scale it up and down over the selected area. That gives the image more character.
Amazing how goes from factory produced to having soul. Digital art is really great.
Now I have to export this. Let me do it as png. Then I'll try importing in Blender.
Oh, I see it is possible to export vectors as svg, but that would not give me displacement.
Oh yeah. I wanted to mention this. Remember when I did the Spiral logo in Processing? Blender would be way better for the same purpose. I could easily do a spiral by deforming a straight line using geometry nodes. To say nothing of its Python scripting capabilities. It is too bad nobody rec'd me it.
Focus me. Let me export this thing.
7:10pm. Forgot to scale the image to something more decent. Though it does not matter at the moment since it is all vector.
For an actual logo, I'd want to paint it, but this will serve well for the fence texture.
Let me try it in Blender.
Hmmm...I've loaded it up, but I want it to show one each side. Isntead it unwrapped it over all the corners.
7:20pm. Not bad, I've set up the texture on a cube. Let me see if displacement works.
7:35pm. I have a weakness where I admire my own work far too much. At any rate, it is good I knew how to set up adaptive subdivision. It semes it is an experimental cycles feature. I had to turn experimental support on in order to enable it in the subdivision modifier.
So I got it to work on a cube. What about a plane instead?
7:45pm. Hmm, no. A plane only has a single face. Let me think. Instead of doing it in the shader, let me apply the displacement as a modifier.
8pm. No, the displacement modifier is crap. It disables the subdivision one. But now that I've gotten rid of it, why is everything wrecked? Neither the alpha nor displacement is working in the shader.
...I am extremely confused right now. Let me set it up from scratch.
8:10pm. This problem happens when I set the alpha of the image to none.
8:15pm. Not it is fine. Whatever I did took out the alpha channel. I did not think that modifying things in the texture would affect the image itself in the shader. I should have duped the resource first.
8:35pm. Oh, wow, I feel for an optical illusion really hard just now. I can't believe how long it took me to spot this. As it turns out, when the object is transparent, the opposite side is rendered incorrectly. It is mirrored!
My plan was to use a plane with a displacement map to make a 3d fence, but it feels that plan is falling through.
I think it is unlikely, but maybe .svg supports curve radius. The only hint that I have that this might be possible is that geometry nodes support curve radius as well.
The grase pencil's lines also have volume to them.
Well, let me try one and then the other.
What a headache. I could be making progress, instead I am trying to push the limit of my understanding. But that is fine.
Even this little bit that I've done exercises my understanding. Things like settings up the render, the HDRIs, the texture, the displacement nodes...all that would have been impossible for me without heavy Googling a month or two ago. But now I can do it without trouble. It shows that I am getting used to Blender.
Let me try exporting the vector layer as .svg.
Nope, it does not seem like .svg contains any radius data. Then what about trying to import an svg as a grease pencil. I see that option there.
8:50pm. Nope that does not work either.
8:55pm. Did only 5 minutes pass between the last entry. it feels like I've been thinking for a while.
At any rate I have an idea.
First all, let me make a grid. I'll size it so it matches the resolution of the image. Then I will put a displacement + mask modifier on that. Then I will use a mirror modifier on the plane to get the other side. Then I will union the two sides. After that I'll apply a smooth, or a subdivision modifier to smooth round out the object. Afterwards I'll decimate it to bring the vertex count down to a reasonable level.
This is a better idea than messing with displacement in the shader. I could also try writing a script to turn the image into a point cloud and then connect nearby vectices.
9:05pm. How do I turn the image into a mask. I have the mask modifier, but it wants me to select the vertices...
Ahh, I could x ray and select them in edit mode.
9:10pm. This is pretty nice. I thought I could use a mirror, but instead, why don't I union it with a plane and then smooth it?
Let me duplicate the object.
No wait, not with a plane. Instead, let me copy the object, remove the displacement, but keep the mask. I'll then union those two.
9:20pm. This was so annoying to do. I'd have been better off applying the mirror modifier.
9:55pm. I could have done what I wanted with the union and the mirror by simply extruding. This gives me a perfect result without any hassle.
Let me try smoothing it out before decimation.
10:20pm. Wow, I am just thinking and thinking about this.
It would have been very easy to do an average solution which to either just use curves without radius information or as raw textures. Instead I am spending hours and hours on nailing this one little thing.
I am trying to think of what the solution to the problem I am having is.
And I know what it is.
10:25pm. Well, I can think a few.
Let me try something. I am going to get rid of the mask and then try smoothing. The mask is really doing nothing for me.
10:40pm. I've displaced the original grid and I've smoothed the heck out of it. Now I got a great result. If only I could now chop off the vertices that are at zero level. I am looking at delete geometry node. I think that is what I need, but I am not sure how to make a selection.
Hmmm, what if I used the position node...
10:45pm. Damn it, this would be such an ideal time for a script. I could just have it iterate over the object, get the max, and delete all the max vertices. Instead, I am getting this crap.
11:05pm. I figured out how to filter the points using delete geomtry. As I suspected I needed to use the position node, pass it to separate XYZ, then use a less than to filter out those points that are beyond a certain point.
What I did then was use a mirror modifier to mirror around the Z axis, and this merged it together.
11:10pm. No, the decimate modifier is not the solution here. What I need to do next retopologize it. I should have done that right from the start as it would have saved me an immense amount of time.
I am going to break that ground tomorrow. I didn't expect this would be what I need to do, but in fact, that is exactly what is needed.
This will be good experience for me when I am retopoing actual character models.
Just taking what I have now and smoothing it out by hand in sculpt mode is also an option, but the topology is so ugly here. I do not like it. Why not make it nice and fast, even if I do not need it for this particular example?
I'll do it nicely and steadily. This is an ideal first exercise.
11:15pm. I guess tomorrow I'll take a look at a retopo tutorial and then give it a try myself."
i fucking hate spotify dude like what the fuck is this stupid ass authorization shit like got damn what the hell is wrong with you
drawing: rewrite to support alpha blending and style inheriting
To start with, the rendering pass has been updated to pass more information from one stage to the next. This will allow better support for some SVG drawing operators that we might as well try to support because it doesn't hurt anything. In addition, a lot of rework has gone into how the styling is structured (theoretically with little change to the API) to allow for automatic determination of painting style from the style attributes.
Some of the style items are being offloaded into the graphics state parameter dictionaries which notably allows us to support the PDF transparency model---this was completely missing from the initial implementation. Unfortunately, the use of these dicts is a mess, and I wish they didn't exist. Drawing transparency is a PDF 1.4+ feature, so we will need to bump the version flag above 1.3 (the default) if using any of the drawing features, to be sure we don't emit an out-of-spec PDF.
There are still a number of features we don't support (patterns etc.) that are not going to be added right now, though the state dict support should theoretically make it easier to add support in the future, maybe.
reimplement remaining style attributes
this includes blend modes.
Also, I've just determined that the graphics state parameter dictionary ordering is nondeterministic thanks to my very skillful use of sets, which do not preserve order. I will need to swap that implementation out for an OrderedDict, I think.
commit message quality going downhill
Reintroduce the render tree output, renamed as debug output. This is now generated during the rendering process, so it has access to the contextual information used during the rendering process, which allows even more useful output to be produced, such as the resolved absolute output of relative path components. I tried doing this with separate render paths for debug and not debug to avoid adding a bunch of debug branching, but this ended up kind of falling apart at the GraphicsContext level, as there's sufficiently entangled logic in the rendering process that I didn't feel comfortable copy pasting it in. At the end of the day, I haven't measured the performance of this at all anyway, so it's kind of silly to try to worry about such optimizations. However, the real motivation was to avoid polluting the normal code with a bunch of debug branches, and I'm sad to say I've failed in this regard. I may come back to this, maybe not.
The graphics state dictionary output should be deterministic now, as it's been switched over to using OrderedDicts instead of sets.
Adding docstrings is an ongoing process, but the next step will probably be rewrite the existing unit tests and start adding new ones.
The features are now in place to produce accurate output of the svg logo test, including properly omitting the stroke and including transparency.
also add arc support
Now including prettier debug information as well.
Add Etheral lungs to the limbgrower (#62469)
Saturday morning, calm shift. I spend most of my time staring at CANARY waiting for an atmos alarm to pop up while I sit at the foyer hearing what random craziness Poly is spewing and wondering about the previous and more interesting shifts. When suddenly, an atmos alarm pops up at the Incinerator. "Fucks sake, I bet the other atmos are torching the place again..." I rush there expecting to fix a fire, but instead I find the start of something great...
The madman kidnapped an Ethereal to use as an organic Hydrogen farm, nothing I haven't seen before but... my hands start shaking, a spark of brilliance and potential in my eyes as I mumbled the words: "I always hear that organic things are healthier... so what if we throw the Electrolyzer away and instead, print Etheral lungs in the limbgrower and implant them on monkeys..." To our sadness, Ethereal lungs weren't added to the Ethereal disk design, this fixes that!
Fix an EXTREMELY stupid mistake. Forgot to authenticate users within the friend endpoints oh my god i'm an idiot