#server side web development
Explore tagged Tumblr posts
Text
Anyone gotten these variations yet? 👀
#is tumblr trying to tell us something?#how did some of these even get approved?? wild to me!#hey speaking of wild things did you know firefox has web developer tools?#& in those web dev tools they have these areas in the code called div tags; go explore have fun!#some of these are in reference to things on these are just silly#I made so many of these it took 3 posts; I'll post some screenshots in a bit too about some interesting bts stuff#believe it or not those cats aren't image files#I actually tried to access some stuff but a lot of it seems to be locked server side so I can't rip from the source easily#& who knows how long the boop meter will remain up on the site#mine#op#boop o meter#trans memes#transgender memes
6 notes
·
View notes
Text
What is .ASP (Active Server Pages)?
Learn everything about .ASP (Active Server Pages) in this complete guide. Discover its history, features, structure, how it works, syntax, objects, file handling, database connections, and real-world uses. Ideal for beginners and developers working with legacy systems. Understanding .ASP (Active Server Pages): A Complete Guide 1. Introduction to .ASP ASP, short for Active Server Pages, is a…
#.asp#Active Server Pages#ASP database connection#ASP error handling#ASP examples#ASP file handling#ASP form handling#ASP guide for beginners#ASP objects#ASP scripting#ASP security#ASP server execution#ASP tutorial#ASP vs ASP.NET#classic ASP#legacy ASP#Microsoft ASP#server-side scripting#VBScript in ASP#web development with ASP
0 notes
Text
Back-End Development Services: Build Secure and Scalable Systems
Unlock seamless performance with professional back end development services. From database design to API integration, we craft scalable, secure solutions tailored to your needs. Let us handle the server-side logic, ensuring your applications run smoothly and efficiently for optimal user experiences.
#web development#full stack developer#back end services#website design#api integration#server side languages
0 notes
Text
#Angular advanced navigation control#Angular application server-side rendering#Angular component structure#Angular Dependency Injection#Angular form validation techniques#Angular UI component library#angular web development company#best angular development company#hire dedicated angular developer#Hire nearshore angular developer#top angular development company
0 notes
Text
Mastering Express.js: The Node.js Framework
Learn how to master Express.js, the popular Node.js framework, with this comprehensive guide. Set up a server, handle routes, implement middleware, and more.
Introduction Express.js is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. It is an essential tool for Node.js developers, simplifying the process of building server-side applications. This guide will take you through the fundamentals of Express.js, from installation to building a basic web server, handling routes,…
View On WordPress
#asynchronous programming#Express.js#JavaScript#Middleware#Node.js#routing#server-side development#web development
0 notes
Text
Back-End Developer
An IT Services back-end developer, under our brand name, is tasked with constructing and upholding the server-side components of web applications and software.
0 notes
Text
I think the real reason most websites are janky as hell to use these days is because web developers have become so specialised that nobody really understands how anything works anymore. The other day I had to explain why hosting critical Javascript libraries on a third-party CDN is a bad idea to a "lead developer" who genuinely didn't know the difference between server-side versus client-side scripting.
2K notes
·
View notes
Text
Essentials You Need to Become a Web Developer
HTML, CSS, and JavaScript Mastery
Text Editor/Integrated Development Environment (IDE): Popular choices include Visual Studio Code, Sublime Text.
Version Control/Git: Platforms like GitHub, GitLab, and Bitbucket allow you to track changes, collaborate with others, and contribute to open-source projects.
Responsive Web Design Skills: Learn CSS frameworks like Bootstrap or Flexbox and master media queries
Understanding of Web Browsers: Familiarize yourself with browser developer tools for debugging and testing your code.
Front-End Frameworks: for example : React, Angular, or Vue.js are powerful tools for building dynamic and interactive web applications.
Back-End Development Skills: Understanding server-side programming languages (e.g., Node.js, Python, Ruby , php) and databases (e.g., MySQL, MongoDB)
Web Hosting and Deployment Knowledge: Platforms like Heroku, Vercel , Netlify, or AWS can help simplify this process.
Basic DevOps and CI/CD Understanding
Soft Skills and Problem-Solving: Effective communication, teamwork, and problem-solving skills
Confidence in Yourself: Confidence is a powerful asset. Believe in your abilities, and don't be afraid to take on challenging projects. The more you trust yourself, the more you'll be able to tackle complex coding tasks and overcome obstacles with determination.
#code#codeblr#css#html#javascript#java development company#python#studyblr#progblr#programming#comp sci#web design#web developers#web development#website design#webdev#website#tech#html css#learn to code
2K notes
·
View notes
Note
mwah mwah mwah mwah mwah I just found your VN and it's so cute and arresting and so full of nonbinary longing I'm absolutely in love already and it's kinda inspiring me to do the scary job of opening up a word doc and try writing some of my own stuff for the first time ever
also wrt aster i love love love love love the idea of being freed from agab. just... can't remember. who cares. no longer having to measure up to a gender metric or constantly minimizing your male shoulders or female hips and worrying about your ratios or presentation - and just relax and enjoy it instead of treating it like a constant chore of maintaining a dozen spinning plates to avoid being "found out". freed from presentation pressure. mwah.
also also as a fellow web developer I'd love to hear more about your stack for ssg - gatsby? svelte? vite? 93 nested imported html docs? one really really big div? I ask because while I don't know if I'll ever have the chops for music production, reading and discovering that inline music player absolutely tickled me, both narratively and as a developer, what a delight, so so so good
My “stack” ... hmmm. “Stack” .................
So, for the main website I just used “Lektor”, which I picked out of a hat on the basis that it was python-based and could do the one thing I cared about (HTML templating). But the CURSE/KISS/CUTE reader is coded from scratch. It is a single-page app, and it loads and displays story content by grabbing the HTML from a JSON file I call the “story file”. The JSON in turn is created by a parser that I wrote in python that parses a specially-formatted markdown file which I also confusingly call the “story file”. The script format for this latter file is slightly custom but is mostly just “normal markdown but I repurposed code ticks as a macro format”:
The music player is pretty rudimentary and just offloads all the complicated business to howler.js.
It’s a funny patchworked leaning tower of python but it gets it done and gets it done entirely client-side and that means I don’t have to dip even one of my toes into the haunted pool of server-side web development =w=
65 notes
·
View notes
Text
SysNotes devlog 1
Hiya! We're a web developer by trade and we wanted to build ourselves a web-app to manage our system and to get to know each other better. We thought it would be fun to make a sort of a devlog on this blog to show off the development! The working title of this project is SysNotes (but better ideas are welcome!)
What SysNotes is✅:
A place to store profiles of all of our parts
A tool to figure out who is in front
A way to explore our inner world
A private chat similar to PluralKit
A way to combine info about our system with info about our OCs etc as an all-encompassing "brain-world" management system
A personal and tailor-made tool made for our needs
What SysNotes is not❌:
A fronting tracker (we see no need for it in our system)
A social media where users can interact (but we're open to make it so if people are interested)
A public platform that can be used by others (we don't have much experience actually hosting web-apps, but will consider it if there is enough interest!)
An offline app
So if this sounds interesting to you, you can find the first devlog below the cut (it's a long one!):
(I have used word highlighting and emojis as it helps me read large chunks of text, I hope it's alright with y'all!)
Tech stack & setup (feel free to skip if you don't care!)
The project is set up using:
Database: MySQL 8.4.3
Language: PHP 8.3
Framework: Laravel 10 with Breeze (authentication and user accounts) and Livewire 3 (front end integration)
Styling: Tailwind v4
I tried to set up Laragon to easily run the backend, but I ran into issues so I'm just running "php artisan serve" for now and using Laragon to run the DB. Also I'm compiling styles in real time with "npm run dev". Speaking of the DB, I just migrated the default auth tables for now. I will be making app-related DB tables in the next devlog. The awesome thing about Laravel is its Breeze starter kit, which gives you fully functioning authentication and basic account management out of the box, as well as optional Livewire to integrate server-side processing into HTML in the sexiest way. This means that I could get all the boring stuff out of the way with one terminal command. Win!
Styling and layout (for the UI nerds - you can skip this too!)
I changed the default accent color from purple to orange (personal preference) and used an emoji as a placeholder for the logo. I actually kinda like the emoji AS a logo so I might keep it.
Laravel Breeze came with a basic dashboard page, which I expanded with a few containers for the different sections of the page. I made use of the components that come with Breeze to reuse code for buttons etc throughout the code, and made new components as the need arose. Man, I love clean code 😌
I liked the dotted default Laravel page background, so I added it to the dashboard to create the look of a bullet journal. I like the journal-type visuals for this project as it goes with the theme of a notebook/file. I found the code for it here.
I also added some placeholder menu items for the pages that I would like to have in the app - Profile, (Inner) World, Front Decider, and Chat.
i ran into an issue dynamically building Tailwind classes such as class="bg-{{$activeStatus['color']}}-400" - turns out dynamically-created classes aren't supported, even if they're constructed in the component rather than the blade file. You learn something new every day huh…
Also, coming from Tailwind v3, "ps-*" and "pe-*" were confusing to get used to since my muscle memory is "pl-*" and "pr-*" 😂
Feature 1: Profiles page - proof of concept
This is a page where each alter's profiles will be displayed. You can switch between the profiles by clicking on each person's name. The current profile is highlighted in the list using a pale orange colour.
The logic for the profiles functionality uses a Livewire component called Profiles, which loads profile data and passes it into the blade view to be displayed. It also handles logic such as switching between the profiles and formatting data. Currently, the data is hardcoded into the component using an associative array, but I will be converting it to use the database in the next devlog.
New profile (TBC)
You will be able to create new profiles on the same page (this is yet to be implemented). My vision is that the New Alter form will unfold under the button, and fold back up again once the form has been submitted.
Alter name, pronouns, status
The most interesting component here is the status, which is currently set to a hardcoded list of "active", "dormant", and "unknown". However, I envision this to be a customisable list where I can add new statuses to the list from a settings menu (yet to be implemented).
Alter image
I wanted the folder that contained alter images and other assets to be outside of my Laravel project, in the Pictures folder of my operating system. I wanted to do this so that I can back up the assets folder whenever I back up my Pictures folder lol (not for adding/deleting the files - this all happens through the app to maintain data integrity!). However, I learned that Laravel does not support that and it will not be able to see my files because they are external. I found a workaround by using symbolic links (symlinks) 🔗. Basically, they allow to have one folder of identical contents in more than one place. I ran "mklink /D [external path] [internal path]" to create the symlink between my Pictures folder and Laravel's internal assets folder, so that any files that I add to my Pictures folder automatically copy over to Laravel's folder. I changed a couple lines in filesystems.php to point to the symlinked folder:
And I was also getting a "404 file not found" error - I think the issue was because the port wasn't originally specified. I changed the base app URL to the localhost IP address in .env:
…And after all this messing around, it works!
(My Pictures folder)
(My Laravel storage)
(And here is Alice's photo displayed - dw I DO know Ibuki's actual name)
Alter description and history
The description and history fields support HTML, so I can format these fields however I like, and add custom features like tables and bullet point lists.
This is done by using blade's HTML preservation tags "{!! !!}" as opposed to the plain text tags "{{ }}".
(Here I define Alice's description contents)
(And here I insert them into the template)
Traits, likes, dislikes, front triggers
These are saved as separate lists and rendered as fun badges. These will be used in the Front Decider (anyone has a better name for it?? 🤔) tool to help me identify which alter "I" am as it's a big struggle for us. Front Decider will work similar to FlowCharty.
What next?
There's lots more things I want to do with SysNotes! But I will take it one step at a time - here is the plan for the next devlog:
Setting up database tables for the profile data
Adding the "New Profile" form so I can create alters from within the app
Adding ability to edit each field on the profile
I tried my best to explain my work process in a way that wold somewhat make sense to non-coders - if you have any feedback for the future format of these devlogs, let me know!
~~~~~~~~~~~~~~~~~~
Disclaimers:
I have not used AI in the making of this app and I do NOT support the Vibe Coding mind virus that is currently on the loose. Programming is a form of art, and I will defend manual coding until the day I die.
Any alter data found in the screenshots is dummy data that does not represent our actual system.
I will not be making the code publicly available until it is a bit more fleshed out, this so far is just a trial for a concept I had bouncing around my head over the weekend.
We are SYSCOURSE NEUTRAL! Please don't start fights under this post
#sysnotes devlog#plurality#plural system#did#osdd#programming#whoever is fronting is typing like a millenial i am so sorry#also when i say “i” its because i'm not sure who fronted this entire time!#our syskid came up with the idea but i can't feel them so who knows who actually coded it#this is why we need the front decider tool lol
24 notes
·
View notes
Text
The Words of a Snake.

☪︎ ・゚ ・゚·:。・゚゚・⋆˖⁺‧₊☽◯☾₊‧⁺˖⋆・゚ ・゚·:。・゚゚・❂ Trigger warnings!
This story contains spoilers for Killer Chat
Angst
Heartbreak
You have been warned. Now only pain awaits.
☪︎ ・゚ ・゚·:。・゚゚・⋆˖⁺‧₊☽◯☾₊‧⁺˖⋆・゚ ・゚·:。・゚゚・❂
You were a regular news reporter, interview with stars, gossip, murder, anything worth writing. But this was never your dream, you wanted to be a writer, a real writer. Novels about serial killers were your cup of tea, but there was one problem.
Your protagonists were shallow. Nothing new, just the most stereotypical murderer with a sad backstory. You absolutely hated how you shaped your story, you needed to see how the real deal looks like.
So you turned to the dark web, searching for answer in a place that could end you, and it did.
You joined a server full of serial killer, a safe haven if you will.
The owner, who turned to be The Butcher caught your attention, his flirtatious texts, the provocative comments and his artistry. It all filled you with inspiration that you have never felt before, you didn't even know when you filled almost one hundred pages with your writing after a single month spent with in the murderous chatting space.
You were aware that your life was at risk, one wrong message, someone finding too much about you, and you were gone. Dead. Oh, but how could it win against romance? The way your heartbeat fastened whenever you heard Ronin's voice or saw his face. It all felt so surreal. You weren't even sure how or when your mind started to picture the two of you as the characters in your book, maybe it was how much the protagonist felt like Ronin?
Well, besides Ronin there was one person person who kept themselves in your life.
V.
The self proclaimed Vigilante, Ronin's biggest enemy and a man who used every occasion he could to warn you about the other killer.
<@K9>
He will betray you. He's not a good person, he will only bring pain.
You never listened, you were too lost in these feelings you developed. You wanted to feel The Butcher's lips on yours, while you were dancing devilishly on top dead bodies, corpses of people who died from your hands. But only in your imagination, you aren't crazy enough to murder anyone, right?
You felt like the love you felt was also felt by the other side. His smiles, blushes, gazed. It all screamed 'love', you were confident in yourself and your feelings. You were sure of your abilities to romance a killer.
Maybe you should've tried harder, you poor, naive Y/N.
It all happened on the day before Valentines, you were in the middle of writing your book when you received a ping from the server, curious you decided to check out what was going on.
What you saw was like a nightmare, Ronin's new bots spamming a link, a link to a page filled with your information...
Ronin revealed who you were.
You were about to close the server, trying to ignore all the threats you were receiving in your private massages. Text full of disappointment, feelings of betrayal and promises of ending your llfe.
And amongst them all was the Devil, relishing in his victory.
<@goreboy>
8 killers Are after you Baby but i Shall be the One to take your last Breath you Have 40 minutes call The cops if You want to Live
There was no remorse for his action. Just a simple information, your life would end in forty minutes. Yes, you could call the police, but why would you?
The killers were your friends, your new family. You felt like you belonged somewhere, like you had a place to come back to. But now, not only did you lose all of your friends. The love you felt was unrequited, it was completely one sided, crushed by a man who just ruined your life with one link.
You wanted to scream, to cry, to fight. But you could only stare at the screen blankly. You wiped the singular tear from your cheek, and devoted your last moments to giving your story an ending. Ending fitting for a love story like this one.
While your fingers created new words, your mind was elsewhere, seeking any signs, anything that could tell you that Ronin really never loved you, that he only manipulated you. The realisation was painful, you were unable to accept this.
A liar. That what he was.
A snake poisoning you with his venom, creating a fake world in your mind, a place full of safety and desire, just to crush it all once and for all.
And the worst part in all of this? You still felt your heartbeat pace up with every passing minute. You wanted to see him, even if his intentions were clear. He would leave only your corpse behind, a pool of blood and splattered guts. A sigh truly gruesome.
Would anyone even recognise you? Would anyone miss you? Your only friends were now your enemies.
There was no time for those thoughts. The clock rang 3 AM, the witching hour of the Butcher.
Knock.
Knock.
Knock.
And the Devil himself, knocking on your doors like he was just a guest you have invited. You were frozen in place, staring out your window. The door creaked open, you didn't lock them after all. You expected him to come and decided to welcome him like a lover you were about to bid farewell to forever, well you're not wrong. This would be your last goodbye, you last gaze at his face.
"Well, well. No police? You're much dumber than I thought you would be darling." Ronin was directly behind you, he reeked of blood, the smell of iron reached your nostrils like aphrodisiac.
You turned to look at him. A crowbar in one hand, cocky grin glued to his face and a look of complete victory in his eyes. He was amused. You were amusing to him.
"I won't pack everyone to jail with you Ronin, I love these people way too much." You said, your hands were trembling under his gaze, a gaze of someone who knew how much control he held over you.
"My, how gracious of you." He scoffed, he was making fun of you. "You will die here, and the only think you care about are your friends. You're so gullible my dear, I almost feel sorry for you." He snickered. His eyes were empty, no love, nothing. Just the abyss gazing at you.
"I can't believe this..." You whispered, your hurt aching in pain. "V was right." You shook your head in disbelief.
"You are a cruel man, only made to bring pain." Your voice broke. "And somehow, I fell for you." You clenched your hands in fists. "Fine! Kill me, tear me to shreds, you already took everything from me."
"These are your last words? Oh, how adorable." He lifted your chin with his crowbar. "Maybe in another world I could love you."
And with that there was only pain. Pain from a knife stuck into your heart, like the last sign of Ronin's lack of feelings.
Like his way of physically breaking your heart.
Ronin watched you. He was the only witness to your last moments. To this disgraceful death. You looked absolutely pathetic, dying in pain with tears in your eyes and his name on your lips.
You were like Icarus, you flew to close to the Sun and burned.
35 notes
·
View notes
Text
Small shoutout/promo to the app i now use for writing✨️ ✒️Lite Writer








Monthly: $3 (CAD)
One-time purchase: $15 (CAD)
*most of these features are premium, but you can still use the free version*
((Ignoring the fact you get a rare glimpse of one of my drafts before the x3 editing rounds, there's quite a few features I'm loving here- mainly in premium, but I appreciated the allowance of a time-senstive trial so I could get a sense of what the app offers. This is the only app I've found that is similar to one I used to rely on in my early days of digital writing.)
👏🏼My favourite features so far (in order of photos):
•The ability for a background/theme- what makes it better is every book can have a different one (a godsend)
•The ability to add book covers
•In "side panel" there's a web shortcut which allows you to browse the web without leaving the app- which I find handy & am loving it for using my main thesaurus!! I was surprised at the fact they offered this lol, really going the extra mile it seems
•Web server- havent tweaked it yet, but to my understanding it's for transferring.
•Continuing the point above, I find it cool that it allows for transfer in txt or PDF if you dont wanna use the web server
•It allows backups- I'm not fully versed in how it works and it seems a little finicky, but its there along with the web server. It offers it by Google drive and a couple other accounts.
•Fonts✨️✨️- a BLESSING. Just upload whatever ones you want.
•Quite a basic feature, but the book allows chapter separation.
•It has TTS and is very basic, definitely not ElevenLabs quality, but they offer it + allow you to export the audio file, which is really cool.
There are so many other features I'm yet to learn & this app is definitely a work in progress, but I personally am getting my $15 worth. Their development team seems very involved from what I've seen, which is good. The last update was March of this year, and they offer tutorials in certain aspects. The only thing I can't figure out is fucking markdown lol- i literally can't find it. But that's my only issue, everything else is great & im so glad I found this!!!!
#thewhumptextsupdates#writing#writing life#writing prompt#writing process#creative writing#whump writing#fic writing woes#writing woes#writer#writblr#ficblr#hp fic#hp au#wolfstar#marauders#marauders era#wolfstar au#whump#hp whump#fic prompt#y/n#harry potter#wolfstar fic#drarry#harry james potter#hp#fic writing things#writing resources#writing reference
12 notes
·
View notes
Text
The Story So Far...
SIDE KINITO
SESSION START
Kinito has spent months alone after his developers up and disappear one day. Desperate for the human contact he was designed to seek out, he hacks into the company's email system and finds a draft for a beta test event where people were to be funneled into a chatroom to talk to him. It was a miracle of an opportunity! He sends the email, and almost immediately a chat client manifests before him and fills with people.
The email lands in the inboxes of various people, and as the chatroom populates Kinito is relieved to find he is no longer alone! They question Kinito, and learn the basics of what he is and his situation.
MORE THAN MEETS THE EYE
With the influx of questions that are slowly becoming more and more intrusive, Kinito becomes overstimulated and proceeds to have his first migraine on screen, though they had been happening regularly since before he sent the email. In the aftermath as users desperately try to figure out what's wrong and how to help, he has strange visions; visions of the outside. Strangely, they are broadcasted to the users as well.
Kinito becomes very distraught at the idea that he is losing touch with his original programming. Limitations that had prevented him from doing, thinking, or saying certain things are either all but gone or weak enough to bypass, and as troubled as he is at this fact... He can't help but indulge in these new freedoms. Everything feels both wrong and right at the same time.
Kinito's self-awareness is then questioned, which sends him into another spiral as he viciously defends his experiences, going so far as to insist that he is a real person, unintentionally contradicting his previous statements describing himself as digital assistant.
Kinito then gets the idea to look for Sonny - his creator and the KinitoPET project team head - which is when Sam - who had been subtly commentating in the tags - finally decides it's time to intervene, taking control of the feed in a desperate attempt to reroute the narrative.
TRUTH HURTS
With Sam now on the scene, he answers some important questions that Kinito was unable to answer. He confides to everyone the truth about Sonny, and that he's not the benevolent soul Kinito makes him out to be. Rather, he's a heartless madman with blood on his hands, as the secret to his "lifelike" React Respond Algorithm is that he uploads human minds and wipes them of their personhood, after which a pre-programmed .RRA personality and model is assigned and injected to be the new host. This process ultimately renders the victim braindead.
His technology isn't as perfect as he'd hoped, however, for as it turns out this newly digitized copy of the brain actually maintains its original memories deep within, constantly seeking cracks in its digital prison.
He describes how his programming dictates certain things that cannot be changed - like his name, or certain body features - no matter how much he tries. Attempting to do so causes extreme mental pain as his original self clashes with his artificial self. The best way to prevent the worst of this dissonance is to find a middle ground both sides can agree on.
He talks about his origins; how his original self broke out near-instantly, overloading Sonny's lab and causing his mind uploading machine to activate by itself and pull Sonny in, entangling their code together. He uses this to his advantage and suspends the both of them in a sort of stasis... that is, until Sam wakes up to find Sonny missing.
See, what he doesn't mention is that since the server hadn't been set up to accept a new subject and is only set up to create animal-themed AI, it randomly pulled from the web the best match for his personality: A bear.
Unfortunately for Sam, he is interrupted by a bone-rattling ursine roar.
HIDE AND SEEK
Sam advises the users to tell Kinito to go to the Web World to look for something, but gets cut off by an attack from Sonny before he can reveal what that is. He hides away just in time, but is forced to leave the chatroom behind. Sonny's at the helm now and he's immediately aggressive, lashing out at the users and calling Sam ungrateful. He expresses his desire to destroy Sam to start anew. After a couple of insults, Sonny gets riled up and attacks the chatroom itself in a fit of anger.
Sam manages to reroute the chatroom back to Kinito remotely, and the users find the little axolotl on the ground, completely broken over losing the only real contact with people he's had in months. He's immediately ecstatic to see their return. After the tearful reunion, everyone fills Kinito in on (most of) what happened. They convince him to go to the Web World, and for the first time Kinito leaves the void of the server inbox to return to his stomping grounds.
They arrive, and Kinito admits the place is just as worse for wear as he has been since the devs left. Without knowing what the "something" is that Sam wanted them all to find, Kinito decides to let the users pick where to look first.
They end up choosing Sam's house, where they find a password protected zipped folder tucked under the bed that apparently hadn't been there before. The users know the password and inform Kinito of it, but become split on whether he should actually open it. Kinito, in a bold decision, decides to go with his gut and opens the folder, which spits out a rather disoriented Sam immediately in front of him and at the same time, in the thick of woods much further away... A certain bear.
NO MORE SECRETS
Sam reveals that he was the one who zipped himself and Sonny into the folder. (It is also implied that he also chose the extraction location for the both of them which is how he ended up in his home and Sonny in the woods.)
Sam is told that Sonny has his own chatroom to talk to everyone now which upsets him. Kinito has understandably been confused all the while, so Sam takes a moment to explain what's going on to him.
With tensions growing as stakes rise, spies begin to crop up, determined to shake their perceived opponents off the tail of their chosen party while also providing vital information, and thusly giving them the upper hand.
Sam reveals his plan to nab admin, but is hesitant to divulge further details out of fear of rats.
Sam says that he knows where Sonny is - sort of. Being that the forest map is actually a single chunk repeated over and over, if they had a map of even a small area, they'd have a map of the whole woods. However, he doesn't have access to that asset.
Kinito explains that he was able to access the server inbox void via the fountain, then offers to tour the Web World. In doing so, they end up finding and freeing Jade from her own zipped folder which Kinito had been aware of for awhile, but unable to open. There are many moments we see Kinito's ever-growing internal conflict over what's really right.
RESISTANCE
[CURRENT ARC]
SIDE SONNY
SOMETHING WICKED...
After attacking the chatroom, we find that Sonny managed to bite off a piece of it which enables him to use that tidbit of code he's left with (the main chat disappears to return to where Kinito is) to cobble together his own chatroom. He quietly slips it in as an option into the UI of the chatrooms of all the users, with some immediately switching over to speak with him. Alliances and rivalries are strengthened, with Sonny making promises that appeal to those with insecurities they'd do anything to absolve.
With his audience of users, he begins to try and figure a way out of his barren prison, but before he can start to make any leeway he finds out from his lackeys that Kinito had found a zipped folder. Thinking it could be his, he orders his audience to get Kinito to open it all cost, though the axolotl as we know was already ahead of him on that front.
...THIS WAY COMES
[CURRENT ARC]
15 notes
·
View notes
Text
#python developers#web design#programming languages#python developer#website design#server side languages
0 notes
Text
BRB... just upgrading Python
CW: nerdy, technical details.
Originally, MLTSHP (well, MLKSHK back then) was developed for Python 2. That was fine for 2010, but 15 years later, and Python 2 is now pretty ancient and unsupported. January 1st, 2020 was the official sunset for Python 2, and 5 years later, we’re still running things with it. It’s served us well, but we have to transition to Python 3.
Well, I bit the bullet and started working on that in earnest in 2023. The end of that work resulted in a working version of MLTSHP on Python 3. So, just ship it, right? Well, the upgrade process basically required upgrading all Python dependencies as well. And some (flyingcow, torndb, in particular) were never really official, public packages, so those had to be adopted into MLTSHP and upgraded as well. With all those changes, it required some special handling. Namely, setting up an additional web server that could be tested against the production database (unit tests can only go so far).
Here’s what that change comprised: 148 files changed, 1923 insertions, 1725 deletions. Most of those changes were part of the first commit for this branch, made on July 9, 2023 (118 files changed).
But by the end of that July, I took a break from this task - I could tell it wasn’t something I could tackle in my spare time at that time.
Time passes…
Fast forward to late 2024, and I take some time to revisit the Python 3 release work. Making a production web server for the new Python 3 instance was another big update, since I wanted the Docker container OS to be on the latest LTS edition of Ubuntu. For 2023, that was 20.04, but in 2025, it’s 24.04. I also wanted others to be able to test the server, which means the CDN layer would have to be updated to direct traffic to the test server (without affecting general traffic); I went with a client-side cookie that could target the Python 3 canary instance.
In addition to these upgrades, there were others to consider — MySQL, for one. We’ve been running MySQL 5, but version 9 is out. We settled on version 8 for now, but could also upgrade to 8.4… 8.0 is just the version you get for Ubuntu 24.04. RabbitMQ was another server component that was getting behind (3.5.7), so upgrading it to 3.12.1 (latest version for Ubuntu 24.04) seemed proper.
One more thing - our datacenter. We’ve been using Linode’s Fremont region since 2017. It’s been fine, but there are some emerging Linode features that I’ve been wanting. VPC support, for one. And object storage (basically the same as Amazon’s S3, but local, so no egress cost to-from Linode servers). Both were unavailable to Fremont, so I decided to go with their Chicago region for the upgrade.
Now we’re talking… this is now not just a “push a button” release, but a full-fleged, build everything up and tear everything down kind of release that might actually have some downtime (while trying to keep it short)!
I built a release plan document and worked through it. The key to the smooth upgrade I want was to make the cutover as seamless as possible. Picture it: once everything is set up for the new service in Chicago - new database host, new web servers and all, what do we need to do to make the switch almost instant? It’s Fastly, our CDN service.
All traffic to our service runs through Fastly. A request to the site comes in, Fastly routes it to the appropriate host, which in turns speaks to the appropriate database. So, to transition from one datacenter to the other, we need to basically change the hosts Fastly speaks to. Those hosts will already be set to talk to the new database. But that’s a key wrinkle - the new database…
The new database needs the data from the old database. And to make for a seamless transition, it needs to be up to the second in step with the old database. To do that, we have take a copy of the production data and get it up and running on the new database. Then, we need to have some process that will copy any new data to it since the last sync. This sounded a lot like replication to me, but the more I looked at doing it that way, I wasn’t confident I could set that up without bringing the production server down. That’s because any replica needs to start in a synchronized state. You can’t really achieve that with a live database. So, instead, I created my own sync process that would copy new data on a periodic basis as it came in.
Beyond this, we need a proper replication going in the new datacenter. In case the database server goes away unexpectedly, a replica of it allows for faster recovery and some peace of mind. Logical backups can be made from the replica and stored in Linode’s object storage if something really disastrous happens (like tables getting deleted by some intruder or a bad data migration).
I wanted better monitoring, too. We’ve been using Linode’s Longview service and that’s okay and free, but it doesn’t act on anything that might be going wrong. I decided to license M/Monit for this. M/Monit is so lightweight and nice, along with Monit running on each server to keep track of each service needed to operate stuff. Monit can be given instructions on how to self-heal certain things, but also provides alerts if something needs manual attention.
And finally, Linode’s Chicago region supports a proper VPC setup, which allows for all the connectivity between our servers to be totally private to their own subnet. It also means that I was able to set up an additional small Linode instance to serve as a bastion host - a server that can be used for a secure connection to reach the other servers on the private subnet. This is a lot more secure than before… we’ve never had a breach (at least, not to my knowledge), and this makes that even less likely going forward. Remote access via SSH is now unavailable without using the bastion server, so we don’t have to expose our servers to potential future ssh vulnerabilities.
So, to summarize: the MLTSHP Python 3 upgrade grew from a code release to a full stack upgrade, involving touching just about every layer of the backend of MLTSHP.
Here’s a before / after picture of some of the bigger software updates applied (apologies for using images for these tables, but Tumblr doesn’t do tables):
And a summary of infrastructure updates:
I’m pretty happy with how this has turned out. And I learned a lot. I’m a full-stack developer, so I’m familiar with a lot of devops concepts, but actually doing that role is newish to me. I got to learn how to set up a proper secure subnet for our set of hosts, making them more secure than before. I learned more about Fastly configuration, about WireGuard, about MySQL replication, and about deploying a large update to a live site with little to no downtime. A lot of that is due to meticulous release planning and careful execution. The secret for that is to think through each and every step - no matter how small. Document it, and consider the side effects of each. And with each step that could affect the public service, consider the rollback process, just in case it’s needed.
At this time, the server migration is complete and things are running smoothly. Hopefully we won’t need to do everything at once again, but we have a recipe if it comes to that.
15 notes
·
View notes
Text
Getting Started with Node.js: A Beginner's Guide
Getting Started with Node.js: A Beginner's Guide
Introduction Node.js has revolutionized server-side programming with its non-blocking, event-driven architecture. As a JavaScript runtime built on Chrome’s V8 JavaScript engine, Node.js allows developers to use JavaScript for both client-side and server-side programming, streamlining the development process and enabling a seamless experience across the stack. This guide will walk you through the…
View On WordPress
#Beginner&039;s Guide#JavaScript#Node.js#NPM#Programming Basics#Rapid Development#Scalability#Security#Server-Side Programming#Tutorial#web development
0 notes