#key2
Explore tagged Tumblr posts
davidcuniverse · 2 years ago
Photo
Tumblr media
👀 . . . #Spawn #ImageComics #ToddMcFarlane #SpawnComic #ComicBooks #90sComics #SpawnMovie #SpawnFan #SpawnArmy #SpawnUniverse #BlackBerry#BlackBerryPhone #BlackBerryQwerty #BlackBerryKeyboard #BlackBerryOS #BlackBerrySmartphone #BlackBerryWorld #BlackBerryClassic #KEY2 #Android https://www.instagram.com/p/Co-Q5RJugFa/?igshid=NGJjMDIxMWI=
3 notes · View notes
lamentable-s · 10 months ago
Text
˚₊⋅─── 𝐍𝐀𝐌𝐄 ───⋅ ˚₊ pr ︿ ns⁣  :adhesive_bandage:⁣  age worship me in my vanity :cd:  extra ᝰ extra  :key2:
˚₊⋅─── 𝐍𝐀𝐌𝐄 ───⋅ ˚₊ pr ︿ ns⁣  :adhesive_bandage:⁣  age **worship me in my vanity** :cd:  extra ᝰ extra  :key2:
Tumblr media
406 notes · View notes
scarlet742 · 3 months ago
Text
Communication is the key2:
The entire bloodline of King men
Kings: we can be mad at each other while you are sitting on my lap
46 notes · View notes
plural-templates · 2 years ago
Note
Helloo!! Could you possibly make a Bendy themed template (Bendy from Bendy and the ink machine!) /nf !
∯﹕︶ name ⥾ : age ⁺∕∖ :key2: :candle:, ∠ prns . prns . prns ∿ . ⋘﹐ txtxt ,, ∈ ―:black_heart:︷ txtxt ∝:
◖⊂. boundary 1 .. y|a|n .◜✰ :pencil: :movie_camera:—◟ boundary 2 .. y|a|n ﹒⪨⸝⋆ ᶻz﹢◟ boundary 3 .. y|a|n ﹚:unlock:.
:bulb:﹒▸ txtxt !:black_nib: ★ :thought_balloon:–⊂ txtxt ⸝⸝>:8ball:
Tumblr media
i hope this works!!
(sorry that it took so long i thought i posted this already :headinhands:)
167 notes · View notes
mirqmarq428 · 2 years ago
Text
Powershell syntax is not confusing
(you are just confused because posix compliant shells have corrupted your mind)
> do-action -param "string" $variable (do this first) [type]value
To declare a function:
function do-mythings {
param([int]$argument)
$argument + 5
}
> do-mythings -arg 5
10
That's all you need to get started.
Numbers are just numbers.
Inline math just works. Parentheses for order of operations.
Strings you put in quotes - double quotes allow interpolation, single quotes don't. This is the same as sh.
All variables are prefixed with $s. Even when declaring them. This makes slightly more sense than sh.
A region in {squirrelly braces} gets the [scriptblock] data type. It's like a lambda but comprehensible by mere mortals.
if (test) {success} else {fail} - the test is always executed first because (). Success and fail conditions only depending on the test. They're script blocks. No weird special syntax, if may as well be a user function.
Functions can be named anything, but the convention is Verb-PlaceThing. Not case sensitive.
Named arguments are specified with a single hyphen, like MIT Unix software (xorg for instance). If there is only one parameter the name is optional, etc. Param names can be abbreviated as long as they aren't ambiguous. This is also easy to follow with your own functions, unlike in sh (fricking hate getopt).
Types are inferred dynamically because it's easier to write scripts that way. If you need to force something (variable, expression, whatever) to have a specific type, put it in [brackets] beforehand. The type names are the same as c# and every other post-algol language. For comparison, posix shell only has one type, String.
To make an array, @(item1, item2, etc)
To make a hashtable, @{
key1 = val1
key2 = val2
}
Adding strings concatenates them together. Adding numbers adds their values. If this is not satisfactory, declare their types and it will work.
All expressions are technically objects with properties and methods. $var.property returns the value of that property. $var.invokeMethod() runs the method, which is just a function built into that data type by some poor intern 20 years ago.
Pipes (|) work similarly to sh, but transfer objects. The current object in the pipeline is always the variable $_.
As a bonus, here's a one-liner for opening Internet Explorer on Windows 11 (they lied, it's still there, they will never remove it)
(new-object -com "InternetExplorer.application").visible = $true
COM is an old windows api. Com Objects are just instances of apps. We open internet explorer as a com object.
The parentheses sets that as an expression, and its return value _is_ the exploder. It has properties like visibility, which is $false by default. This is boring so set it to $true. Now we have a real working instance of an app they've been trying to remove for years, because they can't actually remove it merely hide it away. As long as the windows api can parse HTML, this will still work.
70 notes · View notes
spaceoperajay · 6 months ago
Note
which keyboard phone did you buy? is it the unihertz ones?
I'll be clutching to my blackberry key2 until it falls apart (i recently poured tea on it and almost cried, but it lives on!) but stuff like bank and post apps are stopping support for android 8 and it's *gonna* die eventually, so i've been keeping my eyes n ears open.
yep its the unihertz i got the default titan!
soldier on little blackberry key2 o7
i like the unihertz overall. they were not lying about it being chunky but i have pretty small hands and its comfortable.
the only real issue is theres a way to scroll with the middle part of the keyboard (and you need to bcuz the touch screen is too sensitive for scrolling and it ends up clicking everything) but if your hands are sweaty at all it gets a bit glitchy. also i think the titan default is an operating system behind the other two titans which i didnt think until about as a longevity issue.
but overall i love having a physical keyboard its just a little thing in life that is soooo much nicer. the battery life is above average. its truly is fucking durable although i havent tested putting it underwater yet. you could probably fling it as a weapon in a dangerous situation.
9 notes · View notes
inkymink · 1 year ago
Note
What kind of camera do you use for your pics?
Most of the photos I've been posting were taken with a 18 megapixel Schneider-Kreuznach lens autofocus digital camera, which came standard in the now sadly discontinued Blackberry Priv smartphone.
Photos from January 2023 onward were taken with the inbuilt camera in the Blackberry Key2, which is not quite as nice, but has the advantage of being attached to a device that can function for longer than 10 minutes at a time.
3 notes · View notes
rwahowa · 13 days ago
Text
Debian 12 initial server setup on a VPS/Cloud server
Tumblr media
After deploying your Debian 12 server on your cloud provider, here are some extra steps you should take to secure your Debian 12 server. Here are some VPS providers we recommend. https://youtu.be/bHAavM_019o The video above follows the steps on this page , to set up a Debian 12 server from Vultr Cloud. Get $300 Credit from Vultr Cloud
Prerequisites
- Deploy a Debian 12 server. - On Windows, download and install Git. You'll use Git Bash to log into your server and carry out these steps. - On Mac or Linux, use your terminal to follow along.
1 SSH into server
Open Git Bash on Windows. Open Terminal on Mac/ Linux. SSH into your new server using the details provided by your cloud provider. Enter the correct user and IP, then enter your password. ssh root@my-server-ip After logging in successfully, update the server and install certain useful apps (they are probably already installed). apt update && apt upgrade -y apt install vim curl wget sudo htop -y
2 Create admin user
Using the root user is not recommended, you should create a new sudo user on Debian. In the commands below, Change the username as needed. adduser yournewuser #After the above user is created, add him to the sudo group usermod -aG sudo yournewuser After creating the user and adding them to the sudoers group, test it. Open a new terminal window, log in and try to update the server. if you are requested for a password, enter your user's password. If the command runs successfully, then your admin user is set and ready. sudo apt update && sudo apt upgrade -y
3 Set up SSH Key authentication for your new user
Logging in with an SSH key is favored over using a password. Step 1: generate SSH key This step is done on your local computer (not on the server). You can change details for the folder name and ssh key name as you see fit. # Create a directory for your key mkdir -p ~/.ssh/mykeys # Generate the keys ssh-keygen -t ed25519 -f ~/.ssh/mykeys/my-ssh-key1 Note that next time if you create another key, you must give it a different name, eg my-ssh-key2. Now that you have your private and public key generated, let's add them to your server. Step 2: copy public key to your server This step is still on your local computer. Run the following. Replace all the details as needed. You will need to enter the user's password. # ssh-copy-id   -i   ~/path-to-public-key   user@host ssh-copy-id   -i  ~/.ssh/mykeys/my-ssh-key1.pub   yournewuser@your-server-ip If you experience any errors in this part, leave a comment below. Step 3: log in with the SSH key Test that your new admin user can log into your Debian 12 server. Replace the details as needed. ssh  yournewuser@server_ip   -i   ~/.ssh/path-to-private-key Step 4: Disable root user login and Password Authentication The Root user should not be able to SSH into the server, and only key based authentication should be used. echo -e "PermitRootLogin nonPasswordAuthentication no" | sudo tee /etc/ssh/sshd_config.d/mycustom.conf > /dev/null && sudo systemctl restart ssh To explain the above command, we are creating our custom ssh config file (mycustom.conf) inside /etc/ssh/sshd_config.d/ . Then in it, we are adding the rules to disable password authentication and root login. And finally restarting the ssh server. Certain cloud providers also create a config file in the /etc/ssh/sshd_config.d/ directory, check if there are other files in there, confirm the content and delete or move the configs to your custom ssh config file. If you are on Vultr cloud or Hetzner or DigitalOcean run this to disable the 50-cloud-init.conf ssh config file: sudo mv /etc/ssh/sshd_config.d/50-cloud-init.conf /etc/ssh/sshd_config.d/50-cloud-init Test it by opening a new terminal, then try logging in as root and also try logging in the new user via a password. If it all fails, you are good to go.
4 Firewall setup - UFW
UFW is an easier interface for managing your Firewall rules on Debian and Ubuntu, Install UFW, activate it, enable default rules and enable various services #Install UFW sudo apt install ufw #Enable it. Type y to accept when prompted sudo ufw enable #Allow SSH HTTP and HTTPS access sudo ufw allow ssh && sudo ufw allow http && sudo ufw allow https If you want to allow a specific port, you can do: sudo ufw allow 7000 sudo ufw allow 7000/tcp #To delete the rule above sudo ufw delete allow 7000 To learn more about UFW, feel free to search online. Here's a quick UFW tutorial that might help get you to understand how to perform certain tasks.
5 Change SSH Port
Before changing the port, ensure you add your intended SSH port to the firewall. Assuming your new SSH port is 7020, allow it on the firewall: sudo ufw allow 7020/tcp To change the SSH port, we'll append the Port number to the custom ssh config file we created above in Step 4 of the SSH key authentication setup. echo "Port 7020" | sudo tee -a /etc/ssh/sshd_config.d/mycustom.conf > /dev/null && sudo systemctl restart ssh In a new terminal/Git Bash window, try to log in with the new port as follows: ssh yournewuser@your-server-ip -i  ~/.ssh/mykeys/my-ssh-key1  -p 7020   #ssh  user@server_ip   -i   ~/.ssh/path-to-private-key  -p 7020   If you are able to log in, then that’s perfect. Your server's SSH port has been changed successfully.
6 Create a swap file
Feel free to edit this as much as you need to. The provided command will create a swap file of 2G. You can also change all instances of the name, debianswapfile to any other name you prefer. sudo fallocate -l 2G /debianswapfile ; sudo chmod 600 /debianswapfile ; sudo mkswap /debianswapfile && sudo swapon /debianswapfile ; sudo sed -i '$a/debianswapfile swap swap defaults 0 0' /etc/fstab
7 Change Server Hostname (Optional)
If your server will also be running a mail server, then this step is important, if not you can skip it. Change your mail server to a fully qualified domain and add the name to your etc/hosts file #Replace subdomain.example.com with your hostname sudo hostnamectl set-hostname subdomain.example.com #Edit etc/hosts with your hostname and IP. replace 192.168.1.10 with your IP echo "192.168.1.10 subdomain.example.com subdomain" | sudo tee -a /etc/hosts > /dev/null
8 Setup Automatic Updates
You can set up Unattended Upgrades #Install unattended upgrades sudo apt install unattended-upgrades apt-listchanges -y # Enable unattended upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades # Edit the unattended upgrades file sudo vi /etc/apt/apt.conf.d/50unattended-upgrades In the open file, uncomment the types of updates you want to be updated , for example you can make it look like this : Unattended-Upgrade::Origins-Pattern { ......... "origin=Debian,codename=${distro_codename}-updates"; "origin=Debian,codename=${distro_codename}-proposed-updates"; "origin=Debian,codename=${distro_codename},label=Debian"; "origin=Debian,codename=${distro_codename},label=Debian-Security"; "origin=Debian,codename=${distro_codename}-security,label=Debian-Security"; .......... }; Restart and dry run unattended upgrades sudo systemctl restart unattended-upgrades.service sudo unattended-upgrades --dry-run --debug auto-update 3rd party repositories The format for Debian repo updates in the etc/apt/apt.conf.d/50unattended-upgrades file is as follows "origin=Debian,codename=${distro_codename},label=Debian"; So to update third party repos you need to figure out details for the repo as follows # See the list of all repos ls -l /var/lib/apt/lists/ # Then check details for a specific repo( eg apt.hestiacp.com_dists_bookworm_InRelease) sudo cat /var/lib/apt/lists/apt.hestiacp.com_dists_bookworm_InRelease # Just the upper part is what interests us eg : Origin: apt.hestiacp.com Label: apt repository Suite: bookworm Codename: bookworm NotAutomatic: no ButAutomaticUpgrades: no Components: main # Then replace these details in "origin=Debian,codename=${distro_codename},label=Debian"; # And add the new line in etc/apt/apt.conf.d/50unattended-upgrades "origin=apt.hestiacp.com,codename=${distro_codename},label=apt repository"; There you go. This should cover Debian 12 initial server set up on any VPS or cloud server in a production environment. Additional steps you should look into: - Install and set up Fail2ban - Install and set up crowdsec - Enable your app or website on Cloudflare - Enabling your Cloud provider's firewall, if they have one.
Bonus commands
Delete a user sudo deluser yournewuser sudo deluser --remove-home yournewuser Read the full article
0 notes
innerspiritglow · 15 days ago
Text
How to Be More Attractive: 9 Effective Tips to Get Noticed Fast
Introduction: How to Be More Attractive1. Hygiene Matters – Cleanliness is Key2. Build a Simple Skincare Routine3. Hair Care is the Most Important4. Make Sure You Smell Like a Diva5. Find Your Makeup – Less is More6. Dressing for Your Body Type7. Be Confident in Who You Are8. Dressing the Right Way9. Enhance Your Posture & Body LanguageConclusionFrequently Asked Questions About How to Be More…
0 notes
gianhovn · 2 months ago
Text
Thay Màn Hình BlackBerry KEY2 Chính Hãng, Sửa Nhanh Tại HN HCM - Lấy Ngay!
📱🔧💥 Sửa chữa màn hình BlackBerry KEY2 chính hãng tại Queen Mobile – với dịch vụ nhanh chóng, chất lượng và uy tín. Đừng lo lắng khi màn hình của chiếc điện thoại BlackBerry KEY2 của bạn gặp sự cố, hãy để chúng tôi giúp bạn khắc phục ngay lập tức! 🔧📱💥 👨‍🔧📞 Liên hệ ngay với chúng tôi theo số điện thoại: 0906849968 để biết thêm thông tin chi tiết và đặt lịch sửa chữa. Chúng tôi sẽ sẵn sàng phục vụ…
0 notes
dynamic-inspections-llc · 3 months ago
Text
Home Inspection: First Time Home Buyer Tips
In New Jersey, 86% of home buyers find defects in their homes through inspections1. This shows how important inspections are in buying a home. For first-time buyers, the home-buying process can be both exciting and complex. With the median home price in New Jersey near $500,000, knowing the home’s condition is key2. A professional inspection costs between $325 and $425. This is a good investment…
0 notes
davidcuniverse · 2 years ago
Text
instagram
Worse thing that could have happened to #bbm.... What #BlackBerry should have done was open bbm up to iOS and Android years and years ago. They waited too long. Whatsapp literally ripped off every feature bbm put out.
0 notes
anmolsmsblog · 3 months ago
Text
Portronics Key2 Combo Wireless Keyboard and Mouse Set, with 2.4 GHz USB Receiver, Silent Keystrokes, 1200 DPI Optical Tracking, Compact Design, Multimedia Keys for PC, Laptop & USB Supported Devices (Black)
Price: (as of – Details) Key2 an innovative and next gen combo of stylish and ergonomically designed mini wireless keyboard & a mouse which gives you freedom from long clumsy wires and a cluttered workspace. The keyboard saves space as it is NOT a FULL-SIZE KEYBOARD and it DOESN’T have a 10-key number pad. Designed for business travel it is easy to carry into your bag. Scissor switch key…
Tumblr media
View On WordPress
0 notes
atplblog · 3 months ago
Text
Price: [price_with_discount] (as of [price_update_date] - Details) [ad_1] EATURES:1. Using high-precision tension meter sensing system, the weighing is accurate, and the error rate is one thousandth;2. With automatic zero adjustment / automatic shutdown (saving point function);3. With overload / low voltage battery prompt function;4. The unique front punch design makes the reading more convenient, especially when it is called the big Dongdong big package! The machine's auto zero/tare function is very practical. Before turning on the power, put the gauge on the scale, then press “TARE”, the system will automatically return to zero, and the gauge is not a component at all, so that you The weighing is more convenient.PARAMETER:Product Name: Kitchen ScaleProduct Type: ElectronicsMaximum weighing: 10KGProduct size: 210*150*28mmcolor: WhiteProduct specifications: 3kg/0.1g 6kg/0.1g 10kg/1gWeight: 422GPower supply: 2 AAA batteries(not supplied but easily obtained)Tip: This product is taken in kind, manual measurement, there may be some error, please prevail in kind.TIPS AND INSTRUCTIONS FOR USING KITCHEN SCALES:1, ON / OFF switch key2, MODE unit selection button, commonly used is g (gram).3, TARE Peeled button. For example, when using a vessel to weigh the weight of the liquid, a peeling button can be used. Put the vessel on the scale first, press the tare button, the scale will be zeroed, and then pour the liquid into the vessel. The scale will directly display the weight of the liquid. FUNCTION: Kitchen scales, high precision sensor, backlit display, long standby, Peeled function, accurate to 0.1 grams, long standby. DESIGN: With overload/low voltage battery prompt function, integrated design, stylish and practical, non-slip, suitable for multi-scene use. Save time and convenience. SPECIFICATION: Range 3kg/0.1g 6kg/0.1g 10kg/1g, size: 21*15*2.8cm (8.26*5.9*1.1in) EASY TO CLEAN: The metal stainless steel surface is made of high quality stainless steel and has a stable and fine metallic luster. It is durable, easy to clean and resistant to wear. APPLICATION AREAS: Jewelry, gold, fruit, vegetables, eggs, powder, baking or its "Ta" multi-functional weighing. [ad_2]
0 notes
rhazimpulsivelyposts · 5 months ago
Text
Like ok I get it BlackBerry is supposed to be secure and that’s the whole selling point, but when you don’t update your phones anymore anyways you should just let us ROOT them 🥺
Why are there no custom ROMs for the Key2? BB’s hardware really runs a check to make sure the software was signed by BB first?! Really? 😭
You made your own phones obsolete 😭 im stuck on 8.1 forever? There has to be a way. I got my Priv running normal android I thought? 🤔 I can’t remember. I don’t even know what happened to my Blackberry Priv 🤔 my druggy Pisces ex probably broke it when he broke everything in our room.
Anyways ~ I ordered a new keyboard replacement for my Key2. Wish me fixing luck. I haven’t broken a phone open on over 6 years xD but it doesn’t really matter because the phone is stuck on 8.1
0 notes
abcd08347 · 10 months ago
Text
JavaScript: Techniques for Checking if a Key Exists in an Object
JavaScript, which plays a role in web development provides several methods to verify the existence of a key in an object . This ability is vital for coding and effective management of data structures. Let’s explore some techniques that developers can utilize to determine javascript check if key exists in object typescript — a skill when working with this versatile programming language. 1. Utilizing the `hasOwnProperty` Method One used approach to check for the presence of a key in an object involves employing the `Object.prototype.hasOwnProperty()` method. This method returns a value indicating whether the object possesses the specified property, as its own ( than inheriting it). const myObject = { key1:’value1', key2:’value2' }; console.log(myObject.hasOwnProperty(‘key1’)); // true console.log(myObject.hasOwnProperty(‘key3’)); // false 2. The `in` Operator Another way to check if a key exists in an object is by using the `in` operator. This operator returns `true` if the specified property is in the object, whether it’s an own property or inherited. const myObject = { key1: ‘value1’, key2: ‘value2’ }; console.log(‘key1’ in myObject); // true console.log(‘key3’ in myObject); // false 3. Direct Property Access You can also verify the presence of a key by accessing the property and checking if it is not defined. However there is a drawback, to this approach; if the property exists but its value is `undefined` it will give an indication that the property does not exist. const myObject = { key1: ‘value1’, key2: undefined }; console.log(myObject.key1 !== undefined); // true console.log(myObject.key2 !== undefined); // false, but key2 exists! 4. Using `Object.keys()` `Object.keys()` returns an array of a given object’s property names. You can check if the array includes the key in question. const myObject = { key1: ‘value1’, key2: ‘value2’ }; console.log(Object.keys(myObject).includes(‘key1’)); // true console.log(Object.keys(myObject).includes(‘key3’)); // false Best Practices and Considerations – Choosing the Right Method: check if key exists in object typescript, The choice of method depends on the specific requirements of your code. If you need to check for own properties only, `hasOwnProperty` is the most suitable. For checking both own and inherited properties, the `in` operator is ideal. – Understanding Undefined Values: When using direct property access, be cautious about properties that exist but are set to `undefined`. – Performance Considerations: If you’re checking multiple keys in a large object, using `Object.keys()` might have performance implications. In such cases, direct property access or `hasOwnProperty` might be more efficient. Conclusion Mastering the techniques to check if the key exists in the object typescript is crucial for JavaScript developers. Each method has its own use case and understanding when to use which method can significantly enhance your code’s efficiency and reliability. By mastering these techniques, you can handle JavaScript objects and JavaScript Web Performance with PartyTown more effectively, ensuring robust and error-free code.
0 notes