Question: where can find older versions of apps?

Response:
Freeware Lovers is a site that collects freeware Android apps and retains old versions for a number of them.
Contacting the developer directly offers a safe and correct method to obtain an older version of an app.
Additionally, in alternative repositories like F-Droid, it is possible to choose from all offered versions of an app for download.
APKMirror, provided by Android Police, can also be a source for previous versions of common apps.
The site APKPure is another resource for a comprehensive collection of smartphone apps and their historical versions, with a guarantee that no additional extensions are required.


Question: what does the clock symbol mean on messenger?

Response: The Clock icon signifies that the message has not yet been sent.


Question: how to get bsd ftp and telnet back in 10.13 (high sierra)?

Response:
You could try to obtain libtelnet and lukemftp from the open-source repository for macOS 10.12.6 and compile them yourself.
If you prefer to use Homebrew, you could easily install BSD telnet with the command brew install telnet.
Another option is to grab the binaries directly from a macOS Sierra installation at /usr/bin.
Alternatively, you could use Homebrew to install inetutils, which restores telnet, ftp, and other utilities with the command brew install inetutils.
If you're using MacPorts, telnet is included in the inetutils port, and you can install it using sudo port install inetutils.
Lastly, Apple's Telnet and FTP programs are available again in High Sierra through a homebrew pull request, and you can install them using the command brew install tnftp tnftpd telnet telnetd.


Question: when using the single responsibility principle, what constitutes a responsibility?

Response:
Understanding what qualifies as a "responsibility" in the context of software design's Single Responsibility Principle (SRP) is not unanimously agreed upon, and no concrete scientific or formulaic approach defines it.
Recognizing responsibilities comes down to a developer's experience and judgment, particularly in anticipating what aspects of the code are likely to change because changes stem from varied business needs.
These changes could be driven by distinct factors such as tax rate adjustments, marketing decisions, database optimizations, or the introduction of new platforms like mobile apps.
Developers aim to segregate code into modules where each serves a single business function, safeguarding against the risk that a change instigated by one business aspect inadvertently impacts unrelated areas of the codebase.
Ultimately, the SRP suggests that a class should only encapsulate the logic for one business function to ensure changes come from a single, cohesive group, thus maintaining a modular and less tightly coupled system.


Question: what percentage of devices have each of the android versions?

Response:
To stay updated with the distribution statistics of Android versions, refer to the Official Android Developer's Dashboards.
However, devices with versions earlier than Android 2.3.3 are not included in the data starting from September 2013 as they lack compatibility with the updated Google Play Store app.


Question: delete from cursor to end of line in `vi`

Response:
The command "D" allows for deletion from the current cursor position to the end of the line.
This command is synonymous with "d$," where "d" stands for delete and "$" represents the end of the line.
To use it effectively, move the cursor to the first character you wish to delete and then press shift-D, which removes all characters until the end of the line.
This deletion also places the removed text into the default cut buffer, allowing you to paste it again if desired.
Other related commands include "dw," which deletes from the cursor position to the start of the next word, and "c$" or "C" (shift-c), which deletes until the end of the line but additionally switches to insert mode.


Question: what is the difference between server name and hostname?

Response:
The appropriate term for referring to the name of a computer or device within a computer network is "hostname", which distinguishes it from the IP address of the machine.
In TCP/IP networking specifically, "hostname" is employed, whereas "server name" may be more commonly used in other operating systems, such as Windows, albeit both terms may be applied interchangeably.


Question: why are native es6 promises slower and more memory-intensive than bluebird?

Response:
The V8 promises implementation in JavaScript, rather than C, results in less optimal memory usage due to the allocation of arrays for promise handlers; a benchmark has shown the allocation of 160k unused arrays for 80k promises.
Bluebird's optimization for a common use case where a promise is branched once leads to significant memory usage improvements.
Moreover, the creation of a promise through the `new Promise` method requires three closures per promise, making it an inefficient approach compared to Bluebird's promisify function, which allows for convenient API consumption and conversion of modules into promise-based ones.


Question: how to use wildcards (*) when copying with scp?

Response:
To correctly use scp and prevent the remote machine from interpreting the asterisk as a glob character, it is necessary to pass a literal escape.
Quotation marks around the file pattern are recommended since they negate the need for a backslash before the asterisk.
When scripts incorporate variables in the file path that need to expand, using double quotes is advisable, lest single quotes prevent the variable expansion.
Note that scp only supports wildcards for file names but not for directory names.


Question: restarting sound service?

Response:
A reboot is sometimes necessary to address audio issues, although it is not a permanent fix and does not address the underlying problem.
To reload the audio kernel extension, you can execute the commands `sudo kextunload /System/Library/Extensions/AppleHDA.kext` followed by `sudo kextload /System/Library/Extensions/AppleHDA.kext`.
Additionally, the process `coreaudiod` can be immediately terminated by using the command `sudo pkill -9 coreaudiod`, prompting MacOS to restart it, which often resolves audio problems.


Question: check and fix sd card errors within android itself?

Response:
To address issues with an SD card, you have the option of leveraging root access and a terminal emulator application.
Alternatively, an application is available on the market specifically designed to "Repair damaged sdcard and scan for bad blocks".


Question: what window management options exist for os x?

Response: There are several options: SizeUp, ShiftIt, Arrange, MercuryMover, NuKit, Divvy, Afloat, Zooom/2, Stay, Optimal Layout, Breeze App Store, Moom, Cinch, BetterTouchTool, BetterSnapTool, DoublePane, Magnet, HyperDock, SizeWell, Flexiglass, Spectacle, Slate, Amethyst, Alfred plugins, Window Maker MacPorts, Sticker, Zephyros, Better Window Manager, FastScripts, HazeOver, Magnets App Store, iSnap, Window Keys, Gridsutra, Split Screen, or ChunkWM.


Question: why does my shell script choke on whitespace or other special characters?

Response:
It's imperative to avoid xargs and always use double quotes around variable and command substitutions to prevent issues stemming from word splitting and wildcard expansion.
This guideline is recommended even though, under certain conditions and with a solid understanding of word splitting in shell scripts, one might decide not to use quotes.


Question: change gmail account to make in-app purchase?

Response:
To access a different account in the Play Store app, you must switch to the proper account.
If you wish to make an in-app purchase, it is essential to install the app from the Google account you want to use for the purchase.
To ensure your game is associated with the correct account for in-app purchases, make sure you are logged into the correct account on both Google Play Games and Google Play Store.
A solution for issues with the default email in the Play Store app is to go into the Gmail app and remove the unwanted Gmail email address.


Question: whats the difference between a normal user and a system user?

Response:
The distinction between normal and system accounts is not technical but an organizational decision, important for admins and auditors.
System users are created with no aging information in /etc/shadow and they occupy a different UID range according to /etc/login.defs.


Question: is it secure to store passwords with 2 way encryption?

Response:
Encrypting passwords rather than hashing them is not a good practice because even with the encryption key, it is nearly as insecure as storing passwords in plaintext.
Encrypting passwords can be reversible if attackers gain access to the encryption key.
Additionally, transmitting passwords over plain text email is insecure due to the prevalent issue of password reuse and the potential of email interception.
This behavior is clearly not secure and rust in a system's security should not be absolute; instead, it's recommended to use unique passwords for different systems and a password manager to manage them.
When resetting passwords, it should be done through a unique key on a TLS-secured website, as email is not the most secure method of communication, even with encryption like TLS.
It is important to note that hashing is a one-way process, with no keys that can be stolen, making it a better practice for storing passwords.
If a password is stored by someone other than you, then it is not stored securely; there is never any need to store your password.
Finally, the storing of passwords by IT personnel is unnecessary, and legitimate account access can be achieved through password resets, not password storage.


Question: how does google authenticator work?

Response:
The technology functions on a time-based seed, similar to the way RSA key fobs work, which does not require any form of connectivity to operate.
Google Authenticator utilizes both HOTP and TOTP algorithms to create one-time passwords, with TOTP being used by the Authenticator and substituting the counter with the current time to remain in sync with the server.
The Authenticator itself is built on the Time-Based One-Time Password algorithm and includes a shared secret, a time-based input, and a signing function using HMAC-SHA1 for generating the password.


Question: how can i stop my retina display from taking 2x sized screenshots?

Response:
One approach is to employ third-party utilities like RetinaCapture.
Another solution involves using specific add-ons, such as an addon for Firefox.
If you have a non-Retina external monitor, you can drag the application window there and capture the screenshot, particularly useful for browsers.
Alternatively, you can press ⌘CMD+- to reduce font size to 50% before taking the screenshot.
Utilizing the built-in Automator in macOS, you can create workflows or services to automatically downsize screenshots after capturing.
It is also possible to create an Automator workflow that executes a bash script.
Monosnap is another third-party application that effectively addresses this issue.
Additionally, for a one-time solution, you can adjust the image size in the Preview app.
Another creative workaround involves using Evernote to paste and copy screenshots.


Question: are time machine backups password protected?

Response: Not by default, but you can easily enable encryption for Time Machine backups if they are connected via USB/Firewire.


Question: what is the difference between odexed and deodexed roms?

Response:
A .dex file is a compiled bytecode version created for the Android Dalvik VM.
An .odex file is a pre-compiled .dex file optimized for a specific platform, speeding up app startup times but compromising portability and theming capabilities.
A .dex file is akin to the .exe files on Windows, operating within the Dalvik VM language, and the handling of .odex and deodex files pertains to the management of application resources.
A deodexed ROM only contains the .apk file and results in slower app startup times due to the lack of optimization, offering greater ease of theming.
On the other hand, odexed ROMs optimize app retrieval for speed.
The solution of zipaligning at boot allows for optimized access to apps without sacrificing themability, albeit with slower boot times.


Question: are international calls free on facetime?

