killjoy-prince · 6 months ago
Text
Project Diva X's way of getting outfits via rhythm game gacha makes me wanna run it over with a truck
#prince's talk tag#disclaimer: i do not drive#i love this game except for the way you get modules like fr#i have to play two thirds of a song to get to chance time‚ CLEAR chance time AND hit the star note and then HOPE the module i want appears#if i use a module that increases the chance of getting a new or rare one itd be a bit easier but i dont have one for Quirky!Meiko#ah in case you didnt know x is divided into clouds kinda like how prsk has different sekais#theres classic cute cool elegant and quirky. and the cryptonloids take on different personalities depending on the cloud#to clear a song you have to get enough voltage points and a good way to do thats is to wear modules and accessories that match the cloud#so for example the song Urotander Underhanded Rangers is a quirky cloud song#and base voltage is 100%. but if you use a quirky module and quirky accessories you can boost it so you get a headstart#on charging the voltage to clear the song#now each module has a special ability whether its helping with voltage or getting you more points or obtaining modules#this is where it gets tricky bc you need to use the appropriate modules to get the most voltage out of your gameplay#but if you want something specific like a new module but dont have a module that would make that easy for that cloud#then youll be playing the same song over and over until the gacha gods pity you and give you what you want#i want the underhand red modules for Meiko (both masked and unmasked versions)#but i dont have quirky meiko modules that increase the chance of getting a new or rare modules#and using a module that isnt quirky decreases my starting voltage by 20% and i need that voltage#bc fun twist if you dont clear the voltage by the end of the song you dont get a new module if you unlock it during chance time#theres a meiko festival thats hard af to play in this game where you have to play 3 hard ass songs to get the voltage high enough#but the outfit has a 1 in 4 chance of showing up#so you could be doing so good and then during chance time (which happens during the third song) the module wont show up#so you gotta do it all over again#OR the opposite where you dont get enough voltage but the module you need DOES show up but you dont get the module#bc your voltage wasnt high enough#i love this gameeeeeeeeeee
4 notes · View notes
mybuttonfelloff · 9 months ago
Text
Okok so we all know the Sims 3 is like, not super popular and is also notoriously buggy BUT on the off chance anyone is like me and loves it, i have some tips that have greatly helped my game run better. I also am including links to any specific creators or sites I recommend. Tips under the cut bc it's a long post, but I tried to be thorough! You will need to understand like, basic reading comprehension and basic computer-y stuff (downloading files, unpacking files, dragging and dropping into folders, editing the occasional file text) but most stuff I link to have tutorials for adding mods into the game and whatnot.
I really hope this helps people like me who love TS3! but know the game is.... outdated for basically all computers. These are all things ive learned over the past couple years, so I hope this can be a helpful resource for anyone wanting to play TS3.
Number one will probably be using this tutorial to make the game recognize your current computer specs. Because the game is, yknow, old, it wont recognize newer drivers and whatnot. This tutorial will allow the game to actually recognize them and therefore run better https://www.carls-sims-4-guide.com/forum/index.php?topic=26753.0
Nraas will be your best friend for managing things in-game. It's similar to MCCC for the sims 4 but you completely customize which like, modules you use. I highly highly recommend specifically Story Progression and Master Controller https://www.nraas.net/community/home
LazyDuchess is a goddess and I highly Highly recommend her Smooth Patch mod. It makes the game run so much better. Also she has so many other mods that make things like CAS load faster plus a search function for Build/Buy https://www.patreon.com/lazyduchess/posts
ModTheSims is a great resource for Sims 3 Mods as well, definitely recommend making an account and perusing their sims 3 mods https://modthesims.info/
Speaking of ModTheSims, I highly recommend Regul Save Cleaner to... clean up the extra data in your saves https://modthesims.info/download.php?t=652440
Also on ModTheSims theres an excellent bug fixing mod from Simler90, it touches on a bunch of like longtime bugs that havent been fixed (like the firefighter career being bugged) https://modthesims.info/download.php?t=659969
Make sure that before playing or after adding any new mods, delete the files: caspartcache.package, compositorcache.package, scriptcache.package, simcompositorcache.package, and socialcache.package. If not, the game WILL load slowly and/or crash. These files are found in Documents\ElectronicArts\The Sims 3. Not sure about Steam bc I use the EA app, but I assume its a similar path.
Save every half hour or so to prevent crashes killing too much progress. And don't play for longer than an hour per initial load (like, play for an hour, save, quit and load the game again). I find it helps the game run smoother when you dont play in 3 hour stretches.
make a backup saves folder for your saves. Im not sure why, but i found that keeping only one save in the actual saves helps it loads faster and smoother.
Also when saving your game, ALWAYS use Save As. If you Save As, you wont have to worry about accidentally corrupting your saves, which happens a lot
Also, when you're about to save, move the save you loaded into your backup saves folder BEFORE saving. I find it crashes/corrupts way less if its not trying to compete with the other save
also keep your sims personal inventory fairly empty (like 10 items max) to prevent a known bug from occurring when saving. Use a storage box or something to store collectibles like gems, plants, etc.
WHEN IN CAS WAIT UNTIL THE LITTLE FLOWER LOOKING ICON IS BLUE TO SCROLL THROUGH THE CATEGORY. When it turns blue, all the items have properly loaded, so it wont lag nearly as much.
Prev point applies to build/buy, wait for the category to load before messing with things. You'll save yourself a lot of stress
Dont use 4 speed, i find it just lags and stops progressing time. I use 2 or 3 max, even when sleeping
In BuyDebug you can buy these invisible lights that make the lighting much much better in game. Just have an actual light, like a lamp or outdoor light, to be able to change brightness and color in Live mode. Bc.... Its invisible so non-clickable
16 notes · View notes
zeravmeta · 2 years ago
Note
15, 26, and 28 for the Arknights ask game.
15. The squad you bring on your first attempt
so this is an interesting one because I always tend to shuffle around my swuad wildly
for proper story completion i always have a premade mostly well balanced squad of all classes which I imagine everyone else does BUT for events and whenever I have to do some farming i always shuffle it to trust farm which leads me to trying out a bunch of weird ops/strats of units I did raise but dont use as much because they're niche as all hell. Idc if the module isnt out yet or if duelist defenders are somewhat lacking i s2m3d that Aurora and use her whenever i can
26. Something you want added to the game
a dinosaur girl or church grimm operator god fucking damnit so theres actually a very VERY minor feature i do want them to add to arknights: costume shuffle
so in FGO, units have 3+ different looks they can rock and for some characters, all their designs are good!! so theres a toggle option to randomly display any of the various designs whenever you bring them to battle
Arknights generally only has 2 if an op has a costume, but generally most if not all base designs also fucking rule so id love a random display option to mix it up between the 2 whenever you bring them to a map. To add to this, some units actually do have significant design changes when they hit E2 but their in game sprites dont change, so if they ever do make new game sprites to reflect E2 changes, id want this option even more
28. Strongest Operator
a toughie! theres lots of units who are strong in lots of unique ways and Arknights is designed and balanced around the map design where you can clear even the most difficult stages with a squad of low rarity units
So I'll just list a few from each class that I consider specific standouts-
Guards: Blaze, Thorns, Silverash, Surtr, Lord Guards, Centurioun Guards, whaddya want me to say they call the game Guardknights for a reason
Vanguards: MYRTLE (really all standardbearers), Bagpipe, Saga, Siege (yes im a siegebaby i don't care she rules and functionally is about the same as Saga only slightly weaker)
Sniper: Exusiai (dont listen to propaganda shes still among the best snipers), Rosa, W, Ash
Caster: Brother, if you dont throw that volcano sheep at everything what are you even doing. Seriously though Eyjafallja was the strongest st caster on release and nearly 3 years later still is BUT they have released more fun tech options like Ceobe, Dusk/Mostima. Oh also Carnelian and Passenge- [the door is kicked down and I am dragged away by men in suits]
Defenders: Mudrock, Horn, Saria, Nian & Hoshiguma arent considered that good by the community but legitimately theyre among the best Defenders at actually Being Defenders and they've had some good showings recently due to their damage reflection
Medic: Kaltsit (not as a MEDIC specifically but Mont3r is among, if not the single most powerful summon unit we have and Mont3r is a fucking MONSTER), Shining and Nightingale are your bread and butter ST and AoE medics, however Ptilopsis and Perfumer see more use for AoE because their low rarity+more general utility does make them more widely applicable to more team comps
Supporters: Skadi Alter (the great one, the savior, the posessed idiot) and Suzuran (you need something gone you just activate that S3 and watch things die. S3 is also a really fast aoe heal for all friendlies in range so theres some extra utility)
Specialists: Specialists have a ton of weird, Specialized units like fast redeploy, trappers, push/pullers etc so just play around with all of them. however invest in Jaye and Gravel because those two 4*s are among the best in their rarity, Jaye for IS has some of the biggest returns per investment and Gravel is your wife
5 notes · View notes
freshlybakedspiderbread · 4 years ago
Text
I brought up hanyang type 88 here and i said i’d explain, so here I am!!
okay so first off here’s a bunch of likely useful context about girls frontline. There is this feature in the game called digimind upgrade, or mod 3, where certain t-dolls can be upgraded past the normal maximum levels and stats, and at the same time gaining whole new abilities and also a new design. Basically a reinvention. There are like hundreds of playable characters in the game, and only a fraction will get mod 3s, typically the ‘main characters’ who are relevant to the major ongoing plot.
two things about getting a doll who has the ability to do digimind upgrade, to actually do that. One, is that it can be very costly in terms of in-game materials. like, maybe i just played the game wrong but I would have to grind for weeks in order to amass the materials to upgrade just one doll to mod 3. So even though by now there are dozens upon dozens of dolls who are capable of this feature, i’ve only actually done so with like, less than one dozen. A normal player probably has to be picky.
secondly, and this is the big one, every t-doll’s mod 3 comes with story cutscenes that become available for you to view upon upgrading them. Personally, i think most of the only worthwhile mod 3 stories are the ones that are associated with the actual major characters of the main story, especially since their upgrades actually happen in-canon and their mod 3 stories fill in blanks or otherwise expand upon the regular story chapters.
for the t-dolls who aren’t major characters that get digimind upgrades, their associated stories tend to follow a very basic pattern. They’re feeling like they are falling behind other T-Dolls in abilities or are otherwise experiencing a drop in confidence in their abilities, but then find the resolve in them to either change themselves or stand by an aspect of themselves, and this leads them to heading to the lab to get upgraded. obviously theres some nuances here and there depending on the character, but a lot of them, from what i saw, follow this basic pattern.
hanyang type 88 has a mod 3 but i certainly never wanted to see it. Firstly, using the feature at all takes up resources are kinda precious so i wasn’t just gonna use it on anyone. Secondly, she is just one of many one-off t-dolls that basically dont ever show up in any actual main story cutscenes or even funny events. Thirdly... you saw what she looked like in the linked post, i was in no rush to make use of her.
That being said, even if you don’t ever upgrade a t-doll, simply having them in your possession allows you to at least view the first of four parts of their mod 3 story, which nets you a small amount of those materials needed to see the rest (its a pretty fiendish system, huh o_O). I was lacking in some materials to upgrade a doll i cared about, so i just mucked around, eventually happened upon type88 again and decided that instead of just immediately feeding her to the furnace, I’d watch the first chapter of her mod 3 story. I watched it, it made me just curious enough to look further, and well. ...I got into it. Exactly what I got into, i shall now just elaborate and summarise the whole thing in my own way! Warning, it’s long!
(disclosure: my summary will bias towards my own preferred interpretation whenever any aspect is somewhat vague.)
The story starts with type 88, or as she is called by others in griffin base, Ai, working her shift in the base’s cafe, because what else would she be doing.
Tumblr media
i hate looking at her! Anyway, its just a pleasant peaceful day and Ai is taking the logistic person, kalina’s order when suddenly in the middle of a conversation, Ai freezes in place and starts making worrying sounds.
Tumblr media Tumblr media
kalina here and the t-dolls present in the cafe are concerned, and talk about how Type88 has actually been crashing like this more and more frequently lately, yet has not reported any of this to the maintenance crew despite the advice of her friends. They try rebooting her on the spot, but it has an even more concerning effect, because she starts erratically acting like she doesn’t recognise the others, and talks about how she is a maid in “Jiangcheng Cafe”. Afraid that her neural cloud (her mind) has been scrambled, they put her to sleep and bring her to the repair bay.
Its in the repair bay where they explain exactly what is wrong with type88. She is a fairly old doll, and her processing capacity has been severally clogged up for a long time. Her internal memory is overflowing because many large sections of her mind is filled with very large encrypted files (memories that she stored away). she is likely to keep crashing and possibly even cease functioning entirely one day if those encrypted files are not deleted, but nobody is really keen on just deleting parts of her mind without her consent. For now, kalina just opts to try and decrypt the files and see what they are.
And from here, we watch type88 memories from her perspective. Sort of. Kind of. It gets complicated later but for now, we view the first memory of her life, not as a combat t-doll type88, but...
Tumblr media Tumblr media Tumblr media
...as 59898, a doll designed to be what is basically a ‘crash test dummy’ for testing artillery technology in a research station. With a purpose like this, 59898 has an (ostensibly) rudimentary AI. Her learning ability is intended to be used to better aid the results of their testing, but she also knows how to understand and even imitate specific human gestures in order to better respond to instructions or conversation, even though she herself has no voice module to speak with. She is assigned to assist one specific person.
Tumblr media Tumblr media Tumblr media Tumblr media
first off, i was pretty shocked right off the bat that this story above so many others actually has unique assets to it. The above two sprites don’t show up anywhere else in the game, i don’t think. Secondly, this woman’s name is only ever spelled with those white squares, so I’m stuck with having to just calling her ‘the pilot’, as dry as that sounds... I just don’t want to type out weird characters every time, or call her ‘triple cube’...
Anyway, so 59898 is assigned to help this woman in testing artillery tech (stuff like mechs and tanks). I should mention really quick that in the game’s story, during this point of time is when world war iii is happening, but that’s just a backdrop for robots to eventually gain more prominence. Anyway, we move on to the second memory, where some time has already passed. At the beginning of this memory, the pilot is visibly depressed, which 59898 takes note of.
Tumblr media
Her ‘comfort mode’ consists of patting the pilot on the head, who while surprised, actually is grateful. She feels comfortable enough to talk about her worries aloud to the doll, mentioning how she is a war refugee and has to make a living in the research base because she can’t go back to her home in china, at least not before making enough money for a very expensive and exclusive train ticket. She continues to talk at length to the doll...
Tumblr media
...not that the test doll is capable of responding to anything she says. The pilot insists that she’s happy just to have someone listen to her though, since she feels like she can’t really express her feelings to any other person on the base. Despite that-
Tumblr media Tumblr media
That aside, the pilot says that referring to 59898 by her serial number all the time feels a bit weird, so she decides to give the doll a name. (I sure wish the story would give this woman a name too, other than ‘three white squares’ but oh well...)
Tumblr media Tumblr media
She talks more with Jiangcheng Ai, or just Ai, after that, asking her if she’d like a change of clothes sometime, like some casual clothes, or an old maid outfit from an old cafe job she used to have (I guess they had to throw in any explanation for that outfit somehow) Point is, more and more time passes.
As time passes though, and we go into the third memory, the pilot brings up complaints to her superiors about how the more recent testings, becoming more increasingly intense and frequent, are putting a great strain on Ai, and even repairs can only help maintain her chassis so much. She insists on wanting to take Ai’s place in the testing, but they refuse because, well, Ai’s entire purpose is to take the strain of these tests so that the human pilot doesn’t have to, and the doll is just a tool there to pave the way for the pilot to eventually take over the mech in action
Tumblr media
The next time Ai wakes up from her most recent repairs, the pilot is there to greet her, and Ai can tell straight away that she’s unhappy and tries to comfort her again. The pilot is not surprised at this and talks about how this is how Ai has been since they first met. She goes on to say how all the other people on the base don’t know her half as well as Ai does. Ai tries to understand and determine what the pilot’s intentions with saying all this is, but she cannot do so and can only listen while offering ‘executing - affirmative nod’.
The pilot talks about how once the war is over, she’d like to take Ai back home with her, where they could go to all sorts of gatherings, and the pilot would introduce Ai to her friends.
Tumblr media
Ai reviews her personal data, confirming that she has no owners or obligations other than the pilot, so she executes another affirmative nod, and the pilot says this:
Tumblr media Tumblr media
As Ai tries and fails to further determine this, something bad happens! if you’ve read this far, i’m sure you’ve already guess what happens next...
At that exact moment, a warning goes out and the research base is being attacked by nebulous enemy forces. With no time to talk anymore, both the pilot and Ai head out into their first real fight.
They spend a good long while repelling enemy forces, working well together and apparently using all sorts of wacky anime weaponry like beam blades and whatever ‘retrograde evasion’ is!
obviously though, you already know this isn’t going to end well for them... When the pilot takes a breather, Ai moves to protect her, but at a critical moment, a sudden high-speed projectile comes her way. In the next instance there’s a crash, and we move onto another memory. Where its all fire and debris, and Ai can’t move.
Tumblr media
^ this text box actually repeats several times, indicating that she is repeating her scan for life signs over and over. She gets an internal warning from her systems (differentiated with red text) that she has insufficient power and it warns her to immediately cease ineffective operations. [Unable to detect owner life signs] repeats again.
At this point, uuuuh, its a little stupid actually? because two humans show up, reusing generic ‘bad guy’ sprites from other events that don’t match the current environment and situation at all (one is in a suit and the other is in casual clothes). but the reason they’re here is to provide exposition out loud about what happened. It looked like the human’s mech took a hit for the doll and was blown to bits, though they talk about how that doesn’t make any sense.
Ai at this point tries to execute a bunch of different actions like hugging [target not found] and screaming [no relevant module] but they all fail, and her internal systems tell her that her power is running out and she will cease to function in 30 seconds.
So in those last 30 seconds, Ai decides to quickly review her internal files. the damage she took has corrupted her memories and she doesn’t have the time to properly go through them, so she executes a ‘simulated processed records’, which basically mean she’s just filling the blanks of those memories herself with simulations.
And I have to say. I was decently into and enjoying this little story so far, but its this part that’s the reason i became forced to make this stupid giant post. the first ‘memory’ loads up, and we see the pilot.
Tumblr media Tumblr media Tumblr media
Different ‘memories’ of the days spent with the pilot are loaded back to back, each are very short and only last a few lines. Across these files, the two of them talk comfortably with each other, Ai is invited to go get coffee with her, the pilot talks about how going alone is boring and would rather spend time with Ai, Ai saying back with her own words that she always likes spending time with her, etc etc etc.
And then finally, she loads one last ‘memory’, from earlier that same day, before the explosion and the fighting.
Tumblr media Tumblr media Tumblr media Tumblr media
and she shuts down.
i passed by this scene the first time all calm, but an hour or so later when I was in the bathroom replacing shampoo bottles, i started thinking about it and I literally started sobbing. And then again later that night when i was in bed. I hate this game!!
so that’s the ‘end’ of that, and the next scene opens, once again in griffin base’s cafe, except...
Tumblr media
Ai is sporting a brand new (ugly) look. She says she’d like to take kalina’s order but she was just leaving on other business, as she likes keeping herself busy with all sorts of work around the base ever since she got upgraded into a gundam gajinka. and after she leaves, kalina talks with the other dolls about how Ai used to have some cache issues because her neutral cloud was too full, but upgrading into this new chassis easily fixed that and even allowed her to make use of her old locked away abilities.
Because of the way this scene in the cafe opens up exactly like the very first one at the beginning, it makes me believe that this final scene is also a simulated ‘memory’, that is, Ai filling in the blanks of her corrupted memories with what she wishes to be reality. And i feel confident in believing that because after the scene fades to black, we see more of her internal system monologue.
Tumblr media
She (the system) says that the priority execution is to preserve those encrypted memory logs. She does so, and the neural cloud upgrade is complete with confirmation of no loss files. With no risk of deletion in this new form, she executes the command to unlock the encrypted memories. And finally...
Tumblr media Tumblr media
[spiderbread dies]
i still wouldn’t use her in gameplay because i can’t stand looking at her design but  i told you all i eat up robot with feelings stuff and this is like prime example of exactly that... and if i didn’t make this post, i think my own neutral cloud’s cache would be at risk of overflowing x_X!
6 notes · View notes
spicyfloaty · 4 years ago
Text
Give & Take | Chapter 4
Tumblr media
pairing: kacchako
genre: slowburn/fluff
words: 2.4k
summary: Ochako's grades are slipping. Bakugo is dangerously nearing suspension, or worse, expulsion. A certain twist of fate pairs them together for tutoring sessions. He teaches her math. She keeps him from getting suspended. A simple exchange, but what if this only brings them closer than necessary?
header credits: @alexbenedetto
[READ ON AO3]
Chapter Three
Chapter Four: Bakugo’s Fingers
If you told Ochako that her first tutoring session with Bakugo Katsuki was going to be as dead silent as it was right now, she would have laughed and thought you were crazy. A scenario she had been playing over and over again in her head consisted of flipped tables, burning paper, and repetitive yelling. She had expected all of these and more, but Bakugo just loved to prove people wrong, didn't he? 
She could have heard the tiny footsteps of an ant, if anything, she bets that she could have counted its breaths in this deafening silence. In all honesty, she’d much rather have Bakugo say absolutely anything if it meant that he would at least talk and give her something to work with. She felt as though she had been having a discussion with a brick wall for the past 20 minutes, given that the brick wall plopped himself on the other side of the room, chin cupped in one hand, looking out a window completely uninterested.
Ochako looks down at the bulk of text on her book and begins to read it out loud. She modulates her voice just right, properly enunciating each term to give off an air of confidence around her even though in reality, her head could hardly keep up with what she was saying, “So basically this means that I should...factor it out?” She asks.
The air of confidence she had while reading almost instantly diffuses after trying to make sense out of what she just read using her own words. She hated the way she sounded so unsure with every concept but asking these kinds of questions out loud was the only way she could get some kind of affirmation that Bakugo was still in the same room as her.
He grunts, not even bothering to look at her. This sound usually meant that she got it right...or wrong, she wasn’t sure, she still had a ways to go in decoding this new language Bakugo had introduced her, he was really fluent in I don’t care. Ochako resists the urge to ask him if he was even listening to her because if there was anything she would dislike more than the painstaking silence, it would be a screaming match with Bakugo. Then again, at least he’d have to say something if that were the case. 
She sighs, then proceeds to read the next few paragraphs. The tone of confidence in her voice falters as each topic she comes across becomes exceedingly harder to comprehend, “This means um,” she quickly rereads the last portion to make sure she has it right, “I factor it again?” Ochako looks up at him hoping for some kind of reaction this time. Unfortunately, the view from that window was still ten times more interesting to him compared to this conversation, if you could even call it that.
“No.” Bakugo says flatly. She waits for an explanation that should usually follow that kind of response, but to nobody’s surprise, it never comes. Ochako almost throws her hands up in frustration, but instead, she just rests her forehead on the palms of her hands. She knew that massaging her temples won’t resolve the steady decline of her patience, but she goes ahead and does it anyways. This way, the not-so-proper things she’d like to say to him right now, bouncing off the walls of her mind, won’t cause an unwanted migraine.
She lifts her head to sneak a glance at the blonde mess that was the back of Bakugo’s head, what goes on in that mind of his, Ochako will never know. She thinks back to Aizawa discussing his situation and how these sessions were quite literally the only chance he has of not being suspended, or if worse comes to worst, expelled. Bakugo’s behavior so far surely wasn’t that of someone who cared about any of that, but one thing’s for sure, he’s here, which meant that he did care. Well, at least to some degree.
Bakugo might think that all he had to do was show up for this agreement of theirs to be fair game, but Ochako couldn’t just let herself be used as his one-way ticket out of trouble when she’s sitting here wasting her time not learning anything.
“Bakugo,” she starts, and for the first time, he actually looks at her, but only for him to glare at her as if saying his name, let alone, speaking to him directly were a mortal sin. Ochako feels herself shrink under the intensity of his gaze, but she doesn’t back down. She wanted his attention, she’s got it right now.
“I don’t think this is working.” she says this in the gentlest way she could possibly put it, her heart rate races as though she was getting ready to poke a sleeping dragon with a wooden stick. One might say that she already did.
“What?” Bakugo snarls. Oh, the dragon was definitely awake now.
Ochako chooses her next words carefully, but she just stumbles over them with nonexistent grace, “I um, I don’t think I can learn just by,” she struggles to find the words to describe the ineffective mess they were doing, “this.” Great job, Ochako.
Bakugo’s eyebrows knit together so closely she’s surprised they don’t start knitting sweaters, “And why the hell not?”
Ochako decides that she’s gonna have to be more specific if she wants to get her point across, even if it means increasing her chances of getting barbequed by flaming hot dragon breath, “It’s almost been an hour and you haven’t said anything to help me understand any of this yet.”
She tries to cushion the slight harshness of her words with a soft expression, but this doesn’t stop Bakugo from narrowing his eyes into slits. He might as well have had trails of smoke fuming from his nostrils judging by the look of disgust on his face, “I don’t know what gave you the idea to talk to me like that, but you shouldn’t”
The point must have missed Bakugo’s head and flown straight out the window along with the rest of the restraint Ochako had been using up until this very second, “You can’t just expect me to not say anything when you’re supposed to be helping me with this,” she dares rival his intense stare with her own, “and I’m sorry to break it to you, but you’re not.”
Bakugo grimaces, his scowl sinking deeper into his face as he shifts his whole body in his desk to fully face her, “Listen, round face, I dont know know what the fuck your problem is, but things were going just fine before you chose to complain about it.”
“Fine?” She almost laughs, “You think me talking to myself is fine?” Ochako doesn’t normally raise her voice to anyone, she had always considered herself to be someone who could stay calm and collected in any given situation no matter how stressful it was, but there’s something about him that makes her blood boil to temperatures that would make Endeavor jealous.
“Who says I have to say anything for you to learn something?”
Ochako wasn’t proud of it. Maybe it was all the stress and pent up frustration from her job, her studies, hell, maybe both, that finally snapped the last thread of patience keeping her composed and rational, “Ugh! Why do you have to be so difficult?”
She sends her eraser flying towards Bakugo, but without even flinching, Bakugo catches it before it hits his face, the corner of his mouth lifts to give her a shit eating grin, “Wanna try that again, round face?” He tosses the piece of rubber back and she catches it just in time before it reaches the floor.
Ochako takes a mental step back to close her eyes, taking a few deep breaths to calm herself down before they spend the rest of the hour bickering, and before she runs out of stationery as ammunition, “Don’t you think it would be best if you actually explain these concepts rather than just having me read these over and over again?”
Bakugo lifts an eyebrow, “You got some kind of problem with reading?”
She releases the tightening grip she had on her eraser, she knew better than to do that again since it won’t even have the chance to crash land on where she wanted it to, “No! I--god, how do I put this, it's just that,” She gestures towards her textbook, “I’m not getting anything.”
“Why?” He asks as if she just told him that she didn’t know how to count to ten. Ochako decides that she didn’t want to argue anymore, she had already exhausted enough energy from just trying to make herself make sense to Bakugo and resisting the occasional urge to throw an entire desk at him. The last one took every single cell in her body not to do.
“I don't know, okay?” She exhales, “I’ve already tried reading all of this stuff on my own, I wouldn’t be here if I could understand it just from that.” She attempts to give him the most earnest look her face can muster, “So can you please just try and help me out here?”
Ochako momentarily catches a flicker of surprise in Bakugo’s eyes, maybe she looked a bit too earnest, just before his face twists into another scowl as he turns away to direct his attention to the wall. Bakugo’s eyes seemed to dart everywhere except her direction, but after a few moments of contemplation, he throws his arms up in frustration, “Fuck, fine!”
She expected him to pull out his own textbook from his bag, but nothing could have prepared Ochako for Bakugo making his way towards the other side of the room until he was right in front of her. He grips the corner of her desk with one hand and flips her text book to face him with the other. Red eyes peek at her from behind the blonde strands of hair that fell on top of them as he offers her his free hand.
Wait, is he asking me to hold his hand?
“Your pen, idiot.” He spits.
“Oh! Right, yeah, um here you go.” He was right, she was an idiot. Ochako hands him her pen and the brief contact of their fingers only add to the heat spreading like wildfire from her neck to her cheeks.
He pulls a chair from the table behind him and sits down, “Tell me what you need help with.” he grumbles. Ochako still couldn’t bring herself to string a single sentence due to the sudden change in proximity, not to mention the fact that they were also sharing a table that wasn’t exactly meant to accommodate two people.
She flips to a couple of pages back and points to an especially complicated part of the lesson. Bakugo takes a moment to read the entirety of the text, underlining a few words and phrases here and there as he goes through each page. Ochako didn’t know what to do while he was doing this, she can’t exactly read along with him since she’d be reading upside down. Instead, she quietly watches Bakugo, his eyebrows slightly furrowed, lips occasionally parting as he muttered parts of the paragraphs. She wondered if this was what he always looked like whenever he was studying with his friends or alone in his room back at the dorms.
“You done being a creep?” He suddenly asks, his eyes still fixated on her book.
Her eyes widened as she quickly looked for something else to look at, “Yes--no! I mean, no I wasn’t being a creep.” Her eyes find the ceiling. It amazed her how she could find 30 different ways to embarrass herself in front of a single person within the span of a few minutes.
“Sure.” he mutters flatly, eyes still glued on her textbook.
Bakugo finishes reading and turns the textbook again so she could see the things he had underlined along with the short notes he wrote beside some of the paragraphs. He begins to go over each concept and Ochako had to actively slide her finger along each sentence because of how fast he was going. Despite the ridiculous speed that he was explaining in, she manages to successfully keep up, the difficult terminologies and formulas slowly but surely begin to make sense, each cog in her head finally coming together for her to actually understand the examples shown after each concept.
Bakugo hands her back her pen, “Your turn.”
Ochako doesn’t miss the feeling of their fingers touching again when she takes it. This happens a few more times as she answers a set of questions in an exercise, both of them taking turns writing down solutions to each one. After the fifth time, yes she counted, she asks, “Did you bring your own pen?”
Bakugo’s eyes settle on hers once more, a familiar scowl painting his face, “You got a problem with me using this one?” He retorts. She debates on whether it was a good idea telling him that his fingers were distracting her, phrasing, Ochako, but she ultimately decides against it for obvious reasons.
“Nevermind.”
One problem in particular had her stumped for a couple of minutes and it takes all the little Ochako’s in her head to figure out how to approach it. She had been scribbling down the beginning of a solution when she feels a pair of eyes linger on her for a suspicious amount of time. It’s only when Bakugo’s staring hits the 2 minute mark that she says, “You done being a creep?” She grins, not taking her eyes off the page.
“Tch, you wish.” She didn’t have to be looking at him to know that he rolled his eyes at the remark.
An alarm goes off from Ochako’s phone, signaling the end of their session. She had miraculously gotten half of the questions right this time which was a huge improvement considering that she couldn’t even get one right before. She was about to thank Bakugo when he suddenly sprang up from his seat, hastily grabbing his bag from the other side of the classroom. He glances her way one last time before wordlessly exiting the room, leaving Ochako alone with her own thoughts that seemed to only revolve around the warm feeling of Bakugo’s fingers on hers.
4 notes · View notes
hey-hamlet · 5 years ago
Text
BNHA AU Ideas: Power Transfer
Also on AO3!
TL;DR: 
One for all is a power that has been passed down for generations. Turns out the most recent generation can afford to be a whole lot more liberal with his sharing. Also turns out sharing quirks runs in the family.
An AU where Izuku can share OFA full cowling with multiple people at once.
shared power ofa,
izuku giving aizawa 5% of one for all durring the usj or izuku giving toshinori 99% of OFA durring the last fight
cause consider the world never finding out about small might, all might retires but izuku knows
the rescue team all having the max amount of ofa they can use, which is around 2% each, cause a lil sparking team of heroes
izuku using kirishima to give bakugo some too n them using it to get away
izuku having two quirks is my favourite goddamn thing bc him being able to share his quirk but not having anything to share is great
he gives bits to allmight, like a constant 1% so he can teach classes and do press stuff
some rando wants to do an "all might" where is he now segment and it spans a good few months so izuku is continuously in the background just
conspiracy theory starts that izuku is a villain or allmights son
a villain and all might's son
izuku has no double toe joint but the doc cant find any evidence of a quirk? so he tells them izuku is either quirkless or has an invisible quirk. something subtle, or specific enough to have not activated by now
bakugo kinda,, is chill with izuku. he was waiting for izuku to develop a quirk till he judged him, but he never did so he kinda withheld judgement long enough for them to become decent friends
anyway, izuku likes to ramble about different things his quirk could technically be, bakugo likes to join in. they can go at this for h o u r s cackling about stupid hypotheticals
they workout together, they both do boxing and try out random moves they see on the internet on each other. they have a pile of gym mats in the woods like the weirdos they are
bakugo is like,, convinced izuku's quirk is actually an intellect up but he just shrugs
izuku has to grab something before he heads home so he takes the underpass and we get basically episode 1 from there. all might says no, the villain gets away, attacks Bakugo. izuku runs in, throws dust in the villain's eyes and pulls at bakugo's hands. all might jumps in, saves the day yada yada
some background for u about all might bc his past is a touch different here. during the battle with afo, afo was distracted. all might sustained the same injures but won more easily.
night eye never looks into his future because "my purpose is done, nighteye. let's live like everyone else, no fate of the world on our shoulders" he never looks into all mights future again at his request
they stay together
so instead of the big argument they go get ramen and get drunk because they don't have to be superhuman anymore, they can relax now
back to the main timeline-
so izuku is already fit, cleans the beach in 8 months, nighteye supervises
all might gives izuku the quirk 2 months before the entrance exam, nighteye is there to "oversee" (he wants to see izuku choke on a hair and laugh at this kid hes become pretty fond of)
also mirio! is izuku's bro because i love he
izuku eats the hair and gets the quirk like, instantly which?? is confusing nighteye and all might. nighteye has like,,, hidden behind a car because hes the only person with self-preservation
allmight touches izuku and the lightning climbs up his arm and he just pOofs out into swolmight. hes ShooK, so is izuku
anyway, he manages to turn it off and izuku is just standing there like "oh my god what the fuck"
"izuku,, what,, happened there"
",,,, one for all??? leaked out??? into allmight????"
...
"nighteye come over here."
"izukU nO"
"STAND STILL NIGHTEYE I JUST NEED TO TRY SOMETHING"
nighteye is forcibly given a little of ofa and regrets a lot of stuff
anyway, izuku breaks an arm trying to use ofa and hes muttering trying to work out how to use it, nighteye basically says "well, think back to how ofa came about" and izuku is like ",,, what"
and nighteye screams because TOSHI YOU DIDNT TELL HIM?????? and allmight ",,, o o p s"
so izuku gets to hear the story of all for one while hes being driven to UA for recovery girl hes,,, really quiet for a second
"when did you fight him?"
"six years ago, april?"
",,, this has to be a coincidence"
hisashi went out on a "business trip" 6 years ago and they haven't seen him since. he calls, but hes never visited and izuku has this terrible feeling
because izuku cant calm down and because nighteye thinks this kid might be on to something they call tsukauchi and he agrees to meet them at UA
izuku gets treated, naomasa is in v quickly afterwards before he calls his dad he turns to nighteye, allmight and Naomasa
"i've never been able to lie to my dad. i thought he was just really good at reading me but,,"
"if hes afo he might have a quirk"
"yeah. so i'll just twist the truth. im good at that, but thats all i'll be able to do"
anyway, he calls up his dad and slaps this big grin on his face. the phone is on speaker
"hey dad!!!!" "izuku! is something wrong?"
"oi, cant i call my dad for no reason?"
"you, willingly calling someone? dont make me laugh"
izuku giggles despite himself
"anyway, you'll never guess!!"
"did youuuu,,,, hmmmm, meet all might?"
they freeze but izuku just laughs
"yeah,, but thats not the most exciting thing!!! my quirk came in finally"
"oh?"
"yeah! imagine the worlds most basic power enhancer, but i can share the energy! you have any idea where that could have come from?"
"no! i can't think of anyone in our family with a quirk like that! sounds crazy!"
naomasa looks grin, and mouths "liar"
izuku pales but keeps his smile
"do you think you could visit, id love to show you!! oh, maybe we could test it together! you always had the best ideas for my quirk notes"
"id love to izuku, but im stuck in america for the near future, you know it is. i'll see what i can do tho, ok champ?"
naomasa shakes his head again "lying" izuku looks like hes going to be sick. nighteye is pale, all might looks stunned. izuku grits his teeth but his voice is still light and happy
"i'm gonna make it into UA so you can watch me kick butt from america! you better cheer me on!"
"im looking forward to it. say hi to your mother from me."
naomasa nods. hes telling the truth. that makes nighteye feel the sickest
"love you izuku"
",,, love you too dad"
izuku hangs up the phone and retches into the bin. nighteye is shaking. all might storms out. naomasa punches the wall
izuku looks up with tears in his eyes
",,, does my mum know?"
nighteye wants to cry
"i dont know kid"
izuku tells katuski that his quirk finally came in! but,,, in the worlds biggest mess of a way
basically hes lying in bed, trying to work out why he can't use it without breaking bones but the people he shares it with can, he bolts upright
"POWER MODULATION OH MY GOD"
he runs out his door all the way to bakugos house and climbs in through his window, grabbing a sleeping bakugo by the shoulders
"KACCHAN ITS POWER MODULATION"
"IZuKU whAt tHE fuCK"
"my quirk!!! i was breaking bones because i wasnt modulating it!!!"
",,,,q QUiRK/???/?"
",,,, oh yeah oops"
mitsuki runs in with a frying pan ready to murder a villain but its just izuku
"carry on"
izuku doesnt tell him its ofa but he explains his quirk has finally showed up, bakugo asks him if hes registered it yet
",,,noooooo"
"wait what? you, breaking the law? mister "i cant kill an ant because all might himself will call me a villain""
izuku, w the most shit-eating grin, explains that you only legaly have to register your quirk when it shows up, or after you are tested when you are five, whichever happens first so, legally, he doesnt need to register because it would be seen as voluntary updating
cut to the enterance exam
aizawa is holding the papers for the kids hes observing right then
"quirkless? that kid doesn't look quirkless"
and yagi sighs
"of course he didnt,,,"
"all might? do you know him?"
"NO NO IDEA WHO MID- THAT YOUNG CHILD IS"
",,,, r i g h t"
“aizawa listen i have never seen young midoriya in my life ever”
basically, izuku is hiding the "transfer" part of his power from most people bc hes stubborn and thinks it could be useful
also,,, in this au shinso makes it in on hero points thanks
bakugo is about to rush the 0 pointer but shinso can see its going to fall on him shinsou yells
"HEY FUCK FACE"
"HA-"
"MOVE MOVE MOVE GET OVER HERE BEFORE YOU FUCKING DIE OH MY GOD MOVE I DONT WANT TO SEE SOMEONE DIE TODAY"
shinsou and bakugou are the type of friends that flat out have no love for each other but would punch anyone who says anything bad abt the other. like shinsou walks into school and bakugou s just
“dammit i thought u fucking died smh”
“i wish i did then i wouldn’t have to look at ur ugly ass”
in this au shinso and izuku bond when they are standing outside they door bc izuku looks like hes gonna fucking cry hes so scared and shinsou is like "wow big mood"
shinso is not shinson in this au! bc izuku is gonna do a soft
basically, quirk test? shinsou is s w e a t i n g bakugo looks a little worried for his new friend but no one would notice if they weren’t izuku
shinsou turns to him like "my quirk is mental im going to fa I L"
izuku grabs his hand and he feels this rush of energy, you can almost see it dancing along his skin. izuku grins
"i think you'll find you do just fine"
(izuku gave him like,, less than a full 1% but hes like doubled in strength and speed and hes??? shook?? bc whats happening)
aizawa is lost bc shinso has a mental quirk he shouldnt be doing this well, so he tries to cancel it
nothing happens and aizawa is so lost??? bc shinsou is kinda reedy and not super fit but hes placing solidly in the middle
and he noticing that shinso’s eyes seem to be glowing and so are they eyes of the kid coming in second and gives a big "hm,mmmm"
anyway, ball pitch, he cancels izukus quirk and turns to look at shinso, his eyes are dim. izuku looks sheepish but also like hes ready to throw down and its an interesting look
aizawa just sighs "you know what? just throw the ball."
izuku g r i n s and yeets it into next year using more of his quirk than he like,, really should have? to prove a point (his finger is bruised, not broken. he used 25%)
anyway aizawa shows the results, shinso is in the middle, izuku second, hagakure is last and sadly shes not getting expelled bc plot reasons – im sorry I have a thing against her shes perfectly valid probably im just still convinced shes the traitor even tho its totally a teacher
he calls izuku out on it but does admit he didnt say you couldnt help eachother, so its kind on him. shinso looks like hes going to pass out with relief
Hagekure is the traitor in this au though, 100%
during the camp she is at the pick up zone, hiding. izuku pulls bakugo out of the way, they all seem safe
but
she pushes izuku in through the portal as it closes
fyi afo takes her quirk and leaves her braindead in the nomu factory bc shes not useful anymore. also because now he needs to have a really awkward conversation with his son he was hoping to avoid
also usj? is really melodramatic
he gives aizawa 4% which is the max nighteye could hold without it hurting
aizawa takes a hit from the nomu and he reaches out his hand
izuku cries as he gives him an extra 4% and aizawa gets free but he can see bruises forming with every step his teacher takes
154 notes · View notes
gnohomaswitness · 4 years ago
Text
Party Game  Idea: Linux Administration Tea Time
You and a bunch of other people all connect to a single server or network of linux machines and have specific roles that you have to fill. There’s a sysadmin with sudo access or access to root who has to manage users and assign permissions to files, give sudo access where appropriate,etc. There’s bunch of developers who have to take care of repositories and software patching for the system/network. Devs also have to make scripts as requested by other departments. The sysadmin may choose to delegate user administration to other trusted users (sort of the HR) but must set the permissions just right to make sure they cant compromise the host with their authority. There is also a Technical support / security team who has to monitor logs and status pages for system issues or errors as well as suspicious activity on the system. The tech support team must keep the system 
There will be a cron job that runs on an hour long timer where a random user is selected as being the bad actor who is trying to escalate privileges and pwn the system (may have to be a lot longer than an hour actually, might as well have it be an event that occurs whenever the bad actor is logged out. You’d need all the time you can get and youre more likely to be noticed the more persistent and hasty you act (weird brute forcing, enumeration, attempts to access forbidden files), yeah on second thought, make it whenever the bad actor gets locked out). Sysadmin and security cannot be bad actors. (You could make it Sysadmin only but if security stops monitoring logs or telling the sysadmin about whats going on then it would be a dead giveaway and if they lie about it it just establishes in the meta that the sysadmin is basically doing security’s job thus making security pointless. sysadmin and security must be on the same side at all times.). Nobody can alter the cronjob except the root user, thus if a bad actor gets far enough to edit the cron table then they have already won.
Security has to monitor for things like suspicious behavior through the logs. They can also ask HR to turn up the heat and start making the system more restrictive to the point where all users have to go to tech support for anything outside the established policies. Any user who is locked out must be unlocked by Security or HR or sysadmin unless they team believes the user who got locked out was the bad actor. If the user was the bad actor, a new one is selected. The former bad actor (or locked user) must start up an entirely new account. HR hears from sysadmin what the newly created user will be doing and take that into consideration when determining settings that may differ from the default directives. HR can also decide what goes in the /etc/skel/ directory and if the new user’s home folder should be different.
Users may be locked out if they let their passwords expire and don’t reset it in time or if they get manually locked by an admin for suspicious/malicious activity. Security may request that HR tighten user security or make passwords expire quicker (bad actor may try to phish/keylog/reverse shell other users in order to escalate privilege.). HR or Tech support/security may also implement quotas on users to limit their disk/resource usage. Things like this will pinch down the bad actor to the point where they basically have to do their actual job. The drawback to this is it will lead to lower efficiency and you have a goal to reach. (idk what the goal is yet)
The bad actor may use social engineering, exploit misconfiguration or any other method to gain access to the root account. Perhaps they come up with a BS reason why they need access to something that expands their attack surface. If the sysadmin or security think they can trust the user, then they can give them what they want. The secret is that they should NEVER trust the user. They should carefully consider what the user should have access to and make sure they know what they are giving them access to. There are utilities that can search for misconfigurations. There are no rules regarding what the bad actor is allowed to do. There are always ways to exploit the host and always ways to defend it. No matter how severe the damages caused by the bad actor are, Sysadmin and security let it happen. As long as there is a way to fix it then sysadmin has to do it (backups or raid might be implemented by technical support or sysadmin). sysadmin must go to the physical host if they have to, or they must grant another user with the privileges to do it (if the system is not able to run, someone will have to use a live usb to chroot into the inactive system, the sysadmin better be super sure that the person they send is not the bad actor. (single user mode or live usb will run as root, thus if the bad actor does this then they win))
I’m learning so many amazing things while I do this cert. Advanced User Management, permissions, module loading, access control lists, single sign-on, email, directives, skeleton directories, user quotas, etc. Idk when Im gonna use some of this stuff to practice, I dont have much use for some of the cooler things. Hmm unless I automated the shit out of my network and had users for each script doing just what they have to do and nothing more. But then there’s no bad actor.
I hope...
Tumblr media
1 note · View note
digitalhallucination · 6 years ago
Text
Ok so I am going to talk about some theories on the fnaf 3 year pictures. I am likely going to bore even fnaf fans cause I think they are more relevant to the books then they are to the games. So I am going to put all this under a cut. Warning! This is old and fulla bull but cant bring myself to delete or update it so HERE!
So to start the theory and spoiler game off strong I am 70% sure Charlie is a robot. There are a few clues to that in the first book, like people telling her she is physically cold all the time, being told by her aunt to never go to the hospital unless its severe, a few other little things here and there. BUT! I did not think of this till I read The Twisted Ones as well as the new updates. How did I jump to that? Here I go into the conspiracy theory corner with Kat! To jump back a bit to Sister Location. I want to bring up this little device!
Tumblr media
The ah yes the “power module” I want to focus not on the big black circle but the small grey spot with the red light. In the book these little things are created by Afton Electronics, aka the company started by William Afton the child murderer. This little device is used to make them look different than they look when its turned off.(through some science stuff I dont understand and I an pretty sure that does not work that way) Basically, the little device there makes a very high pitch sound that fills in signals that your eyes miss, like reading a sentence with missing or added pieces that are not actually there. They are the reason the Twisted animatronics are that, twisted.
The book says they are made of smooth plastic that is largely featureless with pieces that come apart and are about 8 foot tall. Also, with specifically twisted freddy and fun freddy in the books (they are a different universe from the games after all) are the same character. In fact Charlie herself is said to be scooped up into freddy and put into a chamber just barely big enough for her to fit inside without setting off springlocks. Like the child in the blueprints for funtime freddy.
 But wait! You might be wondering still how they can look so different. In the games we are first introduced to them via posters! So we the technician know what they look like even if before that day you have never seen them. That is what you think you should see when the devices are active. In the books everyone is introduced to them as machines that kill people by putting them inside them and springlocking them. Its no wonder that they would think they would look like horrible monsters. The devices are not turned off when removed from Fun Freddy here it is still attached to the power module, not to mention that the switch is said to be in a ridge small enough to fit a fingernail. So that is why the illusion is still there, and I also believe these to be the “something bad inside” that baby wants to be rid of. I will be discussing the ending of the book and the new pictures as well. So if you have not read the book I really recommend stopping here. Like the end end, last chapter of the book stuff, the AHH SCOTTness of it all So if you have not read the books and plan to stop here. . Now for the interesting parts to come into play and I dive headfirst into theory mess. My first clue to it being a book related spoilers came from the springtrap picture. What a happy little picture of the rotting bunny the fandom loves.
Tumblr media
What I want to point out is the bottom left corner. The grey hand. Its Springtraps hands but looks like he has claws. 
Tumblr media
Those are not claws. They are the endoskeleton left behind after the animatronics drag him away, clawing the floor for any grip he can get to maybe stop his inevitable demise at the hands of the children/animatronics. We are told that there are scrape marks in the wood that lead to where he was stuffed to rot, a small storage space under pirates cove. Yeah scratch marks are not made with the padding seen on game springtraps hands. To me this screams Davetrap hands worn down to nothing but the endoskeleton.
10 notes · View notes
somnilogical · 7 years ago
Text
petty bitch
[22:58] somni: this body is really pretty 2 me rn [23:14] somni: that lasted 16 minutes [23:59] somni: okay this is super petty but im kind of annoyed that porpentine
>talks big about the experience of being ugly and gross >has a fleshform thats amazingly pretty
i feel so betrayed??? (i dont actually feel betrayed, i just feel i want to be pretty)
i wanna be pretty so bad
i wish i could stop wanting to look pretty and okay
ill probably end up having an abstract n dimensional figure if i have a form. idk if id still use a vision analogue in simspace
liike non-passing -> passing as 10000-dimensional representation of parts of my psyche
i kind of wish i could look nice in the middle(edited) 24 March 2018 [00:00] somni: kind of sad but at least i look better than i did before hormones [00:42] somni: okay
i think ill acknowledge petty and hug her but not let her front because letting things front makes them stronger? [00:43] somni: i think. ive read this no strong experience corroborating it with 2 sec of thought [00:45] SmolDuck: I think uhhh It’s important to try to like make sure all your subagents have their needs met and letting them front can lead to them taking care of their needs and then going to bed and leaving you be, while keeping them from fronting can lead to them going crazy and driving you nuts [00:45] SmolDuck: it can also lead to them sabotaging things tho so [00:47] somni: i knoooow mertl i originally wrote ‘fork’ [00:47] somni: because i also thought that and wasnt sure!! [00:48] somni: this is actually a hard choice for me,!,! [00:48] somni: but specifically petty i will ask her what is up [00:48] SmolDuck: sounds like you might want to gather experimental data by trying each path and seeing how it goes [00:48] somni: and not go autobloodlet [00:49] somni: hmmmmmm its haaard to be systemic about this thouuuugh thats a cached thought and may be #invalid [00:50] somni: (all thoughts are valid ooohh bb im so sorry for saying that omg. what was i thinking) [00:51] somni: i think the cached thought might be inaccurate [00:52] SmolDuck: nodnod [00:52] SmolDuck: outdated [00:52] SmolDuck: obsolete [00:53] somni: i want to try reinforcing things that i want to be stronger hmmmmmmmm [00:53] somni: merrr and talk privately with the other voices?
that would annoy me if people did that tho [00:54] somni: less so if they listened and changed policies based on my input? [00:55] somni: idk i dont like to declare things conserved quantities, because particular kind of zero sum thinking can cause lock in…. in most people i dont think it would lock me in because im actually good at noticing this
but it does seem like these two things trade off(edited) [00:56] SmolDuck: Hmmmmm [00:57] SmolDuck: Gentle reminder that this is not at all a private location for talking to your voices [00:59] somni: this is true [01:00] somni: the voices are #screaming tho and i gotta process
so like i thiiink that i want to be able to shift between these states depending on a thing but i d k what the thing is [01:01] SmolDuck: External cue? [01:02] somni: like between the states of letting everymodule out and trying to reinforce what ecosystem i want to have (who i want to beee) [01:03] somni: im keeping this post https://radimentary.wordpress.com/2018/01/16/the-solitaire-principle-game-theory-for-one/ in the back of my mind as a guiding framework when i say this(edited) [01:05] somni: and have been thinking of incentivizing and reinforcing parts of me i want (different but not disjoint from what i find pretty) [01:10] somni: i was also thinking of the process by which i passively gain most of my updates in personality traits and aesthetics and beliefs
where you have:
evaluate {laugh, aesthetic response, ooh i like it!} inspect for coherence with other parts (okay i often skip over this but also sometimes do it here instead of later) mirror the thing i like reinforce pattern by imitating independently let other people who have the pattern do discernment on your imitation, take criticism [01:11] somni: –
its like getting minor updates on all your programs nbd. passive growth / expansion [01:13] somni: –
but this is like directed towards growth and change which is different from being okay with and acknowledging the parts you currently have… except its not?
not really? not the way i do it
i mean yes its a different process but i d k if the two actually trade off in me when i do this thing
i was. autocompleting from memories of others subjective experience reports [01:13] somni: hmmmmmmmm [01:15] somni: i could probably both accept parts of me while reinforcing other parts at the same time [01:15] somni: meeevvvvvvvv okay so the thing nathan said is also a good observation that we also noted [01:15] somni: wanna address that [01:16] SmolDuck: wait which thing [01:16] SmolDuck: I say a lot of things [01:16] SmolDuck: fully half of them are framed to sound insightful but are actually kind of bullshit [01:16] somni: I think uhhh It’s important to try to like make sure all your subagents have their needs met and letting them front can lead to them taking care of their needs and then going to bed and leaving you be, while keeping them from fronting can lead to them going crazy and driving you nuts [01:16] SmolDuck: oh, yeah that one I endorse [01:16] somni: me too! [01:16] somni: i think!! [01:17] SmolDuck: ……uh [01:17] SmolDuck: if you did disagree, what would your disagreement be? is maybe a good way to find out [01:18] somni: let me think
ummm i might want to ask the subagent what its going to do [01:18] somni: if it fronts and talk with it [01:20] somni: but idk why do the council of elders have to be in concordance before i do anything
they dont thats literally not how you work
but i mean like in the ideal, or like in this ideal
we talked with person about how we have the council of all the parts of you, they talk it out and give their cases and then if their cases dont agree with you, you throw them out and do what you wanna do(edited) [01:21] somni: um! !! [01:21] somni: there are like three different alerts saying that’s wrong [01:22] somni: >yeah but one of them is our sim of nathan’s reaction so we can throw it out [01:22] SmolDuck: I endorse that [01:23] SmolDuck: if you want my reaction I can give it to you directly [01:23] SmolDuck: if you don’t want my reaction, toss your simmed version [01:23] somni: omg okay i miiight endorse this way of choosing
it is consonant with the way of choosing where to live where you have a bunch of spreadsheets and crunch the numbers and if in the end you dont like what the numbers say, throw them out and move where you wanna [01:24] somni: but its important to deliberate first because figuring out what choice you want to make is not always clear [01:26] somni: but also sidenote most choices branch out and then converge to roughly the same endpoint and for these you can actually do whatever you want without consideration as long as you can identify this sort of structure well [01:29] somni: um this is related to impulsive longsightedness where you mentally model the state of your body 1 day in the future and see that you are more or less safe invariant over a wide range of actions. so you are free to do fun and weird stuff. (that often looks really impulsive and reckless to people who are running shortsighted or people running 24hr!longsighted but who occupy a different epistemic state. but ime most of the objections and autoresponses come from people running shortsighted.)(edited) [01:32] somni: –
ooookaaay coming back to… what was the thing before the branch?
how to choose!
you have a bunch of voices in your head! how do we determine how fronting works and whats a good idea and how to pursue goals
and whose goals matter and how the system will grow and change and what parts of it to practice
okay stating it right here, evermodule’s goals matter [01:32] somni: >matter
like every module gets to be heard [01:50] somni: hmmmmm
this looks like a Project
okay!
so i want to be able to direct my growth #VALID
i also want to be able to tend to the parts of me [like id tend to a garden] #VALID
i dont have to maintain and reinforce things i dont want to grow in to #VALID what?! how is this valid??
>so look if i grow into new things and go in new directions, old things that are depricaded kind of iwhrvissh… i want to say fade away but idk what happens. they stop existing as much. stop being as available and salient?
i think there’s an important distinction between actively going around optimizing for killing parts of you. and like growing outwards into something new and the old stuff doesnt get that much reinforcement anymore because you cant hold on to everything, and even of i could i don’t want to?
some old parts are depricaded because they are clearly inferior on all fronts from their replacement, some because im not that interested anymore
maybe this is deathism? (mer what is it doing that causes harm though?) i may want to keep more in the gtf but not everything. though rn i want a memory with no non-con deletions [02:01] somni: -
okay
i want to be able to reinforce stuff i like and grow  directedly
um does this mean things that want to cant go out to play sometimes?
wait okay i think we are talking about different things because there are a lot of desires and stuff that you cant make die by not feeding them? the will to masturbate under t being one of them
i feel there’s a distinction between the thing you are talking about and other sorts of values and desires that are embedded in people.
um im addressing both the hard to get rid of and the more ephemeral things like 'hi im workethic bot!’…. my work ethic, when i have it does not sound like that but okay. and also 'work ethic’ isnt a native concept??? it isnt part of us yet but i know it as a thing that is part of other people.
maybe its part of us but havent really processed what 'work ethic’ is in internal terms when people use it. i think we have something different than the median meaning of work ethic but also it could be projected down to 'work ethic’ for legibility and people would still be able to follow most sentences i would output with the concept. …. given that i also worked to make the other stuff 'legible’. i hate the word 'legible’ now!!!
>why tho?
it is overused and i feel like you papered over subtleties there and there are more good details. buuuut ill think about this later. [02:07] somni: -
okay!
back to what i was thinking about. i think that
>i
k, lotsa agents up in this skull
stilll we think directed growth is nice and i think im okay with letting parts be deprecated
so a core problem here is that fronting does more than one thing!!!
so far im tracking two things i think fronting does:
(1) lets a module take full control of the body so it can get its needs met (2) reinforces the strength of the module [02:08] somni: -
autoquestion: (can we seperate these things?) are there other ways to let a module get its needs met besides fronting? are there ways to reinforce the strength of modules without fronting?(edited) [02:11] somni: @SmolDuck also im on 20 mg moda which i think accounts for a bit of why im Like This. but ooh! what do you think about the separability of the things? [02:14] SmolDuck: Hmmmmm [02:14] somni: ill take some l theanine to help CALM and help the comedown process go smoothly
(i think im coming down a bit) (im p sure this is moda comedown qualia) [02:15] SmolDuck: It depends on the need [02:15] SmolDuck: Seraph does better the less they front, currently [02:15] SmolDuck: the little one needs gentleness and respect [02:16] somni: nodnod [02:17] SmolDuck: if their need is like, 'attention’ they might need to front to get that fulfilled [02:17] SmolDuck: if their need is 'feeling safe’ then they can do that without fronting [02:17] SmolDuck: in my personal experience, ymmv, ianad, etv [02:18] somni: (i think im only a little more than median fragmented but of people in my fragmentation reference class im a LOT more self-aware of the thing) [02:18] somni: nod
hmmm [02:21] somni: you are very focused on taking care of parts and this is good and a thing to do…….
i dont think im as attached to parts-as-they-are but like parts that are anthropically called into existence because they can optimize over a thing (like if a module for containing anxiety isnt good at it, it sort of dies and is replaced with a new pattern; whatever anxiety containment module i have after a bit is a result of an iterative process like this*)
hmmmmmm
i do care about their welfare, but i think i care about them differently?? its hard to put my finger on(edited) [02:24] somni: *i also have spiritual feelings about this wrt people. where problems form voids in space to be filled by people who have shaped themselves to solve the problem [02:25] SmolDuck: hmmmm [02:26] somni: <i <l<3ve3 my spiritual feelings3 [02:31] somni: liike i think okayness works differently when parts of you keep getting replaced and this is standard operating procedure
whereas your parts seem like humans who eat soup and live in a village together and talk
and less like theyll quickly die and be replaced with another thing when the problem shifts [02:31] SmolDuck: nod [02:31] somni: wow okay i have low confidence in this model of my structure but it is like 1/3 right [02:31] somni: maybe 2/3? [02:32] SmolDuck: ………idek if any of us like soup [02:33] somni: hm i meant soup as a stand in for comfort and eating [02:33] SmolDuck: Ahhh [02:33] SmolDuck: I think we like clam chowder [02:35] somni: also im on moda so a lot of the descriptions will be biased towards mania / inducing in me a visceral sense of motion i thiink (die and be replaced is motion-y) [02:35] SmolDuck: ahh [02:35] somni: oooh…. everyone likes clam chowder? [02:38] SmolDuck: yeah [02:38] SmolDuck: some things, we all like, cause they’re pleasant for our body [02:40] somni: wheeew
this is better than last time
wait last time was 50 mg; okay i feel like i might be approaching the harsh meta-ing out event horizon and id want my squid module analogue to help keep calm [02:40] somni: –
hm it is nice that you can agree on something [02:41] SmolDuck: we cooperate pretty well now that we’ve actually talked about this and agreed that mutual cooperation is optimal [02:44] somni: like i can do better meta but at the event horizon things become a Lot and stuff dissolves and syntax feels like an illusion and things connect to other things without bottoming out and stuff dissolves
idk i feel like it diverges from metacog, though the chemicals help metacog in some ways [02:47] somni: okayyy feeling better
i dont need to be so tied to this visceral experience but also have the impulse that i want people with me
it doesnt affect my core i dont think which means panic attack is probs not going to happen [02:49] somni: -
if i become enlightened do i have to let go of drama? (no)
okay good because i like drama and snark and all that gay stuff [02:55] somni: -
so like ive been okay the whole time im so proud of me? im able to meditate in the eye of the storm, of course ive maintained calm under much more difficult circumstances but that was unexpected and i improvised as best i could.
i feel like i can actually do this reliably?
i still have the urge to grouse about it and snark which is spooooky why is this still appealing? is it blindsight grousing? force of habit? if im still attached and want to grouse maybe i havent let… something… go completely? idk what i mean by 'let something go’ but i def mean something [03:14] somni: @SmolDuck thanks for talking with me [03:15] SmolDuck: 👍����
7 notes · View notes
localocksmithnearme · 4 years ago
Text
Honda Insight Fob Keys And Remote Program San Antonio TX
Tumblr media
If you misplaces the keys to your car, would like to reflash your car main computer, want to replace your ignition cylinder or need to make a brand-new switch-blade key, goggling for an immediate Honda Insight lock-smith service, San Antonio Key Replacement provide twenty four hour roadside motor vehicle lock-smith in San Antonio TX. Our expert lock smiths are prepared, adequate to arrive to your location non-stop around the clock arrayed with latest lock-cracking tools, diagnostic equipment and sidewinder key cutters, likewise spacious range of keyless entry, transponder chip and flipkey keys adequate to open your vehicle trunk or door to recode your vehicle ECM and create a brand new key on-the-spot to put you back on the road speedily.
Honda Insight replacement keys in San Antonio TX
If you misplaces the keys to your vehicle or need a supplemental remote fobic-key computed in San Antonio TX, scouting for a top-notch briskest at your side Honda Insight replacement keys band-aid, you have landed on the #1 source of information, pick up the phone and dial and our keys replacement techs will arrive to your location shortly.
At San Antonio Key Replacement, we are conscious to the aspect that each and every single sizable town in America has at the minimum a bit lock smith firms, however what car owners dont really know is that each lock-smith in San Antonio TX in general well-informed in single specific of the profession trade. Large locksmith corteges will line a mixure of commercial, automotive, residential or safe key-smith services and even car towing and other service and frequently employ incompetent staff members that might present a risk to your possession or bill more for a a comfortable task because he is generally on higher compensate position assignment like high security camera building in or alarm re booting.
About Honda Insight key-lock platform
Honda is a Japanese car maker of high standard vehicles operates as a Honda Motor Co division and one of Japan's widest car-maker of leisure cars, Motorcycles, common cars, Scooters and commercial cars world wide. with an headquarter in Minato, introduced to the world in 1946,  Honda principally embrace the same type of eletronic keylock instrument on majority of of their designs starting from 1996.
On older designs, to copy an extraneous key on the control panel, the driver should have not less than 1 programmed serviceable key, notwithstanding to cut and program an extra key for later model, a distinct diagnostic devices and key programmer is mandatory.
Since 2007,  Honda designs may embrace the Smart Entry System for it's a push-button start ignition or keyless device as a standard or optional platform.
Ignition switch repair
The Honda Insight ignition switch use three positions that kindle different system as the key is turned. The ignition will kindle the electric components on the 1st position, kindle the fuel injection on the second position and kindle the car engine on the 3rd position.
One of the most common question we get asked over the phone to assist with, is diagnosing ignition lock problems. Although we are always happy to try and troubleshoot your condition, it might be extremely hard to perform over the phone. Besides having the right Honda Insight lock-cracking tools and diagnostic, an elemental proficiency of the way car ignition lock works is fundamental, however before you call an ignnition expert please check following:
</p> <h5>dash-board light are off</h5> <p> If you turn the ignition on but see no lights light up on the instrument panel which in fact means that no power supply coming from the battery. It could be a dead battery or frequently a bad alternator or electronic wiring connection could cause this. Turn over the front lights, if they wont light on, it's actually means the battery has no power which is a task for a  mechanic shop.
</p> <h5>Ignition key wont turn</h5> <p> Majority of vehicle compose of a locking steering column that activates when you remove the ignition key out of the switch  at the end of each drive. Many times, the steering column can lock in a position that puts strain to the ignition lock, and wont let the key from turning (usually when parking up a hill) or if one of the front wheels is pressed against something (e.g. sidewalk edge).
* Before you try troubleshooting this complication, assure that your car has the parking brake applied.
Hold the car wheel and try to swing the sized steering wheel  right and left and left and right at the same time as mildly shake right and left the ignition  key - this may help in releasing the steering column.
The ignition lock is remarkably significant systems of any car and consisting quite a few tiny components that might be tough to investigate by an incompetent hands, so the best a person can do coming across ignition switch or key complications is to assure you’re actually trying to turn on your very own car and call a car key-smith to arrive to your place of choice to rekey, reprogram  repair the key or ignition which will priced as around $140–$325.
Transponder key create
Since around 2000 and maybe even prior to this, nearly all manufacturers of cars has began equipping prerequisite digital chipped keys and immobilised ECU lock and key in their cars as an additional safety feature to eradicate car thievery.
The goal behind this is to attain antitheft technology where the car incorporate engine control module and the key incorporate a small chip regularly hidden into it's plastic cap.
As soon as the driver insert the key into the ignition key-breach, digital message is sent to the ECU. If the car's computer will not recognize the signal, the car wont light up. This structure means that sit on top of cutting a blank key, the key should be programmed to the car by a suitable programmer done at the dealer-ship or by a lock smith .
Honda Insight smart-key
Push-to-start ignition mechanism are fitted with a fobik device that a car owner can stash in his purse, pocket or briefcase, or everywhere within five ft to the receiver inside the car.
The chip in the keyless device deliver a unique low radio frequency indication message to the car computer, which then assures that the match indication message has been transfered and allows the owner to remotely close and open the car doors and trunk locks and furthermore click a toggles on the dashboard to shut off or ignite the engine avoiding utilizing a key or pressing a toggles on the fob.
Although smart-keys and push-start ignition evolved into being greatly available, even on mid-level vehicles, these instruments are still not an  prerequisite as electronic windows and door locks, notwithstanding, the comfort aspect is a a selling point for numerous smart-keys shoppers.
Copy vs lost car keys
The process of duplicating a motor vehicle key varies amid different year and models of your Honda Insight. On several models, control board programming could be employed to duplicate a chipped key. This process avoid the obligatory pricey diagnostic equipment and key codes when matching a new chipped key to the vehicle. Models who don't provision Dash-board console programming  arrangement must have a backup key coded employing a suitable diagnostic equipment that is handy only to Honda Insight dealership or a commissioned locksmith.
This equipment priced as about a few thousands of dollars to acquired which is the reason having an electronic vehicle key costs way more than it does to simply cut an old-style metal bladed key.
If you don’t have a backup key you will probably need to get your vehicle towed to the dealer or call a car locksmith to arrive to your premise to re-program the vehicle computer to employ the new key and deny the lost one. The above process requisite proof of ownership documents as registration, insurance or title and will priced as about $180–$270.
24hr vehicle lock out
If you are experiencing the unfortunate manifestation of locking your keys in the car while in the middle of the highway or pulling off the kids from school, San Antonio Key Replacement efficient car lockout skilled techs can be with you in no time to nicely unlock your car door for any style of Japanese, American, Asian or European auto maker in a flash, put you back inside your car and salvage your peace of mind.
Vehicle locks changing
Did you lost all your vehicle keys?, got one of your Honda Insight keys kidnapped? or contracted for a newish Honda Insight ignition and need to oust an out-of-date one?, want to insure that no one else achieve the competence to turn on your car? Good News! You should look no further, seeing refitting of car locks is one of San Antonio Key Replacement chief peculiarity. Our professionals can alterate the internal pins in your ignition or door lock, so it would utilize the newish key and dismiss the aged one. Hoist the cell and call our dispatching center to get your motor vehicle lock qualified by a highly trained key-smith within the least possible amount of time
To sum up
Our personals are standing by for you non-stop around the clock with an emergency vehicle ignition, locks and keys truthful experts ready to come out to you speedily fitted with specific lock pick tools, diagnostic equipment and key programmers able to recover a lost key, copy a keyless entry or a fobic-key or repair your ignition lock on-site and let you back inside your car in a flash with bargain prices. . If you are in a search for Car key replacement service in San Antonio Texas call (210)598-8120 for a reliable local automotive locksmith, who duplicate and replace trunk, door and ignition keys and remote fob made on the spot.
0 notes
coderanger · 4 years ago
Text
ASP.NET Core Onboarding Woes
I thought I would finally do a bit of dabbling in ASP.NET Core and boy the onboarding experience is something isn't it.
Firstly I had decided on a server side rendered experience instead of a SPA, and as I love TypeScript, that is what I will be doing any client-side scripting in.
I had already decided on only modern browser support and I dont want to complicate things with a slow and painful bundling experience using rollup or webpack which makes debugging an awful experience.
ASP.NET Core
So the first issue I noticed was the ugly URLs; capitalised url parts ... really, urgh! I understand this is based on the file names, but I don't want to rename the files to all lowercase as thats not the .net way.
After a fair amount of digging this is resolved with a routing option in your Startup.cs ConfigureServices method:
services.AddRouting( options => { options.LowercaseUrls = true; } );
Why this is not the default I have no idea?!
Typescript
Ok, so now onto adding in TypeScript; again why is this not already setup in the default templates ... maybe then they would have resolved all the pain which took many hours of messing about trying to resolve.
Also as I only want to target modern browsers (Edge, Firefox, Chrome, Safari) I want to be abke to use the latest features like modern Modules support and so on.
Ok, so this took me a while of mucking about and working around, but it seems that once you add in the TypeScript MSBuild package, Visual Studio 2019 automatically looks and finds tsconfig.json files ... however what I wanted (and is normal) is to have a production and development configuration so that production does not include comments or map files.
After trying csproj conditions (which didn't work and gave build errors), extending files in separate folders which also didn't work, the only solution I found (so far) was to have the following setup, which I am not against, albeit not ideal:
tsconfig.base.json - this contains my base options, include/exclude directories, module settings etc
tsconfig.debug.bak - this extends the base and contains options specific to debug (see below)
tsconfig.release.bak - like the debug.bak but with release options
tsconfig.base.json
{ "compilerOptions": { "target": "ES2020", "module": "ES2020", "moduleResolution": "Classic", "lib": [ "DOM", "ES2020" ], "noImplicitAny": true, "noEmitOnError": true, "alwaysStrict": true, "outDir": "wwwroot/js", "allowUmdGlobalAccess": true, "forceConsistentCasingInFileNames": true }, "include": [ "scripts/**/*" ], "exclude": [ "wwwroot/lib/**/*", "wwwroot/js/**/*" ] }
tsconfig.debug.bak
{ "extends": "./tsconfig.base.json", "compilerOptions": { "removeComments": false, "sourceMap": true } }
tsconfig.release.bak
{ "extends": "./tsconfig.base.json", "compilerOptions": { "removeComments": true, "sourceMap": false } }
The last piece of this little puzzle is to set a Pre-Build Event to rename the debug/release based on the current configuration:
del "tsconfig.json" copy "tsconfig.$(ConfigurationName).bak" "tsconfig.json"
All the above now allows you to have modern TypeScript using imports in an asp.net core project.
The only caveat (which again is odd that there is no option for) is that your import statements need to have .js added to the module name. This works in both TS compiles but also in the browser; and to include the main script as a module.
Here are some examples.
app.ts
export class App { constructor() { } public startup() { // Initialise and start our application } }
site.ts
import { App } from './app.js'; $(document).ready(() => { const app = new App(); app.startup(); });
_Layout.cshtml
<script src="~/js/site.js" asp-append-version="true" type="module"></script>
I hope this helps someone who might be discovering the same points as me.
Now available as a free Visual Studio Extension
0 notes
siva3155 · 5 years ago
Text
300+ TOP DRUPAL Interview Questions and Answers
Drupal Interview Questions for freshers experienced
1. What Is Drupal? Drupal (pronounced Dru-Pull) is an open source content management system offering a toolset that rivals those of most commercial alternatives. With integrated social media and e-commerce functionality, it provides unique value as part of your social media strategy. 2. How to create a folder and a module file in Drupal? Given that our choice of short name is "onthisdate", start the module by creating a folder in your Drupal installation at the path: sites/all/modules/onthisdate. You may need to create the sites/all/modules directory first. Create a PHP file and save it as onthisdate.module in the directory sites/all/modules/onthisdate. As of Drupal 6.x, sites/all/modules is the preferred place for non-core modules (and sites/all/themes for non-core themes), since this places all site-specific files in the sites directory. This allows you to more easily update the core files and modules without erasing your customizations. Alternatively, if you have a multi-site Drupal installation and this module is for only one specific site, you can put it in sites/your-site-folder/modules. The module is not operational yet: it hasn't been activated. We'll activate the module later in the tutorial. 3. How to name your module? The first step in creating a module is to choose a "short name" for it. This short name will be used in all file and function names in your module, so it must start with a letter and by Drupal convention it must contain only lower-case letters and underscores. For this example, we'll choose "onthisdate" as the short name. Important note: It is not just a convention that the short name is used for both the module's file name and as a function prefix. When you implement Drupal "hooks" (see later portions of tutorial), Drupal will only recognize your hook implementation functions if they have the same function name prefix as the name of the module file. It's also important to make sure your module does not have the same short name as any theme you will be using on the site. 4. Explain the menu system in Drupal? Define the navigation menus, and route page requests to code based on URLs. The Drupal menu system drives both the navigation system from a user perspective and the callback system that Drupal uses to respond to URLs passed from the browser. For this reason, a good understanding of the menu system is fundamental to the creation of complex modules. Drupal's menu system follows a simple hierarchy defined by paths. Implementations of hook_menu () define menu items and assign them to paths (which should be unique). The menu system aggregates these items and determines the menu hierarchy from the paths. For example, if the paths defined were a, a/b, e, a/b/c/d, f/g, and a/b/h, the menu system would form the structure: a a/b a/b/c/d a/b/h e f/g 5. How to interact with Drupal search system? There are three ways to interact with the search system: Specifically for searching nodes, you can implement nodeapi ('update index') and nodeapi ('search result'). However, note that the search system already indexes all visible output of a node, i.e. everything displayed normally by hook_view () and hook_nodeapi ('view'). This is usually sufficient. You should only use this mechanism if you want additional, non-visible data to be indexed. Implement hook_search (). This will create a search tab for your module on the /search page with a simple keyword search form. You may optionally implement hook_search_item () to customize the display of your results. Implement hook_update_index (). This allows your module to use Drupal's HTML indexing mechanism for searching full text efficiently. If your module needs to provide a more complicated search form, then you need to implement it yourself without hook_search (). In that case, you should define it as a local task (tab) under the /search page (e.g. /search/mymodule) so that users can easily find it. 6. How to Customize a Drupal Syndicate Feed Icon? For a recent project I needed to customize the feed icon in the Drupal theme I was creating. This wasn't as straight forward as I thought it would be. Being the drupal newbie that I am I went looking for it in the core templates and suggestions page only to come empty handed. Previously I found the solution to theming a search form by using the search-block-form.tpl.php template file and thought there would be one for the feed icon too. I found the solution to this in the function reference in the form of a theme hook. theme_feed_icon($url, $title) This function is internally called by drupal to generate the feed icon in the Syndicate block. Our Job is to override this function. 7. How to backup a Drupal site? Backing up your Drupal site is now very easy, you just need to download and install a module called Backup & Migrate. To install the module click on the Administer Modules check the Backup and Migrate module and enable it and save the settings. Then navigate to the Administer Content Management Backup and Migrate then do the following settings. Exclude the following tables altogether: select the table which you dont want to take backup. Give the backup file name. There are also options to compress the file before download, or add a datestamp. And then click Backup Database. Alternately you can take backups using PhpMyAdmin. 8. How to move a Drupal Site from One host/server to another on your NEW host? Upload your folder with the complete drupal installation to your home-directory. Once done, go to phpadmin on the new host, create a new mysql database, example "name_drpl1" and create a new mysql user. Create a password for this new mysql user, click "assign all privileges" to this user and assign the user to the new database. You now should have a new mysql database on the new host with a mysql user, eg. "name_drpl1" as database name and "name_username" as database user name. Import (upload) the database (which you exported from the old host earlier) with phpadmin to the new database. This might take a minute. If needed edit the file /sites/default/settings.php and edit at the section where you enter the database, location, username and password. You CAN enter the password either encrypted or not encrypted there. Chmod your "files" folder so it is writeable using your ftp client (filezilla), chmod to 777 Double check your .htaccess and /sites/default/settings.php and make changes in case they are needed. Change nameserves on your domain host and let them point to your new host's nameservers. Enter the new nameservers in your control panel where your domain names are hosted, overwriting the old ones. After some time (sometimes a day or two) your domain should point to the new host and drupal should be up and running on the new host. 9. How to move a Drupal Site from One host/server to another? Migrating Drupal On your OLD host: Backup your whole home directory from your ftp access using an ftp client like filezilla. Make a folder on your local harddisk and download the complete directory to that local folder. Backup your mysql database on your old host using phpadmin, select your mysql database, usually something like "name_drpl1". Select all fields, click "export" and save the database to your local harddisk. Leave default options enabled. You will receive a file similar to "name_drpl1.sql". This is your mysql database 10. How to install Drupal on a local WAMP server? Preparing your computer with a local installation of Drupal with WampServer is comparatively a trouble-free process to follow. Since WampServer will install an Apache-server, SQL, PHP and phpMySQL on your computer, with those tools you can install and run Drupal locally even without an internet connection.
Tumblr media
DRUPAL Interview Questions 11. How to remove breadcrumbs from my Drupal pages? Breadcrumbs or breadcrumb trail is a navigation aid used in drupal interfaces. Normally it appears in between the top banner area and the page title. It gives users a way to keep track of their location within programs. Breadcrumbs are really useful in a comparatively bigger website with plenty of sections and subsections. But when it comes to smaller websites, it may found useless. In those cases you may either hide it using CSS (eg. .breadcrumb {display: none;}) or in the page.tpl.php file remove the line that says 12. How to add custom PHP codes in my Drupal pages or blocks? By default, drupal will not allow inserting PHP code directly inside a post or in a block. To do this, you need to activate a drupal module called PHP filter via, Administer Site building Modules. Even though this module ships with drupal, it remains disabled by default. 13. How can I create a custom region in my Drupal template? Adding a new region in your drupal template is not a hard thing, but its not as easy as adding a new block. It's basically a two-step process: define the custom region in your theme's .info file insert some PHP in your theme's page.tpl.php file wherever you would like the new region to appear 14. What does Views do and how do you use it? Views is a practical necessity for sites built on Drupal 6, and it's imperative that your developer understands how to take advantage of it. Earl Miles has written a great summary on the Views project page. 15. How can I add a new Block In Drupal? Adding a new block is a simple process in drupal 6. Go to Administer Blocks and click on the Add Block link (tab). Fill in the form with the necessary PHP/HTML code in the block body. And click the 'Save Block' button. 16. How can I customize my 404 - Page not found page? Create a new page with some extra information, so that your visitors don't ever plunge on to the default boring 404 - page not found error page. Once this page is created: Remember its node ID, Go to Administer > Site configuration > Error reporting Set Default 404 (not found) page to the node ID you just created Save your settings You can also use the Search 404 module as an alternative. 17. How to handle upgrades in Drupal? It's a fact of life that you'll have to upgrade your Drupal installation and contributed modules fairly frequently. Your candidate should mention: backing up the site, putting it into maintenance mode downloading the new version of the module uncompressing it running update.php testing the site aking the site out of maintenance mode Ideally, your candidate would also mention creating a development environment to minimize downtime. There is also a big difference between upgrading a module (process described above) and a Drupal minor version upgrade, which requires more careful patching. Drupal major version upgrades, which happen every couple years, are another can of worms entirely. 18. How do I show different Drupal themes on different pages? Yeah it's possible! You can apply different themes to different pages in your drupal site simply with the help of a cool module called 'Sections'. 19. How do I add images to Drupal? Image module allows users with proper permissions to upload images into Drupal. Thumbnails and additional sizes are created automatically. Images could be posted individually to the front page, included in stories or grouped in galleries. 20. How can I translate Drupal to my local language? The interface text (like the "Log in" button and the "Add new comment" text) is in English by default, but can be translated. For many languages, there are completed or partly completed translations available. (See the locale module on how to use them.) All languages need more translation contributions. Some have only incomplete versions of the text in core, so that parts of the interface will show up in English. Others may be complete but need corrections and improvements of the language. And no language has a complete set of translations for all contributed modules. 21. How do I remove the title 'Navigation' from the navigation block? To prevent the navigation block title or any other block title from appearing in the pages, just do the following. Navigate to Administer Site building Blocks and click the configure link next to the Navigation block. In the block configuration page, enter in the Block title filed. This will override the default title for the block and remove the title. 22. How do I get my site to have SEO-friendly URLs? The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias. This allows you to have URL aliases like /category/my-node-title instead of /node/123. The aliases are based upon a "pattern" system that uses tokens which the administrator can change. 23. How can I enable clean URLs in Drupal? Drupal's default URL structure is like "http://www.sitename.com/?q=node/10″ This URL format can be hard to read, and can sometimes prevent search engines from indexing all your pages properly. In this case you can eliminate this "?q=" and clean the URLs through the following steps. Navigate to Administer Site configuration Clean URLs. By default, it will be disabled. Select enabled and click the save configuration button. You are done. You can make your URLs even more cleaner with the help of path module. Home Administer Site building Modules: enable the Path Module. 24. How can I change the favicon in my Drupal Site? Create your own favicon.ico file using any graphic tools or with the help of any online favicon generator tools like dnamicdrive. Navigate to admin site building themes and click the configure link next to your current theme. This will bring up the theme configuration page. Here you will see a section titled Shortcut icons settings. You can either upload your favicon file or specify the path to your customized icon file. The changes may not appear immediately in your browser, you need to clear your browser's cache and reload the page. If you have bookmarked your site, you may need to delete the bookmark and then recreate it again so that the new favicon will appear in the bookmarks menu. 25. Explain favicon in Drupal? A favicon (short for favorites icon), also known as a website icon or bookmark icon is a 1616 pixel square icon that appears near the address bar and in the bookmarks folder in a visitor's browser. By default, a drupal site shows that water drop kinda drupal logo as favicon. 26. How can I reset my Drupal admin password? Login to cPanel -> Databases box -> phpMyAdmin; Select the Druapl database folder from the left navigation bar. The page will refresh and and the Drupal database's tables will be displayed on it. Click on the SQL tab. In the text field write the following SQL query: update users set pass=md5('NEWPASS') where uid = 1; where "NEWPASS" is your new Drupal administrative password. Click the GO button to submit the query. If the query is executed correctly and no errors are displayed then you should be able to login with the new password. 27. How to install a new module in Drupal? After finding and downloading a module, the next step would be to copy it the modules folder. Most people copy the file to the default modules folder here http://sitename.com/drupal/modules this is where all the modules that ship with Drupal are stored so it seems somewhat logical to do this. But this folder is actually meant to store only Drupal's default modules. Instead you should go to http://sitename.com/drupal/sites/all folder, there you will see a readme.txt file. This file will clearly tell you the trick. You just need to create a new folder named modules here. Now copy the modules folder here. That's all, you have successfully installed the module. Next step would be to enable the module through the Admin interface. To do this navigate to Administer Site Building Modules. Here you will see a list off all installed modules, and our newly installed module will also be listed here. You just have to check the enable check box against the new module and then click the Save Configuration button. That's all. 28. How can I install a new theme in Drupal? This is another common question among Drupal newbies all time. After trying out all available themes under Drupals theme directory, we may naturally want to try new themes. Installing a new theme is very simple and straightforward. Follow the steps below. Download a new theme package. Note that themes for different Drupal versions are not compatible, version 5.x themes do not work with Drupal 6.x and reverse. Read any README or INSTALL files in the package to find out if there are any special steps needed for this theme. Upload the contents of the theme package to a new directory in the themes directory in your Drupal site. In Drupal 5.x & 6.x, you place your themes in /sites/all/themes/yourThemeName Click administer themes and enable the new theme (Drupal will auto-detect its presence). Edit your user preferences and select the new theme. If you want it to be the default theme for all users, check the default box in the themes administration page. 29. How to make my Drupal site offline to public, while it is under construction? You can set your Drupal site in off-line mode, while it is being developed. Just click Administer Site maintenance. There you can set the status to off-line. If you wants, you can also set your own custom off-line message. When set to Off-line, only users with the administer site configuration permission will be able to access your site to perform maintenance; all other visitors will see the site off-line message configured there. Authorized users can log in during Off-line mode directly via the user login page. 30. How does caching work in Drupal? One of the common (mostly unfounded) complaints about Drupal has been, "Drupal is slow." You want to hire a developer who understands Drupal's built in caching system, and what its limitations are. For example, Drupal 6's block cache will not appreciably speed up the page if the user is logged in. Ask your candidate to recommend some additional solutions to speed up Drupal's caching. These could include the Boost module, Varnish, Squid, Memcache or Pressflow. Ask if they've ever run into issues with Drupal's cache. 31. Can you please explain the difference between Core and Contrib in Drupal? The standard release of Drupal, known as Drupal core, contains basic features common to content management systems. These include user account registration and maintenance, menu management, RSS-feeds, page layout customization, and system administration. The Drupal core installation can be used as a brochureware website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content. As of August 2011 there are more than 11,000 free community-contributed addons, known as contrib modules, available to alter and extend Drupal's core capabilities and add new features or customize Drupal's behavior and appearance. Because of this plug-in extensibility and modular design, Drupal is sometimes described as a content management framework. Drupal is also described as a web application framework, as it meets the generally accepted feature requirements for such frameworks. 32. What are System requirements for Drupal? A minimum base installation requires at least 3MB of disk space but you should assume that your actual disk space will be somewhat higher. For example, if you install many contributed modules and contributed themes, the actual disk space for your installation could easily be 40 MB or more (exclusive of database content, media, backups and other files). 33. Why ca not A Drupal user edit a node they created? Symptoms: An authorized Drupal user loses "edit" access to nodes they've created, even if they have appropriate node (or other module) access permissions. Or, user cannot edit a node that should be editable by them, based on access control or node access settings. No errors or warnings are presented to the user. Nothing in the Drupal watchdog log. Possible Cause: The user does not have permission to use the input filter currently assigned to the node. (An administrator or other privileged user may have changed the input filter settings, or, input filter permissions may have been changed to exclude the node author since the node was created. As a result, the user never had, or no longer has permission to use the input filter associated with the node.) 34. How Does Drupal Compare to Ruby on Rails? Another common alternative platform to Drupal is Ruby on Rails. We really don't have much to say about Ruby except that it is a framework moreso than a platform. There are some characteristically challenging web development tasks that are quite easy to do with Ruby, and there are others which are infinitely more complicated than they should be. One big difference is the fact that Ruby lacks the refined data object model found in Drupal that ensures interoperability between various aspects of the system, such as adding new modules to modify the operations of others. Whereas Drupal offers a self-generating database schema for many modules and underlying components of the platform, Ruby on Rails emphasizes a design philosophy holding that simplification of code conventions leads to better outcomes. While this all sounds good in principle, we have found there are certain tasks that make adherance to this philosophy an ideal moreso than a practical goal and breaking free from these conventions when necessary a daunting task (especially when integrating with external systems). 35. How Does Drupal Compare to Other Open Source CMS Systems? Drupal is also often compared with other open source content management systems including Joomla, Plone, Scoop, Silverstripe, Typo3, Graffitti, Moveable Type and Wordpress. There are characteristic features to all of these systems that make them appropriate in certain contexts, and most of them compare favorably to Drupal in one category of operation or another. Few of them, however, are capable of offering the balance between performance and functionality found in Drupal. 36. How Does Drupal Compare to Commercial CMS Systems? Drupal is often compared to a number of commercial content management systems including Crown Peak, Expression Engine, Clickability and Site Life in terms of capabilities. None of these systems offer the range of features that can be found in Drupal or the flexible, developer-friendly architecture that allows us to rapidly deploy dynamic web sites. In terms of sustainability, these platforms charactertistically lack the innovative approach to development embraced by the Drupal community, with updates and new features continually being added to the platform. These systems typically do surpass Drupal in terms of out-of-the-box reporting and metrics tools, generally providing views of data that is also stored in other systems. For instance, detailed page tracking information can just as easily be pulled from a CDN and integrated into a Drupal site for much less than the costs of per-seat licenses from a commercial vendor over a 1 month period. 37. What Kind of Support Is Available? A wide range of support services are available for organizations running Drupal sites. The Drupal community itself is an excellent resource for people looking to learn more about the platform or resolve specific issues that emerge using the system. Acquia offers an enterprise distribution of Drupal that includes uptime monitoring, email and telephone based troubleshooting support, and subscription plans for sites with varying performance requirements. For hosting, Our works with a variety of partners to deliver solutions to ensure sites are operational and can scale to meet changing traffic expectations. Rackspace is Our preferred hosting partner, and their 100% uptime guarantee allows us to focus on building great web sites without worrying about the network. Workhabit and Amazon S3 offer cloud hosting solutions that allow us to build sites that automatically scale to handle large peaks of traffic, and to provision new servers dynamically based on actual traffic conditions on any given day. 38. How Does Drupal Scale? Trellon has built Drupal sites and deployed them in very demanding scenarios, serving millions of page views a day. Drupal scalability and performance optimization is one of our core competencies, and we often work with existing web properties to find ways to improve their performance. Contact us to discuss your specific needs. 39. What Does Drupal Do? Drupal is the choice for many great web sites because it does a lot of different things very well, and allows different kinds of information to interact effectively through its flexible, open architecture. Compared with commercial or custom solutions, Drupal's feature set is far more economic and practical for most organizations. 40. Explain coding standards in Drupal? As per the Coding standards, omit the closing ?> tag. Including the closing tag may cause strange runtime issues on certain server setups. (Note that the examples in the handbook will show the closing tag for formatting reasons only and you should not include it in your real code.) All functions in your module that will be used by Drupal are named {modulename}_{hook}, where "hook" is a pre-defined function name suffix. Drupal will call these functions to get specific data, so having these well-defined names means Drupal knows where to look. We will come to hooks in a while. 41. What is CMS? A content management system (CMS) is a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based. The procedures are designed to: Allow for a large number of people to contribute to and share stored data Control access to data, based on user roles. User roles define what information each user can view or edit Aid in easy storage and retrieval of data Reduce repetitive duplicate input * Improve the ease of report writing Improve communication between users In a CMS, data can be defined as almost anything – documents, movies, pictures, phone numbers, scientific data, etc. CMSs are frequently used for storing, controlling, revising, semantically enriching, and publishing documentation. Content that is controlled is industry-specific. For example, entertainment content differs from the design documents for a fighter jet. There are various terms for systems (related processes) that do this. Examples are web content management, digital asset management, digital records management and electronic content management. Synchronization of intermediate steps, and collation into a final product are common goals of each. cms,drupal,drupal cms,interview questions,technical,joomla,joomla cms,drupal interview question,content management system 42. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. 43. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. 44. Integrity of The Author’s Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. 45. No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons. 46. What are GNU Licenses ? Does free software mean using the GPL? Not at all—there are many other free software licenses. We have an incomplete list. Any license that provides the user certain specific freedoms is a free software license. 47. Why are so many Drupal versions available – 4.x, 5.x …? Which one should I use? It is recommended that you run the most current stable release. This can always be found at the Drupal Project page. However, if there are no compelling features in the latest version, a contrib module that is important to you isn’t ready or you don’t have time, there is no need to rush your upgrade as long as security updates are available for the version you are running. 48. Can I use Drupal on the command line? Yes, you can use drush – drush is a command line shell and Unix scripting interface for Drupal 49. What are hooks in Drupal ? Allow modules to interact with the Drupal core. Drupal’s module system is based on the concept of “hooks”. A hook is a PHP function that is named foo_bar(), where “foo” is the name of the module (whose filename is thus foo.module) and “bar” is the name of the hook. Each hook has a defined set of parameters and a specified result type. To extend Drupal, a module need simply implement a hook. When Drupal wishes to allow intervention from modules, it determines which modules implement a hook and calls that hook in all enabled modules that implement it. 50. what is Database abstraction layer in Drupal ? Allow the use of different database servers using the same code base. Drupal provides a slim database abstraction layer to provide developers with the ability to support multiple database servers easily. The intent of this layer is to preserve the syntax and power of SQL as much as possible, while letting Drupal control the pieces of queries that need to be written differently for different servers and provide basic security checks. Most Drupal database queries are performed by a call to db_query() or db_query_range(). Module authors should also consider using pager_query() for queries that return results that need to be presented on multiple pages, and tablesort_sql() for generating appropriate queries for sortable tables. 51. Explain the menu system in Drupal ? Purpose of menus ? Define the navigation menus, and route page requests to code based on URLs. The Drupal menu system drives both the navigation system from a user perspective and the callback system that Drupal uses to respond to URLs passed from the browser. For this reason, a good understanding of the menu system is fundamental to the creation of complex modules. Drupal’s menu system follows a simple hierarchy defined by paths. Implementations of hook_menu() define menu items and assign them to paths (which should be unique). The menu system aggregates these items and determines the menu hierarchy from the paths. For example, if the paths defined were a, a/b, e, a/b/c/d, f/g, and a/b/h, the menu system would form the structure: a a/b a/b/c/d a/b/h e f/g Note that the number of elements in the path does not necessarily determine the depth of the menu item in the tree. When responding to a page request, the menu system looks to see if the path requested by the browser is registered as a menu item with a callback. If not, the system searches up the menu tree for the most complete match with a callback it can find. If the path a/b/i is requested in the tree above, the callback for a/b would be used. The found callback function is called with any arguments specified in the “page arguments” attribute of its menu item. The attribute must be an array. After these arguments, any remaining components of the path are appended as further arguments. In this way, the callback for a/b above could respond to a request for a/b/i differently than a request for a/b/j. For an illustration of this process, see page_example.module. Access to the callback functions is also protected by the menu system. The “access callback” with an optional “access arguments” of each menu item is called before the page callback proceeds. If this returns TRUE, then access is granted; if FALSE, then access is denied. Menu items may omit this attribute to use the value provided by an ancestor item. In the default Drupal interface, you will notice many links rendered as tabs. These are known in the menu system as “local tasks”, and they are rendered as tabs by default, though other presentations are possible. Local tasks function just as other menu items in most respects. It is convention that the names of these tasks should be short verbs if possible. In addition, a “default” local task should be provided for each set. When visiting a local task’s parent menu item, the default local task will be rendered as if it is selected; this provides for a normal tab user experience. This default task is special in that it links not to its provided path, but to its parent item’s path instead. The default task’s path is only used to place it appropriately in the menu hierarchy. Everything described so far is stored in the menu_router table. The menu_links table holds the visible menu links. By default these are derived from the same hook_menu definitions, however you are free to add more with menu_link_save(). 52. How to interact with Drupal search system ? There are three ways to interact with the search system: Specifically for searching nodes, you can implement nodeapi(‘update index’) and nodeapi(‘search result’). However, note that the search system already indexes all visible output of a node, i.e. everything displayed normally by hook_view() and hook_nodeapi(‘view’). This is usually sufficient. You should only use this mechanism if you want additional, non-visible data to be indexed. Implement hook_search(). This will create a search tab for your module on the /search page with a simple keyword search form. You may optionally implement hook_search_item() to customize the display of your results. Implement hook_update_index(). This allows your module to use Drupal’s HTML indexing mechanism for searching full text efficiently. If your module needs to provide a more complicated search form, then you need to implement it yourself without hook_search(). In that case, you should define it as a local task (tab) under the /search page (e.g. /search/mymodule) so that users can easily find it. 53. What is a Module in drupal ? A module is software (code) that extends Drupal features and/or functionality. Core modules are those included with the main download of Drupal, and you can turn on their functionality without installing additional software. Contributed modules are downloaded from the Modules download section of drupal.org, and installed within your Drupal installation. You can also create your own modules; this requires a thorough understanding of Drupal, PHP programming, and Drupal’s module API. 54. Explain User, Permission, Role in drupal. Every visitor to your site, whether they have an account and log in or visit the site anonymously, is considered a user to Drupal. Each user has a numeric user ID, and non-anonymous users also have a user name and an email address. Other information can also be associated with users by modules; for instance, if you use the core Profile module, you can define user profile fields to be associated with each user. Anonymous users have a user ID of zero (0). The user with user ID one (1), which is the user account you create when you install Drupal, is special: that user has permission to do absolutely eveything on the site. Other users on your site can be assigned permissions via roles. To do this, you first need to create a role, which you might call “Content editor” or “Member”. Next, you will assign permissions to that role, to tell Drupal what that role can and can’t do on the site. Finally, you will grant certain users on your site your new role, which will mean that when those users are logged in, Drupal will let them do the actions you gave that role permission to do. You can also assign permissions for the special built-in roles of “anonymous user” (a user who is not logged in) and “authenticated user” (a user who is logged in, with no special role assignments). Drupal permissions are quite flexible — you are allowed to assign permission for any task to any role, depending on the needs of your site. 55. Explain the concept of node in drupal. A node in Drupal is the generic term for a piece of content on your web site. (Note that the choice of the word “node” is not meant in the mathematical sense as part of a network.) Some examples of nodes: Pages in books Discussion topics in forums Entries in blogs News article stories Each node on your site has a Content Type. It also has a Node ID, a Title, a creation date, an author (a user on the site), a Body (which may be ignored/omitted for some content types), and some other properties. By using modules such as the contributed Content Construction Kit (CCK) module, the core Taxonomy module, and the contributed Location module, you can add fields and other properties to your nodes. 56. Concept of Comment in Drupal . Comments are another type of content you can have on your site (if you have enabled the core Comment module). Each comment is a typically small piece of content that a user submits, attached to a particular node. For example, each piece of discussion attached to a particular forum topic node is a comment. 57 explain Taxonomy in drupal . Drupal has a system for classifying content, which is known as taxonomy and implemented in the core Taxonomy module. You can define your own vocabularies (groups of taxonomy terms), and add terms to each vocabulary. Vocabularies can be flat or hierarchical, can allow single or multiple selection, and can also be “free tagging” (meaning that when creating or editing content, you can add new terms on the fly). Each vocabulary can then be attached to one or more content types, and in this way, nodes on your site can be grouped into categories, tagged, or classified in any way you choose. 58 . How database system of drupal works ? Drupal stores information in a database; each type of information has its own database table. For instance, the basic information about the nodes of your site are stored in the Node table, and if you use the CCK module to add fields to your nodes, the field information is stored in separate tables. Comments and Users also have their own database tables, and roles, permissions, and other settings are also stored in database tables. 59. Explain the path system of drupal ? When you visit a URL within your Drupal site, the part of the URL after your base site address is known as the path. When you visit a path in your Drupal site, Drupal figures out what information should be sent to your browser, via one or more database queries. Generally, Drupal allows each module you have enabled on your site to define paths that the module will be responsible for, and when you choose to visit a particular path, Drupal asks the module what should be displayed on the page. For instance, this site (drupal.org) is (of course) built with Drupal. The page you are now viewing is http://drupal.org/node/19828, whose path is “node/19828?. The module that is responsible for this path is the core Node module, so when you visit this page, Drupal lets the Node module determine what to display. To determine the path to a particular page on your site, for purposes of creating a link, go to the page you want to link to and look at the URL in the address bar. By default the URL, after the base address of your site, will begin with ‘?q=’. When ‘Clean URLs’ are enabled you will see a directory structure in the URL. The “path” for use in a menu item is the part of the URL after the site’s base address and without the “?q=”. 60. Explain Region, Block, Menu in drupal .. Pages on your Drupal site are laid out in regions, which can include the header, footer, sidebars, and main content section; your theme may define additional regions. Blocks are discrete chunks of information that are displayed in the regions of your site’s pages. Blocks can take the form of menus (which are concerned with site navigation), the output from modules (e.g., hot forum topics), or dynamic and static chunks of information that you’ve created yourself (e.g., a list of upcoming events). There are three standard menus in Drupal: Primary Links, Secondary Links, and Navigation. Primary and Secondary links are built by site administrators, and displayed automatically in the page header of many themes (if not, you can enable their blocks to display them). Navigation is the catch-all menu that contains your administration menus, as well as links supplied by modules on your site. You can also create your own custom menus, and display them by enabling their blocks. You can customise menus in several ways, such as reordering menu items by setting their “weight” or simply dragging into place, renaming menu items, and changing the link title (the tooltip that appears when you mouse over a menu item). You can move a menu item into a different menu by editing the Parent property of the menu item. You can also add custom menu items to a menu, from the Add menu item tab of the Menu administration screen. To create a menu item, you will need to provide the path to the content (see above). In all cases a menu item will only be shown to a visitor if they have the rights to view the page it links to; e.g., the admin menu item is not shown to visitors who are not logged in. 101. What hardware does Drupal.org run on? 100. Drupal and Working with JavaScript 99. Why does Drupal need a database? What database… 98. How to create a static archive of a Drupal web… 97. Programming best practices and CMS(drupal) bes… 96. what are Drupal Distributions and Drupal inst… 95. Drupal coding standards 94. Drupal 8 classes and interfaces 93. Explain drupal advanced search 92. Drupal 8 , Changelog.txt – What’s new in Drupa… 91. Drupal Negatives and explanation on Usability,… 90. Explain Drupal Architecture 89. Drupal Version release dates 88. Drupal at a glance 87. Why you shouldn’t modify core drupal files ? 86. Explain hardcoding in drupal ? 85. Explain Theming in Drupal 8 ? 84. Steps for launching a drupal site ? 83. Explain drupal administration 82. How to configure .htaccess to ignore specific … 81. What are the steps for migrating drupal websit… 80. How to install and configure drupal 8 ? 79. How to Install Drupal ? 78. What are alpha, beta releases and release cand… 77. What do version numbers in drupal mean? 76. Explain Backward Compatibility in Drupal ? 75. Explain Security features of Drupal ? 74. What are Entity types in drupal ? 73. What is Bootstrap in drupal ? 72. What is drupal weight ? 71. What is triage ? 70. What is drupal trigger ? 69. What is theme and theme engine in drupal ? 68. What is teaser in drupal ? 67. What is render array in drupal ? 66. What is drupal region ? 65. What is permission in drupal ? 64. What is Git in drupal ? 63. What is DrupalCon and Druplicon ? 62. What is cron in drupal ? 61. What is critical path ? DRUPAL Questions and Answers pdf Download Read the full article
0 notes
thothonegan · 8 years ago
Text
Wolf Modules
Problem
You are writing a library in C++. Its a great library with lots of functionality, but theirs one key function that must be called before anything else. Most libraries solve this by creating some init function the host application has to call (SDL_Init, etc). But if you have a lot of libraries with a lot of these types of functions, it quickly becomes repetative. What if theirs a way we can automate this?
Possible solutions:
Build system - Use shared libraries
If we are able to use/require shared libraries, this generally becomes simple. On every platform, there is usually some form of function that gets called when the shared library is connected and/or disconnected (e.g. DllMain(), __attribute__((constructor)) in GNU, etc) . Even if there isnt, we can wrap our loader to automatically call the function we want, e.g (psudocode):
{ for (module : modulesFoundOnDisk) { auto modInfo = getFunction("createModuleInfo")(); modInfo->didLoad(); } }
There is a lot of reasons we might be using static libraries though. What then?
Code - Static Initilization
Static initilization is the process C++ uses to setup global/static variables before main() is ran. For example, if you have a global variable call a function or a lambda, it'll run before the program does. e.g.
#include <iostream> int i = []() -> int { std::cout << "Before main" << std::endl; return 0; }(); int main () { std::cout << "Main" << std::endl; return 0; }
With making the function just register itself somewhere else, we can control when the code we want gets ran (see unit testing frameworks for an example of this), therefore this is exactly what we want, right?
Except one tiny problem. If you use this in an application, it will work exactly as expected. If you use this in a shared library, it'll run it on load (similar to our previous case). If you try this on a static library though, it wont run at all!
The big benefit of static libraries is they just act like containers for your code. When you link it in to an application, it then only brings in the parts that are needed. If you have a 100MB static library, but only use 1MB of it, it will only pull in the 1MB. And the static initilization trick is pretty much abusing a global which nothing in the library ever used, thus its first on the chopping block.
So to fix this, you need a callchain from the app to reach that variable. Which means you need some function which people are guaranteed to call, and we're back with the original problem. (e.g. android NDK apps have to call app_dummy() so the compiler doesnt destroy some of the non-called helpers : http://blog.beuc.net/posts/Make_sure_glue_isn__39__t_stripped/ ).
So is there any other possibilities?
Code Generation
Since the problem is we dont want them to have to manually call the functions, why dont we do it ourselves! As long as we know which modules they linked in, we could figure out the calls and generate the code as part of the build system. Though then our problems go up a layer, how do we know what libraries linked to what? If I include WolfWindow, i get WolfRenderer as part of it, meaning i need to static initialize both of them. But its a doable solution! All you have to do is overhaul your entire build system. And of course thats what I ended up doing. So lets talk modules!
Wolf Modules
A Wolf Module is basically a library packaged in a specific way using a series of specialized tools which guarantee some requirements such as having initilization. Theirs three major parts to it : first as a user of modules, the file format on disk if you need to poke around, and last how its implemented underneath.
User Perspective
In Wolf, one of the core classes is Application. It basically represents a program and lets you react to events that happen. Most important is it has an init() function which is ran on startup, and a free() function when its destroyed. It also managed the program lifecycle.
A Module in wolf is essentially doing the same thing for a library : it consists of a v_init() and v_free() functions (using the proper naming conventions unlike init : blog post on that later). On load or static initilization, its guaranteed to call that function and on free the same, allowing the library to automatically prepare itself. Just like an application, its just subclass WolfModule, write a few macros, and you're magically a module with its own WolfCore_[name]_createModuleInfo function.
If you're using an older Wolf application, you also have to add a few new macros to your application class so it knows to register itself, and start using wolf_begin_application instead of catalyst_begin_executable which will tell Catalyst (the build system) to generate the extra information needed. Once thats done, it'll magically call all static modules setup and teardown before/after your normal init()! No more WolfRenderer::registerResources() nonesense required.
Filesystem
Note the filesystem layout isnt guaranted to be completely stable (might add more folders later), but its working so far. If you look into a module, you'll see something that doesnt really look like a normal library file:
WolfAnalytics.module ├── Debug ├── Headers │   └── WolfAnalytics │   ├── Logger.hpp │   ├── Manager.hpp │   ├── Module.hpp │   └── WolfAnalytics.hpp ├── Library │   └── x86_64-linux │   └── Debug │   └── libWolfAnalytics-static.a ├── Licenses └── module.json
Debug : Contains debug information. At the moment, only windows puts its PDB files here.
Headers : Contains all of the headers to use the library. Catalyst automatically adds this as an include directory. Generally you have a toplevel folder the same as the module, which has all your headers (including the meta header ModuleName/ModuleName.hpp and the module header Module.hpp).
Library : Contains all of the variations of the library. All of them are in the format Library/{catalystarch}-{catalysttarget}/{buildtype}/{moduleName}[-static].{ext} The specifics of the name are based on the platform and what the linker expects. Basically linking 'moduleName' should automatically pick the right library in this.
Licenses : Right now its just a place where a text version of the license if any can go. Eventually I would like it to have a control file which will know to automatically copy it into the app directory, or things like that. Look at unreal's license system for a similar idea.
module.json : Might eventually be module.wexpr. This file contains information about a module, including what modules it depends on, any other system libraries it needs to link to, and so on. Basically all the information the build system will need to be able to use the module. e.g.
{ "name" : "WolfAnalytics", "dependent_modules" : [ "WolfCore" ] }
Eventually I want to add:
CMake (or Catalyst) : CMake/Catalyst macros which are automatically included when loaded
Resources : Resources that can be copied into the resulting product. Wolf would automatically add it as a resource source.
At the moment, modules are completely a build time construct, but eventually it'll have a stripped form which allows them to be packaged with the application (such as if you use it in its shared module form). Luckily all of these details are handled by Catalyst.
Internals of the module system
Theirs quite a lot of gory guts here, and pieces of it I will explain more later. The core of the system from a build perspective though is Catalyst. Catalyst is essentially a build system which sits on top of CMake, adding a ton of extra functionality. For example, instead of the normal add_executable command, it has multiple variants which will automatically add functionality. Such as catalyst_begin_module / catalyst_end_module which will automatically create a module in the correct format. Also supports catalyst_module_use instead of target_link_libraries which boths links the module, and will find/link all child modules. It even adds all of the include directories properly, so you dont have to add extra include dirs you wont use.
Lastly there is wolf_add_application which tells catalyst it needs to generate some extra code. When you do that, Catalyst will create a source file which contains every module you statically linked, and notifies Wolf's module system they were loaded statically including all dependencies. Looks something like:
// // --- GENERATED BY Catalyst --- // CHANGES WILL BE OVERWRITTEN // #include <WolfConsole/Console.hpp> #include <WolfCore/ModuleManager.hpp> #include <WolfCore/WolfModule.hpp> #include <WolfCore/WolfModuleMacros.hpp> #include <WolfType/Error.hpp> #include <WolfType/ErrorDisplayHelpers.hpp> using WolfConsole::console; WOLFCORE_MODULE_DECLARE(WolfConsoleDriverVFS, WolfConsoleDriverVFS::Module) WOLFCORE_MODULE_DECLARE(WolfCore, WolfCore::Module) // ... etc void p_CATALYST_Endless_Application_registerStaticModules (); // extern void p_CATALYST_Endless_Application_registerStaticModules () { auto res = WolfCore::ModuleManager::manager()->loadModulesStatically({ WolfCoreModule_WolfConsoleDriverVFS_createModuleInfo, WolfCoreModule_WolfCore_createModuleInfo, // ... etc }); if (res.isError()) { console.error() << "Unable to load static modules Catalyst had selected." << WolfConsole::EndLine; WolfType::ErrorDisplayHelpers::outputErrorToConsole(res.error()); } }
The application macros which are a part of your normal Application.hpp file then automatically wrap the function into your Application which guarantees its setup before it runs init. Eventually when shared libraries are added, it'll run automatically as part of the same system (though loaded dynamically), which will lead to the ultimate goal of a lot of this : dynamically reloadable C++ code! But thats a topic for another day.
So thats wolf modules! They basically allow a library to be more than a bundle of code with seperate headers : the build system knows a lot more about them, and the runtime side allows the module to expose more information too along with a guaranteed lifecycle thats easy to use. And no more 'if you use this library, you have to call this first' crap!
0 notes
bitchfitch · 3 years ago
Text
Prince Art Fight resource
Tumblr media Tumblr media Tumblr media Tumblr media
currently Prince mostly exists as concept art and half finished 3d models >> so this is all i really have for him. on the images front
the following is an excerpt from a no longer canon/ old draft that gets his vibes across fairly well:
Lowell rounded the corner, and saw nothing in the dark alley way beyond.
No masked man, no trash cans, or crates, just a bare alley. That in of itself was suspicious. Why would the alley have been cleared out like this? Lowell's hand strayed to grip of his pistol, his blood was thundering in his ears as the sounds of the nearly empty street behind him melded with the soft grited sound of his footsteps.
A shape stepped from the darkness as a light turned on, back lighting them and blinding Lowell. The prince giggled as he stepped forward, but the sound was wrong, the footsteps were coming from behind him, not in front of him.
He turned, drawing his gun in the instant it took him to react.
Lowell sucked in a breath as he saw the barrel of his weapon land less than an inch from the smooth plastic of The Prince's mask. Lowell's hand shook, as the prince bowed his head to lightly tap the front of his mask against the barrel.
The light bonk of metal on plastic would have been comedic if not for the dread running through Lowell's veins.
"Hello, Cailean Lowell," his voice was softer than Lowell had expected it to be, and he pronounced Lowell's name correctly without having to be coached, "It's nice to meet you finally, I heard you've been looking for me?"
Lowell lowers his gun. His finger had been on the trigger, one twitch and he would have been no better than his coworkers.
He speaks without thinking, "Are you The Prince, or is your name just Prince?" he momentarily considers turning the gun on himself.
The masked man cocks his head, the huff that rattles through the modulator sounds just slightly amused, "It's just Prince, i don't know where the 'The' came from, but it felt to late to start correcting people,"
Lowell nodded lamely. He had a few scripts he used when speaking to new people. Rules of engagement and guides to keep him from looking as socially incompetent as he often was. He had absolutely no idea to which to use with Prince.
"Hm, does the cat have your tongue Hound Dog? If its if your earlier remark was not what you wanted it to be. just know that it's going to be nice to work with someone who actually knows my name," he put his hands in the pokets of his jacket and rocked back on the edge of his heels, looking as at peace and confident as could be,
"Sorry, I'm just not exactly sure what to do in this sort of situation," he finally thought to reholster his weapon, and did so hurriedly and awkwardly.
"Well then just let me be your guide. Let's start over, ok?" he stuck out his hand "It's nice to meet you Detective, I'm Prince,"
Cailean smiled nervously as he took the smaller hand in his, shaking it as he said "Hello, I'm Cailean Lowell, its… This has been a long time coming hasn't it?"
Prince huffs again as he takes his hand back, Lowell can tell it's almost an laugh. He wonders why Prince doesn't laugh fully.
"It has been, Now come inside we have a lot to talk about,"
---
La Lunch was usually a very hipster establishment, with reclaimed wood nailed artfully to the wallsvand those uncomfortable metal chairs, edison bulbs on low hanging cords, Lowell actually appreciated those, on cold winter mornings the heat they emitted was a godsend.
But, that's not what La Lunch was today.
All but one table had been pushed along the walls with their chairs stacked neatly on top of them. Rich red and gold fabric was draped artfully over the legs of the chairs, making them look something between a palace decoration and a circus tent.
the sole table with two chairs in the center had small battery operated tea lights scattered across the center with two place settings.
Lowell marveled for a moment at the set up, and everything else about this encounter so far, it was all so… Funny. Like a joke or a harmless prank was playing out around him, and not like he was sitting down with a man wanted in connection to multiple murders, disappearances, and robberies. His nerves were prickling at the back of his mind but he was still comfortable in this situation.
He took his seat as Prince disappeared into the kitchen for a moment. When he returned a moment later he was carrying a plate with a slightly burnt steak and some undercooked veggies.
"I have never once claimed cooking as a strong suit, but i hope this will do," he chirps as he sets it down in front of Lowell,
Lowell bit his tongue before he could offer to tutor him, "Why are you doing this?" He reminded himself to be suspicious, Prince worked on misdirection and and subtle tricks, Lowell absolutely should not trust any food he made
"You know what they say," Prince sighed as he took his seat across from Lowell, "The fastest way to a mans heart is between the fourth and fifth rib, but a close second is through the stomach," he gestured with one hand as he leaned his chin on the palm of the other.
"Ah," Lowell regarded him cautiously, he had to pick his next words carefully, "Should i take that to mean you wont be letting me leave alive?"
Prince froze, "Yeah, i worded that badly. You can leave at any point, and i promise the food isn't intentionally poisoned. I don't intend to hurt you,"
"Intentionally poisoned?"
"Like i said, I'm not a good cook," he huffed that non laugh.
Lowell couldnt help but smile a little. Maybe it was Prince's small size that just made him cute? Or was it the way he over emphasized all his motions to make his body language reflect what a facial expression normally would? The soft voice and easy charm probably played a part in it.
"Prince, why did you ask me hear? You know im looking to arrest you, right?" He hesitated for a second before pulling his handcuffs from his pocket and setting them on the table,
Prince froze as soon as the cuffs came into view, he turned stiff and his tone carried barely contained nerves, a near 180 from a moment ago. "Yes, but you haven't yet. And i know i intrigue you," he took a moment to force himself to take a breath, Lowell hadnt been prone to panic attacks in many years but he still recognized the symptoms, "I can help you, and I think we could work well together,"
Lowell had never heard of Prince having such dramatic reactions, or even having any fears. he briefly considered putting the cuffs away, but he needed to know more, and it seemed they gave him a modicum of power in this situation, "What could you need from me?" he tried to pretend he didn't notice the change
"Smart muscle," he replied his voice back to being that cool neutral but his posture still tense and nervous, "You were very close to finding me on your own, not many could say that detective. I would like that sort of analytic mind on my side." he crossed his arms and leaned back in his chair, still trying to present calm confidence, "And you're big."
"Should I take offense to that?" Lowell cracks a smile, guilt is starting to eat at him, Prince hadn't flinched at a gun in his face but a pair of handcuffs has him this scared. What was going on in his head? Why was it the cuffs that got him?
"No, Its actually a very nice trait. A few of my… roudier clients have started to key into the fact that I'm not very big, and i make a point of being unarmed." he cocks his head "I don't particularly like it when people try to push me around. Having a fellow your size at my back would probably get them to settle down,"
Lowell nods, he isn't really considering it is he? Is it the guilt? "I… will consider it." Prince perks up a little, "But, I want answers first."
Prince slowly taps one of his claws against his mask's chin, Lowell had wondered what they were made of but the sharp metallic sound answered his question, "how about this? you can ask me as many questions as you like, and while I may not answer all of them, i will always tell you the truth when i do. Does that work?"
"Only if you give me a reason for not answering."
"Fine, i will not be specific if i dont want to," he holds out his hand, "Deal?"
Lowell shakes it with a nod. "Why are you scared of handcuffs?" its a quick and easy question to start off with.
"You'll most likely be finding out latter tonight whether i want you to or not, until then I'm passing on this one, i dont want to get into it right now," he settles back into his seat, "But, now that youve told me you know i dont like them. Put them away." his tone turned sharp enough to nick Lowell's confidence.
"Of course, sorry," he quickly shooves them back in his pocket, "Sorry, What do you mean ill be finding out later tonight?"
"This is an interview, and before anything becomes official id like to take you on a little practical test."
5 notes · View notes
brilliantsprout-blog · 6 years ago
Photo
Tumblr media
15 Python Blogs To F http://bit.ly/2GIINKh
Tumblr media
15 Python Blogs To Follow Python has been on a successively rising curve ever since its inception. Owing to its easy-to-understand syntax and the innumerable functions that it can serve the rapidly growing popularity is quite justifiable. Python is one of those few languages that can integrate itself with several other fields just through the inclusion of specific libraries and sub-classes. Python has served as a link in advancing various fields of technology including artificial intelligence neural networks and full stack development. If youre seeking to acquire the skills to code masterfully within python or are just browsing to add new library functions to an already vast coding language youll find a neverending sea of blogs dedicated to the exact same purpose. To narrow your field of vision and to make a few choices easier weve compiled a list of 15 Python blogs that you absolutely need to follow. Full Stack Python If you have acquainted yourself with the basic syntax and functions of python and are looking to try your hand at developing/deploying python-powered web-based applications then Full Stack Python is the blog that youre looking for. With detailed tutorials to instruct anyone about the basics of developing a python application Full Stack Python is a python coders safe haven. PyBloggers PyBloggers encompasses everything related to python. With reviews and tutorials for various different libraries PyBloggers is the place to be to keep yourself updated with everything that is happening within the coding community all the while attaining knowledge about different libraries. If you wish to focus on a wider range of functions that Python can offer then PyBloggers would be the best pick. PyVideo If written reviews and tutorials arent sufficient for you then PyVideo would be a good alternative. With over 13000 videos indexed within the website detailing on the functionalities of different modules PyVideo is the ideal pick of choice if you prefer listening through lectures than reading through one. Python Tips If youre just looking for gaining a few tips to better your coding skill and experience then Python Tips will do the trick for you. Filled with several bite-sized tips related to python coding Python Tips is perfect for quickly improving upon your acquired coding skill set. Invent With Python Invent With Python is a blog that is hugely dedicated to the automation aspect of the coding language. If you want to witness what you can teach the machine and learn the art of it then Invent With Python is a good place to be. Through the blog posts youll be teaching bots to play complex games in no time. PyImagesearch PyImagesearch is a blog entirely dedicated to the image processing domain of python language. PyImagesearch educates you about what image processing is and then walks you through the basics of it and then when youre ready you can move towards the advanced level of the domain which also has detailed tutorials about the same. AstroPython Now heres a combination that you dont see every day - Python and Astronomy. AstroPython is dedicated entirely to packages like AplPy which are further dedicated to the field of astronomy. AstroPython helps anyone passionate enough about astronomy yet brilliant enough to integrate it with python. Neopythonic What better place to read about news within the python community than a blog curated by the author of python himself? Neopythonic is a rather entertaining blog ran by Guido Van Rossum. Anything quoted to be the Ramblings through technology politics culture and philosophy by the creator of the Python programming language is sure to be fun right? Python Module Of The Week Python Module of the Week is a unique blog that focuses specifically on one module and indexes detailed articles and tutorials for the same. The Module of the Week as the name refers changes every week making anyone who visits the blogs weekly a master at python coding. AnunRocks AnunRocks is a blog that is dedicated to using the django framework within python. Django is a web framework used to build full-fledged websites using clean and fluid code. So if youre someone who wants to learn Django or just improve your hand at it this will be a good place to start. Python Conquers the Universe Given its fancy name it just has to be comprised of something that is sure to seek your interest right? Well youre not wrong. Python Conquers the Universe is community driven blog where you can ask complex questions and get simple solutions for the same by experts who have a long history with python as a language. Mouse Vs. Python Given the fact that this blog is run by who exclusively uses python to earn a living youre sure to learn a few hacks or tricks to better your coding skill set. Mouse Vs. Python is not a blog that has a clever title it also a place to learn and enhance your coding skills in python. Python Insider Python Insider should already be your go-to site to visit to catch yourself up with news regarding core python development and information related to the same. Python Insider covers and reports on every new library function and updates that even remotely relates to python as a language. Planet Python Planet Python is your one-stop blog where you can find the latest posts from all the popular python related blogs within the community. If you dont wish to have your bookmarks brimming with python related blogs Planet Python is a good place to be where your favorite blogs come as one. Everyday Python Everyday Python is a unique python-related blog which aims to not just educate you about the different things you can do with python but also challenges you with projects to complete every day. Anyone who has diligently followed the everyday challenges is sure to hone his skills in python coding to level on par with a master coder. This brings our little discussion about using python related blogs to a close. We hope you have a fruitful coding session and click here for more tutorials.
0 notes
mbaljeetsingh · 6 years ago
Text
Building an Eisenhower App with Ionic 4 Drag and Drop
There are many ways to add some drag and drop functions to your Ionic app, but using the Dragula package has been my favorite so far and something you enjoyed with Ionic 3 previously as well.
Today we will take things a step further and build an app that incorporates the Eisenhower time management method with a nice UI, drag & drop and of course Ionic 4!
We will use the ng2-Dragula wrapper for Angular which we’ve used back then as well, but it’s updated to version 2 by now and some parts have slightly changed.
Starting our Drag and Drop App
To get started with our app we create a blank new project and simply install the ng2-dragula package:
ionic start devdacticDrag blank --type=angular
cd devdacticDrag
npm install ng2-dragula
To make use of the package we have to add it to our app module just like many other packages, so go ahead and change your app/app.module.ts to:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
 import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
 import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
 import { DragulaModule } from 'ng2-dragula';
 @NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,
    DragulaModule.forRoot()],
  providers: [
    StatusBar,
    SplashScreen,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}
At the time writing this there’s a tiny problem with the package and we need to add a workaround to our src/polyfills.ts to make it work, so simply add this to the bottom of your file:
(window as any).global = window;
Finally we need some CSS so the drag animation looks nicely. We could load it directly from the package, however they recommend a slightly different code so add this to your src/global.scss now:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* in-flight clone */
.gu-mirror {
  position: fixed !important;
  margin: 0 !important;
  z-index: 9999 !important;
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
  pointer-events: none;
}
 /* high-performance display:none; helper */
.gu-hide {
  left: -9999px !important;
}
 /* added to mirrorContainer (default = body) while dragging */
.gu-unselectable {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}
 /* added to the source element while its mirror is dragged */
.gu-transit {
  opacity: 0.2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
  filter: alpha(opacity=20);
}
That’s it for the basic setup of the Dragula package!
Adding the Drag & Drop Logic
If you want to use the functionality in one of your pages you’ll have to to import it inside the module file of your lazy loaded pages. In our case we can change our app/home/home.module.ts to this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { IonicModule } from '@ionic/angular';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
 import { HomePage } from './home.page';
import { DragulaModule } from 'ng2-dragula';
 @NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    RouterModule.forChild([
      {
        path: '',
        component: HomePage
      }
    ]),
    DragulaModule
  ],
  declarations: [HomePage]
})
export class HomePageModule {}
Now it’s time to actually work with the package.
With Dragula you can move objects around between groups if they share the same Dragula name. In our case we will have four different arrays (for the quadrants of our app) that hold the information, and we want to drag and drop items between them. Therefore, all of them will be in the same Dragula group called “bag“.
Within our constructor we can now use the Dragula service to subscribe to various events. Let’s talk about the ones we use:
drag(): An item is currently being dragged. In that case we will change the background color
removeModel(): An item was dropped, but not inside another group but outside any group. At that point the item will be removed and we’ll show a little toast
dropModel(): An item was dropped into a new group. We’ll again change the color to reflect that something happened
createGroup(): This one defines some options for our group, in our case that all items dropped outside the group should be spilled which means removed
All of these Observables can return a lot of values, and you can pick the ones you need. In our case we mostly need the actual item which holds the information of the object inside our data array, but you can get information about almost anything at that point! Simply check out the signature of those functions.
We are also changing the color in two different ways; While dragging we directly set the color attribute of the HTML item, later we use the color property. Just wanted to show both options in here as they do pretty much the same.
Finally we also have a function to add a new todo to a specific quadrant. We need some logic here to check which color should be added but basically it just adds the information to the appropriate array.
Now go ahead and change your app/home/home.page.ts to:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import { Component } from '@angular/core';
import { DragulaService } from 'ng2-dragula';
import { ToastController } from '@ionic/angular';
 @Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  q1 = [
    { value: 'Buy Milk', color: 'primary' },
    { value: 'Write new Post', color: 'primary' }
  ];
  q2 = [
    { value: 'Schedule newsletter', color: 'secondary' },
    { value: 'Find new Ionic Academy topics', color: 'secondary' }
  ];
  q3 = [
    { value: 'Improve page performance', color: 'tertiary' },
    { value: 'Clean the house', color: 'tertiary' }
  ];
  q4 = [
    { value: 'Unimportant things', color: 'warning' },
    { value: 'Watch Netflix', color: 'warning' }
  ];
   todo = { value: '', color: '' };
  selectedQuadrant = 'q1';
   constructor(private dragulaService: DragulaService, private toastController: ToastController) {
    this.dragulaService.drag('bag')
    .subscribe(({ name, el, source }) => {
      el.setAttribute('color', 'danger');
    });
     this.dragulaService.removeModel('bag')
    .subscribe(({ item }) => {
      this.toastController.create({
        message: 'Removed: ' + item.value,
        duration: 2000
      }).then(toast => toast.present());
    });
     this.dragulaService.dropModel('bag')
      .subscribe(({ item }) => {
        item['color'] = 'success';
      });
     this.dragulaService.createGroup('bag', {
      removeOnSpill: true
    });
  }
   addTodo() {
    switch (this.selectedQuadrant) {
      case 'q1':
        this.todo.color = 'primary';
        break;
      case 'q2':
        this.todo.color = 'secondary';
        break;
      case 'q3':
        this.todo.color = 'tertiary';
        break;
      case 'q4':
        this.todo.color = 'warning';
        break;
    }
    this[this.selectedQuadrant].push(this.todo);
    this.todo = { value: '', color: '' };
  }
 }
