Question: understanding the exclamation mark (!) in bash

Response:
It's part of GNU history library, and in bash is used to re-run commands in your history, where ! specifically invokes history expansion, although you can do a whole host more than just run the last command, or command number X, such as use !cat to run the last command that started with cat, or !?bash?:s/bash/csh/ to run the last command containing bash but replace it with csh.

A lot more can be done with ! such as: execute a command which was typed 3 commands before, using !-3; or execute a command that starts with !ls, and a lot more.

You can do !! to reuse the last command in bash shell, and do !$ to reuse the last part of your last command.


Question: high sierra - the path /system/installation/packages/osinstall.mpkg appears to be missing or damaged

Response:
An approach that worked for one user was to restart in recovery mode (Cmd-R), then Utilities -> Terminal find / -name OSInstall.mpkg #.
Another user found success by creating an ISO image of OS High Sierra on a USB and completing the installation from there.
A different user discovered that their problem was due to a disk space error and corrected it by freeing up space through the Terminal in recovery mode, which fixed the issue after a reboot.
The CommandOptionR key combination to initiate Internet Recovery Mode seemed to be the solution for someone else, who then reinstalled OS High Sierra.
Booting the Mac without safe mode and reinstalling an update also worked to overcome the error in several attempts.
Another solution involves going to the Apple Menu, selecting the Startup Disk, and Restart, which helped resolve the issue temporarily.
For some users, holding down the option key while starting up to select the correct startup disk from the Apple logo proved effective.
A final resolution was booting with Cmd + R to access the recovery partition and using the Startup Disk utility in the Apple menu to unlock the hard drive and reboot the system.


Question: how can i disown a running process and associate it to a new screen shell?

Response:
Utilizing the GNU screen can greatly aid in remote process management.
Alternatively, reptyr is a tool that enables the transfer of a process between terminals.
Another highly effective solution is tmux, which allows session detachment and reattachment across terminals.
Should you need to pause and then resume a process, sending STOP or CONT signals with kill can achieve this.
If you need to inject code into a running process, the tool "injcode," available on GitHub: https://github.com/ThomasHabets/injcode, can facilitate this without the need for prior setup with screen or tmux.


Question: how to transfer edited photos from iphone to computer?

Response: AirDrop or email the photo to yourself, or, if you've enabled iCloud Photo Library, download it from the Photos web app at iCloud.com.


Question: how can get a list of all scheduled cron jobs on my machine?