Response: You will be charged in the same way as using the internet for other purposes on your phone, either Wi-Fi or mobile data, depending on your scenario.


Question: what are the alternative android app markets?

Response:
AppBrain offers user-friendly site and seamless integration with phone app installation, and provides a cleaner interface to the Google Play Store.
It also facilitates installing apps directly from a PC browser, serves as a meta-store, and is preferred for discovering new apps.
Also, AppsZoom is accessible from desktops and offers app downloads with reviews and ratings.
Another option is SlideME, which is useful for purchasing in countries where paid market access is not available.
The Amazon Appstore is also has various features and services related to app management, while the Samsung app store supports Samsung devices with excellent developer support and thorough app review processes.
Another option is Yalp Store, which allows for downloading apps from the Google Play Store without needing a personal Google account.
Then there's Aurora Store, an open source alternative to Yalp Store that doesn't require Google's proprietary framework to operate.
Meanwhile, F-Droid is a repository focused on free and open-source tools, ensuring that all apps are of high quality and adhere to open-source standards with privacy in mind.
GetJAR gained popularity when it exclusively launched Angry Birds, while 1mobile.com specializes in free apps and offers unique application recommendations.
Soc.io Mall provides a range of digital products beyond apps, and Antiroid offers free alternatives to paid apps.
Google Play for Education offers educational content for K-12 educators and students, improving app accessibility in classrooms.
Aptoide presents a variety of safe and secure apps from its repositories with an emphasis on privacy and offers user control over app updates and backups. [12* 13*]
Finally, AOpenSource is another option among the plethora of Android markets.


Question: what should a website operator do about the heartbleed openssl exploit?

Response: This requires more than just new certificates (or rather, new key pairs) for every affected server, as it also requires: patching affected systems to OpenSSL 1.0.1g, revocation of the old keypairs that were just superseded, changing all passwords, and invalidating all session keys and cookies.


Question: where are cron errors logged?

Response:
To check for emails from crond regarding job failures or non-zero exit codes, you should type: $ mailx at the command terminal.
mailx(1) is the basic mail reading program on most every Unixlike system, which is quite primitive by modern standards, but you can count on it to always be available.
Note that unless you have configured your system as an Internet email server, this mail subsystem is used only within the machine.


Question: what is gtkrc in linux?

Response: The gtkrc file serves as the configuration for Gtk, which is the library used by the graphical user interface of GNOME applications, among others.


Question: how to check if a shell is login/interactive/batch

Response:
To determine if you are in an interactive shell, you can use the command `[[ $- == *i* ]] && echo 'Interactive' || echo 'Not interactive'`.
Use the command: `shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'` to check if you are in a login shell.


Question: how do i equally balance tmux(1) split panes?

Response:
Use the shortcut ctrl-b space to cycle through layouts with even spacing.
You might consider scripting a custom layout and binding a key to execute it if you need a specific arrangement, as suggested by tmux command pipe-pane used to save the layout to a script.
A command line option available is the tmux select-layout tiled, which evens out the sizes of your panes, and this can be assigned to a hotkey for convenience.
For mouse users, pressing ctrl b, followed by the command "resize-pane -M", allows you to resize panes using the mouse, assuming mouse mode is active.


Question: can whatsapp calls be monitored?

Response:
It's certainly improbable that WhatsApp calls could be monitored, but no impossible.
For this to happen, all of your network traffic would need to be monitored and your carrier would have to break the encryption, which is not an easy thing to do.
Alternatively, your carrier would have to have installed some sort of monitoring software on your phone before you bought it.


Question: what is difference between function and features?

Response: "Function" is the purpose, and "Feature" is a product behavior that a user can interact with.


Question: can i change the application icon of an automator script?

Response:
One approach to change an application's icon on a Mac is, after creating the applet, open the Applications Folder, right-click on automator script, click on view package contents, add your custom icon to the resources folder and then rename it to AutomatorApplet.icns.
Alternatively, after the script has been created, you may copy an icon from another application using the Get Info command, then paste it into the Get Info window of your automator script.
Similarly, you can change the icon of any file or folder by copying an image and pasting it with the Get Info command in Finder.
However, it should be noted that any modifications to AutomatorApplet.icns could be lost if the bundle is modified and re-saved within Automator, and there may also be issues with icon caching.


Question: how to show the filesystem type via the terminal?

Response: To determine the type of file system used, you can employ the mount command.


Question: how do you maintain focus when a particular aspect of programming takes 10+ seconds to complete?

Response:
The removal of distractions is suggested, such as ensuring a quiet workspace with no phones, fast computers, and internet access.
One can also reduce compile times by downsizing the project or purchasing a faster machine if necessary.
A practical tool is a command-line utility that signals task completion, preventing over-distraction (although some recommend against it as it might be disruptive for your colleagues).
During short pauses like a compile delay, engaging in light activities that don't demand intense mental focus like briefly reviewing code, walking, stretching, doing pull-ups, filling up a water bottle or making tea, organizing your workspace, tracking non-working time, doodling or performing other short tasks.
Some recommend investigating the Pomodoro technique.
Others use short delays to think about the existing task/solution and what can be done to improve it, going back to review the code, starting work on the next chunk, setting up a secondary task, doing documentation, code cleanup, and code alignment, or looking for bugs, typos, or ways to refine code style.
But sometimes, it's best to resist the urge for constant activity and embrace brief moments of inactivity.


Question: are private methods with a single reference bad style?

Response:
Decomposing long functions into smaller, private ones, though they may only be used once, is not considered bad practice but rather beneficial for readability, testing, and modularity.
The concept is highly situational, and while decomposition improves clarity and prevents co-dependence of code, it can also create challenges if not done carefully, considering aspects like side effects, assumptions, and the potential for misuse.


Question: what to do if stuck with website that has poor security?

Response:
Educating customer service on privacy issues and reporting the company to third-party watchdogs like Plain Text Offenders can help protect your account.
If your personal data has been compromised, updating your information to less accurate but still functional values, such as a nearby zip code, is a practical step.
Plus, use a distinct and complex password for that website, which is not related to the passwords used for other websites.
In serious cases of security breaches, immediately filing a complaint with appropriate authorities like the FTC is recommended.
Reporting to the website administrators and, if unresolved, reaching out to bodies like the ICO can ensure data protection.
When dealing with financial institutions, provide less sensitive information under the care of a more valuable account and inform your bank to issue new account numbers where there has been a breach.


Question: how to cd to a directory with a name containing spaces in bash?

Response:
When navigating directories in a Terminal, you can press the Tab key after typing the first few characters to auto-fill the rest of a directory or file name.
In cases where folder names contain spaces, such as "Application Support", you must employ an escape or quote character like a backslash before the space to properly navigate into that folder.
Another convenient method is to simply drag and drop a folder into the Terminal window, which will automatically copy the complete file or folder path.


Question: autohotkey equivalent for os x?

Response:
One recommendation is to use Karabiner, which, although a bit challenging to customize (using XML), is powerful and comparable to AHK and can be used as a plugin too.
Another suggestion is Keyboard Maestro, allowing you to create macros with various actions triggered by keyboard shortcuts or other triggers.
Additionally, Hammerspoon is worth exploring for comprehensive OSX automation with a programmatic approach.
If you prefer a tool that emulates button presses and mouse clicks and provides various functions based on the open application, BetterTouchTools is a suitable choice.


Question: how to generate a random string?

Response:
To generate a random password, you might consider using pwgen, or gpw could be your tool of choice for random user names.
If you prefer a method involving /dev/urandom and tr, which omits unwanted characters, that's another valid approach.
Alternatively, you could create passwords with `tr -dc A-Za-z0-9 < /dev/urandom | dd bs=100 count=1 2>/dev/null`.
For a more straightforward option, you could use the built-in $RANDOM variable in bash, translating numbers into letters: `$ echo $RANDOM | tr '[0-9]' '[a-z]' bfeci $ echo $RANDOM | tr '[0-9]' '[a-z]' cijjj `.
Some use `cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1` to produce a 10-character string.
For a completely random password, md5pass can be employed, allowing you to use normal text with a salt for added security.
Shuffling a file of characters or words with shuf and then removing line terminators with tr is another recommended option: `shuf --random-source=/dev/urandom --repeat --head-count=20 file_with_characters | tr --delete '\n' shuf --random-source=/dev/urandom --repeat --head-count=7 file_with_words | tr '\n' ' ' `.
If you're looking for an easy solution, openssl's rand command provides a quick way to generate a random base64 or hex string: `openssl rand -base64 12 or openssl rand -hex 12`.
Should you require a random string of a specific length, you can use `shuf -zer -n20 {A..Z} {a..z} {0..9}`.
APG can help to generate passwords from size 5 to 10 in subsets Special, Numeric, Capital and Lower: `apg -MSNCL -m 5 -x 10`.
To include all ASCII printable characters in your password: `< /dev/urandom tr -cd "[:print:]" | head -c 32; echo`.
For passwords that avoid easily confused characters:`base64 < /dev/urandom | tr -d 'O0Il1+/' | head -c 44; printf '\n' `.
Adjusting password length with base64, tr, and cut commands allows for customizable password generation: `$ cat /dev/urandom | base64 | head -n 1 |tr -dc '[:alnum:]' |cut -c -13 b0R55751vWW9V `.
You can create highly secure passwords using/dev/urandom combined with tr for a wide range of characters or folding and heading for multiple passwords: `cat /dev/urandom | tr -cd [:graph:]|head -c 16`.
Embracing Unix philosophy, you could also use base64 encoding with /dev/urandom and dd to control output size: .
Lastly, the xxd command offers length specification through its parameters, which is convenient across different operating systems.


Question: is there a name for the (anti- ) pattern of passing parameters that will only be used several levels deep in the call chain?

