#how to update void linux
Explore tagged Tumblr posts
y-eontan · 4 months ago
Text
DO GET IT TWISTED. DO NOT FAKE IT. THEY WILL ASSUME YOU MADE IT.
Tumblr media
3 notes · View notes
actual-changeling · 3 months ago
Text
windows update executed my pc so now i am impatiently waiting for my new one to arrive so i can a) have a pc again and b) try and save my old one so i can get my data at least.
1 note · View note
kingshovelbug · 1 year ago
Text
im sorry but i need to geek out somewhere and screaming into the void on tumblr is less likely to get me flayed than on twitter, especially if i get terms wrong. plus i can do a read more and yall can click into the tech talk if you want to verse it bombarding your twitter timelines
so idk if i only liked it or if i actually put it in my queue but i saw a post that talked about a few pieces of tech that focus on user repairs and being sustainable (fairphone and frameworks laptop) and after doing some more research into what they have to offer i actually really excited that these products are finely hitting the us market and that people are moving away from the belief that super smooth streamlined glassy = the future. being able to reliably repair and keep what you have alive verse throwing the whole thing away when maybe all you needed to do is add more ram to your current laptop (something that i would do with my laptop to keep using it for a few more years if it wasnt glued shut and i was at risk of cracking the screen) or swap out a fuse.
i know big corporations dont like it but i truly do believe with how much tech we use on a daily basis that the way that we are going to be more environmentally friendly is to move back to tech that we can hang onto for as long as we can and to recycle and then reuse what we cant. like with the frameworks laptop. i saw that they just partnered with coolermaster to create a case specifically so that you can reuse you motherboard, cpu, etc and make a portable workstation. you could dual wield with the laptop you just upgraded if you want to dedicate specific tasks to one or the other. they also specifically mentioned that you could screw it into the back of a monitor and create your own all in one. guys thats cool as shit??? if you had a 3d printer and some time you could even create that yourself
on top of the actual hardware part moving to open source programs when your able. when i update my desktop i plan on running linux. it might have a learning curve compared to windows but in terms of performance??? ive heard that it runs smoother even on older machines, that its more efficient because isnt running stuff in the background that tracks your data and shit. now i understand that not everyone can do that because there are some programs that dont play nice with linux but for my needs at least it does everything i would need it to. and maybe a couple years down the road we do figure out how to run these programs on certain flavors of linux since its open source and people fiddle with it so much. (still looking for alternatives to like word and excel though, i use google docs since its free but i want to move away from them as much as i can too since they laid of their youtube music team (i believe?? it might of been a different branch) for trying to unionize)
if anyone knows of any other smaller companies that actually focus on sustainability and user repairability please let me know. theres certain pieces of tech that i think are now unfortunately behind a software repair paywall, things that used to be just machines and are gaining more bells and whistles like cars and refrigerators if that makes sense. but the more we push for these things to be repairable by us the consumers id hope that would change, or there would at least be options that dont need specific companies to repair them or else they blow up
159 notes · View notes
ntrlily · 1 year ago
Note
sans a few gpu/cpu config fixes a fresh install + all my packages of void linux is identical to a fully updated old one. Like maybe if you fucked up building something that doesnt have an uninstall script and don't know how to find all the files manually? I just see 0 purpose, is it different for other distros
For the most part, not really. There are some Linux users on this website who have royally fucked their systems beyond comprehension, and it would be easier and faster to just reinstall the OS than to actually fix anything going on there, and yet just continue to live every day like this. It's their computers, they can do what they want, but this is the level of "Not willing to reinstall the OS" I had in mind.
I am an opposite extreme, I have fun messing around with wiping and reinstalling my crap. It may have been a little unclear but I don't think this is necessarily ideal use, it's just not particularly painful or obtrusive cuz reinstalls (or wiping and putting a slightly different flavor) don't take all that much time and getting everything back in order, at least for me and with how I partition things, does not take very long.
Honestly though this time I'm just thinking of wiping Mint and going back to Debian for a few reasons, which technically isn't "reinstalling" but it reminded me of those horrifying setups that real Linux users out there willingly use every day.
ETA: I mean in general I don't relate to not wanting to futz around with the OS install but I am. an extreme case, basically.
2 notes · View notes
linuxgamenews · 2 years ago
Text
Survival and Adventure Await in BURIED ECHOES
Tumblr media
BURIED ECHOES now out in TALES FROM THE FAR TERRITORY for The Long Dark on Linux, Steam Deck, Mac, and Windows PC. Once again, the amazing team at Hinterland Studio has worked their magic to bring us this content. Available for all owners via Steam and Humble Store. Dive into the exciting world of "TALES FROM THE FAR TERRITORY, Part Four: BURIED ECHOES". This is the latest addition to the survival adventure. If you're into exploring and surviving in challenging settings, this certainly adds a lot more to explore on Linux and Steam Deck. First up, there's a brand-new area to explore the ZONE OF CONTAMINATION. It's a tough place, once home to the Langston Mine but now abandoned and filled with some dangers. So you'll need to watch out for toxic hazards and even poisoned wolves.
The Long Dark -- TALES FROM THE FAR TERRITORY -- Part Four Update
youtube
In this new part of the BURIED ECHOES adventure, you're continuing a story that began in SIGNAL VOID. You'll be following clues in the Zone of Contamination to unravel more mysteries about Rüdiger, the Security Chief, and other strange happenings.
New Features in BURIED ECHOES:
The Travois: A simple, but handy, sled-like tool that you can make using saplings, deerskin, and other materials. It lets you carry loads of items over long distances. Useful when you're trekking across vast, snowy landscapes.
The Respirator: This BURIED ECHOES addition is crucial for survival. It'll protect you from toxic gases and other poisonous dangers, both underground and on the surface. Remember to keep an eye out for canisters to keep it working.
Protective Gear: There's new protective clothing like a Miner’s Coat, Pants, Chemical Resistant Boots, and a Hard Hat. Each piece offers different levels of protection from physical harm, wind, and moisture. Since it's all about balancing protection with how much gear you can carry.
Insulated Flask: This isn't just any flask. It comes in various colors and patterns. But now you can also fill it with warm drinks like soup, coffee, or tea. Perfect for staying warm on your journey.
Scurvy Affliction: Now, nutrition matters a lot more in BURIED ECHOES. You have to be careful not to get scurvy, which is a real challenge in cold, survival situations. So you'll need to find Vitamin-C rich foods to stay healthy.
First-Person Animations: When you're harvesting animals or wearing hand coverings, you'll see new animations that make the experience even more immersive.
Some Issues to Keep in Mind
Like any big update, there are a few glitches and issues. The team knows about them and is working on fixes. These include problems with bears not appearing where they should, some weight issues with broth, and a few glitches with tools and animations. Remember, this BURIED ECHOES content is for anyone who owns TALES FROM THE FAR TERRITORY. Plus an update for The Long Dark and "SURVIVAL EDITION." So, if you're ready for an adventurous journey filled with survival challenges, this is your playground. Enjoy exploring the Far Territory and uncovering the mysteries in "BURIED ECHOES". Available for all owners via Steam and Humble Store. The DLC is priced at $19.99 USD / £16.75 / 19,50€ for Linux, Steam Deck, Mac, and Windows PC.
3 notes · View notes
sl33py-g4m3r · 5 months ago
Text
Debian 12 xfce ~~~~ let's go~~~~~
I complained about debian not having wifi drivers upon live cd boot, apparently that was by design for the older versions as (i think?) device drivers like that might be proprietary and non-free. and debian ships usually free and open source packages....
so that was by design~~ they changed it I think in debian 12, which I'm late to finding lol.
I missed the transparency thing xfce does sometimes~~~ I like xfce's compositor~~ and for some reason I don't like KDE when I tried it before and hadn't tried it since~~
could've tried it but just jumped on xfce desktop with debian 12, especially cause I've come to like thunar file manager over dolphin (? was that kde's?)
just got it up and running~~ tho I forget (or don't know) how to update the system yet.... mint has an update manager, or it's a cinnamon desktop thing..... idk.... tho I'm guessing "sudo apt-get update"
I like the splash screen and grub menu~~~ and (not that linux mint debian was unstable cause it wasn't~~) I hope debian is really stable~~ ot that's what I read anyway~~
and my function keys still work, lol. unlike upon fresh windows install~~
and I can still access the other hard drive~~ but for some reason upon unmounting it it says that there's still something going on or data is being written to it, but then it seems to unmount fine anyway~~ so I hope nothing is going wrong already~~ lol
continually talking about linux cause I got nowhere else to~~ lol sorry for cluttering up the tags if they aren't correct at all~~
now to install vlc and stuff lol~~ and hopefully find more xfce-4 themes so I can get it looking like windows 95 lol
or what's a better desktop environment than xfce? I tried lxde and it's supposedly not getting updated anymore so better to try lxqt in that case? it's newer.... Cinnamon is nice but got bored of it w mint, kde I didn't like back when I tried it a decade ago and hadn't touched it since.... hadn't messed w GNOME either in a long while either tho, I miss the sidebar and quick access to workspaces but didn't like it for other reasons too... or maybe it wasn't as customizeable..... or I didn't know how.....
currently rocking debian 12 as the title suggests w xfce desktop environment~~~ but could maybe switch to lxqt ~~~ but idk how to wipe all components from xfce and install lxqt...
and I don't like having more than one desktop environment installed cause that leads to duplicate apps
*side glances at how many terminal emulators are here anyway*
which do I choose? there are so many~~~ but lately I like xfce~~~ and might give lxqt a shot~~~ idk.....
there are so many and I already have a hard time choosing anyway lol
also just realized that the installer didn't ask for a root password so i have to "sudo" every single time cause I can't run as root directly.
and for some reason my username didn't capitalize so I tried to log into the system and it said the password was incorrect, I knew the password was correct, I made the first letter of my username small and i was in~~~
wtf~~~ did it lowercase it in the installer and I didn't realize it? is this what happened before when I tried to install debian years ago? I just reinstalled mint like an idiot instead of trying things T_T;;
tho I still consider myself a newbie cause arch, opensuse, slackware and others like that scare me ~~~ but they'd get me to learn~~ I just don't know enough to use them yet.
which begs the question, should I be running debian anyway? or should I just go back to mint?p
second guessing myself after a SUCCESSFUL INSTALL~~~~~ rip. but I like what I got going..... and cinnamon was getting boring lol
tldr: I'm taking tumblr on the linux journey with me~~~ :) hopefully typing about it into the void will help me be less anxious about trying stuff and potentially breaking my system~~ lol cause ya can always install a system that you know works~~ if something breaks.
happy to be running the grandpa of a whole bunch of linux distributions :)
hopefully I'm smarter than I think and this'll be fine~~~ worry I'll break stuff constantly~~~~ and I really don't like not knowing what I'm doing cause I feel stupid but that's how you learn to begin with, isn't it?
0 notes
good-high-vibe · 8 months ago
Text
Rooting an Android device (commonly referred to as "jailbreaking" on iPhones) is essentially gaining full control over the operating system, including system files, settings, and functions that are otherwise restricted by default. You're right that Android is based on the Linux kernel, but it’s highly customized by Google and device manufacturers, so it’s not the same as a typical Linux distribution you'd find on a desktop. Here's a step-by-step guide on how to root an Android and get shell access, but first, a couple of notes:
Important considerations:
Rooting voids warranties: Rooting will void your device warranty, and it may even brick (render unusable) the device if not done properly.
Security risks: Once rooted, your device becomes more vulnerable to malware and hacking if precautions aren't taken.
Backup data: Rooting could erase all data on your device, so it’s important to back everything up beforehand.
Steps to Root Your Android and Access the Shell
1. Check the Bootloader Status:
The bootloader is what controls what software runs when the device is powered on. Most Android devices have a locked bootloader by default.
Some manufacturers provide a way to unlock the bootloader officially (Google, OnePlus), while others do not (Samsung in the U.S.). Check if your phone has an official way to unlock it. You might need to enable developer options on your device.
Go to Settings → About phone and tap Build number seven times. This unlocks Developer options.
Go to Settings → Developer options and enable OEM unlocking and USB debugging.
2. Unlock the Bootloader:
With OEM unlocking enabled, you can now unlock the bootloader using your computer:
Connect your phone to your computer.
Install ADB and Fastboot on your computer (these tools are part of the Android SDK).
Open a terminal on your PC and run:bashCopy codeadb devices adb reboot bootloader fastboot oem unlock
Your device will prompt you with a confirmation. Use the volume buttons to navigate and the power button to confirm.
Note: Unlocking the bootloader will likely erase all data on your device.
3. Find a Suitable Rooting Method:
Rooting methods depend on your device’s manufacturer and version of Android.
Here are some popular options:
Magisk (most recommended): It allows you to gain root access without modifying the system partition. It also passes Google's SafetyNet checks, which means you can still use apps like Google Pay and Netflix. You'll need a custom recovery to flash Magisk.
SuperSU: An older method that directly modifies system files. It's less safe and can break OTA updates and certain apps.
Flashing Magisk (if you go with Magisk):
Download the Magisk zip file to your phone from Magisk GitHub.
Boot into your custom recovery (like TWRP) using ADB:bashCopy codeadb reboot recovery
In TWRP, go to the Install section and flash the Magisk ZIP file.
Reboot your phone.
4. Install a Terminal Emulator:
Once rooted, you can install a terminal emulator from the Google Play Store (e.g., Termux or Terminal Emulator for Android).
These apps give you direct shell access on the device. Since Android is Linux-based, many typical Linux commands will work out of the box (e.g., ls, cd, cat, etc.).
5. Access the Shell via ADB:
You can also connect to your Android's shell from your computer using ADB:
Open a terminal on your computer:bashCopy codeadb shell
This will give you a shell directly on the device. If you’ve rooted the phone, you can also get root access within the shell:bashCopy codesu
This will elevate your privileges to superuser (root).
Are All Androids Just Linux?
In essence, yes, Android is based on Linux, but it is heavily modified and optimized for mobile devices. Here’s how they compare:
Kernel: Android runs on the Linux kernel, which handles hardware communication, process management, and memory management. But the rest of the operating system is built differently from traditional desktop Linux.
Userland: Android does not use the GNU C Library (glibc) or GNU core utilities by default, which are standard on Linux distributions like Ubuntu. Instead, Android uses Bionic, a lightweight C library designed for mobile use.
File Structure: While Android’s filesystem is similar to Linux’s (you'll see directories like /system, /data, /proc), it is organized differently to support mobile devices and the Android app structure.
Security: Android uses additional security measures like SELinux and a permission-based app model that separates apps from each other and restricts access to system components.
Next Steps for Using Your Android as a "Gizmo"
Once rooted and you have shell access, there are countless projects you could try, such as:
Turning your Android into a Raspberry Pi-like development platform for IoT.
Using it as a network monitoring tool or personal server (with apps like Kali Nethunter).
Repurposing it as a dedicated media player or smart home controller.
If you’re looking to customize and expand the functionality even more, consider looking into custom ROMs (like LineageOS) or building Linux distros specifically for Android devices, like PostmarketOS.
0 notes
techsoftwareblogs · 2 years ago
Text
Can the iPhone be Used on a PC like Samsung's DeX?
Tumblr media
In the world of smartphones, Apple's iPhone and Samsung's Galaxy series have long been at the forefront of innovation and user experience. While both offer unique features and capabilities, one area where Samsung has taken a distinct lead is in desktop-like functionality through its DeX (Desktop Experience) platform. But can the iPhone match this functionality and be used on a PC in a similar manner? In this article, we'll explore the options available for iPhone users who want a desktop-like experience on their PC and how they compare to Samsung's DeX.
Samsung DeX: A Brief Overview
Samsung DeX is a feature that allows users to connect their Samsung Galaxy smartphones to a PC or monitor and transform them into a desktop-like experience. This functionality has been praised for its versatility and productivity benefits. With DeX, you can run multiple apps in resizable windows, access a taskbar, use a keyboard and mouse, and even drag and drop files between your smartphone and PC seamlessly. This feature bridges the gap between mobile and desktop computing, offering users a more versatile and powerful experience.
Can the iPhone Match DeX-like Functionality on a PC?
As of my last knowledge update in September 2021, Apple's iOS does not offer a built-in feature that directly mirrors Samsung's DeX. However, there are some workarounds and third-party solutions that iPhone users can explore to achieve a similar experience on their PCs.
Apple's Continuity and Handoff: Apple offers a feature called Continuity that allows you to seamlessly transition between your iPhone, iPad, and Mac. You can start an activity on one device and continue it on another. While this doesn't replicate the full desktop experience of DeX, it does offer some continuity in your workflow.
Third-Party Apps: Some third-party apps, like Duet Display and iDisplay, enable you to use your iPhone or iPad as a secondary display for your PC. This can be useful for extending your desktop space or mirroring your PC's display on your iOS device. While it doesn't create a full desktop environment, it can enhance your multitasking capabilities.
Remote Desktop Applications: Another option is to use remote desktop applications like TeamViewer or AnyDesk. These apps allow you to control your PC from your iPhone, effectively providing you with access to your desktop environment on your mobile device. However, this approach relies on a functioning PC, and the user experience may not be as seamless as DeX.
Web Apps and Cloud Services: Many cloud services offer web-based applications that can be accessed from your iPhone's web browser. This includes Google Workspace, Microsoft 365, and various project management tools. While not a DeX-like experience, it enables you to perform productivity tasks from your iPhone on a PC.
Alternative Operating Systems: Some enthusiasts have explored running alternative operating systems like Linux on their iPhones. However, this is a highly complex and potentially risky process that may void your warranty, and it is not recommended for the average user.
Conclusion
While the iPhone does not have a built-in feature that directly replicates Samsung's DeX, there are workarounds and third-party solutions that can enhance the user experience on a PC. These solutions vary in complexity and functionality, so users should choose the one that best aligns with their needs and technical abilities.
As technology evolves, it's possible that Apple may introduce new features or partnerships to bring a more DeX-like experience to iPhone users in the future. Until then, exploring the available options and third-party solutions can help bridge the gap between mobile and desktop computing for iPhone users.
0 notes
xtreamehdtv · 2 years ago
Text
Unlocking Possibilities: How to Jailbreak a Chromebook - A Comprehensive Guide
Tumblr media
Are you curious about pushing the limits of your Chromebook's capabilities? While Chrome OS offers a secure and user-friendly environment, some tech-savvy individuals may want to explore beyond its boundaries. If you're one of them, you've come to the right place. In this guide, we'll delve into the world of Chromebook jailbreaking, showing you how to unleash the full potential of your device.
What Is Chromebook Jailbreaking?
Before we dive into the step-by-step process, let's clarify what jailbreaking means in the context of a Chromebook. Jailbreaking, often referred to as "rooting" in the Android world, is the process of removing software restrictions imposed by the manufacturer or operating system. When you jailbreak a Chromebook, you gain the ability to install apps and modify system files that would otherwise be inaccessible.
Is Jailbreaking Legal?
While jailbreaking a Chromebook is possible, it's important to note that it may void your warranty and can be against the terms of service set by the manufacturer. Additionally, your device's security may be compromised if you're not careful. Proceed at your own risk and ensure you understand the potential consequences.
Step-by-Step Guide: How to Jailbreak a Chromebook
1. Backup Your Data:
Before you begin, make sure to back up all your important data. Jailbreaking can sometimes result in data loss, so it's better to be safe than sorry.
2. Enable Developer Mode:
To start the jailbreaking process, you'll need to enable Developer Mode on your Chromebook. This can usually be done by pressing a specific key combination during boot-up. The exact method can vary depending on your Chromebook model, so consult your manufacturer's instructions.
3. Install Linux:
Once in Developer Mode, you'll need to install a Linux distribution of your choice on your Chromebook. This will provide you with the necessary tools and access to system files.
4. Configure Linux:
Customize your Linux environment to suit your needs. You can install software, modify system files, and explore various Linux-based possibilities.
5. Stay Updated:
Regularly update your Linux distribution to ensure security and compatibility with your Chromebook.
Conclusion
Jailbreaking a Chromebook can open up a world of possibilities, but it's not a decision to be taken lightly. Before you proceed, carefully consider the potential risks and consequences. If you're confident in your technical skills and understand the implications, this guide can help you get started on your journey to unlocking your Chromebook's full potential.
Remember, this process can be complex, and it's crucial to follow instructions carefully. While jailbreaking can offer more freedom and customization, it also comes with responsibilities, such as keeping your device secure and respecting the terms of service set by the manufacturer. Proceed with caution, and enjoy exploring the new horizons your Chromebook can offer. Visit our website for more information. 
0 notes
surfeitoflampreys · 6 months ago
Text
Got the update on my @void-linux-official machine and i'm enjoying the option to run it on wayland using @wayfire-official ! just a shame that i can't get a screenlocker to work with it and screenshots otherwise i might be daily-driving this beautifully cursed setup.
Also i appreciate how you will still have a screensaver on wayland! I'm a big fan of the xscreensaver collection so i'm glad i'll be able to keep those!
Also it's funny that I switched to XFCE partly to escape unnecessary animations, but i rather like the ones on Wayfire as they're creative and unique and for that reason i think they're worth it!
XFCE 4.20 OUT!
coming soon to a distro near you
46 notes · View notes
oganspo8683 · 3 years ago
Text
How to Perform a PS4 Jailbreak
To get started with the PS4 jailbreak , you need to follow a few simple steps. First of all, make sure that the console is not cold booted. Cold boots will make the jailbreak not work. Then, you need to choose the 9.00 version of Retroarch, and wait until it says it's ready. Then, press Okay to continue. After that, the jailbreak should be done.
Ps4
If you're considering jailbreaking your PlayStation 4, here are some important things you need to know. Jailbreaking is a process of using a modified firmware to unlock your device's capabilities. This allows you to access previously hidden settings and run unsigned code. It also gives you the power to install homebrew games and apps. However, you must be aware that this process will void your warranty and exclude updates.
Xbmc
XBMC for PS4 is one of the most popular open-source media players for the PlayStation 4. It's free and runs on many operating systems, including Windows, Linux, Mac, and iOS . It has a variety of features that allow you to watch most streaming videos, music, and games. Kodi is a great addition to any PS4 installation, and there are even Kodi add-ons available for the PlayStation 4 version. Let's take a closer look at this software and see how it works on the PlayStation.
NOR dump
In order to perform a PS4 jailbreak, users need to dump the NOR from the system on the PS3 memory card. Some PS4 "Jailbreak" videos have showcased the use of a Raspberry PI and free software JAISPI to do this. However, it's important to note that you should never try to recreate this process without proper knowledge and experience. For instance, some Brazilian stores have been using similar NOR dump techniques to sell pirated games.
Download
A ps4 jailbreak 9.03 allows you to play free games and install third-party applications without being infringed upon by Sony Computer Entertainment. By using a custom firmware, you can install games and applications from other regions, even those that are no longer available. The main benefit of jailbreaking your PS4 is that you can play games that were previously unavailable to you. It also allows you to save game backups.
3 notes · View notes
kura5 · 4 years ago
Link
This update is focused on adding nametags, stealth AI, weapon balancing, and a ton of bugs that were reported via our discord. Thanks to everyone that gave feedback! It helps make the game the best it can be.
Bug Fixes
Huntresses should no longer get stuck on couches
Fixed a few loose bugs where characters would get teleported to the void in the 2nd dungeon
Fixed the Noir level bat dialogue softlock
Fixed the aqueducts gate skip
Fixed Otenko Panel related softlocks
Disabled the cloud shader effect for Linux versions since the shader seems broken if you're not using Vulkan (I have no idea why)
...And a bunch of other misc fixes and tweaks too granular to list here
Adjustments
Added name tags to dialogue!
Locked doors are now color coded to their corresponding key
Adjusted the numbers on weapons: spread is now more viable, Hoop Frame is less OP. (I'm sorry Hoop Fans)
Raven Emil should now be immune to water damage (Like a duck)
Adjusted how prices work: though for now non perishables you get from chests are more valuable than ones dropped from enemies
Adjusted boundaries on the beach map.... again...
Set a global hearing range for all enemies so that knocking feels more consistent
Slimes and Mimics can now activate weight panels
You can now freeze puddles and huntress lanterns with the frost lens (But not Garmr)
Adjusted enemy AI so that overall stealth behavior feels more consistent with the GBA games (Specifically Shinbok)
Corrected various typos
Some cutscene adjustments were made to Von Linnell and La Lupe's dungeon area
6 notes · View notes
steve0discusses · 6 years ago
Text
Yugioh S4 Ep8: Magic Mai
So fun fact, I was out of town around this Thanksgiving and I grabbed a laptop from my Dad’s stack of machinery he’s sort of collected over the years and lo and behold--he put Linux on it.
Like I dunno if you all can relate to this problem, but everything he touches turns into Linux and he’s trying to live this Windows free/Mac free lifestyle, and I get it, I’m friends with so many vegetarians, but like I hate this laptop. I'm using Gimp to make these screenshots...So I can re-do them later in Photoshop because...it just doesn’t feel right to put Papyrus on this computer. It already has Linux. This poor machine has suffered enough. Long story short, this’ll be a small update because right clicking on linux is ass.
Also, because I was on a laptop and realized how small my blog is for the first time--I don’t have control over the size of pictures in text posts, tumblr does, and in this particular theme it’s not allowing me to change the size, and so do me a favor. Click ctrl and + at the same time a couple times (I’m assuming most of you are on firefox). There. the pictures are the right size now. If you hated that, you can click ctrl and - but like lets be real, my font is occasionally...tiny.
Tumblr media
Anyway, we start discussing this episode on the confusing legs of the last one, where Mai is evil now, and it’s really not entirely clear if she’s possessed or if she’s just always been this way, or if she just FEELS like it.
And that’s all this episode is about, start to finish--is this Mai’s choice or was this not Mai’s choice? The answer is the same as it would be for a normal person: it’s complicated. Maybe it’s everybody’s choice. Maybe it was because no one did anything that Mai went completely haywire? Maybe it was because Mai hid how she was feeling so no one had any idea she needed help? Or, overall, maybe Mai is kind of a toxic person and wanted to be this way? Especially while she’s on children’s cartoon card drugs?
(read more under the cut)
So to start off, a weird thing happened at the beginning of this episode. After about 4 seasons, someone finally mentioned this:
Tumblr media
How many seasons has Yugi been talking to himself? Like, out loud. In front of everyone and Kaiba? This whole time, right? Like Valon just dashed my headcanon where I figured Yugi was smart enough to think his thoughts instead of speak his thoughts. He’s just not that smart, unfortunately.
Meanwhile, Mai has managed to attract this other (teenager?) guy and like...to go worse than Joey so quickly is kind of shocking. Mai just seems embarrassed by the amount of very young boys in love with her. And she’s not even a cougar about it, she doesn’t really seem to want this to happen but it keeps on happening.
Tumblr media
And although he is essentially the card form of a drug pusher, Valon has this soft spot for a girl I guess to give him some sort of redeemable flaw. However, she only wears tube tops and minis and spends like hundreds of dollars on her hair, so it doesn’t really make him seem any less shallow, tbh.
PS I’m surprised, that unlike all the other characters on Yugioh, I can’t just type in Valon’s name into Google and get his age and weight. No idea what his age is, and if you know, feel free to tell me but he just seems...exactly the same age as Joey. He seems very 17. Maybe it’s the obsession with motorcycles and children’s playing cards? Maybe it’s his big ol childlike eyes? He just seems young and niave like how a teenager who just fell in love with a very angry older woman would.
Joey tries to remind everyone, multiple times, that this game is the worst idea ever since it requires one of them to super die, but Mai is on card drugs so I don't know why they bothered. Also, why is Joey still surprised by this after 4 seasons of this?
Tumblr media
Yo it’s S4 and Mai witnesses magic non-stop but still has basically no idea how it works. She really did say “I have no soul” and it was like...I’m 90% certain she literally thinks she has no soul right now. Which I guess, statistically speaking, is rare to actually have a still intact soul after hanging out with the main villain, with the way this show typically goes.
Meanwhile, last episode it really sounded like Duke Devlin was driving to Pegasus’ company building. It really sounded like he would have gone directly there, since Weevil and Rex told him that Yugi was going to Pegasus.
Remember that Duke Devlin works for Pegasus and probably has his own parking spot.
So where did he go instead?
Tumblr media
You know how there’s only one gas station in the entirety of America?
I can’t believe it blew up.
Y’all what is the red splotch in the middle of the pile ps? That is legitimately a pile of blood, right? I didn’t shop that in. There’s just a red puddle in this kid’s show.
Y’all what is that? Like was there a scene with a red handkerchief that I missed? Is that a red handkerchief?
But to move past the mysterious pool of blood that confirms those bikers are so hella dead, I have no idea why Duke was here, I have no idea how he got the tip off that Yugi visited this place, but then he turned around and went back to SF so like...I guess he’ll arrive 3 days from now because again, they are in Arizona. They keep telling me this is right outside SF but like--Mesas. There’s Mesas.
And then this happened.
Tumblr media
That one guy on the writing staff who just stans Seto Kaiba so hard got into the drawing room, I see.
PS someone had to pose for this shot for them to draw this shot from this angle.
Meanwhile, lets see why Mai turned evil. Ah, because it is Yugioh, the biggest reason is that she has no friends (probably because she’s got the most acidic personality known to man) and isn’t card popular enough and got super bitter and jealous.
Tumblr media
Speaking as an artist who is online, I can understand the frustration here. Sometimes (99% of the time) you work really hard and no one cares and you get like 2 notes. And honestly, why should they? Like, why do you do it in the first place?
Mai echoes a lot of the issues of Seto last season, where she wants so badly to be the absolute best to prove herself to the ghosts of her past who really don’t care any more.
But, since Mai was in a coma when Seto got through all of that, I guess she never got the memo and still seems stuck on just wanting to be the best with no other reason than “to be the best” which again, sounds so much like art school problems. This is everyone who has ever had an interest in animation. We all go through that phase.
Tumblr media
Generally we don’t take peoples souls as a reaction to that type of discouragement, but then Mai made sure to mention in almost a foot note that she did spend like an entire season and a half trapped in Marik's shadow realm. And that kind of effed her up in a really big way.
Tumblr media
Thanks, Marik.
Really feels like Marik should be dealing with this problem--really feels like maybe Marik is the only person that we can actually point to and say “Oh yeah, that guy is to blame for Mai right now” And he is the only person that Mai does not actively go out and try to kill.
And I’ll have you know I just deleted like a 15 K word rant about the difference between character assassination and your character just--evolving into a jackass, and how it’s OK to have your character change into a jackass, especially after trauma. I felt this need to really have to defend this ancient writing technique that people have been using since about as long as stories have been around.
Then I remembered “Oh yeah, I’m just making this point because a few number of very loud idiots on the internet want to have very lukewarm hot-takes about popular characters solely because they enjoy baiting people on twitter into getting into week-long arguments that don’t go anywhere.” and I just...let it go. I let it just...go into the ether. Ah. The peace that comes when you already know you’re right.
But anyway, back to Yugioh, which thankfully doesn’t take a stance on this nuanced subject, and only presents this very serious problem without actually offering a solution (because there isn’t a one fit’s all solution to falling off the deep end and getting into drugs and murder), Mai decides to just go and blame this decision she made on anyone else. Because, why take responsibility for your actions, when you can pin it on people who were on the other side of the freakin planet when it happened?
Like, I just want to remind y’all that she was in ATLANTIS.
Tumblr media
I wonder how good the cell reception is in ATLANTIS.
I just...Mai is like in her mid twenties maybe thirty’s. She’s so arbitrarily old that she plays Yugi’s Mom in the video game spinoff where they’re reincarnations of medieval times. That’s how old she is.
Imagine if you made some epically BAD decisions because you were jealous of some teenager’s success and didn’t want to be weak anymore, and then you confronted those teens, and said “This is all your fault.”
Imagine looking someone as dysfunctional as Joey Wheeler and telling him “You made me like this” because lollllllll
And I present this as a joke but like basically this happens all freakin time. We’ve all had a friend like Mai. Past tense of course, because it’s really hard to keep a friend like Mai for very long. (One of my friend’s who went Mai destroyed my apartment one summer and then literally blamed it on me for going to California for 2 months and leaving her unattended.) But like...don’t let Mai’s do it to you. They can get better, but only if it’s their choice, really. You can’t force them to save themselves.
But, as Mai was finally ready to give up cards and probably improve her quality of life by a huge degree, unfortunately, she got sucked right back into the trap.
Tumblr media Tumblr media Tumblr media
Bro note: being a serial murderer cultist is basically working at McDonald's in this universe so maybe this wasn’t even that weird?
But that aside, this is alllllmost like a dark version of “Mai got into an abusive relationship to fill the void in her heart” except she’s not even really dating this guy? Like she hates this guy? He’s just kinda there?
Y’all I really can’t tell if Valon is in an abusive relationship with Mai who is using him for power or if she’s in an abusive relationship with him because he only wants her pretty face and wants to kill Joey because Joey liked her once--and maybe it’s both? Maybe both of these people are just...really bad for each other?
Overall Joey is kind of tossed into this not-a-love-triangle and I’m like
“Hey show? show? Am I supposed to....were any these people ever dating? Is there supposed to be an implied history? Am I supposed to get attached to this?” because I mean...the only character who was able to get some actual physical romance on this show was Pegasus when he macked the ghost of his dead wife because, again, Pegasus is the freakin king of this entire show. Of course HE can do it.
But have this show clarify what the hell is happening between Valon and Mai? I’m gonna take a bet that we will never get to see it beyond Valon being like “Ain’t she a beaut!” Like Steve Irwin talking to an alligator, and Mai just pretending he doesn’t exist. Yugioh romances are so completely one way every single time. If something more than that happens, I’ll be
shook.
Anyway, as all the children on the show keep repeating over and over again, they haven’t had any contact with Mai since she left the freakin country and they went back to High School.
Tumblr media Tumblr media Tumblr media
And so someone threatens to kill himself, as is Yugioh tradition, and someone else barks at him to NOT kill himself, as is also tradition, and they decide to play real cards next episode.
This whole entire episode, PS, Joey went out of his way to just...not play cards. that was this whole episode. Way to draw out a card game over three episodes, I guess.
Anyway if you want to read these from the start you can do so by clicking the link here
24 notes · View notes
winexperements · 2 years ago
Text
What is Wayland and what different with X11?
Hi! It's my first blog here, so let's start with the history of Wayland and its main topic.
Short description
Well generally Wayland is a new protocol for display managers for Linux and UNIX-like OSes. The developing process is started by Krisitian Hosberg as an free and open-source modern implemetation of X11. The main communication protocol is written in C as an shared library. The protocl has two main components:
Server side(libwayland-server).
Client side(libwayland-client).
How it works and what difference betwen Wayland and X11?
Let's start from the working process of Wayland.
So the core for Wayland server and client is an UNIX file sockets. And using the sockets the client and the server can share the information betwen each other.
Now about the server: Generally the Wayland server is called "Wayland compositor" because it's main purpose it's to create, manage, and composite the window buffers into one single, then post the buffer to the framebuffer via the GPU backend. The server and client can communicate betwen each other using the message or other type of IPC(Inter-Process communication).
So the short process of working the server is:
So when the Wayland display got an event, like the screen refresh or the mouse pointetr movement, the Wayland display start the searching of the event handler, if the handled didn't found it's ignored. Then if the event handler is found, it called with to main parameters:
struct wl_listener *listener - an body of the event, generally used by wl_container_of(an method to extract the structure that have the event from the listener structure)
void *data - Generally passed for an event that have an second inforamtion parameter. Like the mouse pointer movement, that have the X and Y coordinatates.
Then if the type is must return the any kind of return value, like for example the surface, then the server must map the specifed region of memory and using shared-memory IPC return it to the client, so the client can show the information on it. And when the surface is updated, generally by the client signal about the surface compositor, the server must render it or can ignore it, for example if the view didn't visible for user.
The user side is very simple it's just connected to the server socket and starts the communication process betwen server.
So what the main differences betwen Wayland and X11? So most visible and big difference betwen Wayland and X11 is the communication process betwen the display manager and the window manager. In X11 the window manager communicated betwen the X11 server itself to receive the external devices events and send info to the client, in Wayland the compositor is an display manager and the window manager in one. The client and the events directly sended to the compositor to process it.
Okay, okay you may have some questions about it all, but for more information, you can read the Wikipedia or other wiki.
How i can test the Wayland and what problems can be given?
Acording to the official Wayland page, the main and the etalony Wayland compositor is Weston. Just install it in our system and run just like any other package. The compositor can be started from any enviroment: X11, other Wayland compositor, or even the shell. The problems that can be given, generally caused by the video drivers, and the Nvidia design of DRM subsystem driver.
Or the sway is an i3-compatible compositor, we have very big list of the compositors, so i can't say what compositor is the best, just select your liked.
Thanks for reading!
1 note · View note
linuxgamenews · 3 years ago
Text
EVERSPACE 2 gets its third light fighter class
Tumblr media
EVERSPACE 2 latest game update goes live on Windows PC, yet still playable on Linux. Thanks to the efforts and work of developer ROCKFISH Games. Available now on both Steam and GOG. Independent AA developer ROCKFISH Games is eager to share non-April Fools news. Doing so for their latest EVERSPACE 2 update goes live to all players. As part of this update, early WIP localization has been added. This also brings EVERSPACE 2 to eager space pilots all over the globe on Windows PC. Which still playable on Linux Steam Deck via Proton. Stinger’s Debut, previously titled Rogue’s Debut in the 2022 roadmap, adds the Stinger. Which is EVERSPACE 2’s third light fighter class. This new ship focuses on electronic warfare and making devices a critical component for pilots who favor agile. An ability focused spacecraft. When using ship devices, a third weapon hardpoint underneath the Stinger’s hull is activated. Also dealing 50% more primary damage. The Stinger’s Void Swarm Ultimate instantly resets device cooldowns. Which releases a swarm of intense micro-bots that consume everything in their way. While aligning the locked target. Upon return, these bots restore the player ship’s hull and armor based on damage dealt. Stinger vessels can take flight with random perks like 20% reduced cooldown for support or warfare devices. While Void Swarm radius increased by 25%. Or engaging cloaking for five seconds after its shield runs out. Along with a new hostile subfaction, the Okkar Prime, the update also brings improved crafting. Resource gathering features as well as new equipment, story content, perks, and additional tests. All scattered throughout the EVERSPACE 2 star systems. Along with these upgrades, the ROCKFISH Games team has rebalanced portions of the game. Adding experimental difficulty levels that can you can change at any time.
EVERSPACE 2 — Stinger's Debut Release Trailer
youtube
“While Stinger's Debut does not add a new star system to explore like in previous updates. The added features and substantial changes deepen the overall experience. Especially when starting a new game,” said Michael Schade, CEO of ROCKFISH Games. “We’ve set up a new player data pool analyzing the impact from this update’s changes and additions. Due to core game systems like crafting, mining, ship devices, and new game progression curve. We can’t wait to see how many catalysts and blueprints will be found. As well as what new builds top pilots will come up with.” The Stinger’s Debut Update will also include experimental UI and text language support. Doing so for German, French, Italian, Spanish, Brazilian Portuguese, Polish, Czech, Simplified and Traditional Chinese. As well as Japanese, and Korean. So the international EVERSPACE 2 community can join in the fun at full capacity. As the early practices of localization may not be perfect yet. Localization for EVERSPACE 2 will be continuously updated along with any missing text. Including required fixes for the full release in early 2023. The content-gated EVERSPACE 2 demo on Steam has sees updates with all relevant changes. Including the WIP localization. In the updated demo, players from all over the globe can explore the first sector of EVERSPACE 2’s first star system. As well as carry their save game over to Early Access. A full list of features and fixes can be found on the Stinger’s Debut Update Steam community post. EVERSPACE 2 has two additional major updates planned to release in 2022. Drake: Gang Wars will add the massive star system Drake to the game. While throwing pilots into the middle of a three faction battle over fire and ocean planets. Ancient Rifts, planned for this fall, will give players their first taste of endgame content. Along with high-risk, high-reward challenges. For more details on both the Drake: Gang Wars and Ancients Rifts updates, check out the EVERSPACE 2 roadmap Steam news update. EVERSPACE 2 is currently available on Steam and GOG. Priced at $31.99 USD / £25.59 / 30,39€ with a 20$ discount. The full game launch is due in early 2023 for Linux, Mac, with Windows PC. This is also when a fully optimized version for the Linux powered Steam Deck will be available.
0 notes
maximumloading424 · 4 years ago
Text
Slack Web
Tumblr media
Download Slack
Slack Webinar
Slack Web App
Slack Webex
The @slack/web-api package contains a simple, convenient, and configurable HTTP client for making requests to Slack’sWeb API. Use it in your app to call any of the over 130methods, and let it handle formatting, queuing, retrying, pagination, and more.
Installation
Initialize the client
You’re invited to join the discussion about all things related to Amazon Web Services on Slack. Click here to get started. You will be asked for your email address and will be sent an invite. Once there, choose your channel. Our #general channel is for anyone keen to discuss AWS related topics. The Slack Web API is an interface for querying information from and enacting change in a Slack workspace. Use it on the fly for ad-hoc queries, or as part of a more complex tapestry of platform features in a Slack app. What can you do with the Web API? Web Client The Slack Web API allows you to build applications that interact with Slack in more complex ways than the integrations we provide out of the box. Access Slack’s API methods requires an OAuth token – see the Tokens & Authentication section for more on how Slack uses OAuth tokens as well as best practices. Slack provides mobile apps for iOS and Android in addition to their Web browser client and desktop clients for macOS, Windows (with versions available from the company's website and through the Windows Store), and Linux (beta). Slack is also available for the Apple Watch, allowing users to send direct messages, see mentions, and make simple replies.
The package exports a WebClient class. All you need to do is instantiate it, and you’re ready to go. You’ll typicallyinitialize it with a token, so that you don’t have to provide the token each time you call a method. A token usuallybegins with xoxb or xoxp. You get them from each workspace an app is installed onto. The app configuration pageshelp you get your first token for your development workspace.
Initializing without a token
Alternatively, you can create a client without an token, and use it with multiple workspaces as long as you supply atoken when you call a method.
Call a method
The client instance has a named method for each of the public methods in the Web API. The most popular one iscalled chat.postMessage, and its used to send a message to a conversation. For every method, you pass arguments asproperties of an options object. This helps with the readablility of your code since every argument has a name. Allnamed methods return a Promise which resolves with the response data, or rejects with an error.
Hint: If you’re using an editor that supports TypeScript, even if you’re not using TypeScript to write your code,you’ll get hints for all the arguments each method supports. This helps you save time by reducing the number oftimes you need to pop out to a webpage to check the reference. There’s more information about usingTypeScript with this package in the documentation website.
Note: Use the Block Kit Builder for a playgroundwhere you can prototype your message’s look and feel.
Using a dynamic method name
If you want to provide the method name as a string, so that you can decide which method to call dynamically, or to calla method that might not be available in your version of the client, use the WebClient.apiCall(methodName, (options))method. The API method call above can also be written as follows:
Handle errors
Errors can happen for many reasons: maybe the token doesn’t have the proper scopes tocall a method, maybe its been revoked by a user, or maybe you just used a bad argument. In these cases, the returnedPromise will reject with an Error. You should catch the error and use the information it contains to decide how yourapp can proceed.
Each error contains a code property, which you can check against the ErrorCode export to understand the kind oferror you’re dealing with. For example, when Slack responds to your app with an error, that is anErrorCode.PlatformError. These types of errors provide Slack’s response body as the data property.
More error types
There are a few more types of errors that you might encounter, each with one of these codes:
ErrorCode.RequestError: A request could not be sent. A common reason for this is that your network connection isnot available, or api.slack.com could not be reached. This error has an original property with more details.
ErrorCode.RateLimitedError: The Web API cannot fulfill the API method call because your app has made too manyrequests too quickly. This error has a retryAfter property with the number of seconds you should wait before tryingagain. See the documentation on rate limit handling tounderstand how the client will automatically deal with these problems for you.
ErrorCode.HTTPError: The HTTP response contained an unfamiliar status code. The Web API only responds with 200(yes, even for errors) or 429 (rate limiting). If you receive this error, its likely due to a problem with a proxy,a custom TLS configuration, or a custom API URL. This error has the statusCode, statusMessage, headers, andbody properties containing more details.
Pagination
Many of the Web API’s methods returnlists of objects, and are known to be cursor-paginated. The result of calling these methods will contain a part ofthe list, or a page, and also provide you with information on how to continue to the next page on a subsequent API call.Instead of calling many times manually, the WebClient can manage getting each page, allowing you to determine when tostop, and help you process the results.
The process of retrieving multiple pages from Slack’s API can be described as asynchronous iteration, which meansyou’re processing items in a collection, but getting each item is an asynchronous operation. Fortunately, JavaScripthas this concept built in, and in newer versions of the language there’s syntax to make it even simpler:for await..of.
The for await..of syntax is available in Node v10.0.0 and above. If you’re using an older version of Node, seefunctional iteration below.
Using functional iteration
The .paginate() method can accept up to two additional parameters. The third parameter, stopFn, is a function thatis called once for each page of the result, and should return true when the app no longer needs to get another page.The fourth parameter is reducerFn, which is a function that gets called once for each page of the result, but canbe used to aggregate a result. The value it returns is used to call it the next time as the accumulator. The firsttime it gets called, the accumulator is undefined.
The returned value is a Promise, but what it resolves to depends on whether or not you include the fourth (optional)parameter. If you don’t include it, the resolved value is always undefined. In this case, its used for control flowpurposes (resuming the rest of your program), and the function in the third parameter is used to capture a result. Ifyou do include the fourth parameter, then the resolved value is the value of the accumulator. This is a familiarpattern for people that use functional programming.
Opening modals
Modals can be created by calling the views.open method. The method requires you to pass a valid view payload in addition to a trigger_id, which can be obtained when a user invokes your app using a slash command, clicking a button, or using another interactive action.
Dynamically updating a modal
After the modal is opened, you can update it dynamically by calling views.update with the view ID returned in the views.open result.
Logging
The WebClient will log interesting information to the console by default. You can use the logLevel to decide howmuch information, or how interesting the information needs to be, in order for it to be output. Mac lip pencil in soar. There are a few possiblelog levels, which you can find in the LogLevel export. By default, the value is set to LogLevel.INFO. While you’rein development, its sometimes helpful to set this to the most verbose: LogLevel.DEBUG.
All the log levels, in order of most to least information are: DEBUG, INFO, WARN, and ERROR.
Sending log output somewhere besides the console
You can also choose to have logs sent to a custom logger using the logger option. A custom logger needs to implementspecific methods (known as the Logger interface):
MethodParametersReturn typesetLevel()level: LogLevelvoidsetName()name: stringvoiddebug()..msgs: any()voidinfo()..msgs: any()voidwarn()..msgs: any()voiderror()..msgs: any()void
A very simple custom logger might ignore the name and level, and write all messages to a file.
Automatic retries
In production systems, you want your app to be resilient to short hiccups and temporary outages. Solving for thisproblem usually involves building a queuing system that handles retrying failed tasks. The WebClient comes with thisqueuing system out of the box, and its on by default! The client will retry a failed API method call up to 10 times,spaced out over about 30 minutes. If the request doesn’t succeed in that time, then the returned Promise will reject.You can observe each of the retries in your logs by setting the log level to DEBUG. Try running thefollowing code with your network disconnected, and then re-connect after you see a couple of log messages:
Shortly after re-connecting your network, you should see the Done! message. Did you notice the program doesn’t use avalid token? The client is doing something clever and helpful here. It knows the difference between an error such as notbeing able to reach api.slack.com and an error in the response from Slack about an invalid token. The former issomething that can be resolved with a retry, so it was retried. The invalid token error means that the call isn’t goingto succeed until your app does something differently, so it stops attempting retries.
You might not think 10 reties in 30 minutes is a good policy for your app. No problem, you can set the retryConfig toone that works better for you. The retryPolicies export contains a few well known options, and you can always writeyour own.
Here are some other values that you might want to use for retryConfig:
retryConfigDescriptionretryPolicies.tenRetriesInAboutThirtyMinutes(default)retryPolicies.fiveRetriesInFiveMinutesFive attempts in five minutesretryPolicies.rapidRetryPolicyUsed to keep tests running fast( retries: 0 )No retries (other options)
Note: If an API call results in a rate limit being exceeded, you might still notice the client automaticallyretrying the API call. If you’d like to opt out of that behavior, set the rejectRateLimitedCalls option to true.
Upload a file
A couple methods, files.upload and users.setPhoto, allow you to upload a file over the API. In Node, there are a fewways you might be dealing with files, or more generally, binary data. When you have the whole file in memory (like whenyou’ve just generated or processed an image), then in Node you’d have a Buffer that contains that binary data. Or,when you are reading the file from disk or a network (like when you have a path to file name), then you’d typically havea ReadableStream. The client can handle both of these binary data types for you, and it looks like any other API call.
The following example shows how you can use files.upload to upload afile that is read from disk (as a ReadableStream).
In the example above, you could also use a Buffer object as the value for the file property of the options object.
Proxy requests with a custom agent
The client allows you to customize the HTTPAgent used to create the connection to Slack.Using this option is the best way to make all requests from your app through a proxy, which is a common requirement inmany corporate settings.
Tumblr media
In order to create an Agent from some proxy information (such as a host, port, username, and password), you can useone of many npm packages. We recommend https-proxy-agent. Startby installing this package and saving it to your package.json.
Import the HttpsProxyAgent class, and create an instance that can be used as the agent option of the WebClient.
Rate limits
When your app calls API methods too frequently, Slack will politely ask (by returning an error) the app to slow down,and also let your app know how many seconds later it should try again. This is called rate limiting and theWebClient handles it for your app with grace. The client will understand these rate limiting errors, wait theappropriate amount of time, and then retry the request without any changes in your code. The Promise returned onlyresolves when Slack has given your app a real response.
It’s a good idea to know when you’re bumping up against these limits, so thatyou might be able to change the behavior of your app to hit them less often. Your users would surely appreciate gettingthings done without the delay. Each time a rate limit related error occurs, the WebClient instance emits an event:WebClientEvent.RATE_LIMITED. We recommend that you use the event to inform users when something might take longer thanexpected, or just log it for later.
Download Slack
You might not want to the WebClient to handle rate limits in this way. Perhaps the operation was time sensitive, andit won’t be useful by the time Slack is ready for another request. Or, you have a more sophisticated approach. In thesecases, you can set the rejectRateLimitedCalls option on the client to true. Once you set this option, method callscan fail with rate limiting related errors. These errors have a code property set to ErrorCode.RateLimitedError. Seeerror handling for more details.
Request concurrency
Each of the API method calls the client starts are happening concurrently, or at the same time. If your app triesto perform a lot of method calls, let’s say 100 of them, at the same time, each one of them would be competing for thesame network resources (such as bandwidth). By competing, they might negatively affect the performance of all the rest,and therefore negatively affect the performance of your app. This is one of the reasons why the WebClient limits theconcurrency of requests by default to ten, which means it keeps track of how many requests are waiting, and onlystarts an eleventh request when one of them completes. The exact number of requests the client allows at the same timecan be set using the maxRequestConcurrency option.
The lower you set the maxRequestConcurrency, the less parallelism you’ll have in your app. Imagine setting theconcurrency to 1. Each of the method calls would have to wait for the previous method call to complete before it caneven be started. This could slow down your app significantly. So its best not to set this number too low.
Another reason, besides competing for resources, that you might limit the request concurrency is to minimize theamount of state in your app. Each request that hasn’t completed is in some ways a piece of state that hasn’t yet beenstored anywhere except the memory of your program. In the scenario where you had 100 method calls waiting, and yourprogram unexpectedly crashes, you’ve lost information about 100 different things going on in the app. But by limitingthe concurrency to a smaller number, you can minimize this risk. So its best not to set this number too high.
Custom TLS configuration
Each connection to Slack starts with a handshake that allows your app to trust that it is actually Slack you areconnecting to. The system for establishing this trust is called TLS. In order for TLS to work, the host running your appkeeps a list of trusted certificate authorities, that it can use to verify a signature Slack produces. You don’tusually see this list, its usually a part of the operating system you’re running on. In very special cases, like certaintesting techniques, you might want to send a request to another party that doesn’t have a valid TLS signature that yourcertificate authority would verify. In these cases, you can provide alternative TLS settings, in order to change how theoperating system might determine whether the signature is valid. You can use the tls option to describe the settingsyou want (these settings are the most common and useful from the standard NodeAPI).
tls propertyDescriptioncaOptionally override the trusted CA certificates. Any string or Buffer can contain multiple PEM CAs concatenated together.keyPrivate keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with passphrase.certCert chains in PEM format. One cert chain should be provided per private key.pfxPFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it.passphraseShared passphrase used for a single private key and/or a PFX.
Slack Webinar
Custom API URL
The URLs for method calls to Slack’s Web API always begin with https://slack.com/api/. In very special cases, such ascertain testing techniques, you might want to send these requests to a different URL. The slackApiUrl option allowsyou to replace this prefix with another.
Exchange an OAuth grant for a token
There’s one method in the Slack Web API that doesn’t requires a token, because its the method that gets a token! Thismethod is called oauth.v2.access. It’s used as part of the OAuth2.0 process that users initiate when installing your app into a workspace. In thelast step of this process, your app has received an authorization grant called code which it needs to exchange foran access token (token). You can use an instance of the WebClient that has no token to easily complete thisexchange.
Note: If you’re looking for a more complete solution that handles more of the OAuth process for your app, take alook at the @aoberoi/passport-slack Passport Strategy.
The Slack platform offers several APIs to build apps. Each Slack API delivers part of the capabilities from theplatform, so that you can pick just those that fit for your needs. This SDK offers a corresponding package for each ofSlack’s APIs. They are small and powerful when used independently, and work seamlessly when used together, too.
Just starting out? The Getting Started tutorial willwalk you through building your first Slack app using Node.js.
Slack APIWhat its forNPM PackageWeb APISend data to or query data from Slack using any of over 130 methods.@slack/web-apiEvents APIListen for incoming messages and many other events happening in Slack, using a URL.@slack/events-apiInteractive MessagesRespond to button clicks, dialogs, and other interactions with messages.@slack/interactive-messagesOAuthSetup the authentication flow using V2 OAuth for Slack apps as well as V1 OAuth for classic Slack apps.@slack/oauthRTM APIListen for incoming messages and a limited set of events happening in Slack, using websockets.@slack/rtm-apiIncoming WebhooksSend notifications to a single channel which the user picks on installation.@slack/webhook
Not sure about which APIs are right for your app? Read our blogpost that explains the options.If you’re still not sure, reach out for help and our community can guide you.
If you’re looking for an all-in-one solution that hides the underlying Slack APIs, but simplifies building a bot-styleapp inside Slack, try the Hubot Slack adapter. Hubot is a popular frameworkfor internal apps that automate workflows, perform ChatOps, or just generate silly memes.
Installation
Question symbol copy. Use your favorite package manager to install any of the packages and save to your package.json:
Requirements
This package supports Node v8 LTS and higher. It’s highly recommended to use the latest LTS version ofnode, and the documentation is written using syntax and featuresfrom that version.
Slack Web App
Getting Help
If you get stuck, we’re here to help. The following are the best ways to get assistance working through your issue:
Slack Webex
Issue Tracker for questions, featurerequests, bug reports and general discussion related to this package.
Email us in Slack developer support: [email protected]
Bot Developers Hangout: a Slack community for developersbuilding all types of bots. You can find the maintainers and users of this package in #sdk-node-slack-sdk.
Tumblr media
0 notes