Question: what are your favorite mac os x keyboard shortcuts?

Response:
Ctrl+F2 allows you to access menu options using your keyboard, similar to the Windows Alt+Space shortcut.
Using ⌘+E, you can place selected text into the search clipboard, and then utilize the combination of ⌘+G to find the next instances, making search and replace operations quick and convenient.
If you wish to enable a high contrast theme, the shortcut is ctrl+⌥+⌘+8, and to cycle through an app's open windows, you can use ⌘+` (backtick).
For taking screenshots, ⌘+⇧+4 will save a selective screenshot to the desktop, and ⌘+⇧+ctrl+4 will save it to the clipboard instead.
To navigate to the start or end of a line in any Cocoa text field, you can use ctrl+A and ctrl+E respectively, while ⌘+⇧+H brings up the Home folder.
The Spotlight search feature can be activated with ⌘+space, useful for quickly launching applications, opening files, and performing calculations.
To create a new folder in Finder, you can use the shortcut ⌘+⇧+N.
Cycling through running apps is done with ⌘+⇥, while ⌘+` allows you to switch through windows of the current application, and ⌘+W closes the currently active window.
Power keys such as Ctrl+⏏ bring up the shutdown dialog, Ctrl+⌘+⏏ restarts the computer, and Ctrl+⌥+⌘+⏏ shuts down the computer.
You can use ⌘+H to quickly hide an application, and ⌘+⌥+H to hide all inactive application windows, which helps focus on a single task.
Closing individual or all windows within an app can be done using ⌘+W and ⌘+⌥+W, respectively.
To show or hide hidden files in any file dialog, the shortcut is ⌘+⇧+.
You can quickly navigate to different folders and directories within file dialogs using shortcuts like ~/Documents or ⌘+shift+G, which brings up the most recently entered directory.
When switching applications with ⌘+⇥, you can select and view an application's windows using the arrow keys, then hit enter to bring a selected window to the foreground.
To select the startup volume or boot from a CD/DVD, you hold down ⌥ or C respectively during boot.
Help for searching menu items can be accessed with ⇧+⌘+?, and ⌘+E puts selected text into the search dialog, with ⌘+G and ⇧+⌘+G used to find the next or previous occurrences.
Taking a screenshot without cropping and with retained rounded edges of the window can be done using ⌘+⇧+4+space+click, also coping into clipboard with ctrl.
Incrementing or decrementing the light or sound in quarter steps is done with ⇧+⌥ and the respective light or sound button.
To cycle through applications and windows, use ⌘+⇥ and ⌘+`, respectively, and ⌘+⇧+4 will screenshot a selected area.
Standard commands for copy, paste, and cut are ⌘+C, ⌘+V, and ⌘+X.
Force quitting applications is possible with Command ⌘ + Option ⌥ + Esc ⎋, and holding down Command ⌘ + Option ⌥ + Shift ⇧ + Esc ⎋ for 5 seconds will kill the foremost application.
In a text area, Command ⌘ + → moves to the end of the line and Command ⌘ + ← moves to the beginning, with Option ⌥ + → and ⌥ + ← used to jump words.  Sound volume can be changed silently using shift+F12 or F11.
Expose functions to show all windows in the current space, the desktop, or the current application windows are accessed with fn+F3, fn+⌘+F3, and fn+ctrl+F3 respectively.
Pasting plain text, which strips out formatting, is accomplished with ⌘+alt+shift+V.


Question: why can we still crack snapchat photos in 12 lines of ruby?

Response:
Snapchat is not supposed to be impenetrably secure as it is for sharing, which is antithetical to securing; anyone can decrypt these because that was the intent.

It is a fundamental principle of information theory: if a machine can decrypt a piece of information and keep it for ten seconds, it can decrypt it and keep it forever.

Some take a more critical view, saying this is a serious problem in password-management and bad practice combined with depreciated security standards: the code is not “cracking” the encryption, but merely decrypting the data with the correct encryption key, which was obtained by reverse engineering the application.

Some suggest Snapchat is promoting a false sense of security, and when challenged, its reportedly dismissive response showed dysfunctional regard of security practices.


Question: can msdn licenses be transferred?

Response: It should be transferable to another person: when a team member leaves the team, the MSDN subscription is reclaimed and can be assigned to someone else; however, MSDN subscription licenses can only be reassigned at most once every 90 days in Microsoft Volume Licensing programs.


Question: how can a code editor effectively hint at code nesting level - without using indentation?

Response:
One suggestion is to incorporate a heat map in the left column, with brighter colors indicating deeper indentation.
Another technique involves utilizing open and closed parentheses to visually represent the nesting structure.
Combining both width and heatmap coloring is also an effective way to represent code structure visually.
To enhance the visual cues, some propose using gradients instead of squares, reducing the overall clutter of lines in the editor.
Another interesting idea is to add a 3D effect to the text by adjusting the font size based on the nesting level, creating a dynamic visual representation.
Syntax folding rules provide an alternative solution, allowing the code to be folded using a nested outline structure.
Switching from squares to capsules is also suggested to improve the clarity of code nesting levels.
Some code editors, like jGRASP, implement a visual marker in the margin to indicate nesting levels.
Utilizing hue on top of the saturation effect is proposed as a method to convey nesting levels visually.
Lastly, for users who prefer a more direct approach, highlighting the whitespace characters used for indentation in different colors, such as spaces in yellow and tabs in green, can offer a clear representation of code structure without relying on traditional indentation.


Question: prevent redraw of menu bar icons yosemite

Response:
This is normal behavior caused by switching transparency on and off to show the active display.
An effective way to reduce this flicker is to adjust the settings in System Preferences by enabling the reduce transparency option.
Additionally, running the Bartender application can limit the number of active status bar icons, which improves the interface's responsiveness.
If the problem persists, systematically removing menu items may help identify and eliminate the software responsible for constantly redrawing or jittering menu bar icons.
Restarting the Mac in Safe Boot mode by holding down shift after the restart sound plays, is also an effective potential solution.


Question: how can i export my private key from a java keytool keystore?

Response:
The PKCS#12 format supports the transfer of private keys, which was introduced due to operational needs and the evolution of Public Key Infrastructure (PKI) certificates.
In response to security challenges, Java incorporated the ability to import PKCS#12, but exporting private keys remains unsupported as a security measure.
Since Java 6, keytool has been capable of importing and exporting private keys to and from PKCS#12 files.
Keystore Explorer is a recommended third-party tool for managing Java keystores, praised for its ease of use and comprehensive features, with keytool being the ultimate tool when dealing with Java keystore.
Lastly, to convert from JKS to P12, followed by OpenSSL, the Java keytool can be utilized to export from keytool's native format to the standardized PKCS #12 format.


Question: should package names be singular or plural?

Response:
The convention for naming packages can vary based on language and context.
In .NET, specifically in C#, it is recommended to use the plural form for package names.
Additionally, it is recommended to use the plural form for packages with homogeneous contents and the singular form for those with heterogeneous contents.


Question: how do i run proper https on an internal network?

Response: Use public certificates, but for internal addresses; a reverse proxy such as Caddy, for example, can handle the certificates (issue & renewal), if you set up a DNS server to point all internal hostnames to the Caddy server, and if you want to limit access to internal only, you can close port 80 until your certificates requires renewal.


Question: how to check who last logged in linux?

Response:
The command "last" reads from a file, typically /var/log/wtmp, and lists successful login attempts, showing the most recent first.
To find out the last time a file was updated, you should use the "stat" command.
Additionally, the "lastlog" command is noted for its ability to filter user logins within specific date ranges.


Question: why zfs not in linux?

Response:
There is a known incompatibility issue regarding ZFS's presence in the official Linux kernel due to licensing conflicts.
For ZFS to be allowed on Linux systems, the ZFS modules must be shipped separately from the Linux kernel.
Additional challenges include claims by NetApp that they own patents on certain ZFS technology, a situation further complicated following a lawsuit settlement with Sun after Oracle's acquisition; however, the settlement doesn't extend to other Linux distributors like Red Hat or Ubuntu.
Meanwhile, the ZFS on Linux Project has enabled ZFS to be ported successfully to Linux, and users have the option to use Ubuntu with a native ZFS kernel port or other RPM-compatible distributions.


Question: how do you know youre writing good code?

Response:
For improving your coding practices, consider examining a respectable open source project in a language you’re comfortable with and take note of their standards.
Your code is far from ideal if it resembles the legacy patterns found in older software like send mail; instead, strive for a cleaner design similar to modern projects such as Postfix.
Optimal code has algorithms that balance efficiency and clarity, alongside well-named classes, variables, and functions that are straightforward, allowing you to pick right back up after a break.
In professional coding, maintainability is crucial as it dictates the lifespan and adaptability of your code.
If you establish guidelines like avoiding code replication, ensuring complete understanding of your code, and enabling others to easily follow it, you'll contribute to a calmer codebase and support architectural enhancements.
Code should be concise, with methods ideally performing just one task, allowing the caller to understand the function without inspecting its body too closely.
Good coding feels natural when it leads to rare bugs, straightforward modifications, and does not confound your colleagues upon review.
Prose-like readability is a hallmark of quality in programming.
Stability and maintainability also play significant roles, with the added factor of how intuitive the software is to the end-user, reflecting on the quality of the code.
Ensuring that each class and method has a distinct, singular role and that your codebase guides the user linearly without unnecessary complexity is vital.
Seek peer reviews to validate the quality of your work; code that meets another coder's standards has a better chance of being well-received in the repository.
Code quality encompasses readability, maintainability, and simplicity without compromising on efficiency or clarity, suggesting that adhering to good design, even outside of strict patterns, can result in high-quality software as long as it remains consistent within the project.
Refining your ability to distinguish between good and bad code comes from active reading and analysis of code, including your own work, and possibly referencing authoritative textbooks for insights.
Evaluating your code based on real-world needs rather than abstract standards of "good code" can often provide a more tangible measure of its value, particularly if the code accomplishes necessary functions and remains within an acceptable maintenance level.
The journey of a developer involves continuous learning where looking back at past code can indicate growth, with the changing perception of "good code" being a sign of ongoing improvement.
Code quality is seen as subjective, inherently tied to a programmer's level of experience and available tools at the time of writing, and is often about finding better methods instead of simply categorizing things as right or wrong.