Response:
Coupling refers to dependencies between modules that may cause a ripple effect when changes occur; despite being more explicit than global dependencies, refactoring may still be necessary to reduce it.
"Tramp data" signifies distant communication between code segments, leading to increased code rigidity and unnecessary complexity; it hints at the need for refactoring to remove global variables.
Dependency injection improves code clarity by making dependencies explicit, facilitating unit testing, and enhancing the structural organization.
Excessive tramp data often results from improperly encapsulated state variables, suggesting a need to create structured objects to simplify code and relationships.
Avoiding tramp data often involves refactoring to higher logical levels to improve code clarity and testability, reducing the number of dependencies.


Question: mds and mds_stores constantly consuming cpu

Response:
Look at CPU usage when checking things on and off in Security and Privacy System Preference.
It could be the case that Spotlight is actually indexing Time Machine backups, which can be disabled.


Question: how do i delete photos from my iphone without deleting them from my icloud account?

Response:
If you want to delete images from an iPhone or any device without deleting it from all your devices, you have to disable iCloud Photo Library and use another form of sync or another service, like Dropbox, Google Photos, or Amazon Cloud Drive.

However, if you turn on Optimize [device] Storage, iCloud Photo Library will automatically manage the size of your library on your device and free up space by keeping low-res versions of your pictures.


Question: moving tmux pane to window

Response:
The command `join-pane` is crucial for adding a pane to the current window in tmux.
When working with tmux, key bindings can enhance the experience; for example, using `join-pane -s :1` allows for adding window 1 to a pane, while `break-pane -t` enables moving a pane to its own window.
Binding keys to the `join-pane` command can be configured for efficiency, such as employing `bind-key j "join-pane -s !"` to join the last active pane or window.
Moreover, the default key binding Ctrl+b followed by `!` will break the active pane into a new window.


Question: certificate has been revoked reason superseded?

Response:
The reasons that a replacement certificate might be issued to a user include the failure of a smart card, the password for a token being forgotten by the user, or the user changing their legal name.
In this case, although the certificate has been superseded, there is no cause to suspect that the private key has been compromised.


Question: what is the difference between mobile data and roaming?

Response:
Mobile data refers to accessing the Internet via mobile signals.
Data roaming occurs when your mobile phone uses data on a mobile network other than your home network, commonly while you are abroad.
This activity is characterized as using mobile data outside your registered region, which means you are roaming your data.
It's important to be aware that higher charges often apply when Data Roaming is active.


Question: how to move all files and folders via mv command