Response: It depends on your Linux system and how it is set up, but you can try looking in: /var/spool/cron/* (user crontabs) /etc/crontab (system-wide crontab) and also many distros have: /etc/cron.d/*.


Question: how to write out a normal tilde sign (~) in mac?

Response:
Press shift + ` (grave accent key), then space.
If your keyboard is set to "U.S. International PC layout," you might consider switching to "U.S. layout" to make this easier.
Alternatively, press alt + ¨ (diaeresis key) to achieve the same result.
On a U.S. layout keyboard, using shift + \ (backslash key) also works; this key is often adjacent to the left shift or above the enter key on MacBooks from other countries.
If you want to place a tilde accent over another character, you can find additional modified character options in the keyboard preferences accessed through the toolbar or using the Accent Menu that appears when holding down the key for the base letter.
For Finnish and other international Mac keyboard layouts, pressing Alt ^¨ (caret and diaeresis key) followed by space produces the tilde symbol.
On French, Spanish, or German Mac keyboards, typing ⌥+N and then space or n gives you the normal tilde or a tilde over an 'n', respectively.
If you use a Spanish keyboard, holding the Alt key and pressing "ñ" creates the tilde symbol.


Question: is esxi linux or unix?

Response: VMware's ESXi is based on the linux kernel.


Question: how to get execution time of a script effectively?

Response:
For a simple measurement, use the command "time yourscript.sh" when calling the script.
If you are exiting a script and wish to call times without arguments, you can use ksh or zsh, where "time" also measures wall clock time.
In the absence of the "time" command, you can use 'date +%s' to capture the start and end times to calculate the duration.
Alternatively, Python can be used to format the output to show minutes and seconds using this: "start=$(date +%s) end=$(date +%s) runtime=$(python -c "print '%u:%02u' % ((${end} - ${start})/60, (${end} - ${start})%60)")".
Tools like 'perf stat' offer detailed performance analysis, and running 'perf stat' reveals the average execution time.
The "time [any command]" syntax allows you to monitor various types of commands in a user-friendly manner.
The bash time built-in also works well for timing commands, with the option to format the output.
For more technically demanding situations requiring millisecond precision, bash can manipulate file descriptors and process substitution to achieve this without calling external programs.
Finally, there is also the "/usr/bin/time -v command" for a built-in alternative.


Question: meltdown and spectre attacks

Response:
Meltdown exploits globally present a lower barrier to implementation compared to Spectre.
Meltdown and Spectre exploit a CPU property triggered by normal programs, making it hard to distinguish malicious programs from benign ones.
Spectre, Meltdown, and Rowhammer are conceptual flaws in CPU design, and thus cannot be fully mitigated by software updates, which unfortunately tend to reduce system performance.
Spectre and Meltdown's intricacies are a testament to the complex nature of the underlying vulnerabilities, and given their complexity, expect a gradual unveiling of complete technical explanations.


Question: how do certification authorities store their private root keys?

Response:
Several security measures are taken to protect the keys and operations of certification authorities (CAs), for instance, many use sub-certificates and revocation lists to minimize the exposure of master private keys.
Physical security measures include keeping the root CA entirely offline, storing it in secure locations like safes, and using HSMs to secure the certificates.
Most legitimate CA operators employ HSMs, reflecting a standard practice in the industry.
A CA's key is securely stored in a Hardware Security Module as part of the broader security measures, which also involve strict access control procedures and video surveillance.
These CA systems may utilize high-grade HSMs like Thales devices (with 6-figure costs in £) with tamper-proof features to protect against various physical attacks and temperature, and ensure that the key generation and transportation processes are secure.


Question: how can i run a command which will survive terminal close?

Response:
To manage processes in a terminal, one can use commands like `$ nohup redshift &` or `$ redshift & disown` to prevent the process from terminating when the session ends, or when running kate & in Konsole: `nohup kate &` or screen/tmux/byobu, which will keep the shell running, independent of the terminal.
Alternatively, if the process is already running, you can suspend it with `Ctrl-Z`, bring it to the background with `bg`, and then `disown` it: $` sleep 1000 ^Z + Stopped sleep 1000 $ bg $ disown $ exit.`
Another option is to initiate the process in a new session using `setsid process`.
A script can help run commands in the background, manage their output, and ignore their exit status through `nohup`, redirecting output to `/dev/null`, and controlling the script's timeout.
The shell-only way to do all this is to close stdin and background the command: `command <&- &` prevent the process from closing with the terminal.
`Screen` is another robust tool for managing terminal sessions, allowing multiple sessions within one terminal window and the ability to detach and reattach sessions as needed (`screen -S session_name`).
To protect a specific process from being terminated when logging out, you can use `nohup -p PID` to prevent it from receiving a HUP signal.
`(applicationName &)` can ensure a smooth initiation of the background process.
A predefined script can use `screen` to run long commands and allow them to continue running after the terminal is closed: `#!/bin/bash # if screen -ls | awk '$1 ~ /^[1-9][0-9]*\.'"$1"'/' >/dev/null then echo "WARNING: session is already running (reattach with 'screen -r $1')" >&2 else exec screen -S "$1" bash -c "$@; echo; echo '--------------------'; read -p 'ALL DONE (Enter to exit):'" echo "ERROR: 'screen' is not installed on this system" >&2 fi exit 1 `.
Lastly, `reptyr` can attach an already running process to a `screen` session, permitting terminal closure without affecting the process.


Question: in a google account (sync), what is the difference between contacts and people details?

Response:
"People Details" is a new sync service that is associated with the launch of Google Play Games, which aims to create a cohesive "identity" across all Google Play services, enhancing user experience across various Google Games.
"Contacts" syncs with Google contacts, including details like email and phone number.
Meanwhile, People Details syncs user information with Google Play and Google+, such as profile pictures and Play game profiles, and is specific to Google-related information.


Question: do you get notified when someone does find my iphone?

Response: By default, no, there is no way for them to know the device is being viewed through Find My iPhone; the iPhone will only sound an alert if you press "Play sound on iPhone".


Question: best practice: ”separate ssh-key per host and user“ vs. ”one ssh-key for all hosts“

Response:
Each user needs only one key as it is associated with that user, and maintaining a single key does not diminish security as long as that key remains private.
Using separate keys for different destinations does not inherently increase security from an authentication standpoint.
Nonetheless, if the same key gets compromised, the implications are broader as it would give attackers access to everything that the key is authorized for.
Specifically, in a worst-case scenario, with the same key across all hosts, a compromised key would give access to all systems, whereas, with unique keys per host, access would be limited to the system associated with the compromised key.
As a practice, when managing human users, it is sensible to allocate a single key per user, which simplifies access revocation and security management when users leave or change roles.
Considerations for using more than three or four keys include potential problems with SSH agents handling multiple keys and scenarios such as serving different clients, where it may be prudent to have a separate key for each client relationship.


Question: have touchbar show vol up, vol down, brightness up, brightness down buttons by default

Response:
Set it to display the expanded control strip permanently.
Additionally, the default view for the Touch Bar can be changed via System Preferences to show the Expanded Control Strip.
BetterTouchTool (BTT) can be used for highly personalized customization to add various controllers, actions, and app icons and make keyboard, trackpad, and mouse customizations.
It can also be configured for intuitive adjustments, such as sliding the Touch Bar with different numbers of fingers to control various features like volume and screen brightness, providing a touch-based alternative to traditional function keys.
Moreover, the Touch Bar can be customized to show specific up and down buttons, and a time-saving shortcut exists where you can tap and drag side-to-side for immediate brightness or volume adjustments.


Question: what does the clock symbol mean on facebook messenger?

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


Question: why are the sizes of programs so large?

Response:
Graphics have evolved to be displayed at varying screen resolutions, requiring images of significantly larger dimensions and the addition of vector graphics rendering capabilities that were not necessary before.
Modern browsers are complex programs with extensive functionalities, a far cry from the simpler browsers of the past.
Users' needs are growing more sophisticated, driving software development that includes new layers of applications, additional security, and sometimes hardware upgrades.
The data within applications tends to be of higher resolution and quality today, significantly increasing their size.
Dependencies in software lead to incremental growth as third-party components add functionality—often more than is used but necessary once a single function is incorporated.
Libraries and sometimes superfluous compiled code also contribute to the increasing size of software.
In platforms like Android, more available space leads to larger app sizes, especially as developers utilize higher-resolution images and unnecessarily include third-party libraries.
Built-in libraries within applications contribute to their size, with shared libraries on platforms like Linux often reducing this footprint.


Question: are there guidelines on how many parameters a function should accept?

Response:
There's no universally agreed-upon guideline regarding the maximum number of parameters a function should take.
A high number of parameters may signal that a function is either handling more responsibilities than it should or there's an implicit object that needs to be defined.
The Parameter Object pattern is a recommended approach when dealing with functions that require multiple parameters.
To manage a function with many parameters, techniques like using args* or kwargs* in Python or object literal definition syntax in languages like JavaScript can be employed for more manageable and readable code.
Object initializers can also apply in statically typed languages, offering clarity on how objects are set up.


Question: cmd-tab behavior on mavericks with multiple displays

Response:
A method to improve user experience for those who prefer the dock on the side of their screen is to position the dock at the furthest side from the MacBook, which can be done by right clicking on the dock and choosing "Position on Screen" then selecting the appropriate side.
Another useful tip is that if the Alt+Tab interface is not appearing on the primary monitor, toggling the "Displays have separate Spaces" option within Mission Control System Preferences may solve the issue, and this action doesn't require logging out.


Question: does auto make c++ code harder to understand?

Response:
If the type of the variable is obvious, tedious to write, hard to determine–or if you explicitly want a conversion/commit to a type, or if there is no clear type, use auto, which declutters long declarations and can make code easier to understand.
However, using "auto" in coding can lead to a loss of readability and clarity, (which is not outweighed by the perceived aesthetic cleanliness or reduced typing effort) and  in the case of iterators or platform-specific types, understanding and determining the exact type becomes a significant effort, reducing code readability.


Question: is premature optimization really the root of all evil?

Response:
The answer is that it depends.
While optimizing is not inherently evil and is, in fact, a necessity, premature optimization is considered "evil" (or a "little" evil) if it leads to less clear code, significantly more code, less secure code, and wasted programmer time.
For some, about 97% of the time, premature optimization is viewed as the root of all evil.
However, some say not all early optimizations are deemed evil, but micro-optimizations are if done at the wrong time in the development life cycle.
Optimizing early is considered a sound engineering decision.
But others say that it's premature non-optimization that is more often considered the root of all evil.


Question: are commas allowed in filenames?

Response:
While it's possible to use special characters like commas in file names, it's generally discouraged because such characters might come with special meanings or implications that could complicate file operations.
The issue doesn't lie in using special characters per se, but rather in the management and handling of these characters within the system.


Question: how can i deal with the cargo-cult programming attitude?

Response:
You need to find ways to motivate your students, no student that is truly motivated is going to just go for a copy and paste solution.
This could be done by challenging them to create the shortest possible solutions to the problem and rewarding the more succinct solutions with an incentive.
Furthermore, you should instruct with personal involvement, sharing experiences and knowledge, and demand the same depth of engagement from your students.
You also need to prove to them that it is both possible and faster to start anew vs. copying and pasting.
This could be done by creating new programs before their eyes during class and setting assignments that require creativity, while also adding a factor into the grading of assignments based on conciseness, which could equate to keeping redundant code to a minimum.
For example, you should be present them with exercises that build on one another and showcase a different angle to an issue, exposing a previous solution's limitations and prompting a revised approach.
This will make them think about, analyze, modify and experiment with each solution, instead of just copy-pasting a ready-made piece of code.
As part of this you can have them take the code from previous assignments and turn it into a subroutine.
You will also want to teach them about function documentation to help them understand what the subroutine is actually doing.
When it comes to setting assignments, you should definitely avoid recycling assignments or merely giving them similar sounding ones.
However, you can craft some exercises that might look similar, but aren't, in order to show them how harmful a copy-paste attitude can be; at least to the students that fall into the trap.
Additionally, embracing collaborative problem-solving through discussion and debate would also help.
This would also show them that programming should be about solving the problem at hand and not just finding the quickest fix.
To get them thinking, you should ask them ask them detailed questions about snippets of code, before they even start coding.
Another way to encourage independent thought, would be to give them assignments where they have to explain the code that someone else wrote, or even refactor it.
As part of this they should add comments to the code, line by line if necessary, to explain it in plain English.
Then, once they have explained the code, they can move on to modifying it.
Introducing them to Test-Driven Development (TDD) from the start is another strategy.
This will drive them to actually write more code and test it, which will aid in articulating the problem that they're tackling.
Another method to help move away from the cargo-cult attitude would be to utilize an obscure programming language as to decrease the likelihood of finding pre-written code, thereby requiring them to authentically engage with the programming process.
Furthermore, consider using a very high-level language that requires a minimum of boilerplate code.
You can also streamline your teaching, by ignoring any concepts that might be counter-productive and focus on the simple idea that computers can only do a very small number of different basic operations.
Moreover, before even getting on to code, you might want to focus on abstract concepts, thus allowing for a focus on the fundamentals without intimidating students with actual code.
This could be a very hands-on activity where you are in charge of guiding them through.
By starting with abstractions and progressing towards the concrete, students are compelled to grasp foundational concepts which are resistant to copy-pasting tactics.
Also, beginning by doing assignments on paper using a pseudo code while adding structures as you see fit can also help.
Furthermore, denying Internet access during assignments executed in the classroom ensures reliance on core knowledge rather than online resources.
As an introductory exercise, before even writing any code, get your students to submit a printed out algorithm in English adding plenty of comments to it.
As part of this they should need to keep translating back and forth between English and a programming language, Java say, this increasing their understanding of code.
Another method which could reduce the intimidation of code that can lead students to resort to a copy-paste strategy is to supply them with some simple code scaffolding that they can easily build upon, which is actually quite normal in the real world of programming.
Also, providing incomplete code fragments in tutorials might compel learners to thoroughly understand each piece before assembling a functioning program.
As part of the learning process, repetition is key and will help them to eventually go from imitation to mastery, even just typing out the code can help get to a place of understanding it.
Furthermore, dedicating time with problem students to work on elementary constructs and straightforward routines may help them apprehend the essential basics and you also might consider having them learn flow charting.
To progress students through the stages of learning, choose diversified problems, and projects that develop over time, encourage peer reviews, and have them write extensive documentation on their code.
You want to build their skills to get them to a place where you can encourage them to engage in self-driven projects on topics of personal interest.
Finally, animation projects might help increase the depth of their understanding, as these require comprehension of code execution.


Question: can i get back snow-leopard-like application hiding (cmd-h) in lion?

Response: To regain Snow Leopard-like application hiding (Cmd-H) in Lion, it appears that the only effective method at the moment is to simulate it by switching to all open apps before executing the hide command.


Question: where are books stored after ibooks migration on mavericks?

Response: After migrating iBooks on Mavericks, your books are now stored within the user Library folder at the following path: ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books.


Question: is linux a unix?

Response:
Linux is not derived from Unix source code; instead, it was created from scratch, thereby differentiating itself from Unix in terms of its origins and the standards it adheres to.
However, Dennis Ritchie, one of Unix's co-creators, viewed Linux as a legitimate Unix derivative.


Question: what are good habits for designing command line arguments?

Response:
When creating software, it's important not to stray from well-established conventions unless there's a very good reason to do so, as this can lead to frustration and negative perceptions of your program.
Additionally, it's advisable to start your software development with the command line interface, designing it before the functionality to address both common and uncommon user scenarios better.


Question: how to change your date of birth on icloud?

Response: Apple support say there is no way to do this; you have to create a new account and will lose everything associated with the existing IDs.


Question: how do you prevent rogue wireless access points on a network?

Response:
Assuming the laptops are running Windows, you probably want to use a GPO to set to infrastructure mode only, and you must take measures at the PC level or users will simply be able to run NAT on their PC and bypass your network security measures.

Enforcing IPSec is also a good idea, particularly with good key management and trusted enforcement.

From a monitoring standpoint, you could run a tool like NetDisco to find switchports with more MAC addresses connected than you would expect, and WCS controlled APs (lightweight and normal) have the ability to detect and report when non-trusted SSIDs pop up and how many clients are connected to it (if the AP is in bridging mode, can you catch it with port security).

You can look at port security (you can run 802.1x on wired ports) and DHCP Snooping, which is a helpful way to guard against this type of issue.


Question: why must a crl be issued periodically?

Response: To prevent CRLs from being faked, they are secured with the CA's public key signature and include a timestamp after which the CRLs themselves expire.


Question: does a traceroute/tracert show every hop, or does it skip/hide some details of the path?

Response:
Any device that does not decrement IP TTL field value is not going to show up in the traceroute path.
It also will not show devices which decrement the TTL field, and consume the packet if TTL reaches zero, but neglect to inform the sender of this event via an ICMP datagram.


Question: should i refactor the code that is marked as dont change?

Response:
Refactoring code when there are warnings may generally not be advisable if the system is currently functioning properly.
However, when there is a need to make significant changes or additions to the codebase, you should indeed refactor the code, particularly in the parts marked with warnings.
To proceed with confidence, establishing tests is a prerequisite to refactoring.
Refactoring should be approached incrementally and should include only what's necessary to create and pass the test suites, especially for brittle modules.
There is room for improvements and fixing underlying issues in the codebase, which can be identified by warnings or comments indicating dissatisfaction with the current code or lazy problem-solving.
When adding new features or fixing bugs, employ the "boy scout principle" of improving and refactoring exactly the parts of the codebase that are being worked on.
In summary, before embarking on major refactoring, it is crucial to have solid testing in place to ensure stability and confidence in the changes made.


Question: how is mono magical?

Response:
Binfmt_misc is a mechanism that instructs the kernel on how to execute unfamiliar binary files.
It permits the dynamic management of binary types, making possible addition, removal, enabling, and disabling of binary descriptors.


Question: what does the .d stand for in directory names?

Response:
The .d suffix at the end of a directory is to mark it as a directory, and is used to avoid name clashing between the configuration file and the directory containing it.

Directories that end in .d (note these are usually only ever in /etc), take configuration parts.


Question: should ssl be terminated at a load balancer?

Response: Yes, it is suggested terminating SSL at the load balancer to offload CPU intensive jobs away from web servers, not least because the department that manages that device often also manages the networking and infrastructure.


Question: can not unlock my android device as have no internet connection?

Response:
If device credentials are rejected despite being correct due to no internet connection, an option is to try entering "null" as the password or to utilize your username without appending "@gmail.com".
Another peculiar method is repeatedly clicking the sign-in button without entering any information, subsequently inputting something random, continuing to click, and finally entering the username (excluding @gmail) and the password.


Question: what makes grep consider a file to be binary?

Response:
One user advises that grep will consider it as a binary file if there is a NUL character or non-Ascii characters anywhere in the file.
A possible workaround is to use: `cat file | tr -d '\000' | yourgrep` to eliminate all null first, and then to search through the file.


Question: how can i copy files from my mac to pc via microsoft remote desktop?

Response:
One approach to sharing data between a Mac and a PC is to utilize a Dropbox, permitting access from both machines.
Another method involves pasting to a specific file path on the network, namely \\tsclient\OSX\Users\Shared.  Alternatively, you could copy and paste the entire folder; simply mark the folder in the macOS Finder and press Cmd+C to copy it.
Then, in the Windows Explorer, in the remote Desktop, press Ctrl+V to paste it.


Question: why is fhepfcelehfcepfffacacacacacacabn a top dns query from my devices?

Response:
Google Chrome testing internet connectivity explains the unexpected behavior observed.
The domain in question translates to the string "WORKGROUP" and seems to be a NetBIOS name.


Question: what is the advantage of currying?

Response:
Currying depends on the ability to return a function and decomposes a functions with multiple arguments into nested functions of single arguments.
The advantage of currying lies in its ability to enhance the functionality of functions, allowing for more effective stacking, especially as operations become less trivial.
At its core, currying provides the essential benefit of obtaining partial application effortlessly.
It simplifies the creation of anonymous functions, offering a practical advantage in programming.
Currying also enables flexible function composition, allowing the creation of new functions from existing ones by fixing certain parameters.
It is particularly valuable in languages with only functions and lacking data types, which is important from a theoretical point of view.
When dealing with incomplete sets of arguments for a function, currying stands out as advantageous, providing flexibility in function application.
Effectively obtaining multi-argument functions and allowing limited abstraction over arity are additional benefits of currying.


Question: how do i read from /proc/$pid/mem under linux?

Response:
In Linux, one can view a $pid process's memory as it maps identically in /proc/$pid/mem and in the live process itself.
Memory files, such as those used with the 'xxd' program, permit reading at specific offsets, which can be useful for examining particular sections like the heap.


Question: why cant the fbi read the key embedded in the iphones secure chip/rom directly from hardware (silicon)?

Response:
Attempting to extract data by oneself from a device may lead to its destruction before data recovery, which is not the desired outcome.
Moreover, such an action would not serve the strategic purpose of compelling Apple to aid in decrypting the device, which would set a precedent for future similar requests.
Existing technology that could decrypt the device does not provide a scalable solution, as it is costly and unsuitable for widespread use.
Additionally, there is a considerable risk of destroying evidence, which could mean permanently losing any chance to access the key required for decryption.


Question: google play services has stopped message continually popping up on my samsung phone

Response:
To resolve issues with Google Play Services, updating it to the latest version is recommended.
Clearing the Google Play Services cache is also a useful step in fixing problems.
If necessary, uninstalling updates of Google Play Services may help.
Another approach is to go to APKMirror, get the latest Google Play Services version, and install it.
It's suggested to manage permissions via Privacy Guard, setting them to "Ask every time" or according to your needs to prevent battery drainage.
Permission adjustments in Privacy Guard for "Wake up" and "Keep Awake" functions could also influence the functionality and error messages from Google Play Services.
Lastly, uninstalling updates from the Google Play Services app might solve issues if recent updates are causing problems.


Question: does not belong to that event store?

Response: Close the Calendar app completely, then retry, or try editing the default calendar settings (Settings -> Mail, Contacts, Calendars -> Calendars.


Question: how to find out what programming language a website is built in?

Response:
There's no way to be 100% sure if you don't have access to the server, as your browser receives the end results of the code processing, so it's about guessing from file extensions, such as login.php, HTTP headers, and so on.

However, an extension such as Wapplyzer, available for Chrome and Firefox, gives information about the programming language, server, analytics tool or about CMS & Frameworks on which website is built, and there are websites that will do this processing, such as Detect CMS and web framework.

You can also search evidence on the site itself Manually, such as footers saying, “Powered by XXX”, or search on the site to see if they it will attend any conference where they could talk about the website from a technical point of view.


Question: what is the real difference between apt-get and aptitude? (how about wajig?)

Response:
Aptitude is favored for its user-friendly command-line interface.
On the other hand, using apt-get and its associated companion tools results in less memory consumption and offers slightly faster performance.


Question: what does synchronize all accounts mean in mac mail?

Response:
While Get Mail will only fetch new mail in the Inbox, synchronize will look for changes in the IMAP configuration, look for changes in the folder structure of your account, and probably a lot more.

If you make changes on one Mac, you can use Synchronize to make a second Mac aware of the changes.

Synchronize basically double counts and double checks each and every message to make sure things are 100% correct, so resolving noise/errors/lost messages, incorrect statuses, and other real life bumps and errors.


Question: how to run a command without hitting enter key?

Response:
You can create a script (.sh file) for the command you need and simply run it by double-clicking.
Alternatively, use a non-X terminal like the one accessible with CTRL+ALT+F2, log in there, and run your command.
Additionally, using the CTRL+O shortcut in a bash terminal can execute a command and cycle through your command history.


Question: why do programmers write closed source applications and then make them free?

Response:
Sharing software for free can provide a great sense of fulfillment due to the challenge, sense of accomplishment, expression of creativity and the joy it brings.
The realization that a tool or creation does not truly "live" until it is used and appreciated can be an inspiration as well.
Giving back to and participating in the community is another top reason, prioritizing the software's reach over monetary gains.
Others find that fulfilling psychological needs, such as gaining respect and self-actualization through project leadership and personal coding style, can be more satisfying than financial rewards.
Some developers find their contribution more valuable than the effort required to monetize their work through marketing, selling and collecting payments, managing technical support, handling refunds or managing taxes.
Factors like the ease of digital duplication, the abundance of free alternatives, and the public's reluctance to pay for virtual products can also deter charging for software.
There are instances when developers avoid setting up payment systems for smaller applications, because they expect minimal user acquisition.
Another reason is that applications that are clients for free services are less likely to be monetized due to existing free alternatives.
And some programmers choose to release an application for free as a way to "stick it to the man" or to prove a point against overpriced inferior products.
For some, offering initial versions of the software for free can lead to user engagement, feedback, and potential paid upgrades.
Others use free software as self-advertising, to help potential customers to see how it works, or to create a portfolio, to establish a reputation or in pursuit of career benefits.
Developers often benefit from community contributions, which can include bug fixes and features added to open-source projects, generally raising the bar for everyone.
Open-source initiatives also allow developers to focus on solving novel problems rather than reinventing the wheel.
Some believe that information wants to be free, which dovetails with the free software movement's tenet that innovation benefits from a competitive and open environment.


Question: what is quadrooter? are 900 million android devices vulnerable?

Response:
QuadRooter refers to a series of security vulnerabilities, specifically CVE-2016-2059, CVE-2016-2504, CVE-2016-2503, and CVE-2016-5340.
These vulnerabilities affect Linux/Android system software from Qualcomm and can be exploited by malicious apps to gain control over a device and access private data.


Question: how to uncompress zlib data in unix?

Response:
To decompress using the gzip module, which itsef uses zlib, try `import gzip s = '...' with gzip.open('/tmp/data', 'w') as f: f.write(s)`.
If needing to decompress with command-line arguments in Python, use a combination of glob, zlib, and sys modules in sys.argv: with open(filename, 'rb'), and run it as '$ python expander.py data/*'.
For openssl methods, a command '$ openssl zlib -d < /tmp/data or $ openssl zlib -d -in /tmp/data' can be executed.
It's also feasible to decompress with standard shell-script and gzip by adding the gzip magic number and compression method to data from zlib.compress.
Alternatively, 'zlib-flate -uncompress < IN_FILE > OUT_FILE' is a viable command available in various Linux distributions and macOS, found in the qpdf package.
OpenSSL provides commands for both compression and deflation with zlib i.e., 'openssl enc -z -none -d < /file/to/deflate'.
Using pigz, which supports zlib compression, you can uncompress with the '-d' flag: `-d --decompress --uncompress`.
The zpipe utility, available with the zlib library source, allows for decompression through decompress: `zpipe -d<raw.zlib > decompressed`.
A Perl one-liner: 'cat file.compressed | perl -e 'use Compress::Raw::Zlib;my $d=new Compress::Raw::Zlib::Inflate();my $o;undef $/;$d->inflate(<>,$o);print $o;'' is available for macOS and nicely formatted it looks like: `use Compress::Raw::Zlib; my $decompressor = new Compress::Raw::Zlib::Inflate(); my $output; undef $/; $decompressor->inflate(<>, $output); print $output;`.
Lastly, a Python3 one-liner: `python3 -c 'import sys,zlib; sys.stdout.write(zlib.decompress(sys.stdin.buffer.read()).decode())' < $COMPRESSED_FILE_PATH` is suggested as a natural choice for Linux users to decompress with zlib.


Question: change canvas size in preview.app without scaling image?

Response:
One approach is to cut and paste using the shortcuts ⌘-ALT-X and ⌘V after modifying the canvas size in the destination file.
This technique allows for transferring imagery without the image automatically snapping to the canvas edges.


Question: how hard is it to intercept sms (two-factor authentication)?

Response:
In the GSM network, there exists the possibility for SMS interception by someone within the network operator, although carrying out such an act requires sophisticated resources and significant effort.
GSM encryption provides a level of security through cryptography, but it can be challenged by various known attacks, especially the weaker encryption algorithms like A5/2 which is highly breakable, while A5/1 is stronger but still vulnerable.


Question: what do the numbers in a man page mean?

Response:
The number corresponds to the specific section of the manual from which the page comes; for instance, 1 relates to user commands, while 8 pertains to system administration tools.
Standard sections of the manual include user commands, system calls, C library functions, devices and special files, file formats and conventions, games, miscellanea, and system administration tools and daemons.
Some sections of manuals can have subsections, such as POSIX specifications indicated by 'p'.
These section numbers have a history that dates back to the original Unix Programmer's Manual by Thompson and Ritchie in 1971.
The manual sections can encompass a variety of pages, including executable programs or shell commands, system calls provided by the kernel, library calls within program libraries, special files typically found in /dev, file formats and conventions like /etc/passwd, games, miscellaneous sections including macro packages and conventions, and system administration commands usually reserved for root.
Non-standard sections include header files, network functions, Perl modules, and new manpages, among others.
According to SVr4 definitions, sections also include user commands, library functions, file formats, standards, environment and macros, games and demos, device and network interfaces, special files, maintenance procedures, and kernel and driver entry points and structures.
When referencing man pages, specifying the section number helps in precision, particularly when multiple sections contain man pages with the same name.
Man pages are organized into sections, and on the command line, different section pages can be called by using the section number to get the required information.
While the default man path or the $MANPATH environment variable predominantly lists the available sections, not all sections in the manual may be listed.


Question: what is the difference between data plane and control plane?

Response:
The data plane, also known as the forwarding plane, refers to all the functions and processes that forward packets/frames from one interface to another.
The control plane refers to all the functions and processes that determine which path to use.
Essentially, the control plane makes decisions about where traffic is sent.


Question: how to remove an icon from launchpad that does not appear in the finder?

Response:
To remove an app that appears in Launchpad while signed in as an administrator, you should start Launchpad, then click and hold an app icon until they all jiggle, and click the "x" button to initiate uninstallation.
When an app seems unresponsive or damaged, it might be necessary to have Launchpad entirely rebuilt.
Alternatively, you can right-click an app icon in the dock, choose "Show in Finder" from the options, and then move the app to Trash from Finder.
Another method is to open the Applications folder via Finder and drag the unwanted app to the Trash.
If an app has already been uninstalled but its icon persists in Launchpad showing a question mark, dragging it to the Trash can help remove it.
For apps that aren't Mac Apps, such as Chrome extensions, you can delete them through Finder using Shift+Command+H or through Chrome's settings/extensions menu.
If there is a .dmg file involved, eject and delete it from Finder, then, if needed, open it in Launchpad and drag the app with a "?" icon to the Trash.
Check the "Chrome Apps" folder in your user directory if the app appears in the Launcher but not in the Application folder.
Finally, after deleting an app using Finder, empty your trash to get rid of the question mark icon, and then you can drag it to the Trash from Launchpad.


Question: how do you turn off the try the new safari notification?

Response:
Use these three commands `defaults write com.apple.coreservices.uiagent CSUIHasSafariBeenLaunched -bool YES`, `defaults write com.apple.coreservices.uiagent CSUIRecommendSafariNextNotificationDate -date 2050-01-01T00:00:00Z`, and `defaults write com.apple.coreservices.uiagent CSUILastOSVersionWhereSafariRecommendationWasMade -float 10.99`.
It's necessary to log out and back in for the commands to take effect, and it's recommended to do so immediately to ensure the settings are retained.


Question: can i configure my linux system for more aggressive file system caching?

Response:
You can use some newer fs such as ext4 or btrfs try to change your io scheduler, or use something like systemd to preload while booting.

You can set the read-ahead size with blockdev --setra sectors /dev/sda1.

Note, too high rates can cause a crash, and this will use up to 90% of your free memory as write cache, or you can go all out and use tmpfs; tmpfs is good because it allows falling back to disk should you need the RAM.

First optimize the load-stuff-from-storage-to-cache part.

The most important setting for an SSD is slice_idle which must be set to 0-1.

A very simple and very effective approach is: echo "2000" > /proc/sys/vm/vfs_cache_pressure; decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches.

Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.

For an ext4 system, you could disable journaling entirely; to stop disk reads from triggering disk writes, mount with the relatime or the noatime option as when you read a file, the "last accessed time" metadata for that file is usually updated, and the noatime option will disable that behavior.


Question: when to use c over c++, and c++ over c?

Response:
If you are equally familiar with both C++ and C, it's advisable to opt for C++, provided that a compiler for C++ is available on your platform.
C++ allows you to code without using the elements of the language you dislike, such as classes or exceptions but also gives you the flexibility to incorporate these features in the future should you wish to.
Essentially, there's no compelling argument to choose C over C++ if a C++ compiler is accessible since C++ is fully capable of supporting C-style coding while offering the option to expand your use of its features over time.


Question: is there a way to get google calendar reminders to act like alarms?

Response:
For those who rely on Google Calendar and want effective reminders, it's recommended to check Calendar Event Reminder, which can be set to persistently notify you until you address it.
For customizing notification sounds, Android users can go to calendar settings > General Settings and select an mp3 file as the tone.
There's also a mention of a free app called Calendar Event Reminder that can be found on the Google Play Store.


Question: how do i clear the terminal history?

Response:
To clear your current session's history, use the "history -c" command.
If you want to delete your long-term history, the command "rm ~/.bash_history" will accomplish that.
Executing both "history -c" and "rm ~/.bash_history" one after the other will ensure that both your current session and long-term history are cleared.


Question: how to use windows internet on android phone through usb cable

Response:
To use Windows Internet on an Android phone, you must have more than one network connection for the sharing tab to show up.
Additionally, you should disregard your Android device's instructions and attempt to connect to the USB-Internet regardless.


Question: how to find applications path from command line?

Response:
Either use whereis or which to get the path to the installed program, for example, whereis git will give you the path to the command.

If it is in your path, then you can run either type git or which git, and if it is not in your path, then it's best to look for it with locate -b git, which will find anything named 'git'.

Alternatively, and for older systems, use the old standby find, possibly with a -print option: find / -name git -print.

The POSIX standard way to do this is command -v git.

If you happen to forget the program name, you can use apropos with a synonym or description of your utility, so apropos "version control" will find git.


Question: should images be stored in a git repository?

Response:
One viewpoint expresses that there is no significant downside, especially if the images don't change often and you don't store large quantities of them.
Additionally, should you store your images in git: this gets more tricky, but git is very good with text files, but by its very nature isn't very good with binaries.
Disk space, often cited as a reason against storing images, may not be as critical in an era where storage costs are relatively low.
One advantage of storing images in a git repository becomes apparent when managing different software versions that require changes to the images.
It provides a structured way to handle image updates, especially when dealing with multiple versions and language-specific variations.
For those inclined to include images in git, using git-lfs (Large File Storage) is recommended.


Question: what is the difference between bash_profile and profile?

Response: "bash_profile" works under Bash, while "~/.profile" works under Bourne and Korn Shell.


Question: how can i see who is connected to my hotspot?

Response:
Unfortunately, no GUI exists in iOS for finding details about connected devices to the wireless hotspot (i.e., tethered devices), although you can use a network scanner app like Net Analyzer running on your iPhone, you can see who’s connected.

Some suggest that you can go to Settings, tap on the name of your Hot spot and you'll see the names of the devices connected you can then click on the names of the connected devices to remove them once you log into your iCloud account.

It has also been claimed that you can go to Settings/Cellular/go down to the CELLULAR DATA section and click Personal Hotspot that has a Data amount next to it, and you will see a list of each device and the amount of data they have used on the hotspot.


Question: whats the quickest way to get a graphic on the clipboard saved to disk?

Response:
One method to get an image from the clipboard into a file format is using the File | New From Clipboard menu of the /Application/Preview.app.
Alternatively, you can create a new file in Preview.app with the shortcut command+n, which will automatically generate the appropriate canvas and paste it into the clipboard image.
If you prefer not to use Preview, you can use Finder to access the Edit menu and Show Clipboard option, followed by Cmd+Shift+4 to capture the desired part of the clipboard, which will save as a PNG on the desktop.
For those who prefer command line tools, pngpaste is a utility that allows pasting PNG images directly into files; it can be installed via Brew and used by typing pngpaste followed by the desired filename.
From the terminal, you can also use osascript to get an image from the clipboard, with functions available for obtaining the clipboard contents and decoding hex digits into binary.
Additionally, a script can be saved to /Library/Scripts that allow execution from the Scripts menulet in the menubar, saving captured graphics directly to a new page in a PDF document.


Question: how can i fix cannot find a valid baseurl for repo errors on centos?

Response:
You could try adding these entries to: /etc/resolv.conf: nameserver 8.8.8.8 nameserver 8.8.4.4.

Delete the contents of /etc/yum.repos.d/remi.repo and then execute # yum update.

This can be resolved by editing the /etc/yum.conf file to add the following line (change the port number if it is not 8080): proxy=http://xxx.xxx.xx.xx:8080.

You can edit the network interface, for example, using eth0 in CentOS 6.X, or in CentOS 7, use the "ensxxx" interface.

Finally, you can use the Vault repo command where everything has been moved, so in CentOS 6, do: curl https://www.getpagespeed.com/files/centos6-eol.repo --output /etc/yum.repos.d/CentOS-Base.repo.


Question: can i automatically log in to open wifi that requires web login/password?

Response: WIFI Web Login is highly effective for users needing to enter credentials like a username and password, an email, or simply to acknowledge the EULA with a checkbox.


Question: should i be worried of tracking domains on a banking website?

Response:
The embedding of third-party scripts that interact with external servers on a bank's website is deemed to be absolutely not acceptable, particularly when sensitive information is being dealt with.
Banking websites are known for not being monolithic and often involve multiple third-party systems.
Although the chance is low, it's acknowledged that third-party tracking scripts could potentially become a real threat to security by inadvertently leaking sensitive data like account balances.


Question: what is the fastest way to view images from the terminal?

Response:
If you are using Gnome and the Nautilus file manager, you can directly use eog to open images, or you can use other image programs like feh for image viewing.
For those on framebuffer-activated pure terminal environments, fbi is recommended.
Another terminal-based option is fim, which offers improvements over fbi and features vim-like controls.
If ImageMagick is installed, its display command-line tool can be used to view pictures through command lines like 'display path/to/picture.png'.
In the case of w3m's imgdisplay library, it's able to show images in specific terminal emulators, with ranger being a file browser that can utilize it for image previews.
Another approach is to run a SimpleHTTPServer through Python and view images from a browser.
On OS X, iTerm 2 supports displaying inline images, which can be convenient compared to using the Finder or Preview.app.
For Linux users, installing gnome-open allows you to open files, including images, using a simple terminal command alias.
If you prefer a very fast terminal-based viewer, cacaview is an option, especially when graphics are not enabled in the terminal, in Debian: `sudo apt-get install caca-utils`.
Terminology terminal emulator offers an easy way to view images through commands like 'tyls' or 'tycat'.
Picture-tube is a node/npm package that enables PNG file viewing in text-mode terms inside the terminal that you can install using: `-g picture-tube`.
Another terminal display option is pxl, which supports multiple image formats.
Catimg is a handy tool that supports inline image viewing as well and has Debian packages available.
If you're more comfortable with web browsers, Chrome and Firefox, both support viewing a variety of image formats from the terminal.
Imcat is a simple solution for image viewing in the terminal that needs only one C file and one header file, and it automatically scales images with quality sampling.
The kitty terminal has a feature for displaying images directly inside the terminal using the icat "kitten".
Chafa is another tool available on GitHub for image viewing in the terminal with support for different options and animated GIFs.


Question: is it possible to install android on a pc?

Response:
To experience Android on your PC, it might be more convenient to use an emulator.
There's an option like the Acer Aspire netbook which has Windows 7 and comes with Android 2.1 pre-installed.
However, for a more flexible setup, software like Bluestacks or GenyMotion can be utilized.
Additionally, there are several methods to run Android on a PC, which include the Official Android Emulator, BlueStacks, YouWave, AppSurfer, the Android-x86 Project, Windroy, and Genymotion.


Question: limit memory usage for a single linux process

Response:
To manage process resource allocation on Linux, one can utilize control groups to limit memory usage.
Specifically, by creating a control group with a command like 'cgcreate -g memory:myGroup echo 500M > /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes echo 5G > /sys/fs/cgroup/memory/myGroup/memory.memsw.limit_in_bytes', the process's memory usage can be effectively capped.
To merely limit the memory without affecting swap space, one can remove the 'memory.memsw.limit_in_bytes' line, which pertains to swap memory.


Question: how to transfer files from iphone to pc without wifi?

Response:
To transfer photos to your PC, the charging cable also doubles as a data transfer cable.
Just plug the USB end into your computer and the other end into your phone then you'll be able to transfer your files.


Question: how to add repository from shell in debian?

Response:
The add-apt-repository command, which can now be found in the software-properties-common package, simply executes a couple of commands to add the repository: append the repository to /etc/apt/sources.list and add the repository key to the machine.

If you're running a non-ancient version of Debian (Etch or later), you can just drop a file in /etc/apt/sources.list.d/.


Question: fastboot doesnt see device

Response:
To enter fastboot mode, you should first reboot the device into the bootloader by using the command `adb reboot bootloader`, and then look for the on-screen instructions to enable fastboot mode.
If you encounter a "waiting for device" error while trying to flash in fastboot mode, make sure you have the correct fastboot drivers installed; you may need to update the driver by choosing from a list of existing drivers in the device manager.
It is also recommended that if you are running Linux or OSX, you should run fastboot as root or use sudo.
Remember that ADB and fastboot require different USB drivers, so your device can be detected under ADB but remain undetected in fastboot until the appropriate driver is installed.
For Windows users, it's important to note that adb and fastboot modes recognize the same Android device as separate devices.
If you face problems with detecting the device in fastboot mode, you may need to manually update the driver while the device is connected in fastboot mode.


Question: high sierra 10.13 : keychain access menubar item missing?

Response:
Lock Screen is now available via the Apple menu, providing a way to secure your screen.
You can also set up a Hot Corner as a solution by navigating to System Preferences, then to Desktop & Screen Saver, Screen Saver, and finally Hot Corners.
Another approach involves adding an Automator app to the Scripts menu with a script that launches the Keychain Access app.
For quick access, you can use Siri by clicking the Siri button and saying "Open Keychain," which directs you to the Keychain Access.
Furthermore, you can find the Keychain Access option under the Apple menu, and there's a keyboard shortcut available to lock your screen.
Additionally, you can copy the Keychain Menulette from an older version of the Keychain Access bundle as an alternative method.


Question: how to change computer name so terminal displays it in mac os x mountain lion?

Response:
You can run sudo hostname Name-Of-My-Computer in Terminal to change the name.
After, flush the DNS cache by typing: dscacheutil -flushcache and restart your Mac.
You can also change it under System Preferences -> Sharing -> Computer Name.


Question: how to keep a big and complex software product maintainable over the years?

Response:
The essential practices to avoid code decay involve simplicity, clarity, and responsible oversight.
Maintaining a simple architecture ensures developers comprehend the system, leading to better code quality.
It's recommended to aim for low coupling and high cohesion across the project to isolate maintenance issues and enhance manageability.
Assigning architectural responsibility to a skilled individual helps maintain consistency, and instilling a culture of collective architectural ownership ensures that all developers are invested in the system's integrity.
Documentation should be clear, concise, up-to-date and accessible, aiding in understanding and tracking architectural decisions.
Code developed and successfully tested should not be modified; instead, seek to extend classes or employ suitable design patterns without altering the original working code.
Continuous refactoring, writing unit tests, and holding team discussions are crucial for identifying and rectifying potential problems early in development.
Consistently adhering to coding standards and ensuring a clean development environment also significantly reduce the risk of a cluttered codebase.
Additionally, it is important to have a knowledgeable leader and refactor while writing unit tests to manage design debt.
Leaving code cleaner than you found it, tying your version control to your bug tracker, and establishing checklist-like procedures for releases and builds further streamline the maintenance process.
Plan ahead for turnover, use the right, mainstream technologies, and maintain comprehensive documentation.
Despite pressure, avoid hacks and document design, dependencies, and architectural choices to facilitate understanding and maintenance.
Lastly, small, independent, unit-tested libraries can improve software modularity and adaptability to changing requirements.


Question: is a redirect showing the password in plain text a security vulnerability?

Response: This is definitely problematic: the interception/downgrade risk is probably somewhat high as those plaintext passwords are probably being recorded on the server.


Question: why do i hear about so many java insecurities? are other languages more secure?

Response: Java is fine and no less secure than other languages, and more secure than C or C++ because of no buffer overflows etc., but there are problems with old-school Java-Applets running within web browsers; the vulnerabilities reported are in the Java Sandbox, which attempts to enforce a privilege model that permits safe execution of untrusted code, but Java applets imply a huge attack surface whose security is very hard to ensure.


Question: my gmail is signed in through the app on ex-boyfriends phone

Response:
To safeguard your Google account and prevent unauthorized access, it's recommended to change your password as an initial step of security.
This action will result in the automatic logout of other devices where your account might be active.
Additionally, for enhanced security, visit your Google account's security permissions page, i.e., https://security.google.com/settings/security/permissions, revoke access to all items listed there, and keep track of your account activity.
If you suspect misuse of your account on an Android device you no longer possess, you can use the Android Device Manager to lock or erase the phone, thus securing your data.
Moreover, within Gmail, clicking the “Details” link in the bottom right-hand corner and "Signing Out" of all sessions can further ensure that no other sessions remain open.


Question: what are the drawbacks of python?

Response:
One significant criticism of Python is its speed, which is perceived as very slow, and nested functions that do not allow for modification of variables in the outer scope, which may be fixed in Python 3.
The threading model is also considered less performant, especially when compared to languages like Java or C, due to the Global Interpreter Lock.
Users point out the issue with Python's object-oriented design, mentioning the awkwardness of 'bolted-on' features and lack of data protection, such as private or public members, as well as it not fitting well with the message-passing paradigm of OOP.
Additionally, there are scope issues, a lack of support for multi-line anonymous functions, like lambda and lack of a simple but powerful input reading function/class.
There is a concern about Python's inability to distinguish between variable declaration and usage.
Access modifiers in Python are criticized for not being enforceable, posing challenges for writing well-structured and modularized code.
Some Python features don't align with those in statically typed object-oriented languages, such as the "self" parameter to instance methods being explicit rather than implicit.
Python is also considered abstract from hardware details, which is seen as a weakness when direct interaction with hardware is required.
Despite its expressiveness, there are complaints about the maturity of Python 3.2, specifically regarding its compatibility with certain packages.
Moreover, some feel that Python's support for anonymous functions is inadequate, and the explicit use of 'self' in classes could seem tedious.
Lastly, Python's lack of homoiconicity and late introduction of the "with" keyword is noted.


Question: use caffeinate to prevent sleep on lid close on battery

Response:
A free menubar app called Fermata was created by Github user iccir, which keeps a MacBook awake even when the lid is closed and allows setting a timeout duration.
This app has been tested on macOS Catalina Version 10.15.6 and works on both battery mode and charger mode.


Question: what causes this green background in ls output?

Response:
Black text with green background indicates that a directory is writable by others apart from the owning user and group, and has the sticky bit set (o+w, +t).
Blue text on a green background indicates that a directory is writable by others apart from the owning user and group, and does not have the sticky bit set (o+w, -t).


Question: will http redirect to https?

Response:
No, at the moment, no major browsers would redirect to HTTPS automatically.
You have to explicitly redirect the HTTP traffic to HTTPS, which involves configuring your web server with a rule that returns HTTP 301 status code and a location header beginning with https://.


Question: do alarms play through headphones?

Response: There's no native setting that will do this, but you could download a third party app to implement it.


Question: how to merge all (text) files in a directory into one?

Response:
This is what cat ("concatenate") is supposed to do, even though most people just use it for outputting files to stdout: if you give it multiple filenames it will output them all sequentially.

You can try the command $ cat * > ../merged-file.

If your files aren't in the same directory, you can use the find command before the concatenation: find /path/to/directory/ -name *.csv -print0 | xargs -0 -I file cat file > merged.file.


Question: can i connect 2 bluetooth headphones to ipad?

Response: No, you can't pair multiple Bluetooth headsets and listen through both simultaneously, though you can use a single earpiece from the same headset, or purchase a Bluetooth splitter.


Question: is it good practice to always have an autoincrement integer primary key?

Response:
Autoincremental keys are often lauded for their numerous advantages, particularly in boosting consistency on larger systems.
However, it's crucial to recognize that an auto-incremented primary key may carry limitations, being essentially meaningless outside the context of the database and its immediate clients.
Some further argue that using auto-increment fields in all tables is a bad idea, pointing out that not everybody likes or needs them, and their use depends on the table.


Question: refresh changed content of file opened in vi(m)

Response:
In Vim, you can refresh your current file using the ':edit' command without specifying a filename.
To override unsaved changes and reload the file, use ':edit!'.  Abbreviations for these commands include ':e' as a shorthand for edit and ':e!' for forcing a refresh.
An alternative to the manual refresh is to set Vim to autoread by adding ':set' autoread in your ~/.vimrc, which allows automatic reloading of unchanged files.
Additionally, check ':checktime' for related commands.


Question: cant use exclamation mark (!) in bash?

Response:
To use it you need it enclosed in single quotes (e.g., 'http://example.org/!132'), or to directly escape it with a backslash (\) before the character (e.g., "http://example.org/\!132").

You can use curl -v, thus: curl -v "http://example.org/"'!'"287s87asdjh2/somepath/someresource" or curl -v "http://example.org/"\!"287s87asdjh2/somepath/someresource".

Alternatively, use a variable, thus: E=! curl -v "http://example.org/${E}287s87asdjh2/somepath/someresource".

Since Bash 4.3, you can use double quotes to quote the history expansion character.


Question: how would you know if youve written readable and easily maintainable code?

Response:
Essentially, to know if your code is easy to maintain and read, the objects, methods and/or functions should always do one thing.
You'll also want to keep an eye on such things as meaningful names, function sizes, principles like coupling and cohesion, object design, unit testing, and successive refinement, and so on.
Furthermore, code should be easy to reuse and flexible.
One way to judge its readability is by coming back to it after six months and try and understand its purpose, if you can do so quickly then it can be considered readable.
As part of this you should turn off IDE to see if you can still read it.
However, you should get a reasonably competent person, capable of maintaining software, to have a look at it in what is known as a peer review.
Also, if they correctly understand the design, layout and intent, you've done a good job.
You can also ask them to explain what the code does to as a further test.
Alternatively, to really make sure, you could get a newer team member to have a looks and see if they can understand or even modify it to fix any defects.
In terms of maintainability, if your code follows the principles of SOLID and DRY and has a good set of unit tests around it, it is probably maintainable.
In short, if you can maintain it, its maintainable, even more so if someone else can do so without asking for your help.
Finally, you should also consider code complexity, which is closely related to readability and maintainability.
Basically, you don't want your code to be too complex and there are code complexity scoring algorithms out there, such as McCabe that can help you with this.


Question: why is bearer required before the token in authorization header in a http request?

Response:
Bearer authentication is crucial as it distinguishes the type of authorization being used.
Many web servers support multiple methods of authorization, so in those cases, sending just the token isn't sufficient.
The term 'Bearer' also determines the authentication type in HTTP requests.


Question: how do i connect two monitors to my 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: what is yum equivalent of apt-get update?

Response: The equivalent command for updating your local cache with YUM is: yum makecache.


Question: how to calculate date in linux?

Response:
For those in need of a set of portable tools to work with dates, "dateutils" is an excellent choice, offering functionalities that simplify operations like the difference between dates and addition of time periods to a specific date.
On the other hand, if a graphical interface is preferred, "qalculate" is a highly recommended calculator that specializes in unit conversions and includes functionalities to calculate the number of days between dates, as well as the difference between times.


Question: is the bbc’s advice on choosing a password sensible?

Response:
Some think it's not bad advice, although it depends on how strongly people follow it.
Like most things in security, it depends on what you're trying to protect, and who you're trying to protect it from.
It is more secure than using one dictionary words or easy number sequences, which is what most people do.
However, some people think that focusing on complexity is less important than length.
And others criticize the advice because it is easy to guess with some basic information about you; you should never choose your passwords using a scheme that involves meaningful information to you, especially since hit songs are common (it reduces the search space for attackers).
Basically, this technique is (a) overly complex, and (b) the resulting password is sub-optimal.


Question: how to make ringtones longer than 30 seconds on iphone?

Response: A custom ringtone can be up to 40 seconds, and can be custom made with iTunes.


Question: can you connect bluetooth headphones and regular headphones at the same time?

Response: No, you cannot output audio to both wired headphones and a Bluetooth audio device at the same time.


Question: where is bashs history stored?

Response: Bash maintains the list of commands internally in working memory (RAM), by default, while it's running and your session is active.


Question: where does lineageos store update files?

Response: The updates are located in the /data/lineageos_updates directory as of August 31st, 2017.


Question: why are dot underscore ._ files created, and how can i avoid them?

Response:
Dot underscore files are unavoidable as they store file information that would otherwise be part of an extended attribute on HFS+ or Unix/UFS volumes.
These files, created by operating systems, are used for speeding up searches and storing metadata among other things.
One method to reduce these files on non-HFS+ drives is by using the BlueHarvest preference pane.
Additionally, you can utilize the dot clean command to remove or merge the ._ files or they can be deleted through tools like FileZilla.
Alternatively, employing rsync during file transfer prevents the creation of ._ files.


Question: are programming certs worth it?

Response:
Certifications generally indicate that an individual was knowledgeable about a technology at a specific time.
Certified professionals can provide some advantages to their company, potentially making certification a requirement for certain job offers.
For those starting their careers, certifications tend to be more important as they can serve as proof of knowledge.
In Italy and other places, the true skills and certifications of programmers are often overlooked by employers; however, in reputable companies, certifications are a valuable part of your résumé.
A certification can also act as a testament to one's interest, showing initiative during periods of unemployment.
Studying for certifications is seen as valuable, helping to understand core basics and boosting confidence in job interviews, even if the certification itself isn't worth it.
It's suggested that if one already has the knowledge, obtaining a certification could demonstrate seriousness about one's career, albeit not necessarily competence.
Some educational courses that include certification, like those from reputable universities, could significantly strengthen a resume.
Personal experiences with certification programs show that they can be interesting and instill strong fundamental knowledge, with additional benefits if undertaken in the spirit of learning.
There is a viewpoint that certifications do not directly secure jobs but provide extensive knowledge, which is what ultimately helps in job acquisition.
Some may pay for certifications as a measure of personal progress, and certain people, such as hiring managers, might value a certificate from a recognized educational source.
In particular employment markets, such as Indian IT, certifications are influential in starting careers, and they can provide an edge against equally qualified candidates lacking certification, but note that many of good coders are not computer scientists or are school/college drop-outs, which conversely tells you that certifications are not that worthy.
Microsoft certifications can also open up opportunities for additional income like training roles and lend credibility for authoring books or providing training.
However, outside of certain partner requirements like for Microsoft Certified Partners, certifications might not be particularly beneficial.
In some prestigious software companies, certifications might be seen as a negative.
From some individuals' experiences, certification courses may seem like a waste of time and resources, emphasizing that learning itself is valuable, not the certification paper.
Certification can assist those who are not strong programmers by helping their resumes stand out in less competitive environments.
Possessing relevant qualifications could be seen as beneficial and can aid in the initial filtering process by recruiters.
In consulting or contracting, being certified can help market oneself for projects.
Finally, certifications are usually optional unless they are specifically required for a particular job.


Question: passwords being sent in clear text due to users mistake in typing it in the username field

Response:
HTTPS (encrypted HTTP using SSL) or javascript is a good way to ensure that network devices and anyone on the network can not obtain the password that was mistakenly entered into the username box.
Another option is to not allow form submission if there is not a value in the password box.
You could additionally forbid password at your password set/change mechanism from being in the form of an email address (don't accept @).
A better solution is to pre-process the logs before the analysts see them and redact information in the logs.
Or don't log invalid usernames, just failed attempts and IP.
Consider that your interface may have some flaw causing Users to enter Password in the ID field.
Some banks have a two-page login, especially in web apps.
Or if you type your password into the wrong box, an automated system causes your password to expire immediately.
You could also allow authenticating with OpenID or Gmail.


Question: when someone blocks you on iphone can you still facetime them?

Response: No, blocking a number will block it for normal calls, FaceTime and FaceTime audio.


Question: a standard tool to convert a byte-count into human kib mib etc; like du, ls1

Response: No, there is no such standard tool, but you can use numfmt.


Question: creating database connections - do it once or for each query?

Response:
Creating one connection per query or transaction is considered best practice when working with databases as it is much easier to manage "closing" the connections.
However, in striving to optimize code by reusing the connection object, you gain efficiency in the small thing at the expense of the much bigger thing and it may lead to performance issues, especially since it does not allow the ability for the ADO.Net connection pool to effectively manage the important underlying connections.


Question: where are disks in linux?

Response: Disks and partitions are listed in /proc/partitions, but this is highly platform-dependent.


Question: how do i change the font color on my desktop icons mac?

Response:
It is not possible to alter the color of the system font on OSX due to the encryption and license protection enforced by Apple's user agreement.

Unfaithful answer with Insertions
Changing the system font color is not doable, and this limitation extends to disabling full screen animation among other unique OSX graphical interface characteristics, all because of the stringent protections Apple enforces on its system graphics files.

Unfaithful answer with Substitution
Altering the system font color on OSX cannot be done; Apple's strict encryption and licensing under their user agreement prevent this, as well as modifications to other specific graphic interface features like full screen animation.


Question: how safe are password managers like lastpass?

Response:
Online password managers carry somewhat more risk, which includes the possibility that the online database could be breached in various ways and technical vulnerabilities.
Password managers create a single point of failure because all passwords are kept in one place, and it is crucial to ensure that this "basket" is well-protected.
Twelve security concerns were reported to LastPass, emphasizing the importance of assessing security risks associated with both server-side and local password manager instances.


Question: how do i change the google play country?

Response:
To update your information in Google Wallet, sign in to your account, navigate to Settings, and modify your "Home address" to the new one.
When dealing with regional restrictions on Google Play, it might be necessary to remove pre-existing cards and only use one with a billing address from the desired country.
Consider uninstalling all Google Play Store updates, as some individuals have reported resolving their country-related issues when the updates are re-applied.
Additionally, if you can't change your country due to previously setting up a Merchant account, creating a new Google account while physically in the desired country may bypass this issue.
Google recently introduced a "Country and profiles" option in account settings, which helps users switch their Play Store country if they have a valid payment method in the new country.


Question: return only the portion of a line after a matching pattern

Response:
The primary tool for text manipulation and pattern replacement is sed, which operates with commands like: `sed -n -e 's/^.*stalled: //p'`, which are designed to search and transform strings within text files.
The following sed command, utilizing groups and backreferences, swaps the sections before and after the specified match string: `sed -n -e 's/^\(.*\)\(stalled: \)\(.*\)$/\3\2\1/p'`.
Another tool, grep, like: "grep -o 'stalled.*', provides the ability to return only the matching parts of text lines through the use of specific flags like -o.
Additionally, the cut command: "grep -o 'stalled.*' | cut -f2- -d" can be employed for extracting certain parts of a text line by using delimiters to specify the fields you want to keep.
Alternatively, awk command: "awk -F"stalled" '/stalled/{print $2}'" allows for field-based text processing, utilizing patterns to search and print specified columns of text.


Question: os x terminal must have utilities

Response: Some recommended utilities are: Solarized (free) color scheme for Terminal, Ack, Visor, DTerm, iTerm2, lolcat, oh-my-zsh, Homebrew, Janus + macvim (Janus is a basic distribution of vim plugins), MacPorts, Lunchy, ProfontX, Inconsolata-dz, MTR, TotalTerminal, Autojump, Bwana, Go2Shell, bash-it, Shell functions, Boxen, the Silver Searcher, and Bropages.


Question: are in app purchases shared in family sharing?

Response: In-App purchases are not shared in Family sharing, meaning they are not included, which is clearly stated on the Apple website.


Question: how to open rar file in linux?

Response:
To work with .rar files on Linux, you have options such as installing unrar, which is not non-open source, or unar, which is and works on systems like Linux Ubuntu and Mint.
On Ubuntu or Fedora, you can also utilize the Archive Manager, a GUI tool for extracting files.
Finally, the RAR "rar e <filename>" command is available, created by the brother of the original RAR file developer.


Question: python file naming convention?

Response:
According to Python's PEP 8 style guide, module names should be concise and entirely in lowercase; if using underscores can aid in readability, they are allowed.
Packages, like modules, should have succinct, all-lowercase names, though underscores are not recommended in package names.
By convention, class names should use CapWords, which means capitalizing the first letter of each word without spaces.
Finally, for improved understanding, variable names and functions should be in lowercase with words separated by underscores.


Question: where did the notion of one return only come from?

Response:
The Single Entry, Single Exit (SESE) comes from languages with explicit resource management, like C and assembly.
It was a concept that originated with the Structured Programming revolution in the 1970s, influenced by the work of notable computer scientists like Edsger W Dijkstra, Ole Johan-Dahl, and Charles Anthony Richard Hoare.


Question: why not use which? what to use then?

Response:
The 'which' command does not consider the shell's path hash table, leading to results that might not accurately reflect the executed command.
Furthermore, it is acknowledged that 'which' is not the appropriate tool for investigating the actual command behind your aliases or functions, and commands like type or command are more suitable for such purposes.


Question: why doesnt java 8 include immutable collections?

Response:
Immutable collections require sharing to be usable, as creating a new list for every operation would be inefficient and create excessive garbage.
There cannot be an "Immutable Collection" interface, because immutability is a nature of an implementation, not a characteristic of an interface.
True immutable collections in Java would need to be final classes rather than interfaces, to ensure their immutability.


Question: how to backup an android device?

Response:
You are required to be ROOTED in order to use Titanium Backup for phone backups.
NANDROID backup is a safe image to fall back on.
There are various apps available, but many devices come with ES File Manager already installed.
If your device isn't rooted, you can use adb from the Android SDK to back up app data.
A custom recovery can be used to create a "nandroid" backup, which is essentially a 1-to-1 backup of your device.


Question: what is drown and how does it work?

Response:
Recalling Bleichenbacher's attack from the 20th century is essential to comprehend the attack.
The target server is utilized by the attacker as an oracle, taking advantage of RSA-based key exchange.


Question: how do i turn off app store notifications in mountain lion

Response:
First, you can dismiss individual notifications by clicking on the App Store update notification and swiping or dragging to the right.
Another solution is to ⌥+'click' the notifications menu icon in the top right and disable notifications from there.
If you want to block all incoming connections for the App Store, navigate to System Preferences > Security and Privacy > Firewall > Firewall Options, and select "block all incoming connections".
To stop automatic update checks, go to System Preferences > App Store and turn off "Automatically check for updates".
Additionally, you can selectively disable notifications for specific software updates by control-clicking the update inside the App Store to reveal a hidden "Hide Update" option.
For a more comprehensive approach, if you wish to disable the Notification Center permanently, open the Terminal and enter a command.
Alternatively, you can modify the Info.plist file to change the NSUserNotificationAlertStyle option to 'none'.


Question: what are alternatives for menumeters on el capitan?

Response:
iStat Menus is currently running a beta version for El Capitan, and iStat Pro Widget 4.92 is a free, though discontinued, widget solution.
Additionally, MenuMeters has been ported for use with El Capitan, accessible at http://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/.


Question: at what point does something count as security through obscurity?

Response: Security by obscurity is where you rely upon some fact which you hope is not known to an attacker, and is sometimes seen as an alternative to fixing the particular weakness at the code / source level, finding a workaround instead; a major problem with this is that once the fact is disclosed, the security scheme is rendered useless.


Question: why do we need so many classes in design patterns?

Response:
Classes improve maintainability, readability, and discoverability because they're a widely recognized convention that allows developers to encapsulate related behavior and control state.
The effort to distinguish domain behavior from other concerns, as well as to ensure that domain concepts are explicitly expressed in the model, is fundamental in Domain-Driven Design (DDD).
Similarly, by reducing dependencies among components, the complexity of understanding and maintaining the code is significantly decreased, aiding developers in managing changes more effectively without having to keep numerous interactions in mind.
The tendency of successful programs to expand in complexity highlights the importance of domain knowledge for maintainability and the challenge of adding new team members to complex projects.
Identifying relevant code sections in a larger program is critical, with smaller, well-named units enabling quicker navigation to the necessary parts for modification, thus enhancing development velocity and reducing conflicts and duplication.
Moreover, the practice of breaking down a codebase into smaller testable chunks enables more precise and efficient testing, leading to faster debugging and lower risk of merge conflicts.
It is a misconception that many classes are necessary in design patterns; the key is to strive for high cohesion and low coupling in code segmentation.
Finally, it's about finding a balance in software design; using many classes isn't a requirement but part of an evolutionary design approach where you implement what's necessary, and sometimes, less is more.


Question: how to disable command-q for quit?

Response:
One method to disable command-Q for Quit is to use a keyboard remapper, such as Keyremap4MacBook, which allows you to map the command Q key combination to a function that does nothing.
Alternatively, you can create a new shortcut within System Preferences under the Keyboard settings specifically for the application you're trying to protect from quitting; this involves assigning a different key combination for the quit command.
Another option is to utilize a tool like BetterTouchTool to set up a new shortcut or key sequence that remaps Cmd + Q to "No Action." via the "Keyboard" then "Add new shortcut or key sequence" menus.


Question: how long does the new testflight beta review process usually take?

Response:
A beta app must adhere to the full App Store Review Guidelines to be accepted for TestFlight Beta Testing, so the review timeframe should be similar to that of standard App Store submissions.
Personal experiences with the Testflight Beta review processes  range widely, from less than an hour up to three days, while the average appears to be one day to a day and a half.
While some report this average time, others have reported being approved within an hour, or even 50 minutes, and that any subsequent beta releases were approved instantly without any additional review time.


Question: why wont closing the lid sleep my macbook pro with external monitor attached after upgrading to lion?

Response:
Unfortunately, it is currently impossible to change the behavior that prevents a MacBook Pro from going into sleep mode when its lid is closed while an external monitor is attached following an update to Lion, unless you wish to make other changes or run additional scripts.
Some users attest that disconnecting the power cord before closing the lid will make the computer go into sleep mode.
There is also a workaround available which involves using a script that sends the computer to sleep if it detects that the laptop's display is inactive.


Question: what is the difference between access list and prefix list?

Response:
Both prefix lists and extended ACL's are mechanisms that facilitate network address filtering.
However, only extended ACL's are capable of filtering based on higher layer information, like TCP/UDP port information.
ACLs have applications in security measures, such as restricting remote access, which cannot be replicated by prefix lists.
ACLs have a variety of applications beyond route filtering, including traffic filtering for QoS, traffic matching for NAT, VPN use, Policy Based Routing, and more, whereas prefix lists are primarily used for route-filtering and redistribution.


Question: how can you tell if someone checks your location on iphone?

Response:
On a device using GPS, there is no direct indication that it is being tracked, as the only sign is the location services arrow on the top bar.
Users can discern what's using the GPS by checking the settings under General -> Privacy, where a purple arrow indicates current use of Find My iPhone and a grey arrow shows it was used within the past day.
Additionally, installing the Find Friends app is suggested as a less invasive method to let someone know their location is being requested.


Question: list files sorted numerically

Response:
When working with Bash, braces {} can be used to generate a sequence of items in an order, as demonstrated by using 'for file in log{1..164}.gz; do process "$file" done' to process multiple files sequentially.
An alternative approach for ordering files is to use the built-in GNU ls feature with the -v option, which naturally sorts numbers within the text with 'ls -1v log*'.
However, for situations where the input does not come from ls, one can utilize 'ls -1 | sort -n -k1.4', where the -n option applies numeric sorting, and -k 1.4 designates the sort key as starting from the fourth character of the filename.
Users of Mac or BSD systems have the option to use 'ls -1 *.jpg | sort -n'.


Question: show top five cpu consuming processes with `ps`

Response:
Use: ps aux | sort -nrk 3,3 | head -n 5; or if you want something with constant updates, use: watch watch "ps aux | sort -nrk 3,3 | head -n 5"; you can use --sort c at the end of a ps command: ps aux --sort c, or ps --sort=-pcpu | head -n 6 .

Other ps options are: $ ps -eo pcpu,args --sort=-%cpu | head; ps aux k-pcpu | head -6; ps auxk-c | head -6; ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -n 5 (get full command use args, cmd or command %cpu:).

For bare bones, type ps -e -o pid,cmd,%cpu,%mem --sort=-%cpu | head -n 6.

For Mac OS X, you can use: ps -Ao user,uid,comm,pid,pcpu,tty -r | head -n 6.

As an alternative to ps, try: top -b -n 1 | head -n 12 | tail -n 5.


Question: where does the upgrade to macos catalina move root / directory files?

Response: During the upgrade to macOS Catalina, the root directory files are relocated to /Users/Shared/Relocated Items/Security/my-cool-directory.


Question: how to check what apps are running in android 6.0?

Response:
The "Running Services" menu, where you can control various device settings, is located in the Developer options section of your device's settings.
To manage and stop apps that have been actively running in the last three hours, you should navigate through Settings to the Memory section and then select "Memory used by apps".


Question: is it completely safe to publish an ssh public key?

Response:
Some say, yes, if RSA works as designed, this should not be a security issue, and not only is it safe to publish it, it is intended to be this way; in addition, even if it is not completely safe, no mathematician currently alive or dead has published a way to factor such a large number in acceptable time.

Others say, no, it is not a good idea, as it may let attackers identify you, and there is a slight risk of revealing your identity if your public key contains your hostname as a comment at the end.

One additional concern with sharing your public key is if it was unsafely generated: RSA and Diffie Hellman keys can be backdoored, but otherwise appear perfectly normal, in which case providing your public key would give an attacker all the information they needed to derive your private key.


Question: are all macbooks 64 bit?

Response:
Macbooks can have either a 32-bit kernel or a 64-bit one depending on the OS X.
Mac OS X 10.6 Snow Leopard is the final version that supports 32-bit Intel Macs, while subsequent versions default to 64-bit.
OS X programs, on the other hand, come in universal binary and can support multiple formats, namely; PowerPC 32-bit, PowerPC 64-bit, Intel 32-bit, and Intel 64-bit.
This makes the distinction a little blurry in that, for example, you could have a an OS with 32-bit code run on a 64-bit CPU.


Question: are coding certifications worth it?

Response:
Certifications generally indicate that an individual was knowledgeable about a technology at a specific time.
Certified professionals can provide some advantages to their company, potentially making certification a requirement for certain job offers.
For those starting their careers, certifications tend to be more important as they can serve as proof of knowledge.
One programmer working in Italy states that the true skills and certifications of programmers are overlooked by employers; however, in reputable companies, certifications are a valuable part of your résumé.
A certification can also act as a testament to one's interest, showing initiative during periods of unemployment.
Studying for certifications is seen as valuable, helping to understand core basics and boosting confidence in job interviews, even if the certification itself isn't worth it.
It's suggested that if one already has the knowledge, obtaining a certification could demonstrate seriousness about one's career, albeit not necessarily competence.
According to one programmer, there are zero situations in which they'd value time spent obtaining a certification over time spent working on a project.
Some educational courses that include certification, like those from reputable universities, could significantly strengthen a resume.
Personal experiences with certification programs show that they can be interesting and instill strong fundamental knowledge, with additional benefits if undertaken in the spirit of learning.
There is a viewpoint that certifications do not directly secure jobs but provide extensive knowledge, which is what ultimately helps in job acquisition.
Some may pay for certifications as a measure of personal progress, and certain people, such as hiring managers, might value a certificate from a recognized educational source.
In particular employment markets, such as Indian IT, certifications are influential in starting careers, and they can provide an edge against equally qualified candidates lacking certification, but note that many of good coders are not computer scientists or are school/college drop-outs, which conversely tells you that certifications are not that worthy.
Microsoft certifications can also open up opportunities for additional income like training roles and lend credibility for authoring books or providing training.
However, outside of certain partner requirements like for Microsoft Certified Partners, certifications might not be particularly beneficial.
In some prestigious software companies, certifications might be seen as a negative.
From some individuals' experiences, certification courses may seem like a waste of time and resources, emphasizing that learning itself is valuable, not the certification paper.
Certification can assist those who are not strong programmers by helping their resumes stand out in less competitive environments.
Possessing relevant qualifications could be seen as beneficial and can aid in the initial filtering process by recruiters.
In consulting or contracting, being certified can help market oneself for projects.
Finally, certifications are usually optional unless they are specifically required for a particular job.