Question: what is the difference between modify and change in stat command context?

Response:
The Modify timestamp refers to the most recent instance when the file content was modified.
The Change timestamp indicates the last occasion when the file's metadata, such as permissions was changed.


Question: how to connect usb headphones to iphone?

Response: To connect the output to your USB headset, if it has separate USB power and auxiliary input, you should use the provided dongle with your iPhone 7.


Question: run a command that is shadowed by an alias

Response: Using uppercase when typing a command, like 'LS', may yield successful results, although it's unclear as to the reasons why this is effective.


Question: can u see when someone checks your location?

Response:
The individual being located via Find My Friends does not receive notifications or access to a log detailing the frequency of their location being checked.
Nevertheless, it is theoretically possible, with the necessary tools and expertise, for someone to detect if they have been pinged for their location.


Question: is object oriented programming hard?

Response:
Object-oriented programming (OOP) is not inherently hard; the complexity arises when practitioners aim for proficiency and effectiveness in its application.
While it might not be difficult to understand, for programmers transitioning from procedural languages, OOP can probably be hard.
The difficulty can be attributed to the fact that OOP is not always a natural paradigm for modeling certain scenarios.
Additionally, Object-oriented programming is difficult for many because the tools don't facilitate it.


Question: can i use 45/60/85w magsafe era macbook chargers interchangeably?

Response:
Specifically, your 13" MacBook can utilize a 15" charger, but the reverse is not recommended.
It's crucial not to use a power supply with a lower wattage than specified for your portable device.
Despite this, using an incorrect adapter won't cause harm to your MacBook.
It's important to note that a 60W adapter, when connected to a machine requiring an 85W adapter, won't overheat.
This situation could result in a flat battery, nevertheless, the MacBook connected won't experience a "brownout" scenario.


Question: what file comparison tool can i use under os x?

Response:
Kaleidoscope is a paid option preferred by some for its well-designed UI.
If you're using the command line, then 'diff' is a good alternative.
DeltaWalker is another option that offers a trial version and full version for $40.
Changes.app is also an option and comes with a great reputation and lots of features.
For a simple and free option, Sourcegear's DiffMerge is also available.
FileMerge, bundled with the OS, although not considered the best, can be launched from the command line using the 'opendiff' command.
Then there's folder Sync, a paid application that can be found on the Mac App Store for $8.99.
The post on the former SO clone lists several tools including free and paid ones with their current pricing, like
Other options include Graphical diff for Mac OS X, Joachim Eibl's KDiff3, DiffMerge, Meld and Beyond Compare 4, which now runs on OSX.
Finally, P4Merge is a versatile and free tool recommended for both Mac and Linux users.


Question: how can i pass a command line argument into a shell script?

Response:
In shell scripting, when you run a command like `./myscript myargument`, "myargument" is represented within the script as `$1`.
For scripts that can handle multiple arguments, you could start them with commands like `$/shellscriptname.sh argument1 argument2 argument3` and then, within the script, access each argument by its order, such as `$1` for the first, `$2` for the second, and so on.
If a script is designed to pass all its arguments to another script or command, using the form `./script.sh "$@"` is very convenient, as `$@` stands for all the arguments originally passed to the script.


Question: what software programming languages were used by the soviet unions space program?

Response:
The third generation of Argon airborne computers employed Pascal, Fortran, and Si, with Assembler also in the mix.
PL-1 and Fortran were utilized, along with PROL2 (ПРОЛ2) for onboard programs, Dipol (Диполь) for earth tests, and Laks (Лакс) for modeling during the Buran program, and eventually, these were amalgamated into a new language called Drakon.
Additionally, APL found its place in the Soviet Union's space program.


Question: how can i deal with a team member who dislikes making comments in code?

Response:
One effective method to improve a developer's ability to write clearer code is to conduct frequent code reviews and refactoring sessions.
Regular code review practices can also entail having the developers explain and defend their code in front of their peers and superiors, which can significantly enhance coding skills.
Moreover, in addition to reviewing, pair programming is highly effective for honing developer skills, although it may be more challenging to put into practice.
To enforce quality standards for code, constantly asking questions during code reviews and documenting the answers can drive developers to make their coding intentions clearer, either through more comments or by refactoring their code.


Question: how to transfer calendar from windows phone to android?

Response:
If you have a Google account, simply open Google calendar on your PC and import the CSV file.
To import the calendar, go to Settings --> Calendar settings.
You also have the option of syncing without the CSV file.
To do so, sync your Windows phone with Google, then when your Android mobile syncs, it will get the calendar entries.
This way you'll have two mobiles completely synced.


Question: are my permissions for /usr/local/ correct?

Response:
It's generally recommended to maintain strict permissions on computer systems, particularly in areas like /usr/local where important files are stored.
For those utilizing Homebrew on a Mac, it is suggested that the write permission is granted to a specific group to facilitate file sharing between authorized users.
According to Homebrew 1.0.0, it no longer requires control over /usr/local, and one can reset the ownership to the system defaults if desired.
Furthermore, for macOS High Sierra and later versions, the process to change ownership of /usr/local has been updated to adhere to the system's security restrictions.


Question: why do android phones have more cores than computers?

Response:
The primary reason behind the numerous cores in mobile processors is the implementation of big.LITTLE combination strategy or Heterogeneous Multi-Processing (HMP) clusters that manage different workload scenarios efficiently.
Mobile devices often have to handle a variety of tasks that range from heavy to light loads.
More cores enable auxiliary processes to function more effectively, enhancing overall performance for both applications and background processes.
Intel's lack of dominance in the mobile market has led to the prevalence of parallel computing, a norm outside the PC world.
It's advantageous for smartphones to have cores designed for power efficiency under low-performance needs, and cores that deliver maximum output when required.
Even now, numerous desktop software struggle to utilize multiple cores efficiently, leading some to favor a 4-core CPU over an 8-core CPU with cores that are 20% slower.
Phones require the ability to supply computational power immediately without the risk of overheating, which could happen with fewer, larger cores.
Java virtual machines can take more advantage of multi-core compared to traditional desktop software, and many phone functions running in the background make additional cores beneficial.


Question: what versions of os x are affected by heartbleed?

Response:
No versions of OS X are affected by Heartbleed nor is iOS affected.
Modification would result in a Mac or OS X program having the vulnerability.
No version of OpenSSL is vulnerable to CVE-2014-0160, aka the Heartbleed Bug.
OS X doesn't ship with the affected releases of OpenSSL.


Question: why are part-time jobs in programming an anomaly?

Response: Employers don't want any limitation at all on the hours they can ask of you and often expect coders to work excessively long hours without additional compensation and may penalize those who do not comply with their demands for extended work hours.


Question: what are the downsides of openvpn?

Response:
One of the downsides is that in a corporate environment some managers don't like to rely on open source software.
In addition, it's not interoperable between routers with the vast majority of products from "big name" network vendors.
OpenVPN also does not have certain regulatory certifications, like FIPS 140-2 support.


Question: is there any way to safely examine the contents of a usb memory stick?

Response:
If you suspect a USB drive to be harmful or containing malware, creating a "condom" Virtual Machine is a viable option, especially if you already have a Linux machine, which allows you to make the disk read-only.
However, it's critical to recognize that no system is entirely impervious to all potential threats.
Examining the stick's contents through a Linux Live-CD can be considered a reasonable action.
Additionally, inspecting a USB stick's contents on a separate Linux-based system is deemed to be relatively safe.
If physical tampering is a concern, opening up the drive to check for legitimacy, or using a disposable device like an old machine or a Raspberry Pi, are suggested methods.
Alternatively, using an opto-isolated USB hub can protect your PC from electrical threats.
For those concerned about malware affecting the BIOS, plugging it into a machine that doesn't have a BIOS is a safer approach, with a SPARC machine being a suggested option.
A Raspberry Pi Model A/A+ without a network connection is also suggested due to its minimal non-volatile storage and its ability to read various filesystems on a USB stick.
However, remember that exploring a USB stick is never completely risk-free, as it could potentially deploy harmful substances, exploit vulnerabilities, or induce users to run malicious files; hence, some suggest delegating the task or using a highly secure, non-auto executing and non-auto mounting operating system like OpenBSD or NetBSD.
As a solution to safely check the contents of suspicious USB sticks, CIRClean offers automated file transfer and scrubbing from an untrusted USB drive to a trusted one, albeit one should be aware of its current limitations.


Question: how vlans communicate with each other?

Response: For two separate VLANs to communicate, the use of a layer-3 device, such as a router, is required.


Question: what is the difference between cat and less command in linux?

Response:
For simplicity, "cat" consists of three characters whereas "less" has four characters.
Additionally, typing "cat" requires only the use of your left hand.


Question: how to view root directory and subdirectories in finder?

Response:
To view the root directory and subdirectories in Finder, open Terminal and enter `sudo chflags nohidden directoryname` or sudo chflags nohidden /usr to unhide a specific directory.
If you want to unhide the entire root directory and its subdirectories, use the command `sudo chflags -R nohidden /*`.
In Finder, you can press Shift-Command-G to bring up the "Go to folder" dialog, where you can enter the path to the directory you want to access.
Another approach is to run the command `defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder` to show hidden files and directories, including the root directory.
For newer macOS versions like High Sierra, you can open Finder, go to preferences, navigate to the Sidebar section, and add the directories you want to appear in the sidebar.


Question: getting authentication is required when trying to access the play store