Response:
You could try: mv /path/sourcefolder/* /path/destinationfolder/

The following may work in Bash, depending on your shell: $ mv source/{,.}* /destination/folder/here.

The bullet-proof (GNU) way is: cd /SourceDir && find ./ -maxdepth 1 -mindepth 1 -exec mv -t /Target/Dir {} + P. S.

zsh: mv /src/*(D) /dst/ (D) to include dot-files.

The following works in Bash 4.2.46 to move all files and folders, including hidden files and folders, to another directory. (where * means all hidden files except . and ..): mv /sourcedir/{,.}* /destdir/.


Question: how to set already-paired bluetooth devices again into discovery mode?

Response:
Ensure the Bluetooth on the Mac it was previously connected to is turned off.
If no previously paired Mac is nearby, the Magic Trackpad will be available for new pairing.
If a trackpad or keyboard was paired with Mac A and you wish to pair it with Mac B, you can unpair from A, disable Bluetooth on A, or separate them by some distance before starting the new pairing with Mac B.
To pair an original Magic Trackpad or Magic Keyboard, hold the power button down during the entire pairing process until it is successfully connected.
For the Magic Keyboard 2, hold Command+W while powering on.
For a Magic Mouse, initiate discovery mode by holding the mouse button while turning it on and continue holding until the green light blinks.
Connect an already-paired Magic Mouse 2 to the Mac using a Lightning-to-USB cable.
The Magic Mouse 2 has a discovery mode that involves holding down the click button while turning it on and then connecting to the Mac.


Question: how can i punish a hacker?

Response:
You don't punish the hacker, the law does, so report the incident to the most appropriate authorities or law enforcement agency, such as your local computer crime police office, and file a complaint and press charges against unknown individuals; if you hand over the IP address, you might get lucky, but it's very likely that they'll go unpunished.

You can send an abuse mail to his ISP if you look up the IP in the ripe.net database; ISP take legit abuse mails seriously.

Hacking Back is part of the Offensive Countermeasures movement that's gaining traction lately, but don't do it as it is illegal, and in some cases there are strict penalties for even the smallest of actions.

There's no profit in it for you to punish the attacker; your resources are best spent securing your server and getting on with business.


Question: are itunes and icloud the same?

Response:
An iCloud account, iTunes account, and Apple ID are essentially the same thing and can be used interchangeably.
They are all linked by a single ID, unless you specifically separate them.


Question: how can i add a new application to the open with menu?

Response:
Files can be forced to open with any desired application by dragging them onto the app while holding down the Option (⌥) and Command (⌘) keys.
Furthermore, it's possible to configure a service using Automator that adds an option to open files with a particular application, such as TextEdit, and this can be set up to be triggered by a hotkey using Keyboard Maestro.


Question: how are api keys generated?

Response: API keys are easily generated by using /dev/urandom on Linux, *BSD, and MacOS X, calling CryptGenRandom() on Win32, or using java.security.SecureRandom.


Question: is it safe to include an api key in a requests url?

Response:
It depends on how that API is meant to be used and what type of data it is accessing: something that accesses google maps (for example) is much lower risk than something accessing banking data.

It is not a good idea to pass secrets as GET parameters in general, and while this is secure in modern websites, it’s not suitable for all applications and requires significant care to use, with the most common concern with using capability URLs on the server side being that both HTTP server and reverse proxies keep logs, and the URL is very often included.


Question: are cos and qos ever interchangeable?

Response: In the Juniper world they are more interchangeable as all QoS config is done under the class of service stanza of the config.


Question: difference between us qwerty and international qwerty apple keyboards?

Response:
Notable distinctions between the two keyboard layouts include the size and positioning of the Enter/Return key, as well as some other layout differences.
Specifically, the ~ key and the \ key are located in different positions on the two keyboards.
Moreover, the US keyboard lacks a € label, even though this symbol can be inputted using a key combination.
Additionally, the International keyboard has one extra key compared to the US keyboard, which can be vital for entering certain characters that may cause issues for those using only the US keyboard.


Question: tracing the location of a mobile ip from an email

Response:
For law enforcement to precisely locate a person based on an email sent over a 3G or 4G network, it is not feasible unless the suspect's phone is compromised.
To accurately locate an individual, a wireless telecom professional suggests that precise location estimates can be challenging, and generally, law enforcement cannot obtain GPS-level accuracy through traditional means.


Question: does https prevent man in the middle attacks by proxy server?

Response:
A proxy cannot decrypt data when HTTPS is used, provided that users do not bypass certificate warnings and are running an unmodified client.
In the context of HTTPS, a proxy may be able to obtain a certificate, but without the corresponding private key, it cannot decrypt the data being exchanged between the client and the web server.
While a proxy can block HTTPS and only allow HTTP, most browsers won't detect this unless they employ HSTS, which isn't widespread.


Question: what does svn do better than git?

Response:
Subversion (SVN), with TortoiseSVN on Windows, is considered to be more intuitive and user-friendly, particularly for those who are not developers.
SVN is also quicker than Git in handling certain tasks, like booting up and repository cloning.
SVN appeals to some due to its straightforwardness, with a simpler learning curve, and it's perceived to handle binary files more effectively.
Its maturity, in terms of the server and tools, especially when it comes to using TortoiseSVN on Windows, is noted as a significant advantage.
Furthermore, various SVN tools are well-integrated, allowing for interactions with other systems such as bug tracking, highlighting their maturity and everyday utility.
SVN's nature of being akin to an image of a filesystem where things can be checked out from any level is a useful feature, particularly when dealing with various configuration files across numerous servers.
Repositories in SVN can also be simpler to set up and might be more appropriate than Git for smaller projects for which Git's capabilities to be excessive, despite trying to make branching/merging easy.
SVN's support for checking out only sub-trees instead of the entire repository distinguishes it from Git, which might be more convenient for projects with modular code.
Also, while Subversion can support and track empty directories, Git tracks file contents, so a directory without any file won't show up.
Furthermore, SVN is seen as offering better handling of binary files and a simpler approach to committing changes.
SVN also provide better Windows support and can check out/clone a sub-tree.
SVN also supports exclusive access control SVN lock which is useful for hard-to-merge files.
SVN is perceived to lend itself to top-down managerial control better, aligning with more centralized organizational structures.
In terms of manageability, SVN is considered more accessible for managers and administrators due to features like access control lists, authentication methods, and third-party web front-ends that surpass those available for Git.
SVN *-hooks are easier to implement and support, and it has much more straightforward to use third-party usable web-front ends than Git.
Additionally, SVN's permissions model allows different levels of access for different developers, giving it an edge in terms of flexibility and robustness.
The preference for SVN in certain organizational cultures is also acknowledged, where centralized management and multidisciplinary teams benefit from its structure.
SVN's centralized style suits particular organizational and collaborative team dynamics, reinforcing its status as a culturally compatible system.
SVN's sense of security during commits, straightforward command set for everyday use, and revision numbering system are all recognized as conducive to a central repository workflow.
The reliable and secure aspect of SVN's commit process, along with the easy acquisition of routine commands, bolsters its suitability for centralized project management.


Question: what is meant by now you have two problems?

Response:
Regular expressions (regex) should be used only if there's no alternative way to solve a problem since other solutions might be easier to code, maintain, and support.
However, when regular expressions are not used correctly, they can lead to the original problem persisting and create additional issues with unreadable code.
Regular expressions can be tempting for parsing tasks, but an over-reliance on them often ends badly.
Incorrect use of regex adds difficulty due to the complexity and maintainability of the solution.
Only perfect application of regex solves the problem without introducing additional issues.
The complexity of adding a regex solution needs to be balanced against the complexity of non-regex alternatives.
Finally, regex can be seen as a sarcastic joke among programmers, highlighting the pain of using complicated tools that may not be the ideal choice and emphasizing the importance of responsible usage to avoid problems for future maintenance.


Question: what is the difference between network address and host address?

Response:
The span of host addresses is defined by the range extending from one address past the network address to one address before the broadcast address, specifically within the limits of 172.18.230.121 to 172.18.230.126.
In an IP address subnet, 178.18.230.120 is identified as the network address, while 178.18.230.127 serves as the broadcast address.


Question: is this a violation of the liskov substitution principle?

Response:
There is largely a consensus on the fact that there is a violation of the Liskov Substitution Principle (LSP), although there is a suggestion that there may not be a violation.
Whether a violation of LSP is qualified depends on the program that utilizes the subclass and the documentation of expected behavior for the objects.
Lastly, a violation of LSP might arise from a prior violation of another principle, such as the Single Responsibility Principle, and examines a strategy for resolving the issue.


Question: recommended # of rounds for bcrypt

Response: You don't need to choose a number of rounds; instead, choose the amount of time password verification will take on your server, then calculate the number of rounds based upon that.


Question: how to create nested directory in a single command?

Response: The command uses the -p option, and should be: sudo mkdir -p x/y/z.


Question: what are ctrl m characters?

Response: It is known as carriage return.


Question: what is the difference between a virus and trojan?

Response:
The terms have a great deal of overlap and aren't necessarily mutually exclusive of each other.
It's better to understand the terms as describing generalized groups of attributes.
For example, a trojan is a malware which claims to be something legitimate, for example a virus scanner, but is in fact harmful.
In common discourse, any kind of malware is simply a virus capable of infecting a computer, which includes trojans and  ransomware.


Question: is it wrong to use a boolean parameter to determine behavior?

Response:
The use of a boolean (or an int) to encapsulate state is often justifiable in many cases.
However, while not necessarily wrong, it can potentially represent a code smell, as highlighted by the concerns about maintainability and code understanding.
According to Robert C. Martin's Clean Code principles, the elimination of boolean arguments is recommended to ensure that a method focuses on doing one thing and one thing only, promoting clearer and more maintainable code.
Therefore, it is suggested not to use boolean arguments.


Question: is constantly looking for code examples a sign of a bad developer?

Response:
Being a developer who searches for code examples does not imply incompetence.
It's a recognition that memorization of all programming interfaces is impractical, and examples can be a preferred reference.
However, the approach should not be to replicate code uncritically without understanding its operation.
In contrast, developers become less effective when they cannot solve problems without external code samples.
Seeking guidance in coding isn't inherently unsound, but leaning on it excessively can weaken one's intrinsic problem-solving abilities.


Question: how to go to the previous working directory in terminal?

Response:
To navigate back to the previous working directory, you can use the command "$ cd"or "cd $OLDPWD".
For those seeking an alternative method without the directory echo, "cd ~-" is suggested as it performs the same function more succinctly.
For a more organized approach, particularly when planning to return to the starting directory, it's recommended to utilize "pushd" and "popd".


Question: how is it possible that people observing an https connection being established wouldnt know how to decrypt it?

Response:
The key thing here is asymmetrical or public key encryption.
Asymmetric cryptography is a technique where two keys are needed: a public one and a private one.
What is encrypted with the public key has to be decrypted with the private key and the other way around.
The session is protected now because only the client and the server can know the session encryption key.
There is no way for an opponent to derive the private key from the publicly viewable information.
Wikipedia "Transport Layer Security" gives an answer that is more correct in technical particulars.
Problems do exist with this model when you run into things like a certificate authority being compromised.
Remember not to overlook the interception capability of the ISP or NSA.
An ISP can simply perform a man-in-the-middle-attack on any of your HTTP downloads of applications or their patches, and thus update the browser trust chain directly or update it indirectly with a self-destructing trojan.
The EcoParty Conference announced a tool called BEAST that reportedly decrypts SSL3/TLS1.0 traffic and lower, presumably by observing it.


Question: how can i run ssh-add automatically, without a password prompt?

Response: To use ssh-keys without the inconvenience of repeatedly typing a password, one can employ ssh-keys that are without password protection.


Question: how do i backup and restore sms messages?

Response:
SMS backup+ comes highly recommended for backing up your SMS to a separate Gmail Label, including the capability to automatically backup SMS, MMS, and call log entries.
Additionally, you can use SMS Backup & Restore to create backups manually or on a schedule, which can be in the form of an XML file on your SD card.


Question: why do we need private variables?

Response:
Private variables are a core principle in programming to ensure the integrity and state of an object are maintained by preventing external alterations.
They also discourage reliance on specific aspects of the code that may change.
By managing complexity and limiting access to a class's internals, private variables ensure that potential bugs are isolated to specific sections (usually one source file), making troubleshooting far more efficient.
Another advantage is related to the concept of 'coupling'.
Encapsulation, which makes the external interface of the class explicit, and is fundamental concept of object-oriented programming, leverages private variables to ensure that the corresponding variable remains in the defining class only.
In essence, private variables ensure that later references outside the scope of an object or function won't inadvertently affect other variables.
They also make it easier to expand code in the future, without relying on heavy documentation as to what the many public variables do.
There's less of a threat of accidentally breaking functionality if fewer variables can be overwritten.
Variable scope allows you to show consumers of your code what they can and cannot alter.
A person wanting to change the code would have to work very hard and have really high runtime permissions in order to change it.
Encapsulation goes beyond mere discretion; it's about not overloading the user of the class with unnecessary details, and facilitating autonomous changes to a class without affecting other classes that may rely on it.
Increased encapsulation results in cleaner, more reliable code by reducing the interdependence of different code parts.
Furthermore, opting for private over public variables helps guide the design mindset from the get-go, prompting careful consideration of how class internals are exposed to users, leading to more thoughtful API creation.
It's important to recognize which aspects of a class are core functionality and which are meant for interaction with external code.
Lastly, private variables are good to avoid misuse leading the object into an inconsistent status, hard-to-track bugs, and unforeseen exceptions and are also excellent for protected fields.


Question: whats the difference between an api and an sdk?

Response:
All SDKs are considered APIs, but the reverse does not hold, as not all APIs are SDKs.
An SDK typically represents a more complete set of APIs that provides a broad range of functionalities required for application development, and it may also contain additional tools specific to the platform it targets.
While an SDK could simply be an API with additional interface files, it usually encompasses more, such as debugging tools and components for integrated development environments.
An API is simply an interface to a service, but an SDK is a comprehensive set of tools, components, and classes designed for a particular end.
Specifically, a software development kit should provide nearly all the necessary resources for the development process, with an API serving essentially as a point of interaction.
The term "SDK" is more collective than "API", with the former typically covering an entire platform, containing multiple APIs for various functionalities.
Conversely, an API is a specification detailing the necessary information to create components that interact with a service or platform, while an SDK may include libraries that embody the API.


Question: what can someone do with your imei number?

Response: They will only be able to take over your phone number and receive future messages.


Question: how can i add a signature .png to a pdf in linux?

Response:
uPdf is a tool that can be used to insert an image, such as a digital signature, into a PDF document; a PNG image with a transparent background works best.
Xournal is software with a nice UI that allows adding text and images to PDF files, although there are some limitations in handling text from native PDF forms.
If you are familiar with Gimp, it is suggested as an alternative for signing documents by using several steps such as applying a threshold, converting white to alpha, and merging layers to create a signed PDF.
Okular PDF viewer offers built-in annotation features that enable users to draw their signature directly on the PDF.
Scribus 1.5.5 is a free program on Debian that is a simple way to import PDFs and adding images or text before exporting as a new PDF.
LibreOffice Draw can open PDFs to insert images like signatures, then scale and place them accordingly, with the final step being exporting the document as a PDF.
Xournalpp (xournal++), an improved version of Xournal, is recommended for stability and fewer bugs, and the suggestion includes a link to its repository for users to access.


Question: use scp to transfer a file from local directory x to remote directory y

Response:
To copy a file from the remote machine to the local one, use scp -P 2222 username@domain:dir/file.ext localdir (assuming that file.ext is in ~/dir on the remote computer).

You need to run the scp command from the local machine, not on the remote, making sure that your local machine is accessible via the internet and has ssh set up.

Copy files on service to local dir: you must be in local bash terminal to conduct this command, and you must be in local bash terminal scp.

The path to the remote directory should be written like this: username@domain:~/remote_directory (being sure to add the :~/).


Question: is apkmirror.com safe?

Response:
Apkmirror.com is operated by the same individuals responsible for AndroidPolice.com, a major Android news platform.
Therefore, if you're considering downloading an app from Apkmirror.com, you can trust that it should be safe.


Question: is there a gui ssh client for os x?

Response:
Terminal.app is a built-in option that straightforwardly handles SSH.
If you're looking for something beyond the default, iTerm 2 is considered one of the best GUI applications for SSH and other command-line tasks.
ZOC6 and SecureCRT with SecureFX are additional choices for those seeking versatile and secure solutions.
Fugu is specifically designed for SSH and provides a user-friendly interface.
Royal TSX is another option that supports SSH, RDP, VNC, and web-based interfaces, featuring built-in credential management and team-sharing features.
For a PuTTY-like tool with extra features, Core-Shell fits the bill, and Termius, available as a mobile app as well, is recommended for users seeking a robust SSH client.


Question: what is the single most effective thing you did to improve your programming skills?

Response:
A person once realized that their typing speed was not keeping up with their rate of thought and dedicated a week to enhancing their typing abilities, which significantly improved their programming experience.
It is also suggested to read "Code Complete" by Steve McConnell, which presumably offers insights related to programming.


Question: when is a big rewrite the answer?

Response:
A BIG rewrite can be justified when switching to another language or platform, or switching frameworks/external components or the existing code-base is no longer maintainable.
A rewrite may also be appropriate when the cost of rewriting the application and maintaining the rewritten application is less than the cost of maintaining the current system.
It's not only down to the system or application in question though, you must also justify the rewrite and get the full support of any project sponsors, as well as your superiors at an executive level and the end user.
You'll also need a crack team of developers to actually do the work.
Also, when rewriting a whole system, ideally it should be possible to incrementally redesign it.
There may also be business reasons that necessitate a rewrite, such as the rewrite giving the organization a competitive edge or allowing it to better serve its customers that cannot be done with the current architecture.
Also, if the software has high business value and the quality of the code is poor, then a re-engineering is justified.
Furthermore, on the business end, company mergers can result in a huge overlap in systems functionality, while other circumstances include, the existing system not being scalable, switching to completely new technologies, or switching to a new platform without having the necessary migration tools.
Time is also a factor, with maintenance becoming more and more expensive as developers for older technologies become rare.
Then the hardware itself begins to age and it gets harder and harder to find new hardware, operating systems, and frameworks to support an likewise ageing system or application.
In some cases the source code for the original application is lost, and recovery is more expensive than rewriting.
Of course, rewrites don't have to be on a big scale, and can be implemented on applications that are considered trivial.
They can also be required on a project level, when a fundamental change to the architecture is sometimes the only way forward.
Lastly be aware that a rewrite is not necessary if the code was written by you, has no fundamental flaws and you aren't changing technologies.
In this case, it might be more appropriate to refactor.


Question: why is number of open files limited in linux?

Response:
The operating system requires memory to manage each file that is opened because memory is finite and particularly constrained in embedded systems.
The historical underpinnings of this include the use of a small integer as a file descriptor in Unix, which was an index into a per-process array with structures for each open file, originally limited to about 20 entries in early systems.


Question: how to count the number of a specific character in each line?

Response:
To count characters, you have multiple tools at your disposal: using the `tr` and `wc` commands allows you to count a specific character within a given input.
Alternatively, a combination of `sed` and `awk` can be employed to achieve the same result, where `sed` is utilized to delete unwanted characters and `awk` counts the remaining ones.
Solely `awk` can also serve as a powerful tool for this purpose, either by configuring it to use the character of interest as a field separator and then counting the resulting fields, or by using the `gsub` function to count occurrences directly.


Question: is it possible to find out the hosts in the known_hosts file?

Response:
Each "known_hosts" line starts with the host string or IP before "ssh-dss" or "ssh-rsa".
If your ssh_config file has HashKnownHosts set to "yes," causing hostnames to not appear in plaintext, there's a command you can use: 'ssh-keygen -H -F hostname' to search for a specific hostname, or if SSH runs on a port other than 22, the command would be ssh-keygen -h -f '[hostname]:2222'.
When dealing with hashed IPs and hostnames in a known_hosts file, you can employ a Perl script: 'nmap -sL -Pn -n 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 |\ grep '^Nmap scan report for' | cut -d\ -f5 >ips.list' for brute-forcing or leverage John the Ripper's support for known_hosts cracking, which is more efficient for complex cases.
Additionally, the -F option in ssh-keygen can locate a hostname in your known_hosts file.


Question: how do i determine the number of ram slots in use?

Response:
On Linux, you may determine memory details by utilizing commands like `dmidecode -t memory,` `dmidecode -t 16`, and `lshw -class memory` with root permissions.
For those less familiar with shell commands, executing `sudo dmidecode -t memory | grep -i size` can provide a straightforward display of the installed memory module sizes.


Question: what is rapportd and why does it want incoming network connections?

Response:
The service in question facilitates Phone Call Handoff and various other communication functionalities across Apple products.
It's part of the operating system installed by Apple and is involved with iTunes Home Sharing as well as the Remote application used to control iTunes.
Additionally, it is necessary for the feature that allows text messages to be forwarded to other devices.


Question: how to connect iphone screen on mac?

Response:
You can try the Reflector App; or try the Airserver App, which is an app that turns your Mac into an Airplay receiver.

Alternatively, you can screen capture the iPhone directly using QuickTime Player on the MacBook (it is pre-installed on OS X), connecting the iPhone via USB cable to the MacBook; the QuickTime Screen Recording function will work on an iOS 8 device connected to the computer via USB.

There is also a forthcoming service called iRec that should achieve this.


Question: is it ok to have multiple asserts in a single unit test?

Response:
Having multiple assertions in a test is acceptable provided they sufficiently pinpoint the cause of a test's failure.
The principle of using one assert per unit test depends on the specific aspects you are testing and how they might fail.
Rather than adhering to strict rules about the number of asserts, you should prioritize the clearness of your code and test results.


Question: why is my email not updating?

Response: It could be because your phone's memory is full.


Question: will erase iphone delete icloud?

Response:
Erasing your iPhone won't affect your iCloud data.
Similarly, factory resetting your iPhone does not impact your iCloud.


Question: what to do when a linux desktop freezes?

Response:
To manage unresponsive processes, you could attempt Ctrl+Alt+* or Ctrl+Alt+F1 to open a terminal, launch a command like ps, top, or htop to see running processes and launch kill on not responding process.
In some distribution versions, Ctrl+Alt+Backspace will terminate and restart the X11 interface.
Try the Magic SysRq key sequences, specifically "Alt+SysRq+?" in Linux (based on  "Raising Elephants Is So Utterly Boring"): `Alt+SysRq+R`, followed by `Alt+SysRq+E `, then `Alt+SysRq+I`, Alt+SysRq+S `Alt+SysRq+U`, Alt+SysRq+B`.
Handling an unresponsive program that was initiated in a terminal can be done with Ctrl+D, Ctrl+C, or a more forceful Ctrl+Z followed by a kill command, specifically by opening the terminal and using killall.
On laptops, you might need to press Ctrl+Fn+F1 to access the terminal, and you can initiate a restart from there with 'reboot now' or return to the GUI with Ctrl+Fn+F8 as experienced in HP G56 or control + alt + fn + f7 followed by control + alt + fn+ f2 to get back to the shell, then login and go back to the desktop with chvt 8 on Mint 17.3.
If you any of the above suggestions do not work, nor does finding a utility to terminate the program, or switching to another virtual console, try `Alt+SysRq+f`.
Lastly, another potential solution involves pressing CTRL+ALT+RIGHTARROW or LEFTARROW to switch workspaces and outmaneuver the problem.


Question: where are contacts saved on android?

Response:
This depends on your manufacturer's setup.
For "Plain Vanilla Android" they are located in /data/data/android.providers.contacts/databases.
For a Motorola Milestone 2 they are stored in /data/data/com.motorola.blur.providers.contacts/databases/contacts2.db.


Question: why do many exception messages not contain useful details?

Response:
From a security perspective, omitting information in exception messages is seen as a safer practice to avoid potential information leakage, particularly in scenarios where the code lacks a clear understanding of what went wrong.
Also, people are lazy, programmers more than most, and there are scenarios where the code has no idea what went wrong.
Some developers intentionally exclude details they don't want users to see, either for security reasons or to prevent confusion.
The concept of exceptions, as it stands, has not fully matured, and there is no cause for worry because the exception should not contain a human-readable message.
Additionally, so many in the industry were originally self-taught, and they didn't have lessons in communication.
Again, messages are meaningless because when created, they were to be placeholders that no one got back to.
Furthermore, exceptions come with language and implementation-specific costs, influencing the decision on what details to include.
It's essential to note that the logic for understanding why something failed often lies in the calling code, leading to a lack of detailed information in exceptions.


Question: keyboard shortcut to switch focus between multiple displays on os x 10.9+

Response:
To switch focus between monitors without clicking, you just need to move your mouse pointer to the desired monitor.
Installing the free CatchMouse utility can be helpful as it allows you to assign keyboard shortcuts to move the mouse pointer between monitors.
You could also use Keyboard Maestro to create shortcuts for switching between different monitors.
Additionally, Keyboard Maestro can be set up with specific shortcuts for switching windows across different displays.


Question: what are the best practices for battery longevity?

Response:
In order to optimize battery life, it is recommended to keep the battery plugged in as close to 100% of the time as possible.
Some users frequently allow their batteries to drain.
Storing the battery at a 50% charge level while conducting a full charge and discharge cycle monthly is ideal for longevity.
Also, maintaining the battery at cool temperatures between 40 and 60 degrees Fahrenheit will contribute to longer battery life.
However, Apple advises against keeping a portable device plugged in constantly.
As a best practice, using the laptop unplugged at least once daily is recommended, and maintaining the battery charge between 40%-80% can be beneficial.


Question: how do you make people accept code review?

Response:
Implementing a higher authority review process should help encourage code review acceptance among team members.
For important projects, it's effective to assign them to programmers willing to undergo code reviews, thereby emphasizing the significance of quality and collaboration.
Hosting training sessions on delivering positive criticism can facilitate a better understanding of company principles, benefit team building, and enhance the review process.
Emphasizing the learning opportunities in code reviews can also increase their value and acceptance, as it resonates with the natural desire to learn that many programmers share.
Providing clear guidelines for reviewers can mitigate resistance by removing subjectivity, as knowing what to expect can result in a more favorable attitude towards the process.
Ensuring that code reviews are conducted in a productive, non-confrontational way, avoiding overly strict adherence to best practices via automation, and offering snacks and drinks can create a more relaxed environment that may help lower defenses.
Lastly, approaching the review process with questions rather than commands can also foster a constructive environment for both reviewer and reviewee.


Question: ntoskrnl is using port 80?

Response:
It could be a false positive.
However, it can be fixed by disabling the service and changing its startup type from automatic to manual.


Question: why cant i press the install button when installing applications from unknown sources?

Response:
It's recommended to disable any screen filtering apps to resolve issues.
Alternatively, explore installed apps with the capability to overlay their content over others.
If uncertain which app is causing trouble, disable such apps one at a time in the 'Apps' settings on your device.
For assistance, you can search online for overlay permissions, specifying your Android version and device manufacturer.


Question: im a subversion geek, why should i consider or not consider mercurial or git or any other dvcs?

Response:
Merging large commits in subversion can be uncomfortable.
In contrast, Git, designed for distributed work, encourages individuals to work on their projects, providing a more streamlined merging experience.
A significant advantage of Git and other DVCS is their performance, particularly when switching between branches or navigating through revisions, where they outperform SVN.
Git, in particular, emphasizes the importance of bug detection through the git bisect feature, contributing to an easier backup process.
While Subversion has its merits, it does have shortcomings, prompting the recommendation to explore alternatives to assess if they better align with your needs than what you are familiar with.


Question: most efficient method to empty the contents of a file

Response:
To empty a file in UNIX, you have multiple options such as using the command "cp /dev/null filename" or "> filename" which effectively clear the content by copying the empty /dev/null over the file, or "truncate -s 0 filename" .
The command "cp /dev/null filename" is generally efficient, although slightly slower, unless truncate is run from a script.


Question: how to determine linux kernel architecture?

Response:
i386 and i686 are both 32-bit; x86_64 is 64-bit.

With regard to uname -m: x86_64 GNU/Linux indicates that you've a 64bit Linux kernel running, and i386/i486/i586/i686 it is a 32 bit kernel.

Another way is to check what architecture a system file was compiled for.

You can use the arch command.

You can run: getconf LONG_BIT which will output 64 or 32 depending on whether it is 32 or 64 bits.

Use syscap from Formake project, as syscap allows probing of many system properties and test dependencies: to get CPU architecture use syscap info -arch; to get kernel name and version use syscap info -kernel -kernver.

If you need to detect 8- 16- or some-other-bit architecture: [ $((0xffffffff)) -eq -1 ] && echo 32 || echo 64.

On a 32-bit system, -1 can be represented by the hex value 0xFFFFFFFF (which is 32 binary bits, all equaling 1), and on a 64-bit system, 0xFFFFFFFF translates to 4,294,967,295, base 10, while 0xFFFFFFFFFFFFFFFF is the representation for -1).

There is also lscpu: display information about the CPU architecture.


Question: is android a 32-bit or 64-bit os?

Response:
The core of the Android operating system, including its kernel and runtime library, operates in a 32-bit environment based on the Linux kernel, with applications in the Google Play Store targeted at the Dalvik Virtual Machine, which makes actual bit structure not relevant for them.
Android executes all its code within a 32-bit environment, regardless of the capabilities of the ARM chips it runs on, as 64-bit processors are set to be launched in 2014.
Contrary to being strictly a 32- or 64-bit OS, Android is built on a Dalvik VM-based structure, with the most prevalent architecture being 32-bit ARM.
Android, while originally conceived for 32-bit ARM processors, now also supports 64-bit processors as introduced with Lollipop, offering compatibility with a wider range of hardware and the potential for apps to utilize more than 4 GB of RAM.


Question: how to copy-merge two directories?

Response:
A one-liner in the command line can be used to move files from one directory to another: `$ for dir in images2/*; do mv "$dir"/* "${dir/2/}"; done`.
Another method for moving files is by using this command: `for dir in images2/*; do mv "$dir"/* "images/$(basename "$dir")"; done`.
`rsync` is another option you can use to copy or move files between directories, using commands like `rsync -a /path/to/source/ /path/to/destination` or `rsync -a /images2/ /images/` and various flags to modify its behavior, like `--remove-source-files` to remove the source files after copying.
Additionally, you can use `rsync` in a more advanced way, utilizing flags such as `-avh --progress` to synchronize files from source to destination, showing detailed progress, and ensuring human readability; `rsync -avhu --progress source destination Unison unison` synchronizes in both directions, `unison Source Destination` syncs both directories in both directions and finally, `source equals destination`is like doing rsync twice from source to destination and vice versa.
For more advanced usages look at the man pages or the following websites: https://www.cis.upenn.edu/~bcpierce/unison/ and https://rsync.samba.org/.
The `cp` command with the `--link` option offers a space-efficient method for merging directories on the same filesystem without duplicating data.


Question: is it good or bad practice to allow a user to change their username?

Response:
You're better off not allowing users to change their usernames because it presents an issue if a user's account information is stolen, as the attacker can now completely change everything on the account, but it really depends upon your threat model.

There are a few points for and against it: if someone is being harassed, changing a username is an easy way to escape the attention of other people in order to get away; if someone is harassing other people, changing a username is an easy way to trick other people in order to get by initial defenses.

You could go the middle way, and allow a single automated change, such as once per year.

Allowing a change of usernames where it wasn't originally planned for makes auditing/logging slightly harder, because if your log entries don't map the username to the original primary key of the activity in your system, you will have to reconstruct this manually.


Question: what is the difference between the terms data structures and abstract data type?

Response:
An ADT (Abstract Data Type) is more of a logical description, while a Data Structure is concrete.
Additionally, ADT is to an interface or what it does while a data structure is to a class.


Question: what is an emergency call, and can i set number for it?

Response:
The feature that allows dialing an emergency number like 911 without unlocking the phone is intended for use in emergencies.
This functionality is limited to calling emergency numbers and cannot be easily changed.
While some older versions of Android enabled the addition of extra emergency call numbers, altering or removing the default emergency number, mainly 911 in the USA, is not straightforward in the latest versions.


Question: what exactly makes the haskell type system so revered (vs say, java)?

Response:
Haskell's type system is characterized by a high level of expressiveness, allowing a range of functionalities to be represented succinctly with a set of simple rules.
Furthermore, Haskell features full-type inference, enabling the use of complex types without the overwhelming need to write explicit type signatures since the compiler can often infer the most general type that will compile successfully.
Complex abstractions around types that cannot be matched in languages like Java are possible thanks to Haskell's capability of handling higher-kinded types and full-type inference.
An additional advantage is that Haskell guarantees that the same input will always produce the same output.


Question: can i get the cpu temperature and fan speed from the command line in os x?

Response:
The iStats ruby gem allows you to monitor the CPU temperature with the command-line: Installation $ gem install iStats Usage $ istats all.
Alternatively, you can use the inbuilt powermetrics utility with the command: powermetrics --samplers smc |grep -i "CPU die temperature".
Additionally, one can install Intel® Power Gadget, which is officially provided by Intel, and once installed can be accessed through the launchpad.


Question: how to know if a disk is an ssd or an hdd

Response:
To identify the exact model of your disk, you can enter the command "check cat /proc/scsi/scsi" in your terminal, which will display the information needed to determine if it is SSD or HHD.
Alternatively, you can use "smartctl" to retrieve vendor information by installing smartmontools and then running "sudo smartctl -a /dev/sdb".
You can also utilize "lsblk" from the "util-linux" package and execute "lsblk -d -o name sda 0 sdb 0 sdc 1" where ROTA means rotational device to determine whether the disk is rotational with 1 (true) or 0 (false).


Question: precedence of the shell logical operators &&, ||

Response:
In most programming languages, operators of equal precedence are left-associative, which means operations are performed from left to right.
Specifically, in Bash, the operators '&&' and '||' are treated with the same precedence.
To control multiple conditions in Bash, it's recommended to group conditions together.
While '&&' and '||' operators can be used in place of traditional if-then-else structures, they can produce equivalent outcomes if applied with care.


Question: where does the mac store account pictures?

Response:
To locate account pictures on a Mac, you can generally look in the "~/Library/Images/iChat/Recent Pictures" or "/Library/User Pictures" directories.
Account pictures are also stored within the Directory Service for Mac OS X 10.5 or later, with paths to files with the "Picture" attribute accessible via the "dscl" command.
For user login pictures specifically captured on Snow Leopard 10.6.8, the location is "~/Library/Images/iChat/Recent Pictures".
On Mac OS X Mountain Lion 10.8.2, users' account pictures can be a mix of JPEGs and TIFFs found in multiple locations, such as "Macintosh HD/Users/user0/Library/Images/iChat Recent Pictures", where "user0" is the first-defined user on the system, as well as "Macintosh HD/Library/Caches/".
In Mountain Lion 10.8.3, however, recent account pictures have been moved to "~/Library/Containers/com.apple.ImageKit.RecentPictureService/Data/Library/Images/Recent Pictures/" as discovered through the "fs_usage" command line tool.


Question: how do i trim leading and trailing whitespace from each line of some output?

Response:
The command `sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'` is used to trim leading and trailing whitespace from each line of text.
The `sed` tool can substitute parts of lines that start or end with a space or tab with nothing and can either operate on piped text or edit files directly, though editing files directly can be risky without backups.
Similarly, `awk '{$1=$1;print}'` or the shorter version `awk '{$1=$1};1'` not only trim spaces but also condenses multiple spaces to a single one.
`xargs` without arguments also serves to trim text.
Bash presents another approach for trimming spaces from strings using 'shopt -s extglob printf '%s\n' "${text##+([[:space:]])}"' to remove leading whitespace from a string and 'shopt -s extglob printf '%s\n' "${text%%+([[:space:]])}"' to remove trailing whitespace.
Furthermore, short and continuous strings can be trimmed by passing them as parameters to a bash function.
An alternative method without using `sed` involves reversing the string, cutting the first field, and reversing it back.
Lastly, using Raku (formerly Perl_6), whitespace can be trimmed with simple one-liners or aliases within the bash environment.


Question: convince apt-get *not* to use ipv6 method

Response:
One approach is to add a line in the /etc/hosts file to override the relevant addresses.
One workaround is to set up a DNS proxy server that drops IPv6 responses.
Alternatively, configuring the gai.conf file can be used to influence how applications that use getaddrinfo perform DNS and IP networking to prefer IPv4 or IPv6.
When running apt-get, adding `-o Acquire::ForceIPv4=true` forces the use of IPv4, and this setting can be made persistent by creating a configuration file in /etc/apt/apt.conf.d/.


Question: are 9 to 5 programmers looked down upon?

Response: There is a significant portion that looks down on fellow programmers who limit their coding to standard working hours rather than engaging in additional programming activities outside of work.


Question: how to remove an app stuck in waiting mode from the mac app store?

Response:
If you cannot stop an old OS from downloading, holding down the 'option' key on your keyboard within the launchpad will cause the apps to jiggle like on an iPhone, enabling you to click the 'x' to delete or halt the download.
Downloads that become stuck could be due to the 'storeagent' process, and to resolve this, exit the App Store, terminate the 'storeagent' using a tool like Activity Monitor, and then restart the App Store.
In some cases, it might be necessary to restart the storeagent process through the Activity Monitor to resume a download rather than removing downloaded parts or files.
If another Apple ID was used to log in to the App Store, logging back in using the original ID to complete or cancel the downloads and then logging in with your ID could clear the issue.
Additionally, killing the 'storedownloadd' process, especially in OS X version 10.10.3, can resolve issues with iBooks downloads and other app downloads stuck in waiting mode.


Question: alternatives to anti-virus for keeping oneself safe

Response:
There are a host of approaches and tools: Application whitelisting; Checking OS patches; Disable macros; DDE; Regular patching of all applications on your system; Have a feed for each of your applications tied into CVEs Sysmon with a trimmed down configuration; Separate your desktop into trusted and untrusted; Use a Firewall; Don’t connect to the Internet or attach a USB; and use a regularly updated, highly developed internet browser (Chrome or Edge).

You can use software such as: Windows Defender (the default Microsoft AV); Enhanced Mitigation Experience Toolkit (EMET); SpyBot; AppLocker; and read the security guides provided by Microsoft to allow yourself to further improve the security of your system.

Also set Restore Points whenever you make a significant change to your system, using a save state VM, or software such as Deepfreeze.


Question: how do i set my dns when resolv.conf is being overwritten?

Response:
One method to maintain desired DNS settings is by setting the immutable flag on the resolv.conf file right after editing it with nameserver addresses.
You can add $ sudo nano /etc/resolv.conf and save nameserver 8.8.8.8.
An alternative approach for dnsmasq users involves adding specific server lines to the dnsmasq.conf file.
Additionally, for users who receive DNS settings via DHCP and utilize NetworkManager, a solution exists by re-linking the /etc/resolv.conf file to the correct DHCP-provided resolv.conf file, allowing edits from the Network Manager interface, you can use # sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf.


Question: how can i make rm move files to the trash can?

Response: To make the "rm" command move files to the trash can, you can utilize a command line tool like "rmtrash," which typically moves the file(s) to ~/.Trash, ensuring each file has a unique name.


Question: am i too clever to be readable by jr. devs? too much functional programming in my js?

Response:
According to some opinion, yes, your code was deemed too clever, suggesting that simplicity should be a guiding principle over complexity.
If you are in doubt about it, then it probably is too clever.
One reviewer found the first snippet of code easier to maintain, which is a valuable quality of code, but they found little of value in the second snippet.
Additionally, applying programming techniques like functional programming should only be used when it's actually needed, rather than complicating solutions unnecessarily.
Finally, one opinion found that the original code is impressively clear and easy to understand for any level of programmer.


Question: how to recognize a good programmer?

Response:
In identifying a proficient programmer, passion is often a good indicator of their coding abilities and enthusiasm for the subject.
You have to be a good programmer to recognize a good one and that means being well-acquainted with the nuances of programming to ask the right questions in an interview.
In addition to getting them to talk about programming, their language of choice, and so on, which can help to recognize if they have the passion of a good programmer.
Additionally, making them code by giving them a problem can reveal the coder's planning and documentation skills, as well as their coding style.
Testing candidates during interviews and considering the working environment's influence is suggested, as even skilled programmers may struggle in a workspace burdened with technological debt.
Again, looking for those who have passion for the field is crucial, as a programmer who enjoys working with technology is more likely to be very good at it.
It is challenging to recognize a programmer's skills solely from an interview, so it is beneficial to look at their abilities to work in a team, write code that is understandable and maintainable and to learn about new technology.
Remember, programming ability isn't the only factor, A programmers personality should be higher up on the list than most employers seem to rank it.
Evaluative techniques during interviews might include reviewing and writing code, creating designs, and examining the candidate's thought process by asking questions about something the candidate claims to know well.
Start with fundamental interview tactics, dive into discussions on programming principles, mainly taken from Effective Java, and conduct code reviews to determine a candidate's analytical skills and judgment.


Question: why use ssh and vpn in combination?

Response:
Using SSH will encrypt the traffic carried in the VPN tunnel.
Typical reasoning is that you want to reduce the exposure and possible attack vectors as far as possible.


Question: what is a bind mount?

Response:
A bind mount is an alternative view of a directory tree that replicates it under a different point.
It's like a symbolic link at the filesystem level, but instead of just pointing to another location, it creates another access point for the same filesystem.
This type of mount is useful for creating specific views of the filesystem namespace, which can be particularly valuable in certain situations like chroot environments.


Question: remember window sizes and placement when unplugging and replugging second monitor

Response:
In Windows 7, setting all DMMEnableDDCPolling values in the registry to 0 resolves the issue.
For Mac users, saving a small AppleScript in a permanent location on your computer can assist in managing window positions across monitors.


Question: how many pictures can i store on my ipad?

Response: Assuming that each picture you shoot is 1 MB, 20,000 pictures will take up 20,000 MB, which is approximately 20 GB, so you can upload 40,000 more if you have an additional 40 GB to work with.


Question: homebrew: your clt does not support macos 11.0

Response:
Brew is currently undergoing incremental updates to ensure compatibility with MacOS Big Sur.
However, you may be able to solve the issue by downloading Command Line Tools for Xcode 12.3 from the Apple website.


Question: why is looping over finds output bad practice?

Response:
One key issue with parsing command output in shell scripts is that whitespace can interfere with filename recognition, causing files with spaces in their names to be incorrectly processed as separate entities.
Moreover, it's problematic to rely on looping over file names obtained from the `find` command because filenames might include a variety of characters, and relying on a specific character as a delimiter isn't failproof, which can compromise the robustness and safety of scripts.


Question: why is 80 characters the standard limit for code width?

Response: The coding standard of limiting code to 80 characters per line originates from IBM's 1928 80-column punched card format.


Question: what does it mean to burn a zero-day?

Response:
Using a zero-day exploit is like tapping into a valuable resource that can only be used once and is usually reserved for high-priority targets.
When a 0-day exploit is used recklessly or frequently, it may get discovered and patched, resulting in it being burned.


Question: what is the meaning / origin of the terms north-south and east-west traffic?

Response:
These general network traffic descriptors are terms that have come into use from the way network diagrams are typically drawn, with servers or access switches spread out horizontally, and external connections at the top or bottom.

North/South means traffic coming into and out of the cluster, or network into internet space, that is, traffic that flows into and out of the datacenter; East/West means traffic between cluster hosts, or internal to the network that doesn't leave, that is, which occurs between devices within a datacenter.


Question: is c++11 uniform initialization a replacement for the old style syntax?

Response:
Uniform Initialization in C++ should not be universally applied as a replacement for traditional constructor syntax, as it does not clearly distinguish between two different intentions of object initialization.
One form of object initialization involves pouring values directly into an object, while the other involves guided construction of an object using provided arguments.
The misapplication of Uniform Initialization can lead to ambiguity in code, causing confusion for readers and potentially breaking code if a library is updated to include an initializer_list constructor.


Question: can i manually limit the %cpu used by a process?

Response:
CPUThrottle is a utility that permits the specification of a PID to restrict its CPU usage.
It serves as a tool to limit CPU usage for certain processes, and you can run scripts to monitor and throttle multiple processes.
The script "#!/bin/bash ### # setup cputhrottle" demonstrates how to keep CPUThrottle running only for new processes if old ones do not exist, ensuring that the command is streamlined and avoids redundancy.
Although slightly unstable, similar tools like AppPolice can also be employed on systems such as Catalina to manage CPU resources.
Additionally, CPUSetter is a superior option due to its advanced features controlling hyperthreading, the number of cores, and individual power settings.


Question: what tool exists to identify the rgb value of a pixel?

Response:
To identify the RGB value of a pixel, one commonly used tool is DigitalColor Meter, located in Utilities.
This built-in app, /Applications/Utilities/DigitalColor Meter, provides a convenient way to determine the RGB values of a pixel.
Another option is SpotColor, which has been renamed to Hues, offering additional features for color identification, along with HexPicker.
It's worth noting that using macOS' Digital Color Meter requires careful consideration of its default settings, as they might not yield the values you expect.


Question: how do i disable chromes two-finger back/forward navigation?

Response:
To disable two-finger page swiping system-wide, go to the Trackpad section of System Preferences.
In System Preferences you can change the Page change gesture from two to three fingers.
Or uncheck Swipe between pages in mouse settings.
Google Chrome uses Apple's default gestures, so by disabling Apple's gestures you disable Chrome's.


Question: is password entry being recorded on camera a realistic concern?

Response:
Password entry being recorded on camera is indeed a concern.
A recent example of a password security breach involves Kanye, who was observed on camera using "00000" as his password to unlock a device.
A viable risk that has been addressed by the industry for a long time is the possibility of capturing the sound of the keyboard when a user types the password, even over the computer's microphone.
Additionally, it underscores the necessity of multi-factor authentication, which requires an additional security factor beyond just the password.


Question: what is the difference between echo and printf in unix?

Response: When comparing "printf" and "echo," the former offers additional formatting capabilities: specifically, it doesn't automatically append a new line to the output, contrary to "echo," which does.


Question: is a windows installer that doesnt require admin rights dangerous?

Response:
Installers that do not require admin rights are generally considered less dangerous than those that do because they cannot make system-level changes.
Such installers can, however, still be dangerous if they are from an untrusted source, potentially allowing the execution of malicious code.
They allow user-level code modifications and could enable silent updates or tampering.
Nonetheless, when compared to installers requiring admin rights, those that do not are deemed safer because they are restricted to user-level access and cannot affect the entire system or other users.


Question: is there any reason to use c++ instead of c, perl, python, etc.?

Response:
When it comes to performance, C++ offers performance advantages due to its abstraction mechanisms, particularly templates, which have no performance overhead at runtime.
This allows for writing efficient, high-level code without the usual runtime costs associated with other languages' abstractions.
C++ also provides both abstraction and performance, allowing for better organization and code that can function efficiently even if data representations change.
This combination comes with a steep learning curve and the potential for subtle mistakes.
Templates and the Standard Template Library (STL) in C++ offer useful abstractions and save labor without an appreciable runtime performance hit despite increasing the binary footprint.
Moreover, text processing in C++ is significantly less painful compared to that in C.
Two key features of C++ are object polymorphism, and Resource Acquisition Is Initialization (RAII), which simplifies dealing with different hardware architectures or memory management tasks.
C++ is fast, though there is a cost in terms of syntax and strong typing.
On utility, C++ has a comprehensive arsenal of utilities that can be cumbersome when dealing with library dependencies or converting data types.
The transition from C to C++ yields considerable gains with better memory management, a stronger type system, a better standard library, and namespaces.
Finally, C++ is commended for enabling writing significantly less code compared to C without runtime overhead and featuring better safety by catching more errors at compile time.


Question: what is mobile sync - backup and why is it taking so much space?

Response:
Mobile Sync - Backup refers to the folder where iTunes stores backups of your iOS devices.
The space consumption issue arises because each time you sync a device, previous backups are not automatically deleted.


Question: how can i rename desktops / spaces in macos?

Response:
The application TotalSpaces by binaryage offers the feature to name Spaces in macOS.
Another approach is to add a sticky note to each desktop with the label on each one.


Question: how can rfid/nfc tags not be cloned when they are passive technology?

Response:
Some suggest that smart cards are secure because the key cannot be extracted, and so they cannot be cloned, or, at least, are very, very difficult to clone when the system is properly implemented.

However, others point out that RFID tags are not passive, they just do not have a power source because they are transponders and are powered by the very RF wave sent to query them, and so can be cloned by having their data banks copied into new tags if they do not make use of password-protection or over-the-air (OTA) encryption, which are supported by Class 1, Gen 2 tags.


Question: how do i attach a terminal to a detached process?

Response:
You cannot send input to a process that has ? as controlling tty when you run a ps x check.

You can try to write to this process using /proc.

With zsh you can use &! to actually detach it, then send it back into the foreground with fg and then it will read input again.


Question: will ipv6 make private ip addresses become obsolete?

Response:
IPv6 NAT is possible and practical although some argue it is unnecessary.
Some people think that private addressing will not become obsolete because there will always be a need for big private networks that are not directly connected to the internet.


Question: how to close all background apps at once in android 5.0 (lollipop)?

Response:
To my knowledge, you cannot clear all recent apps at once on Android Lollipop 5.0, but it's generally advised not to do so.
However, if you're using CyanogenMod 12 or an HTC One M7 with Sense 6, you can adjust the task manager settings from "cards" to "grid" view to enable a close all or "X" button.


Question: what are pseudo terminals (pty/tty)?

Response: Pseudo-terminals act as emulators for serial lines, offering end points for various communication programs like telnet, ssh, and xterm shells.


Question: how to chmod without /usr/bin/chmod?

Response:
Run the loader directly, and pass it the command you want to run: `/lib/ld-linux.so /bin/chmod +x /bin/chmod`.
The exact path might change, especially on a 64-bit system, so version is named something like `/lib64/ld-linux-x86-64.so.2.`
Alternatively, if busybox is installed, you can execute `busybox chmod +x /bin/chmod`.
Another hack is the command: `mv /bin/chmod /bin/chmod.orig cp -a /bin/chown /bin/chmod`.
You can also prepare another executable file, copy chmod over it to maintain executable permissions, `$ cp /bin/ls chmod $ cp /bin/chmod`, or use the install utility to do this with permission settings in one step; the command for this would be: `$ install -m a+x /bin/chmod . $ ./chmod # executes'`.
Piping contents into an already executable file is another option (`cp /usr/bin/executable_file ~/executable_file cat /usr/bin/chmod > ~/executable_file ~/executable_file +x file_to_be_executed.sh`), as is utilizing setfacl for setting executable permissions (`# setfacl -m u::rx /bin/chmod `).
Additionally, using rsync to modify file permissions is a viable method.


Question: move through images in a folder with preview.app

Response:
You can use "Command + A" to select them all, then right-click and choose "open with preview".
If you wish to view multiple pictures at once within a directory, simply select and double-click them, which will launch them in Preview, enabling you to navigate through them using the up/down arrow keys.
For opening multiple images at once using a keyboard shortcut, first, open the directory and select all pictures with "⌘ + A", then press "⌘ + ↓" to open them in the default app (Preview.app).
To initiate Preview, go to File, then Open, select the desired folder, and click Open Preview; this will present all images within that folder with an additional sidebar showing thumbnails for navigation.


Question: how to combine two images into one on a mac?

Response:
You can use the command line tools that come in the Imagemagick package, installed with MacPorts or brew (brew install imagemagick).
Then using Terminal, navigate to the directory containing the images, and create a combined version with a command such as: montage -geometry 100% left.jpg right.jpg merged.jpg.
You can also try Graphic Converter: open new picture 640 x 480; then in turn open each of the components, copy all, and paste into the new picture.
Pixelmator is another recommended option that will merge your images and do a thousand other things besides.
Seashore app is an open source project much better at working with images than Preview.app.
Alternatively, do it online for free at quickpicturetools.
You can also use TextEdit to copy paste (or drag) the 2 images in to TextEdit window side by Side.
Or simply open both images side by side in Preview, take a screen capture with command-shift-4.


Question: is there a keyboard shortcut to navigate one level up in finder?

Response:
When navigating in Finder on a Mac, you can use the ⬆ keyboard shortcut to go back to the parent folder.
Additionally, right-clicking on the title in a Finder's window allows you to jump directly to any location in the file's path.
For further customization, you can also add the Path button to the Finder's toolbar for more convenience.


Question: how to remove an audio track from an mp4 video file?

Response:
You could try avidemux.

First run ffmpeg -i file.mp4 to see which streams exists in your file, then run ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4 to copy video stream and 2nd audio stream to new_file.mp4.

Removing all audio tracks from an mp4 file can be done thus: ffmpeg -i input_file.mp4 -vcodec copy -an output_file.mp4.

Other options are: Avidemux (GUI) and ffmpeg (console).

Identify stream numbers: $ ffmpeg -i in.mp4 ... Stream #0:0: Video: ... Stream #0:1: Audio: ... Stream #0:2: Audio: ... then use -map _file_:_stream_ to select which streams to process and output $ ffmpeg -i in.mp4 -map 0:0 -map 0:2 -vcodec copy -acodec copy out.mp4, further details at: https://ffmpeg.org/ffmpeg.html#Advanced-options.

The command -an -vcodec copy will remove all audio.


Question: is there a benefit in compiling your code as you go along?

Response:
Compiling code as you progress can be advantageous in software development processes such as UI design or programming, as it provides a shorter feedback loop.
This can help you identify and fix errors promptly, reducing the time and resources required to address issues that could have been quickly resolved when they were first made.


Question: what is the difference between protocol and port number?

Response:
The protocol number is essential as it allows layer-3 protocols, like IPv4 or IPv6, to identify which layer-4 protocol should receive the packet's payload.
It is worth noting that the protocol number is located in the IP header, which is part of the layer-3 section of the network stack, not in the TCP header of layer 4.


Question: red notification light on nexus 4, wont power on, device unresponsive

Response:
When your phone’s battery is completely drained, it will flash a red LED light briefly.
This is not necessarily an indicator that your phone has reached the end of its life.
In many instances, the red light situation reflects a battery that is simply 100% discharged.
It is advised to use a power socket charger rather than a USB charger from your computer for effective charging.


Question: how can i disable the red software update notification bubble on the system preferences app in macos mojave (not app store)?

Response:
You have to replace the Systems Preferences icon on the dock with its Alias, effectively removing the System Preferences icon from the dock.
Then, open System Preferences, navigate to Software Update, click "Advanced" at the bottom right, and uncheck "Check for updates".
Proceed to press Command + Q to quit System Preferences and apply the changes.


Question: imovie is not recording audio?

Response:
To include audio in iMovie with a screen recorded video, a successful method is to screen record the recording itself.
This process involves opening up the Photos app, playing the video, and then performing a screen recording of that playback.


Question: how does tcp-keepalive work in ssh?

Response:
To maintain your SSH connection, you should utilize the ServerAlive settings.
These settings operate at the SSH protocol layer, as opposed to the TCPKeepAlive which works on the TCP layer.
ServerAliveInterval sends SSH keepalive messages at intervals you specify and if no response is received before the next message is due, the connection is dropped.
This SSH layer operation can be beneficial because it sends actual data within an encrypted packet, making it less likely to be dropped by firewalls that dismiss idle connections.