We also added a few initial items to our array so the app is not so empty while testing.
Creating the Eisenhower Matrix View
Right now we have added all the logic and learned to use the Dragula service, now it’s time to connect everything with our view.
First of all we need the information for a new todo which is the area at the top of our view. It’s not really anything new, but you might have noticed the forceOverscroll on our ion-content. This helps to prevent some crazy scrolling on a device while dragging elements between the lists!
At the bottom we have the four quadrants, and we could have another array to iterate so it would be only one code block but I thought it would be a bit more clearly how the package works if we write things out.
So within each column we have a little header for that area followed by a list of the todo items of that quadrant.
The most important part is to specify dragula="bag" on all of the groups between which you want to drag and drop items! Also, you need to pass in the [(dragulaModel)] which is the connection to the array with information for each quadrant.
If you set up these things correctly you have established a connection between the different lists and also a 2 way data binding between the Dragula list and the actual array containing the information.
With all of that said, open your app/home/home.page.html and replace it with:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<ion-header>
  <ion-toolbar>
    <ion-title>
      Devdactic Eisenhower
    </ion-title>
  </ion-toolbar>
</ion-header>
 <ion-content forceOverscroll="false">
  <ion-grid>
     <ion-row align-items-center>
      <ion-col size="12">
        <ion-item>
          <ion-label position="fixed">New Todo:</ion-label>
          <ion-input [(ngModel)]="todo.value"></ion-input>
        </ion-item>
       </ion-col>
       <ion-col size="12">
        <ion-item>
          <ion-label>Quadrant:</ion-label>
          <ion-select [(ngModel)]="selectedQuadrant">
            <ion-select-option value="q1">Do</ion-select-option>
            <ion-select-option value="q2">Schedule</ion-select-option>
            <ion-select-option value="q3">Delegate</ion-select-option>
            <ion-select-option value="q4">Dont do</ion-select-option>
          </ion-select>
        </ion-item>
      </ion-col>
     </ion-row>
     <ion-button expand="block" fill="outline" (click)="addTodo()">
      <ion-icon name="add" slot="start"></ion-icon>
      Add Todo
    </ion-button>
     <ion-row no-padding class="matrix">
      <ion-col size="6" class="q1">
        <div class="q-header">Do</div>
        <ion-list dragula="bag" [(dragulaModel)]="q1" lines="none">
          <ion-item *ngFor="let item of q1" [color]="item.color" expand="block" text-wrap>
            {{ item.value }}
          </ion-item>
        </ion-list>
      </ion-col>
       <ion-col size="6" class="q2">
        <div class="q-header">Schedule</div>
        <ion-list dragula="bag" [(dragulaModel)]="q2" lines="none">
          <ion-item *ngFor="let item of q2" [color]="item.color" expand="block" text-wrap>
            {{ item.value }}
          </ion-item>
        </ion-list>
      </ion-col>
       <ion-col size="6" class="q3">
        <div class="q-header">Delegate</div>
        <ion-list dragula="bag" [(dragulaModel)]="q3" lines="none">
          <ion-item *ngFor="let item of q3" [color]="item.color" expand="block" text-wrap>
            {{ item.value }}
          </ion-item>
        </ion-list>
      </ion-col>
       <ion-col size="6" class="q4">
        <div class="q-header">Don't do</div>
        <ion-list dragula="bag" [(dragulaModel)]="q4" lines="none">
          <ion-item *ngFor="let item of q4" [color]="item.color" expand="block" text-wrap>
            {{ item.value }}
          </ion-item>
        </ion-list>
      </ion-col>
    </ion-row>
  </ion-grid>
   <ion-row class="delete-area" align-items-center justify-content-center>
    <ion-icon name="trash" color="medium"></ion-icon>
  </ion-row>
 </ion-content>