Response:
If you want to address syncing issues on your device when you are trying to access the Play Store, you should delete all your accounts and then add them again, or simply re-sync your Google accounts from the Accounts & sync menu.
If changing your password is what caused the problem, restarting your phone might also resolve it effectively.


Question: what does the s stand for?

Response:
Apple has never really released any official information regarding what the "s" stands for in any models other than the 3GS and 4s (at the iPhone 3GS release event, Phil Schiller said the S in 3GS stood for "speed"), although fans have claimed the "s" in iPhone 5s stands for Security (they added touch ID), and in the iPhone 6s it might be for Sensitivity (as per the new 3D Touch features).

Others say the "s" always stands for "successor", as an update on the phone with the same number, a naming scheme that has been set for almost a decade.


Question: is micro-optimisation important when coding?

Response: When coding, micro-optimization is generally not considered crucial, especially with platforms like JVM and .NET, where code optimizations may not translate effectively across different hardware.


Question: can a file be executable but not readable?

Response:
A file can't be executable but not readable, at least on Linux.
However, it's doable with setuid or by setting up a script in such a way that users can run it without being able to read its contents.


Question: are ipods still supported by itunes?

Response:
According to Apple Support, the iPod Classic is no longer compatible with current software versions and is not supported by them.
However, iPod Classic devices can still function if older versions of iTunes software are installed on a Windows PC, as some users have successfully done.
It's been noted that depending on the system configuration, the iPod Classic may still work with certain versions of iTunes and Windows.
To manage music on an iPod Classic, a third-party application may be required, as support for the device has been discontinued in recent versions of iTunes.


Question: what i can delete from /private/var/vm?

Response:
The folder and files within /private/var/vm, including swap files, are actively used by the operating system and generally shouldn't be removed.
One exception is the sleep image file: although you're able to delete this, it's not recommended to do so.
You can delete it by using the command sudo pmset -a hibernatemode 0, which will switch your Mac to a traditional sleep mode and will stop recreating the file upon sleep.
Deleting this file is safe, but be aware that it will reappear after the system goes into sleep mode again.


Question: network neutrality, how does it actually work, technically speaking?

Response: Throttling actions can occur on a particular pattern of traffic from Layer 3 to Layer 7, implemented in many ways, whether it is lowering the priority of the traffic in the queue, imposing absolute bandwidth limitations, reducing the share of overall bandwidth that the traffic has available to use, or outright blocking the traffic altogether; the throttling most often happens at the carrier that is near the client, but can potentially occur within any transit carrier or non-transit carrier.


Question: the operation can’t be completed because the original item for “foo” can’t be found

Response:
There are several possible fixes for this issue: for instance, some simple fixes like re-launching the Finder or clicking on "log in as..." and re-entering your login credentials can refresh the shared devices list and solve connectivity problems, while restarting a Mac into Recovery Mode to complete disk repairs and permission repairs may also help.
Changing the Volume's to "admin" on a Mac might also resolve certain access issues.
For problems involving connectivity, checking the permissions on your remote share might work: for example, adding permissions explicitly for a "Guest" user to a Windows directory can rectify issues that arise from a Mac attempting to connect to it.
Ensuring that relevant daemons like Samba and AFP are granted appropriate access is also important.
Finally, using both chmod and chgrp commands can be effective.


Question: is there a way to make the menu bar show at all times in fullscreen windows?

Response:
It's now possible to do this in macOS Monterrey.
You can manage window sizing and arrangement by using ALT/OPTION and clicking the green maximize button.
Additionally, you can use gestures, such as a 3 or 4-finger swipe up, to access the spaces menu, facilitating the efficient organization of Desktop Spaces for apps.
The BetterTouchTool enhances window management by allowing user-defined actions for maximizing windows and mimicking the window-snapping feature found in Microsoft Windows.
Double-clicking the window title bar is also a technique to maximize the window, offering an additional option.
Lastly, macOS 12 Monterrey provides a setting in System Preferences ❭ Dock & Menu Bar that lets you keep the menu bar visible in full-screen mode, an important aspect to note.


Question: why arp is layer 2 protocol?

Response:
ARP is a layer 2 protocol, for the reason a broadcast is sent on the layer 2 and ARP does not usually traverse to layer 3.
Moreover, ARP is specified as an ethertype within an Ethernet-V2 frame and is not typically forwarded by standard IP routers, supporting its classification as a layer 2 protocol.


Question: is bios written in assembly?

Response:
BIOS used to be written exclusively in assembly language, but the transition was made a long time ago to write the majority of the code in some higher-level language and leave written in assembly as few portions of it as possible.
The actual BIOS for a computer would be written in some language, probably C or assembly.
Additionally, the modern reality is most BIOS is written using Assembly, C, or a combination of the two.


Question: what is the difference between distance vector and path vector?

Response:
The path vector's information includes the 'path' of ASes that are used to reach the destination.
On the other hand, the distance vector gives you the actual number of link hops (RIP) or a metric of hops, and link speed.
The deployment of the path vector protocol means that BGP is using the valid and best path selection.
In contrast, the distance vector protocol follows the next-hop without considering the entire path from the source to the destination, prioritizing immediate direction over the best complete path.


Question: run applescript from bash script

Response: To integrate raw AppleScript into your commands, you need to enclose the AppleScript within <<EOD tags.


Question: why use ibgp and ospf?

Response: OSPF routers rapidly achieve convergence, understanding all the routes within their area without requiring a full mesh configuration.


Question: how to do integer & float calculations, in bash or other languages/frameworks?

Response:
Use the command `$ echo "25 + 5" | bc`, which yields the result `30`.
Additionally, one can leverage the bc program interactively by entering `$ bc` followed by the version number `1.06.95` to perform calculations.
Bash-based calculations can also be done with commands like `echo $((20+5))` or through the expr utility with `expr 20 + 5`.
However, when dealing with cases that require floating point calculations, such as `9.0/2.0`, which by default returns an integer in some scenarios, it is recommended to use a scripting language that manages floating points accurately, such as Lua.
Other tools, such as `calc`, offer an interactive mode facilitating continuous mathematical operations within the same session, and `concalc` allows for calculator-like functionality on the terminal without a prompt.
For developers comfortable with Python, it can serve as an interactive calculator.
Within scripts or terminal commands, `$((...))` and piping expressions to bc, such as `echo "..." | bc`, are typically sufficient for integer and some arithmetic operations.
For evaluations in a ghci environment, `$> ghc -e '20 + 5' 25 it :: Integer`.
For unit conversions and calculations related to measurement and temperature, the `units` program—along with its `-t` option—can be particularly useful: `$ units "1 + 1" Definition: 2 $ units "1 lb" "kg" * 0.45359237 / 2.2046226`.
When on the command line, the `awk` utility provides a simple but powerful mathematical computation capability that can be encapsulated within a shell function or script for convenience: `calc(){ awk "BEGIN { print $*}"; }` or`#!/bin/sh - awk "BEGIN { print $* }"` could also work.
Access to the GNU Multiple Precision Arithmetic Library is also achievable through the `run-expr` program.
For graphical and data plotting needs combined with calculation ability, `gnuplot` can offer function definition capabilities and built-in functions within its environment.
Lastly, setting up dedicated functions like `calc` in fish shell can streamline the process for shell configuration that involves frequent calculations: `function calc awk "BEGIN{ print $argv }" ; end`.


Question: when should you call yourself a senior developer?

Response:
It varies among different companies, allowing individuals to adopt the title Senior Dev X or Y anytime between 5-8 years, although seniority is not solely determined by technical ability but also by the initiative and responsibilities an individual takes on.
In some perspectives, 'senior' isn't something given to anyone with less than 15 years of experience, as it extends beyond technical knowledge.
According to certain criteria, you should consider yourself a senior developer when you start to mentor junior developers.
Additionally, being able to handle the entire software development life cycle, leading others or being looked upon for guidance, and self-managing projects are indicators of reaching a senior level.
Some suggest that a person becomes a senior developer under 5-7 years of practice is quite unlikely, that you'd need to be generally closer to 30 years old, or at least 27 years old with a minimum of 7 years of practice.
Others argue that being called a senior developer by peers is a significant factor.
Some propose a minimum of 10 years of experience, including college or other education, as a baseline for considering oneself a senior developer.
There's also the perspective that achieving seniority involves mastering programming and accumulating at least 5 years of experience, with a level-3 senior categorized as one who has spent the last 10,000 hours programming or 7 to 10+ years.
In contrast, another view suggests that working for three years is sufficient to attain the status of a senior developer.


Question: how to debug a bash script?

Response:
To debug scripts effectively in bash, one can directly write `set -x` at the top of the script which will increase verbosity to better understand command executions and argument evaluations.
Additionally, the Eclipse IDE can be combined with the Shelled plugin and `_DEBUG.sh` script to enable a feature-rich debugging environment, including features like breakpoint toggling and step-by-step operations.
Another quick method for debugging is to start the script with either `#!/bin/bash -x`or `#!/bin/sh -x`, which automatically activates the debugging mode.
For a more GDB-like experience, the "bashdb" debugger can be used, which allows inspection and manipulation of script execution and variables.
Online resources such as "http://shellcheck.net" offer assistance with common scripting errors like unclosed quotes or brackets.
For those working with Visual Studio Code, the Bash Debug extension available at "https://marketplace.visualstudio.com/items?itemName=rogalmic.bash-debug" offers step in/out/over functionality and variable inspection.


Question: reserved space for root on a filesystem - why?

Response:
By reserving 5% of disk space, the system prevents non-root programs from completely filling up the disk, which ensures continued functionality for higher privilege processes and potential system rescue efforts.
Additionally, maintaining this reserved space mitigates the risks of filesystem fragmentation and performance issues, particularly when the filesystem's capacity exceeds 95%.


Question: sql injection is 17 years old. why is it still around?

Response:
There is no general fix for SQLi because there is no fix for human stupidity.
Metaphorically speaking, it is the same reason that car crashes are still around since the very first car in 1895.
Many developers are simply not aware of security problems, and they don't write secure requirements properly (do not test what you are not prepared to fix).
If you use prepared statements correctly, SQL injection is not possible.
Churn and pressure in the development environment and not enough emphasis from the top on security are also contributing factors.
Developers attempt to add more and more features to technologies, and sometimes deviate from the actual purpose of the technology.
Also, such security issues are usually not covered during most 3-year education cycles.
The software world still doesn't understand that programmatic generation of tree-structured values should be done by constructing syntax trees as first-class objects, not by concatenating strings that represent fragments of a language.
In addition, SQL Injection is less obvious, less publicly visible, and has less severity impact, and is in a completely unregulated industry (if it was a problem for companies it would disappear).
Take into account that there is a lot of code which is 17 years old that won't magically fix itself.
Also there is a more general problem in programming: that IDE's and languages are overly permissive.


Question: what is the difference between: rooting, jailbreak, rom, mod, etc.?

Response:
Rooting and Jailbreaking refer to the same thing in the computational aspect of a smartphone, describing the process of obtaining administrative privileges, with rooting typically associated with Android devices and jailbreaking with iPhones.
This administrative access allows a user to override the device's default settings and permissions, enabling them to alter or delete critical system files.
The terms ROM, Mod, and Firmware are often used interchangeably within the Android community to refer to customized versions of the Android operating system tailored for specific devices.
A mod or ROM in the smartphone world is akin to different Linux distributions, such as Ubuntu or Fedora, on PCs.
In the context of Android, the ROM refers to the internal flash memory where the core system resides.
Jailbreaking involves bypassing a bootloader's restrictions to gain admin privileges, whereas rooting solely concerns acquiring these privileges.
Flashing a ROM generally refers to installing or updating the device's mobile operating system.


Question: how can i make all folders in finder snap to grid?

Response: To make all folders in Finder snap to the grid, control-click on the space, then click on "Show View Options," and in the "Sort by" drop-down bar, select "Snap to Grid".


Question: is pcie flash storage the same as ssd?

Response: Yes and no: SSD, or Solid State Drive, has flash storage inside, but SSD is a special form factor, in most cases meaning that it is designed to fit in places that a normal 2.5" HDD would be installed; PCIe is a different form factor.


Question: when to use /dev/random vs /dev/urandom

Response:
You can use /dev/urandom for most practical purposes.

It is appropriate to use /dev/random over /dev/urandom shortly after boot on a low entropy device, if enough entropy has not yet been generated to properly seed /dev/urandom.


Question: what happens if you plug more than one charger in the new macbook pro (2016)?

Response:
When multiple power sources are connected to a MacBook Pro, the system will automatically select the one that delivers the most power.
Unfortunately, if a power source with more than 100W is connected, it could lead to a loss of charging ability that might still be covered by the device's warranty.


Question: is it safe to send clear usernames/passwords on a https connection to authenticate users?

Response:
Yes, as long as you verify the certificate validity, this is perfectly fine and is a standard approach, although it is not necessarily safe, as you also need to ensure  that your site is protected against cross-site request forgeries.

You do not necessarily have to follow it, particularly for a personal site, and could use a federated login from Facebook, Google, or similar, which saves having quite a few forms and fields in your database, and means there is less to go wrong.


Question: how to permanently set environmental variables

Response:
Use `/etc/environment` or `/etc/profile` depending on your distribution.
Consider creating a new file in `/etc/profile.d` if it's available for a less conflict-prone approach, especially with updates.
When setting variables in `/etc/environment`, the syntax is typically `name=value`; in `/etc/profile`, you would use the `export` command since it's a script.
If you choose to use `/etc/profile.d`, note that there may be naming conventions to follow, such as requiring a `.sh` extension on Debian.
Reviewing your distribution's documentation or the `/etc/profile` script to understand how these files are incorporated is important.


Question: session authentication vs token authentication

Response:
For Session-based Authentication, the server retains full control of the authentication processes.
Authenticating in this manner provides the client a session_id after credentials are validated, which is used similarly to a token by being part of each further request.
This session_id is just a simple identifier while the server handles state management, user association, permissions, lifespan of the session, and the capability for real-time adjustments.
Possessing the ability to log the user's actions on the websites, Session-based Authentication, however, may not scale well and can be memory-intensive.
Token-based Authentication, on the other hand, operates on a stateless architecture with no server-side persistence of sessions.
Following the exchange of credentials for a token, this token is included in every subsequent request and can contain all necessary information within itself, which is verified by the server with each request.
This approach can effectively reduce memory requirements, improve scalability, and provides exchangeability of tokens among different clients, a feature beneficial for flexibility.


Question: why is mother’s maiden name still used as a security question?

Response:
There was a widespread lethargy and inertia among institutions, which depended on the secrecy of information over the years.
Organizations tend to be slow in adapting to changes.
People being lazy and/or incompetent contributes to security issues.
There are entrenched false assumptions in security practices, with security questions and "complex" passwords that are considered best practices being passed on without adequate scrutiny.
Security questions are meant to have long-term validity, and while they can sometimes be easily accessible public information, they can also be part of multi-factor authentication strategies for enhanced security.
Usability is often prioritized over security in systems such as banks to cater to a more diverse clientele, sometimes sacrificing security for accessibility and convenience.
It is ironic that security questions, which are intended to be easy to remember and hence are weak alternate passwords, are still widely used.
It is suggested that users should be allowed to select their security level, acknowledging that for less important accounts, 'simple locks' and simple passwords, and ease of recovery might be more fitting than stringent security measures.


Question: how to get over device or resource busy?

Response:
The tool `lsof`, which stands for list open files, is useful for identifying and managing open files and can be used to see all open files under a directory.
After determining which processes have files open, you may close or terminate the applications using the kill command.
Alternatively, you might use `fuser`, a different tool, to find out which process is using a specific file or files within a mount.
If you encounter mounting issues, it might be necessary to unmount the filesystem or directory in question using unmount /path.
A more aggressive solution involves the command " lsof +D ./ | awk '{print $2}' | tail -n +2 | xargs -r kill -9" that utilizes `lsof` to list PIDs and then `kill -9` to force-terminate the associated processes.
Deleting the directory from the server or performing a lazy unmount (`umount -l`) can be considered if the regular unmount command does not work.
In some cases, simply rebooting the system resolves the issue.
When dealing with persistent files, particularly on servers with NFS network file systems, a workaround is to rename or move the parent directory and return later in a day or two to remove the file.


Question: hardening linux desktop machine against people from my household