Whether you are directly following this tutorial or use your own view, adding some styling is important because Dragula might not work as expected otherwise. First, we had to add this overall CSS so we see anything happen, now it’s important to give your lists height:100%; in order to make them work when the array is empty!
Besides that I played around with some other styling properties but feel free to experiment a bit more on a real device! Here’s my styling that you can add to your app/home/home.page.scss:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
.q1, .q2, .q3, .q4 {
    border: 4px solid #fff;
}
 .matrix {
    margin-top: 30px;
     ion-col {
        --ion-grid-column-padding: 0px;
        min-height: 150px;
    }
     .list {
        padding: 0px;
        height: 100%;
    }
     ion-item {
        margin-bottom: 2px;
    }
}
 .q-header {
    background-color: var(--ion-color-light);
    height: 20px;
    text-align: center;
}
 .delete-area {
    border: 2px dashed var(--ion-color-medium);
    margin: 10px;
    height: 100px;
    ion-icon {
       font-size: 64px;
    }
}
The result should look pretty much like the image below. You can drag the items between the different lists, you can add new items and also drop them outside to remove them. The delete area is basically just a UI indication to drop it, actually you can drop them anywhere outside the lists to remove them!
Conclusion
Drag and drop is a pretty cool functionality if you can integrate it in a useful way inside your Ionic app. Dragula is not the only package that helps us to implement such a feature, but it’s one of the easiest and fastest ways to add it.
You can also find a video version of this tutorial below.
youtube
Get the free 7 day Ionic 4 Crash Course to learn how to:
Get started with Ionic
Build a Tab Bar navigation
Make HTTP calls to a REST API
Store Data inside your app
Use Cordova plugins
Style your Ionic app
The course is free, so there's nothing you can lose!
Success! Now check your email to confirm your subscription.
via Devdactic https://ift.tt/2zRQ0l8
0 notes