Response:
First, use a strong and difficult password for the root user.
Secondly, always login and work from another user with no administrative rights.
Remove other users' admin access, lock down each users' account, and put protections in place to prevent abuse.
Enable the BIOS password option.
Disable automatic booting from USB, CD and network.
A good idea is to access the data from a Live DVD/CD only (mark a CD-R with a sharpie so you can tell if it's been swapped).
Or keep the system partition (or just the bootloader, kernel and initial ram disk) on a very fast USB disk so you can take it with you.
Alternatively, encrypt your Linux partitions but use a script to change the password every time.
It is a good idea to download your Linux distro on a trusted computer, and remember not to type on physical keyboards (or at least use a wired one, not a wireless one.
A security-focused distro might also be an option, like Kali or Ubuntu Privacy Remix.
Two more suggested programs to use are Qubes OS and antievilmaid.
There are plenty of other methods you could use, including creating a TrueCrypt hidden container, then installing your guest inside that container.
You could put a small lockbox containing the external encrypted hard drive in the glove compartment of your car and work solely off that.
Use a hot-swap cage for your hard drive, and remove the hard drive when not in use.
A simple suggestion is to buy a notebook or cheap single-board computer and carry it around with you; don't store sensitive data on a shared machine.
The best defence is a good offence: set a trap with a camera.


Question: can i remove files in /var/log/journal and /var/cache/abrt-di/usr?

Response: It is confirmed that it is possible to remove the files from /var/log/journal directory, for example using the command: `sudo journalctl --vacuum-size=500M` (500 megabytes being the specified size threshold in this example).


Question: broken screen while debug mode was disabled. how can i re-enable adb?

Response:
To access data and create a backup on a device with a non-functional screen and digitizer, you can use the adb console after booting a recovery system with adb enabled.
If the device supports USB host mode, an alternative method is to connect a USB mouse or a keyboard with the help of a USB-OTG cable to bypass the broken touchscreen.


Question: why arent more desktop apps written with qt?

Response:
One criticism of Qt is that it often fails to mirror the native appearance of applications on various platforms, leading to a lack of consistency when applications are moved from one system to another.
Additionally, Qt has been noted for not integrating well with templates in C++, posing challenges for developers familiar with templating.
It also doesn't have robust bindings to all mainstream languages and isn't always the most suitable tool for the job, especially for simple or command-line applications.
Qt's signal slot mechanisms have also been described as inefficient, which can lead to more complicated and harder-to-maintain code.
Furthermore, Qt's large initial source requirement can complicate setting up a build environment.
It is important to note that Qt uses C++, which may not be the most productive language due to its low-level nature and lack of automatic memory management.
Moreover, Qt is seen as somewhat heavy and not always suitable for every type of application.
With the increasing preference for web-based technologies, applications aiming for uniformity across platforms might opt for those instead of frameworks like Qt.
Lastly, the licensing of Qt has been a barrier to its usage, with some preferring other open-source, cross-platform toolkits.


Question: are usernames case sensitive in linux?

Response:
In multiple types of systems, usernames are found to be case sensitive, although some state that this is variable when using LDAP.
Whether they will be considered case sensitive depends then on the standard used to specify them, hostnames and domain names are clearly case insensitive by the DNS standard and usernames stored on a local backend (/etc/passwd) or a Unix style one (NIS) are not case insensitive.
In Unix systems, not only are usernames case sensitive, but the convention is also to avoid using uppercase characters to prevent potential issues.


Question: what is `^m` and how do i get rid of it?

Response:
The ^M symbol represents a carriage-return character often encountered when dealing with files from the DOS/Windows environment, which uses a different end-of-line marking than Unix systems.
To get rid of them, use this command in open your file with vim -b FILE_PATH and save it to: `:s/^M$//` (you can press Ctrl+V Ctrl+M to insert the ^M.


Question: what can i do to increase battery life on my android device?

Response:
You need to think about what yourself can turn off, or down on your phone.
To get help with this, you can find a table of energy cost values for certain phone applications on German technology site Heise, titled Energiesparplan.
Among the most significant power consumers are GPS, WiFi, and Bluetooth, so it's advisable to disable these unless actively in use.
Additionally, actions such as lowering screen brightness, turning off 3G, and disabling automatic data sync can contribute to prolonging battery life.
Furthermore, Android devices typically come equipped with widgets that facilitate easy management of these power drainers.
Also, avoid utilizing live wallpapers and instead go for dark backgrounds, particularly for AMOLED screens, to further reduce battery usage.
Also, utilizing a dark and/or reddish background can also be especially energy-efficient on OLED screens.
Refrain from using Google Voice for Text Messages in the traditional way, as alternative methods like emailing can save battery.
For 4G phone users, it is recommended to deactivate the 4G antenna when it's not needed, due to its high power consumption.
Other valuable tips include, reducing update frequencies for apps and not using the HTC Sense UI, while preferring the back button over the home button.
Display is often the top battery drainer, and controlling brightness is a significant factor for improving battery life.
To automate power-saving measures, apps like Tasker can regulate settings such as mobile internet, Bluetooth, WiFi, and display brightness, depending on specific conditions.
JuiceDefender is another application that optimizes data service usage by synchronizing apps on a schedule and managing the search for WiFi hotspots.
Adjusting the Wi-Fi Sleep Policy to avoid the WiFi radio frequently turning on and off can conserve battery.
On Samsung Galaxy S Captivate this can be found under: Settings → Wireless and network → Wi-Fi Settings → MenuKey:Advanced.
Software like SetCPU enables creation of CPU profiles to manage performance and battery consumption.
Using a magnetic case combined with corresponding apps like Holster Snooze can automatically turn off the screen, saving power.
Executing CPU-intensive tasks while the device is connected to a charger can help decrease battery wear, thus maintaining good performance over time.
If you have root access, apps like Greenify can hibernate selected apps when the screen is off, reducing unnecessary background activity.
Certain adjustments specific to the Nexus 5 and other devices, including turning off vibrating key press, auto brightness, and utilizing apps like Tasker for automation, can contribute significantly to battery conservation as well.
Creating underclocked frequency profiles that activate only when the phone is locked can ensure good performance while the phone is in use and enhanced battery saving when it is not.
Analyzing and optimizing chip usage, especially in scenarios where network connectivity is poor or unnecessary, can also benefit battery longevity.  Disabling always-on monitoring apps and unnecessary app settings, such as "Ok Google" detection, can further reduce power consumption.
Finally, in cases where other solutions don't provide sufficient battery life improvements, a factory reset could be considered as a last resort.


Question: tabs are better than spaces?

Response:
Some developers prefer using tabs as it allows each developer for consistency and to control the amount of indentation per tab.
On the other hand, some developers sympathize with the utopia of tabs, but can't imagine not using spaces.
However, others argue that consistency is more important than the choice between tabs and spaces, emphasizing the role of the tab character specifically for indentation.
While tabs are considered the natural and orthodox choice by some, the debate acknowledges that a combination approach might be necessary.
It's crucial to pick one approach and maintain consistency.
Those in favor of spaces argue that they provide a more visually consistent alignment, especially when dealing with comments, function parameter lists, or multiline expressions.
On the other hand, proponents of tabs contend that even for aligning parameters and comments, tabs can work better.
The consensus is that there is no single proper indentation character for every situation.
Different languages may have different conventions, such as spaces being a must in Haskell and tabs being a must in Makefiles, leaving the choice ultimately to personal taste.


Question: how do you tell if advice from a senior developer is bad?

Response:
To discern the quality of advice from a senior developer, asking another senior developer for their perspective can provide additional insights.
Additionally, researching on your own and validating the advice against industry best practices is crucial.
If the senior developer can articulate sound reasons and examples supporting their advice, it adds credibility.
Taking advice with a grain of salt and cross-referencing it in books and reputable online sources is a prudent approach.  Furthermore, if there's lack of clarity in the advice, don't hesitate to ask questions for a better understanding.
Ultimately, evaluating whether the suggested approach is objectively effective or if there is the any objective reason why his way would be inferior becomes a key criterion in assessing the advice.


Question: list only regular files (but not directories) in current directory

Response:
There is no option to do that, but unix & linux do allow long-winded and inelegant pipelines to be turned easily into a shell script, function, or alias, and these can, in turn, be used in pipelines, just like any other program.

With zsh and Glob Qualifiers you can easily express it directly, for example: echo *(.) will either only return the list of regular files or an error depending on your configuration; for non-directories: echo *(^/) will include symlinks (including to directories), named pipes, devices, sockets, and doors; for regular files and symlinks to regular files use echo *(-.);  and for non-directories and no symlinks to directories either use echo *(-^/).

You can use: bash-4.2$ ls -F | grep -v '[/@=|], and then use grep to exclude the non-regular file characters from output and you have the files.

To list regular files only: ls -al | grep '^-'.

Another solution is: #!/bin/bash for f in * do if [ -f $f ]; then echo “$f”; fi done, or it can be done as a one liner: for f in *; do [ -f $f ] && echo “$f”; done.


Question: what is com.apple.bird? why does it grow so big?

Response:
'Bird' is a component integrated within the iCloud framework.
It's common for individuals to find that they have a substantial Bird cache if there are documents waiting to be uploaded or otherwise processed.
However, in general, the com.apple.bird cache tends to maintain a level of cleanliness, and its size is usually manageable; for example, it can be as small as 400 KB.
Despite the temptation, deleting files from the Bird cache is not recommended, as it could lead to repeated uploads or, in severe cases, data loss or errors related to iCloud documents.


Question: what does it mean when the connectivity icons in the status bar go white/gray?

Response: When the connectivity icons in the status bar turn white/gray, it indicates a lack of connection to Google's servers for sync services, as mentioned in the Android 2.3 Users Guide.


Question: need a cli to check the sha256 hash of a file

Response:
To see the available command line options for the `openssl sha` function, you should execute the command: `openssl sha -help'.
If you're using the `shasum` command instead, you can generate the SHA checksum for a file using: `shasum -a 256 <file>`.
To compare a SHA checksum with the hash of a file, use the command  shasum -a 256 -c <<<'_paste hash to compare here_ *_path to file goes here_'.


Question: what can i do when my ssh session is stuck?

Response:
If your SSH session is stuck, you just need to type 'exit' at the prompt, if that doesn't work you could try 'Shift+`+'.
Alternatively, you can terminate an SSH session by typing a tilde followed by a period at the beginning of a new line.
To be clear, you should press Enter, then the tilde key (~), and finally the period (.).
Finally, using '~.' stops an SSH connection even when it appears completely unresponsive.


Question: how do i delete a file whose name begins with - (hyphen a.k.a. dash or minus)?

Response:
One method to remove a file with the '--help' name is to use the rm command with an argument to stop parsing options by typing `rm -- --help`.
Alternatively, you can prepend `./` to the file name, effectively using the command `rm ./—help`.
Another technique involves deleting a file by searching for it by its inode number, which is unique to every file in a file system.
The `find` command can also be used with the option `-name '--help' -delete`, but it's essential to be careful as it will recurse through subdirectories unless the `-maxdepth 1` option is also included.
For a straightforward solution, you can use the Midnight Commander (mc) file manager and delete files with a simple key press.
If these methods don't work, you can use scripts like "perl -e "unlink '--help' or die 'Could not unlink.';" perl -e "rmdir '-d' or die 'Could not rmdir.';" to force deletion.
Lastly, one could use Vim to 'edit' the directory and delete the file from within the Vim interface.


Question: difference between control plane, data plane and management plane?

Response:
The Data plane is also known as the forwarding plane and refers to all the functions and processes that forward packets/frames from one interface to another, that is, from input to output.

Control plane refers to all the functions and processes that determine which path to use, and makes decisions about where traffic is sent.

Management plane is all the functions you use to configure the control plane (CLI, SNMP, etc.) and monitor devices; covering the User/Operator/Tools managing the Network Infrastructure.


Question: quotes problem in mavericks (or textedit)

Response:
In Mavericks, you can modify the settings for quotation marks by accessing System Preferences, selecting Keyboard, and then navigating to the 'Text' sub-menu to disable "Use smart quotes and dashes".
Additionally, in TextEdit, ensure that Smart Quotes is deactivated in the Edit menu under Substitutions, and also check the Preferences within TextEdit to uncheck "Smart quotes".


Question: which installed software packages use the most disk space on debian?

Response:
The most substantial packages in a Debian-based system are the LibreOffice suite and the Linux kernel, with the former being a collection rather than a single package, and each kernel installation can occupy approximately 135 MB of disk space.
When the root partition's size becomes a concern due to space constraints, it's usually more practical to consider resizing or moving to a larger partition than attempting to clear space through removing packages.


Question: how to move internal storage to sd card in samsung duos?

Response:
For Android 4.x devices, such as the Duos, you can move apps to the SD card by navigating to Settings→Apps→Manage Apps, then scrolling to the app you want to move, and tapping the "Move to SDCard" button.
However, if the button is grayed out, the app in question cannot be moved to the SD card.


Question: how can i keep my ssh sessions from freezing?

Response:
If you need to keep your connection alive for as long as it stays active in a terminal, consider using "screen" on the remote host.
For those facing issues with a hibernated laptop or unreliable network connections, "mosh" is recommended, which runs over SSH and allows automatic reconnecting.


Question: why oop is hard to learn?

Response:
For individuals new to the concept of object-oriented programming, or accustomed to procedural programming, transitioning to an object-oriented paradigm can be time-consuming and requires a lot of practice.
Newcomers to programming might find OOP challenging because of the unfamiliar concepts involved, and poor teaching or teaching OOP from the beginning without a solid foundation in basic data structures and binding/higher order functions can hinder comprehension.
Some believe that many programmers have difficulty with upfront design and planning to begin with.
Additionally, the tools used for OOP may not seamlessly facilitate the learning process.
Furthermore, tasks such as telling a window to open itself may seem unusual in an OOP context.
The disparity between the basic explanation of OOP and its real-world applications further contributes to the perceived difficulty.
Also, OOP requires the ability to think abstractly and is not a paradigm that's actually natural for modeling anything because we do not think in terms of properties and methods of real life objects.
Lastly, it can also be a question of motivation: it's harder to learn something when you don't see why, and also when you can't look at what you did and figure whether you did it right or not.


Question: why is storing passwords in version control a bad idea?

Response:
Including your password in source control essentially equates to sharing it with anyone who has access to the repository, which may include future users.
The risk of such a system potentially getting compromised should not be ignored, as this may result in password leakage.
Additionally, maintaining passwords in a system that preserves history poses a security risk, as previous versions of passwords remain accessible.
For instance, if backup systems are managed by another department, or the build process is cloud-based, this would complicate password handling.
When considering security measures, remember that storing passwords with your code in backups increases the risk of them being targeted by criminal entities, thereby amplifying potential damage from any breaches.


Question: tmux status-bar corrupted after catting a binary file, how to reset?

Response:
You may have to invoke stty sane at the command line which will reset the in-kernel TTY drivers to some set of default values that usually let you proceed.
If the TTY drivers are messed up enough, you may have to type stty sane "blind", that is, without on-screen feedback.


Question: what is ni in top?

Response: "ni" refers to the user defined priority, "Time spent running niced user processes".


Question: what should you test with unit tests?

Response:
Test-Driven Development (TDD) ensures high test coverage, generally over 90%, because no new functionality is added without first writing a failing unit test for it.
By following Test Driven Development practices, they will sort of guide you through the process and knowing what to test will come naturally.
It is advised to write tests for things you have a bad feeling in your gut or things that are very crucial and/or elementary.
Start by testing whether it does what it is designed to do.
Moreover, equivalence partitioning and boundary value analysis are fundamental techniques that enhance the quantitative aspect of testing by dividing inputs into groups that produce equivalent outcomes and testing edge cases.


Question: can you clone emv cards?

Response: Yes, they can be cloned, but not with only the information on the magnetic stripe.


Question: why is such a large ipv4 range assigned to localhost?

Response: In FC 990, the class A network number 127 is assigned the "loopback" function, that is, a datagram sent by a higher level protocol to a network 127 address should loop back inside the host; at that time, nobody really gave much thought to allocating this much space to the loopback address.


Question: was the c programming language considered a low level language when it came out?

Response:
When C was initially developed, it was considered high-level compared to assembly language, setting a relatively low bar for what constituted a high-level language at the time.
Many contemporaries of the early 1970s referred to C as a high-level language due to its modern constructs.
However, both the creator of C, Dennis Ritchie, and later authors like Kernighan and Ritchie clarified that C was not a "very high-level" language but rather a "relatively low-level" language.
When compared to higher-level languages that predated it, such as Fortran, Lisp, and Cobol, C appeared significantly lower-level, only slightly more abstract than macro assemblers used on mainframes.


Question: what is the difference between tcp and tcp6?

Response: The term "tcp6" refers to the TCP protocol being utilized over IPv6.


Question: vtdecoderxpcservice taking cpu

Response:
Quit your applications one by one and monitor the process.
Common culprits include Safari or iTunes, and it's possible to pinpoint the specific application by observing the CPU usage.
Some users have identified Photos as the trigger of this service.
In some instances, quitting iMessage (Messages) or FaceTime has resolved the issue by ending the process.
An alternative approach involves conducting a spindump via the activity monitor, leading to the discovery that Firefox, specifically when playing HTML5 videos, is responsible.
When dealing with Photos, use the "pause for one day" button within the app's iCloud tab preferences to halt the face recognition process and normalize the system's behavior.
Lastly, using the Energy tab of the Activity Monitor to spot the highest energy-consuming app is another simpler solution compared to spindumping.


Question: prepending a timestamp to each line of output from a command

Response:
Combining `date` and `xargs` is a method used to append the current date and time to each line in a batch of outputs.
Another option for adding timestamps to each line of output is to use a command line utility called `gnomon`.
However, if using Bash version greater than 4.2.0, the recommendation is to use the built-in `printf`, as it's faster compared to the `date` command.


Question: why do we use ./ (dot slash) to execute a file in linux/unix?

Response:
In Linux and UNIX, the current directory is not included in your system's PATH by default.
This is why you need to specify "./" when you want to run an executable that is in your current directory, as it tells the shell exactly where to find the executable you're attempting to run.


Question: how to transfer data from samsung duos to sd card?

Response:
For Android 4.x devices, such as the Duos, you can move apps to the SD card by navigating to Settings→Apps→Manage Apps, then scrolling to the app you want to move, and tapping the "Move to SDCard" button.
However, if the button is grayed out, the app in question cannot be moved to the SD card.


Question: why does messages on osx always show unread messages?

Response: A simple solution is to create a script that handles messages; a simple one-line can be used, such as: "tell application 'Messages' to clear unread messages.".


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

Response: An Abstract Data Type (ADT) serves as a logical description or interface, emphasizing what it does, while a Data Structure takes on a more concrete form, akin to a class.


Question: how to do i convert an animated gif to an mp4 or mv4 on the command line?

Response:
One solution using ffmpeg directly is effective: $ ffmpeg -f gif -i infile.gif outfile.mp4.

Another way to convert GIF animation to video: ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4 -crf values can go from 4 to 63, with lower values meaning better quality. -b:v is the maximum allowed bitrate.

It is important to specify -pix_fmt yuv420p lest your video might seem a black rectangle in various tools: $ ffmpeg -i animated.gif -pix_fmt yuv420p output.mp4.


Question: is there a way to convert audio files in mac os x or the command line without using itunes?

Response: For encoding audio on OS X to mpeg4 format, you can utilize the afconvert command-line interface.


Question: how to follow links in linux man pages?

Response:
For following links in Linux manual pages, w3mman, which uses the w3m command-line browser and has enhanced features such as link coloring and tabbing, is recommended.
Additionally, you can open manual pages in a web browser using the --html argument with the "man" command, which utilizes the default browser set in the $BROWSER environment variable.


Question: how can i open a text file with textwrangler from the terminal (command line)?

Response:
If you have the TextWrangler command line tools installed, you can use the 'edit' command, type edit my_text_file.txt in the terminal, to open files in TextWrangler directly from the command line.
If you downloaded from the BareBones Software site, there should be an "install command line tools" command in either the Application (TextWrangler) menu or the help menu.
Another suggestion is that using 'open' is the correct approach, but you may want to create a shell alias for simplicity and to avoid changing default editors.
A final method for editing text files is by using the TextWrangler application directly through its full path in the MacOS directory.


Question: how to install pkg file on mac command line?

Response:
The installer command is used to install Mac OS X installer packages to a specified domain or volume.

Install all .pkg files from the current folder to /Applications: for f in *.pkg ; do sudo installer -verbose -pkg "$f" -target / done, or, as an alternative, you can install the packages to your home folder with -target ~.


Question: what tiny thing in lion makes you smile or has caught you off guard?

Response:
The features people like are: merging folders in Finder; QuickTime M4A recordings; the offer to add a Gmail account if logging in on Safari for the first time; the redesigned lock screen; Autocorrect; Multi-touch swiping of page history in Safari; tmutil command line into Time Machine; Quicklook natively supports animated GIFs and previews URL content directly from Mail/iChat; Mail.app is full of smiles and animations, and you can preview webpage links (a button opens a window); unsupported hardware notices; new services for opening a New Terminal Window/Tab at Folder; you can move items in the finder by using ⌘-C to copy and ⌥-⌘-V to move; more international localizations for system Text to Speech; native support for Microsoft DFS; disconnecting an iPhone doesn't wake display; wireless Internet Sharing supports 5Ghz channels; show a message when the screen is locked; use keyboard to control Slideshow Screensaver (space bar or arrows to pause or navigate between pictures); no scrollbars; Quicklook works from the iTunes "Album Artwork" screensaver (play music by clicking on the albums); Terminal is more keyboard accessible; you can trash things in a queue whilst trash is emptying; yearless birthdays (Addressbook lets you add just month and day); hide or filter System Preferences (customise to slim down the main icon view);  improved app switcher (⌘TAB doesn't loop like crazy if you leave those keys pressed); Multitouch page turning in iCal (move between months with a 2-finger drag); use Mission Control to easily drag and drop apps from one Space to another; put a text or rich-text file in /Library/Security; Quick Look to Track Shipments from within Mail.app; Trackpad scrolling in Stickies window; Photo Booth now has an option to disable screen flash;  emails are now sorted by default by date in descending order; Mission Control supports unique backgrounds per space; Finder gives better feedback when Trash has an error; Calculate all sizes in Finder is very fast; Finder menu for video encoding / conversion to create different resolutions and sizes; Launchpad Background Wallpaper Effects; use a date in Mail.app to make a quick iCal event; removed Auto-Column Resizing; In Launchpad, holding down Option makes your icons dance or "jiggle"; Wi-Fi Diagnostics; Motion Blur in Mission Control; create user names containing dots; Terminal.app now supports 256 colors; Mail now displays custom header;  in Mission Control, you can invoke Quicklook; Authentication dialogs shake when you enter your password incorrectly; QuickLook now shows the pages of a PDF in scrollable sidebar; and Safari being two processes.
However, one user jokingly thinks Lion is a pile of poo.


Question: what is oversubscription in networking?

Response:
Oversubscription generally refers to potentially requiring more resources from a device, link, or component than are actually available.
It is the concept of providing more downstream capacity than your infrastructure can actually provide.


Question: do macbooks support nvme ssd drives via the use of a sintech adapter?

Response:
This depends entirely on the Mac model, for example, this doesn't work with MacBook Air early 2014 or Macmini late 2014.
For macOS High Sierra beta 9 and GM there is a BootRom update for ALL Macs supported by HighSierra, so that they can boot from APFS drives, which brings NVMe boot ability on every mac back to the Mac Pro 6.1 late 2013 and upwards.
This means that every Mac which has an Apple 12 + 16 PCIe connector has the ability to boot from any NVMe drive once they have been upgraded to High Sierra and updated their BootRom.
Furthermore, there is a guide on the MacRumors forum by user Cmd+Q which details how to upgrade your SSD step-by-step.


Question: is there any real reason multiple inheritance is hated?

Response:
The compiler reserves a substantial amount of memory for class data, which can lead to inefficiency and waste.
No unequivocally compelling argument exists that universally invalidates the utility of multiple inheritance.
Some languages might struggle with implementing multiple inheritance effectively.
However, multiple inheritance does not inherently pose problems in a language designed to handle it properly.


Question: how to remove unused macports packages?

Response:
To remove a MacPorts port along with its dependents, you can utilize the command "sudo port uninstall" with the "--follow-dependents" flag; however, if a port has dependents, it might require a forced uninstall using the "-f" flag.
Alternatively, the "port_cutleaves" (followed by the sudo port_cutleaves command) or "debfoster" packages or the "macportsfoster" script can help clean out your system and manage unneeded dependencies in MacPorts.


Question: is bgp a layer 3 protocol?

Response:
BGP uses a layer-4 protocol to communicate with other BGP speakers in order to do what is normally considered a layer-3 function.
The reason it's a layer 4 protocol is because BGP is on top of TCP.


Question: why is it wrong to *implement* myself a known, published, widely believed to be secure crypto algorithm?

Response:
Side-channel attacks could be a significant threat when implementing cryptographic algorithms on your own.
Crypto software might hide bugs that remain undetected even after extensive testing.
Self-implementing cryptography without a robust understanding typically leads to catastrophic weaknesses within the system.
Crypto implementation can be viable given the necessary experience and resources but remains an exceedingly daunting task.


Question: why would someone trust duckduckgo or other providers with a similar privacy policy?

Response:
DuckDuckGo declares that it does not monitor its users, refrains from using cookies by default, and does not collect personal information.
Moreover, DuckDuckGo emphasizes that they do not store any personal data and it does not require users to log in, allowing them to clear cookies and change IP addresses freely.
Users can use the platform as advertised with minimal hassle.
DuckDuckGo stands by its commitment to user privacy, and their approach to protecting privacy through technical measures such as not storing cookies or identifiable HTTP GET parameters is apparent.
The option to easily manage what data is sent to third-party sites when clicking on links is provided as a feature for those concerned about privacy on DuckDuckGo.


Question: why does my iphone send text messages back to me?

Response: If you are using iMessage it could be that a number or email in the group is somehow associated with your contact information.


Question: i cant access websites that use https, instead getting the message your connection is not private!

Response:
It seems your ISP is intercepting all traffic you send over the Internet, so query with them exactly why they need to see the details of your encrypted traffic (for example, is this a legal requirement for your country) and if you're not 100% satisfied with the response, get a new ISP.

This is a very simple technical issue: your ISP has blocked encrypted and secure HTTPS connections, and this is a request to surrender all your privacy and security to them.

Effectively, this is telling you that your ISP is reading your mail, and you can accept their certificate if you have no objection, otherwise, a good paid VPN can be a solution, if that is not being blocked as well, but it is better not to do what they say, and changing your ISP now is your best choice.

The error you're receiving is actually a common problem, and does not require you to install certificates, so, depending on your region, what they are doing may be looked at as a human rights violation under “right to private life”; all you are expected to do is make sure your systems are not compromised and you set your clock so that security certificates will work.


Question: airmon ng is not recognized?

Response: Before switching to monitor mode, it is advised to perform a command sequence that begins with "airmon-ng check kill" so that airmon ng will be recognized.


Question: what is difference between ls and find?

Response:
The command "ls -ltr file*" lists the contents of the current directory in the long listing format.
While "ls" only applies to the current working directory, "find" on the other hand applies to all files and subdirectories.


Question: how to edit etc/hosts file?

Response: To edit the etc/hosts file on a rooted device, you have the option to use ES File Explorer or other file explorers that have root access.


Question: trying to ssh to local vm ubuntu with putty

Response:
A solution to network issues with a VM running on different domain configurations, such as NAT or Bridge, is to add a second network adapter.
For direct accessibility of a host in the private network from the host network, port forwarding is also necessary.
To configure network settings in VirtualBox for Ubuntu 14.04 and Oracle VirtualBox 4.3.30, you should right-click your virtual machine, go to "Settings", then select "Network" and choose "Host-only Adapter" next to "Attached to".
For setting up network configurations in Ubuntu 18.04 and VirtualBox 5.2, create a Host Network Interface and configure the VM’s network settings to use a Host-only Adapter, specifying a static IP address if required for easier SSH access.


Question: how can i have `date` output the time from a different timezone?

Response:
When setting a timezone for a command line query, use: `TZ=America/New_York date`, remembering to include the whitespace between the TZ setting and the date command.
This adjustment to the TZ variable applies to Bourne-like and rc-like shells but in other shell environments such as csh, tcsh, or fish, the env command should be used as follows: `env TZ=America/New_York date`.
Modifying the TZ environment variable is another way to adjust the local time for a specific timezone using `TZ=":US/Eastern" date +%Y%m%d`, which will provide the local time for US/Eastern, which automatically accounts for DST changes.
To obtain the current date and time in US/Eastern timezone, you can utilize the command: `TODAY=$(TZ=":US/Eastern" date) echo $TODAY`.
In instances where it's necessary to convert a timestamp from the local timezone to a different timezone, try: `TZ=America/Curacao date -d 'Tue Nov 28 00:07:05 MSK 2016'`, where America/Curacao signifies the remote timezone and MSK represents the local timezone.


Question: generate file of a certain size?

Response:
For creating a 24MB file, one can utilize the `dd` command with parameters `dd if=/dev/zero of=output.dat bs=24M count=1`.
Another method involves using `dd if=/dev/zero of=outputfile.out bs=1024k count=24` or `mkfile 24m outputfile.out` if you are on Solaris.
Additionally, the `truncate -s 24m example.file` command effectively generates a similar file under non-embedded Linux or Cygwin, or on any system with GNU coreutils.
For cases where file content is irrelevant, use dd`fallocate -l 24M filename` provides a much quicker alternative to `dd`.


Question: macbook pro lock screen hotkey without sleeping?

Response:
You should first enable the requirement for a password after the screen saver or display sleep begins.
High Sierra and subsequent versions have introduced an Apple Menu item that uses the shortcut control+command+Q to lock the screen.
You can add the Lock Screen to your Menubar if you're using Sierra or an older version.
BetterTouchTool allows customizable keyboard shortcuts to trigger a screen lock or start the screensaver.
By using FastScripts, you can download and assign a keyboard shortcut to a script that locks your screen.
You can also download and install LockScreen.scpt and save it to ~/Library/Scripts/ , then assign the keyboard shortcut of your choice to LockScreen.scpt within FastScripts preferences.
Karabiner is another tool that can configure custom keybindings, such as a shortcut for locking your screen.
To simply put the display to sleep, the command 'pmset displaysleepnow' can be used.
High Sierra has a built-in shortcut CTRL+command+Q for screen locking.
Lastly, you can use Hot Corners to set up screen locking or sleeping actions.


Question: are design patterns frowned upon?

Response:
According to some opinions, the problem with design patterns is similar to the one with inheritance in that they are overused by developers who don't fully grasp when and how to apply them appropriately.
These patterns are often seen as workarounds for the deficiencies present in programming languages themselves.
Since good design patterns are required to cater to many possible usage scenarios, they tend to be over-engineered.
So, while design patterns are not frowned upon in Agile, experienced developers know that development is rarely sufficiently general and abstract enough to fit a pattern perfectly.
It is further advised that that design patterns are certainly not best practice for problems that they fail to solve.
On the other hand, another opinion suggests that developers are almost certainly using at least some design patterns and that design patterns can prove to be significant accelerators for mastering complexity, however both patterns and anti-patterns do no good to the developer who doesn't understand why they exist.
People use patterns every day without a problem as long as the code is logically functional, rarely crashes, and is user-friendly.
Design patterns are not antithetical to agile practices but rather what is antithetical is design patterns for the sake of using design patterns.


Question: how to connect two monitors to one thunderbolt?

Response:
To connect multiple displays to a Thunderbolt MacBook using Thunderbolt, Apple's Thunderbolt Display is known to be compatible.
There's also the option of the Matrox DualHead2Go Digital ME, which enables the connection of two external DVI displays.
Additionally, Zotac offers an adapter that can split a regular or mini DisplayPort into two HDMI ports.


Question: how can i prevent applications from running on startup?

Response:
Running task killers on Android devices is generally unnecessary as the operating system can manage applications effectively on its own.
The Android OS is proficient in handling and terminating applications without the need for third-party task killers.
Android is designed to intelligently manage resources, terminating applications to free up memory for others and restoring them when necessary.
The System Tuner free app offers a feature to disable "startup apps," which could be a better solution than using startup managers or task killers.
Android handles task management better than task killers, and using such apps could lead to increased battery consumption due to repeated killing and restarting procedures.
Rooting the phone allows for the use of additional management applications like Autorun manager, which may provide more control over app behavior.
Autostarts is an application recommended for rooted devices that provides the user with control over background processes and startup events, potentially improving phone boot speed.


Question: can uid and gid be the same?

Response:
As a general rule, the UID and GID are equal for ordinary users, but this is not always the case.
In fact, the UID is only equal to the GID by default if no separate ordinary groups are added and if no groups are explicitly specified during the creation of a user.
So, in short, they are not always the same, but can be.


Question: how do i grep for multiple patterns with pattern having a pipe character?

Response:
One approach is to use egrep or grep -E, such as egrep 'foo|bar' *.txt or grep -E "foo|bar" *.txt.
Another method involves using the egrep separate command , like grep -E -- 'foo|bar' *.txt.
If you prefer a different approach, you can use grep -F with multiple -e parameters, such as fgrep -efoo -ebar *.txt or grep -F 'foo\|bar' *.txt.
A usable option is: $> cat text some text foo another text bar end of file $> patterns="foo bar" $> grep -F "${patterns}" text foo bar.
You can try the below command to get the result: egrep 'rose.*lotus|lotus.*rose' some_file.
Another option is to utilize ripgrep, like rg "foo|bar" *.txt, or git grep, such as git grep --no-index -e foo --or -e bar.
For specific cases, like searching for patterns in a file, you can use grep -H -f ewq *.txt.
If you want to match patterns with specific characters or whitespace, you can use commands like grep 'foo\|bar' *.txt or grep -E "foo[[:blank:]]|bar[[:blank:]]".
Keep in mind that with grep -E, you don't need to escape parentheses or the pipe character, as in grep -E '(int|String) [a-zA-Z_]*date[a-zA-Z_]* ='.


Question: how to export a gpg private key and public key to a file

Response: To export a public key for SOMEKEYID on an output file, the following command should be used: gpg --output public.pgp --export SOMEKEYID; it's recommended to ensure that any file you're exporting a secret key to is encrypted.


Question: how can i edit multiple files in vim?

Response:
When using vim, you can open another file in a new tab without closing your current one by utilizing the command :tabe filename, open multiple files using vim -p file1.txt file2.txt or if vim is already open :tabe file2.txt.
You can switch between the opened files using commands like :tabn or :tabp for the next and previous files, respectively.
If you prefer using keyboard shortcuts, gT (previous tab) and gt (next tab) provide a quick way to navigate through the tabs when you're not in editing mode. ]
Alternatively, for handling multiple files, split windows are also an effective method, and tools like tmux can enhance this experience by managing windows and allowing for quick program switching within the terminal.


Question: display hidden files hot key on mavericks gone?

Response:
Use the system extension Default Folder X, which still functions effectively in 10.9 and allows for revealing hidden files through one of its advanced options.
Alternatively, in Mavericks, the keyboard shortcut ⌘⇧. is still effective for revealing hidden files.
To confirm the existence of such files in a folder, you can employ the `ls` command in Terminal.
It's advisable to check System Preferences → Keyboard → Shortcuts for any mappings to ⌘⇧.
Additionally, there's the option to assign a keyboard shortcut like ⌘ + ⇧ + . in a save dialog box, which proves to be operational, or set up AppleScripts with shortcuts to toggle hidden file visibility within Finder.
However, note that the key bindings do not work in Column view mode but are effective in List view mode, and you can switch back to Column view mode after applying the toggle to see hidden files.


Question: single keypress types repeated characters (macbook pro 2016 & 2017)

Response:
One recommended method is disabling the key repeat function through the Keyboard settings (Keyboard > Key Repeat > Off).
Additionally, applying more pressure on the keys can sometimes cause further unwanted keypresses, implying that the level of pressure applied is significant.
In cases where the problem is persistent with Apple products, the company offers a keyboard replacement or refunds for previous repairs.
There is also a utility named Unshaky written in Swift, which provides a solution by allowing custom configuration to suppress duplicate key presses, which is especially handy if a particular key like 'e' is problematic.
Another possible solution is enabling 'Slow keys' in the Accessibility settings, which can largely resolve the issue when slightly adjusted above the 'Short' threshold.


Question: why do we still use ethernet?

Response: We still use it as a means to transport IP because it is effective,  simple, cheap, robust, and plentiful.


Question: how to transfer files from mac with broken screen?

Response: The simplest thing to do is boot the Mac in target mode (hold the T key down) and connect it via Thunderbolt or Firewire to another Mac, so you can have visibility without repairing your Mac's screen; alternatively, you could just remove the drive from the Mac and use a cheap $5 USB to SATA connector to mount the volume on a Mac to enter the Filevault passphrase to decrypt the volume.


Question: coding standard for clarity: comment every line of code?

Response:
It's generally not necessary to comment on every line of code.
Commenting on every single line can result in redundancy and may obscure the code's real intentions instead of clarifying them.
Effective comments should enhance readability and understanding, particularly in cases involving complex algorithms or decisions that might not be immediately apparent.
It's essential to exercise discretion when deciding which parts of the code to comment on and to focus on documenting the implementation for future developers' understanding.
Moreover, not all code needs commentary; self-explanatory code is preferred, and if a line is complicated, it's typically a sign that refactoring might be necessary for clarity.


Question: can home and end keys be mapped when using terminal?

Response:
In Terminal, to return to the HOME position, use the control+a keys, and to reach the END position, use control+e.
To set these functions up in vim, you should go to Terminal's preferences, under Profiles and Keyboard, and add key bindings for Key: ↖ with Action: \033OH for HOME, and Key: ↗ with Action: \033OF for END.


Question: how to fix brew after osx upgrade to yosemite?

Response:
To address the Ruby version and location change on the new Mac OS X, it is recommended to edit the file found at /usr/local/Library/brew.rb by replacing "1.8" with "Current" on the first line.
For users experiencing problems with brew after attempting other solutions, a simpler approach is to completely re-install brew by first running the uninstall command provided on their official website, followed by a fresh install.


Question: image capture opens after iphone is connected

Response:
When you have your iPhone connected to iTunes, make sure to check in iPhoto's preferences and select "No Application".
Additionally, it's possible to select "Other" and then iTunes from the drop-down menu when connecting the iPhone.
If you're looking for specific preferences, you will find them in Image Capture itself.


Question: is it possible to rewrite every line of an open source project in a slightly different way, and use it in a closed source project?

Response:
The consensus of opinion is that it is not an advisable action.
Your work will clearly be derivative, even if you completely rewrite it in another language.
Rewriting something in another language may or may not be considered different from copying, depending on the context and how it's done.
Porting, which involves taking JavaScript code and rewriting it in a different language, is considered creating a derivative work.
In such instances, it's prudent to err on the side of caution and ask a lawyer.
Taking an application line by line and merely changing it slightly for the sole purpose of circumventing copyright law is blatantly creating a derived work.
Based on the GPL licensing terms, creating work that is separate from the original license is likely to be a derivative work and thus directly an infringement.
There have been cases in the US where copying a program more loosely than what you're talking about has been ruled as infringement.
Opting to open-source your port may be a strategic choice, as it can invite community engagement, which could potentially lead to a superior product.
By not allowing for open sourcing, sooner or later your code will look inferior to in comparison to an open source port.
Some bottom line advice is to directly ask the original author(s) who wrote the code for permission to use their work, as this is an ethical approach and could prevent professional reputation damage.
It is not ethical and is almost certainly illegal to use someone's work in this manner.
Lastly, jacking code is a good way to delegitimize yourself in the eyes of your peers.


Question: my boss asks me to stop writing small functions and do everything in the same loop

Response:
You might have to either adapt to their coding style or consider working under someone with a coding philosophy that aligns better with your own.
It's advised not to cluster all code into a single lengthy loop; instead, it is beneficial to modularize the code by extracting significant segments that have a single responsibility and can be reused.
Refactoring pieces of code into separate, well-named functions as opposed to using comments should be considered to enhance the clarity of your code.
Functions should have a clear, well-defined purpose and meet those objectives rather than being too small or too large.
Your boss is right because, in certain instances, a line of code can be better if it's concise and clear; however, breaking down complex logic into smaller components is generally good practice for maintaining and understanding the code.
Unit tests play a crucial role by allowing you to assess the accuracy of each function separately, something which is difficult with larger, aggregated code.
Your boss's unfamiliarity with unit testing practices may lead them to enforce coding styles that might solve short-term problems but could create long-term issues.


Question: why does argv include the program name?

Response: The command-line argument vector, or `argv`, includes the program name to enable the crafting of informative error messages.


Question: how to fix homebrew error: invalid active developer path after upgrade to os x el capitan?

Response:
One solution to an issue encountered after updating macOS to Mojave was to install Xcode directly from the App Store.
It's also possible to resolve the problem by running the install command with sudo, and in cases of modified permissions, it may be necessary to use force root with the command `sudo xcode-select --install`.


Question: does curl have a --no-check-certificate option like wget?

Response:
The answer is yes; you can use curl with the -k or --insecure option to allow operations over server connections that are considered insecure.
This function is typically used when the server's certificate does not verify successfully with the certificate store.


Question: how random number generators work?

Response:
Random number generators work by generating a number sequence that appears random.
These generators are based on a chip with a small radio measuring white noise of deep space radiation, or a small radioactive sample, and measuring periods between its decay.


Question: how can i search a specific type of file in mac?

Response:
In Finder, you can open a Find Window with cmd-f or initiate a spotlight search and select "show all", then, click the little "+" icon and choose "File Type" as a search criteria.
You can also perform wildcard searching by selecting a Kind of "Raw Query" with the kMDItemDisplayName attribute in Finder.
Another useful method is to narrow down your search using the kind: keyword.
If you prefer using the terminal, you can utilize Bash commands such as find ~ -type f -name '*pdf' or find ~ -iname '*pdf'.
Spotlight offers another method where you can press Command + Space bar, type period (.) followed by the extension of the file you're searching for.