Keeping your US Phone Number

Question: Planning to move to Europe in the next year.  Is it possible for me to keep my internet phone that I have in the US with some reasonable level of service (no dropping of conversation, no delay in conversation)?
Comment: see if you can port it over to google voice.  my google voice (free) forwards to my skype account ($60/year) and i have a great connection so long as my internet is solid.
Comment: Perhaps some detail on the service you use, etc?
Comment: @MarkMayo Currently Using BroadVoice but it might be working just as well for Vonage.
Answer: What is the "internet phone" that you already have in the US?  Your question is very ambiguous, especially for someone like you who's not a newbie.
If you have a normal phone number, like a mobile phone, which is portable to any operator within the US (most mobile phone numbers are), what you could do is port it to a SIP VoIP provider like Anveo.com, where the cost of keeping a US or Canada number at the Personal Unlimited plan is only 2 USD per month, which includes unlimited number of incoming calls for personal use.  They sometime have promotions for waiving the porting fee; otherwise, it's 15 USD.  There are other providers that offer a similar service, too, like VoIP.ms and CallCentric, although they are more expensive and don't support SMS, unlike Anveo.
You can buy any hardware SIP phone, and use your SIP account from above with it, and the quality of communication should be exceptional anywhere where you can have a decent broadband connection.  You can also choose any of the unlocked SIP clients from the iOS and Android stores, but be aware that it's not likely to work over 2G, and some 3G and 4G operators appear to block it, too.
Comment: *What is the "internet phone" that you already have in the US* - See comments.  Currently with Broadvoice but could be with Vonage.
Comment: You can generally use Vonage everywhere (last I checked), apart from them giving you country-specific adapters, that is (unless that has changed).
Answer: Not all VoIP providers are international, and you'll have to check with yours. I used Skype with US number from out of country without an issue, Google Voice is another viable option. Both allow redirecting to local numbers at pretty low costs almost anywhere in Europe.
Comment: last i checked, google voice could only forward to another us number; has this changed?
Answer: There are some countries--the UAE is one--where VOIP is restricted and Vonage won't work. You need an ethernet connection for Vonage. If all you have is wireless (such as in hotel rooms nowadays) you won't be able to get Vonage to work unless you have a portable router that will work off a wireless connection into which you can plug your Vonage box.
Comment: I was specifically asking about Europe.

Keeping your US Phone Number


Static Binary in Windows

Question: I am learning more about binary exploitation on windows. But I saw while revering a binary that you can create static binaries in windows too just like in Linux. It was really ugly. if I would be on Linux, I could just use the file command to know if it is dynamic or static. but now I am in windows and do I have some way to know if the binary is static before reversing it.
Comment: You can see the imported libraries and functions via `dumpbin /imports filename` (dumpbin is included e.g. in Visual Studio Community edition). If the imports only contain Windows system DLLs you can consider the executable as static.
Comment: @luckythandel you need to be more specific. What do you consider statically linked on Windows? Using the terminology in MSVC it would be binaries using only system-DLLs or well-known DLLs (which includes `msvcrt.dll`, something compatible to the original MSVC6 runtime). The thing is that a _purely_ statically linked binary as mentioned in Igor's answer should not even work, because to the best of my knowledge anything running in the Win32 subsystem depends on initialization done by importing at the very least `kernel32.dll`. Or do you mean native executables? Then Igor's answer stands.
Answer: Unlike Linux, syscall numbers can and do change between Windows versions, so any program using raw syscalls would not run properly on a different OS release. The only officially supported API is provided by the system DLLs such as kernel32.dll, user32.dll and so on. So while fully static Windows binaries are possible, they are not practical and so are very rare.

Static Binary in Windows


How do pilots detect fuel contamination in flight?

Question: According to the Aviation Herald, an Alitalia Airbus A330-200 diverted en route "reporting fuel contamination".  How can the pilots detect fuel contamination in flight?
Comment: the engine stops working :-)
Comment: More seriously, there's some useful discussion in the comments of the page  you linked (makes a change, I know). Some combinations of ECAM problems are listed in the QRH as indicating fuel contamination.
Comment: F-35s have a method for detecting fuel contamination.  It's linked to their oxygen masks ;-)
Answer: If fuel contamination is suspected (because of engine control system fault indications, slow engine responses or rapid engine pressure ratio (EPR) fluctuations), there is an associated checklist procedure to followed which can confirm the contamination:
Fuel contamination checklist as posted by "330 skipper" at Nov 24th 2017 13:47Z on Avherald:

If ENG 1(2) CTL SYS FAULT alert triggered associated with AVOID RAPID THR CHANGES or ENG 1(2) SLOW RESPONSE, and with rapid and
  continuous EPR fluctuation indications on both engines:
  A/THR.........................................................................................................OFF
If EPR fluctuations stop on both engines: ECAM PROC..........................................................................................APPLY
  A/THR.........................................................................................KEEP
  OFF
If EPR fluctuations continue on both engines: FUEL CONTAMINATION CONFIRMED Apply condition: If fuel contamination confirmed
If ENG 1 CTL SYS FAULT and ENG 2 CTL SYS FAULT alerts triggered with AVOID RAPID THR CHANGES or ENG 1(2) SLOW RESPONSE:
  A/THR.....................................................................................................OFF
  FUEL CONTAMINATION CONFIRMED Apply condition: If fuel contamination
  confirmed
If fuel contamination confirmed: LAND ASAP

In addition, the Flight Crew Operating Manual (FCOM) has the following procedure to be followed if fuel contamination is confirmed:

Special thanks to @mins for providing the images of the procedure and the FCOM
Answer: On all larger aircraft, I think there are also magnetic detectors in the fuel lines that detect fuel contaminated by extraneous bits of metal that appear, leading to a message in the cockpit. The more common issue is a fuel imbalance warning where duplicate detectors report different fuel loads, and there are procedures and checlists for managing this situation.


Primary/Secondary button placement pattern

Question: Button placement has been a debated topic at within my UX team recently and I am for feedback or direction to research that states a solution. The problem I am trying to solve is where to place Primary and secondary buttons when both are visible on the screen. I place my primary in the bottom right corner and my secondary in the bottom left corner, separated from each other to require the user to think before pushing. In my case, the secondary button cancels the operation and i am concerned with placing it directly next to the primary action.
Comment: I found [this](https://uxplanet.org/primary-secondary-action-buttons-c16df9b36150) document very useful.
Answer: Nielsen Norman has some research on this, but they assume the buttons are paired together, not far apart.
Ok/Cancel or Cancel/Ok?
In their examples they pair the buttons together, and use 'Save' in place of okay in one of their examples. Here's an excerpt:

Both are reasonable choices, and people can argue for hours about their preferences:

Listing OK first supports the natural reading order in English and other languages that read left-to-right. Many other button sets have a natural progression (say, Yes / No or Previous / Next). You should always list these so that the reading order matches the logical order — in this case, OK / Cancel. Further, assuming users need OK much more frequently than Cancel, it's better to place this option first so that keyboard-driven users who tab to the buttons can get to their preferred choice with one less keystroke.

Listing OK last improves the flow, because the dialog box "ends" with its conclusion. Also, as with Previous/Next, you could argue that OK is the choice that moves the user forward, whereas Cancel moves the user back. Thus, OK should be in the same location as Next: on the right.

When you have more than Save/Cancel
Save / Cancel (or Cancel/Save) being a pair is quite common in most UI. What you're describing when you say a 'Secondary button' sounds more like when you have a dialog with

Saving
Canceling out: Nullifying any changes (the escape hatch)
and (sometimes): tertiary destructive actions

download bmml source – Wireframes created with Balsamiq Mockups
Answer: It's hard to say anything meaningful about placement of buttons without understanding the visual + info hierarchy, functionality of each button and overall context but I can share a couple things that might help.
I doubt there is a universal answer to your question. But I think that there are some universal truths like, if action buttons are in the same place on multiple screens your users don't have to needlessly re-learn. The other one is that you can easily test this with users. Button placement would be a really simple scenario to create and you can get quick insight from your user group that will give you better answers than you will find here.
Answer: This recently came up at my company too. Some HIPPO decided that primary buttons should be set flush right. Yet everywhere else on our site, primary buttons are flush left, with the secondary button adjacent to the right. At least that's the pattern for right-to-left languages. For Arabic and Hebrew, it's flipped.
All the sources I found agree that there should only be ONE primary button per page or modal, but they do not agree on the order. See:

https://uxplanet.org/primary-secondary-action-buttons-c16df9b36150
https://balsamiq.com/learn/articles/button-design-best-practices/

Since there is no rule, I would go with consistency here. Follow the standard placement of buttons that's already on your site; don't surprise your visitors with a novel layout.


Adding extra fields to Site Contact Form

Question: This seems strangely difficult to me. What I thought would just be a case of adding extra fields a bit like adding fields to Content Types. But no. I can't locate any facility to add say a phone number field to the Contact form? Anyone out there know?
Answer: Expecting forms fields to be configured like content types is an over-generalization. Content types are for content (text, image, etc.) of the website, and more specifically, in Drupal, for nodes (the main piece of content in Drupal). Using the Field and Field UI module, one can easily adds fields to content type using a Web UI. Except for some specific cases, a form is not part of the content of a website but rather a way for users to add and edit information, sometimes content and sometimes not.
To customize (i.e. alter) a form in Drupal, the usual way is to create a custom module that implements the hook_form_FORM_ID_alter hook. This way, you can add form elements to existing forms provided by other modules. To use the information for fields added to the contact form this way, you will also need to alter the sent mail using an implementation of hook_mail_alter(). The following guide walks you through both steps in Drupal 7. (Note also this comment)
A non-code solution is to use the Webform module that provides a form content type and let you add forms as content to your website. These forms are configurable through a Web UI. Various processing steps can be configured for the information submitted through these forms. One of them is email sending. Using it for a custom contact form is a common use case. Webform comes with its own concepts and extension points. While it may prove to be a easier and faster solution for a one time simple forms, it may also reveal to be over-sized and complex to customize once a certain features threshold has been reached. The cost to add extra-features to a webform can then outperform the gain of avoiding writing a custom module in the first place.
Answer: It depends on what module you are using for your contact form.  Some modules will provide a backend interface that requires no programming to add additional fields.  A very popular module with this functionality is Webform.
Barring that, forms in Drupal can be altered by writing a custom module using the hook_form_alter hook.  There are lots of tutorials out there on mdoule development and using this particular hook.
Answer: If your using core Contact module, hope the Contact form fields module  might get finished soon for Drupal 7.

This module allows to add additional fields to site wide contact form like the profile module interface. Admin can define the fields and those will be available on site wide contact form. Please note that these fields will not be available to personal contact form for now as I don't see any specific needs.

If you want something now: 4 options:

Use a node type and transform it into a contact form.
Use a webform.
Build a custom module
Or even better: fork/help the contact_field module! The project page has just been updated, so it's at least moving again and would, ones finished, offer a very nice way of adding fields, just like on content types.

(adding this for search bot arena ;) )
Answer: Here is a sample code which shows how to add custom fields to the sitewide contact form via the forms api: new form fields example.
Enjoy!


Is the Blu-ray/DVD question on-topic?

Question: I am looking at this question, https://movies.stackexchange.com/q/71/, and wondering if it's a good fit here. It feels more an economy subject.
Answer: I would say that it is not on-topic.  It is a question of business-models, marketing strategy, product management, technology ... very little to do with the content of Movies.
Technology does impact Movies - as resolutions go up and new technologies like 3D or all digital filming starts to impact the design of movies this is on-topic - but this cost of the disks is not.
Answer: I say it should be on-topic.
We seem to be (whether this is adviseable or not) preferring to create format specific rather than genre specific sites. (i.e: literature, movies, comic books, television).  Sci-fi is the outlier in that respect.
In my mind it makes no sense to tell someone it doesn't matter where they ask a question about a sci-fi movie's content, but that they definitely can't ask their question about the business of movies on Movies.
Comment: I think you have an argument here - its the 'business of movies', but ... I still think I fall on the 'off topic' side.  Its not a discussion about the technical merits of the format - how it aids/or damages the experience of watching a movie.  I would be happy to have questions about 3D for example - but this a question about the economics and marketing of a single format that movie's appear on.
Comment: Don't get me wrong, it's a terrible question, basically: "I assume price is a linear function of costs.  Blu-ray costs less.  Why is price higher?  Provide costs as proof."  It should be closed because it's a terrible question and not be a litmus test for people to apply too broadly about what's on topic at all really.  I VtC as NARQ but this is my objection to the other 4 votes on record here.

Is the Blu-ray/DVD question on-topic?


MtGox-Api License

Question: I want to use the data of the MtGox-API for my (commercial) website. I want to show their data as an exchange-rate, but, of course, I will link to their site and cite them as source. I couldn't find anything on their site about the usage of the API-Data for a commercial site, so... does anyone know about that?
Comment: How about contacting @magicaltux on twitter and ask them directly? MtGox owner usually answers questions.
Answer: I emailed them and the answer was:

Hello,
That is fine. We have no restrictions at the moment.
Thanks,
MtGox.com Team

So that's pretty awesome!

MtGox-Api License


Is Hashicorp's Vault suitable for personal projects as well?

Question: The Vault documentation indicates that there is a master key and that multiple keys are required to access the secrets, but does this mean that Vault is not suitable for personal projects if there is only one PC?
Answer: Vault will distribute multiple unseal keys but there's nothing to stop you from keeping all of the keys in one place for a personal project.
The one time I did it I set the keys to 3 and kept them in different physical locations along with online locations.
Answer: One thing you should know is, even though you can backup vault(consul, if you are using one as backend), you cannot restore to a new vault installation (if you loose the existing one). You can just restore to the original one.
Comment: Can you provide a citation for that ?


Mass Cane turned black after major move

Question: After moving from South Carolina to New England in February   both my Mass Cane plants turned  black. I have trimmed  it all back, cutting below the rot. I put wax on the newly  cut "stalk" to seal it. I want to repot them. Is it going to grow back or do I move on?
Answer: I had a planter given to me with a "dead" mass cane in it. This thing had been though hell and back being left in a garage for 2ish years, no light, no water. Dead plant. I wanted the planter so I took it dead plant and all with gratitude. Life got busy... so my planter and dead plant sat outside for weeks. I finally got around to removing the dead plant and voila! A whole new mass cane had decided to pop up. It's incredibly healthy and already a foot or so tall after only 2 months. These plants should never be given up on. They won't give up on you.

Mass Cane turned black after major move


Gluing joints with no clamps

Question: For my first real woodworking project, I'm trying my hand at making an end table. For the tabletop I'm using 1x6 planks with tongue and groove edges. To join the planks, I know that all they need is to be glued and held tight until it sets. However, I don't have any big clamps to hold the planks together. How can I keep the tabletop together while the glue sets without using clamps?
Comment: Have you thought about buying some pipe clamps? They are among the cheapest of the "big" clamps - $10 - $15 for the clamping hardware, plus ~$3 for the pipe. Depending on the size of your table, a couple clamps might be sufficient - and you would have them to use in future projects.
Answer: If you're using most modern glues you do need clamps*, or some substitute, here. Hide glue is the one exception since it can be used to create rubbed joints. Although some people use PVA-type glues in this way in limited circumstances hide glue is the only adhesive that you can really do this with and achieve a proper result at a large scale (that result being that the joint ends up stronger than the wood around it).
So you need 'clamp pressure' but you don't have clamps. There are two ways around this, first is to use a type of clamping board and second is to build your own wooden clamps which as you'll see below is not quite as daunting as it seems.
Clamping board
This is a jig that's like one big flat clamp, see Techniques for gluing thin panels? The tips in that Answer, as the title suggests, are primarily used for thin panels but similar methods can be used for thicker stock if needed (but they need to be made much stronger).
Make your own clamps
There are a great many versions, from simple to more elaborate, cheap to more expensive.
If you need clamps that costs the least and take little time to make this is probably the best basic design:

Original source unknown, possibly Wood magazine.
I'll also include a selection of others posted online that may be of interest:

See the notes here on clamping pressure. Whatever you build it must be quite robust as you need to exert significant pressure for a good glue joint to form — your glue lines should be invisible or nearly so. In addition to looking so much better thin glue lines are much stronger than thicker ones using most adhesives.
Some related info that you may find useful:
Not-so-obvious disadvantages of butt joints
Panel Flatness During Table Top Glue Up

*There is a school of thought here that the correct answer is you should just go buy the necessary clamps. They don't have to be expensive to work well and they will have use in the future, you can be guaranteed of that. And in case you haven't heard it yet there is a common understanding in woodworking that you can't have too many clamps :-)
These days the best kind of longer clamp on a budget is arguably the extruded aluminium sash clamp. There are many makes and apparently most are virtually identical. They're usually very affordable and in some markets sets of four, six or eight are sold at a significant discount.
Where they're commonly available pipe clamps may also be worth considering since you can buy the clamp heads and then make clamps of almost any length by buying suitable pieces of iron pipe.
Comment: Using twisted cord or ropes in a tourniquet manner can provide significant clamping force and even though it seems old fashioned they're still used widely in some applications, e.g. when assembling chair legs. While you can use them for flat things there's quite a bit of potential for the panel to be forced out of flat, so care is needed to prevent this. Pretty much the same for strap clamps, but here the maximum force that can be exerted may not be quite as high as needed — if it can squeeze out all the excess glue and give an invisible/nearly invisible glue line then it's fine. If not, no.
Comment: This is great, thanks! In googling, I've seen lots of suggestions for using tape, super glue (in addition to wood glue), or ropes/straps. Do you have opinions on those methods?
Comment: Tape is useful for small-scale bonding where you don't need much structural strength. Where you need the joint to be strong though tape is completely inadequate (with most glues). Similar comments for superglue 'tack welds', as with tape the dots of superglue mostly hold the joint in place but don't provide anything like the pressure needed.
Answer: Other clampless options include:

using pocket holes and screws (on the under side of the table) to clamp the boards together. The screws can be left in or removed once the glue dries, your preference.
Using a cleat on the underside with angled screws that pull the joint together as they are driven.
Drawbored loose tenons. See here for an example. Although this may seem like advanced joinery, the actual joint can be pretty sloppy and this will still be extremely strong. See here for some more nice things about drawboring.
Comment: @DavidK - yes, you can still use pocket screws. They probably won't hold quite as well, but you're relying for the glue to hold the joint closed permanently anyway. These'd be just for clamping the joint shut.
Comment: i'm still not seeing a cross-grain joint here, but in general I agree that screws should not be left in when joining cross grain!
Comment: The design I'm working from actually uses pocket holes, but I opted to use a tongue and groove joint instead of square boards. Can I still use the pocket holes with the tongue and groove?
Comment: Suggest an edit to your no. 2 Aaron, the screws will constrain movement so need to be withdrawn after the glue sets. (Personally, I'd have two reservations about this method for a panel assembly. I wouldn't trust that this could equal clamping force without using the same number of cleats/battens that would otherwise be clamps. Second I'd hate that after this there were screw holes in the underside of my tabletop.)
Comment: @DavidK Pocket-screw jig or not you need clamps, so to say they're well worth investing some money or time into is a bit of an understatement ;-) A version of the simplest type above are very quick to build, literally about 10-15 minutes for a pair (less if you don't care about aesthetics). So they're an excellent use of your time, and if made from 2x material they're super cheap. My first pair were made from pallet wood so they were actually free, not including the nails I used as pivots (didn't have any strong dowel at the time). So call it 2c for two 28" clamps, which ain't bad.
Comment: @Graphus is the OP talking about an edge joint? if so, there's no relative movement of individual boards, so why would the screws confine movement? also, i don't really see how pocket holes need clamps - not if you're dealing with (1) an edge joint and (2) conventional self-tapping, washer-head screws, and (3) properly counterbored pocket holes. The screws cinch things right up!
Comment: The screwed-on cleat/batten can't be left in place as it constrains *cross-grain* movement, the classic movement issue with tabletops (that so many modern designs fail to account for... including so much stuff built with an over-reliance on pocket screws).
Answer: I had an antique blanket chest, mortise and tenon construction, with loose joints. I applied hide glue and clamped the entire thing with bungee cords (I put socks under the metal hooks to prevent damage to the wood) and it worked fine. In another instance, I weighted glued items down with cement blocks.

Gluing joints with no clamps


How do I clean my knife sharpener?

Question: Pictured below is my knife sharpener. I'd like to sharpen my knives, but there's so much metal built up on the stones that it won't sharpen. How can I clean these off? Attempts with cloths and Q-tips have been unsuccessful. Here's a link to the sharpener.
Answer: According to the owners manual here, it says to

Always clean your sharpener after use. Clean with damp cloth or mild
  brush. Do not rinse with  water. Store in a drawer or cabinet.

Since you have a build-up of material that can't be removed, the manual suggests,

When the carbide blades or ceramic stones stop removing metal from the
  knife blade, they should be replaced.  Contact Smith's to purchase
  replacement blades or stones and for instructions on how to replace
  them.
Answer: I use Ajax and an old toothbrush and it gets all the blackness off the ceramic
Answer:
a) use a toothbrush and if it doesn't do the job go to "b"
b) go to an outdoor store selling mountain climbing gear. They have brushes that are more "hard" than toothbrushes. They have different sizes and the one I'm using is very narrow. I use it to clean many outdoor gear and would never part with it!
c) a pencil eraser may not do the job if it's a regular brown one. Go to a store selling office/school stuff and buy one of those old-fashioned erasers with one brown side and one blue side. the blue side is MUCH more abrasive and better suited for your needs.

So always have a mountain climbing hard brush and a blue eraser in your maintenance kit at home :)

P.S. The brush I'm using was made by FLASHED but they don't seem to do it anymore. It has two ends. One is about the same dimension as a regular toothbrush, but the brushes are way harder. the second end is very very narrow and very hard. That end would be just perfect for your needs. You could also go to an automotive store but avoid metallic brushes!!
Answer: A pencil eraser works well if you can fit one in there.

How do I clean my knife sharpener?


What does the term "recruitment of T-cell" mean?

Question: With respect to the article, what does the term "recruitment of T-cell" mean? Who recruits T- cell? Does recruiting T-cell mean the T-cells get a sense of directionality to get activated by the APC's?
Comment: Read into MHC-class molecules, and how they're processed. You have Wiki for that, but if you're interested in the evolutionary mechanisms that are very importantly in play in our modern times, check out this Biostars tutorial: https://www.biostars.org/p/5817/#95075 for some nice explanations and software examples, @CMosychuk (also relevant)
Answer: If I'm interpreting it properly, it's the adaptive response that's recruiting the T cell, evidenced by the last line in their abstract:
"Therefore, the contribution of a T cell clone to the immune response is mostly determined by the time of its entry into the immune repertoire, i.e., the time of first cell division after antigen encounter."
It's strange because when i think of recruiting a T cell it's always to the tissue or site of infection or what have you.


What is the difference between a normal processor and a processor designed for AI?

Question: What is the difference between a normal processor and a processor designed for AI?
Comment: There have indeed been very recent reports of AI-oriented processors being integrated into smartphones, such as this [Forbes article](https://www.forbes.com/sites/ewanspence/2017/09/28/samsung-galaxys9-new-leak-rumour-bixby-ai-chip-hardware/#92d08ce7859a) from 9/28/17.
Answer: Parallel processing is very important when computing ANNs. Though they are not designed for AIs, GPUs are widely used in machine learning because of their higher capability of paralel processing and it is due to their higher number of cores comparing CPUs.
All in all, the dedicated hardware should have GPU-like architecture.
Answer: Specialized AI hardware takes advantage of highly parallelizable nature of many neural network designs. GPUs are designed for pixel crunching - coincidentally very paralelisable too. This is why they often offer orders of magnitude better performance (in NN tasks) than CPUs. That being said, GPUs have shortcomings to. First, many of GPU's built in features are not utilized in neural network applications- in many cases accurate floating point operations are not necessary, data for simple calculations involved in NNs. If you remove all the unused features from GPUs and use that extra space for more compute units, you get something like Googles' https://cloud.google.com/blog/big-data/2017/05/an-in-depth-look-at-googles-first-tensor-processing-unit-tpu  TPU.
Comment: Some of the newer Nvidia GPUs have half precision operations(fp16) supported also, which allows code to use less memory, and less compute time, but as you mentioned, googles TPU still does have more compute cores because it does not need to support full precision or double precision.


AES-256 decryption after key destruction. Possible or not?

Question: Can AES-256 be decrypted if after the encryption process you destroy the key that must be used to decrypt the data, is it possible?
Comment: If someone who had the key but is now without the key could crack it, then so could someone who never had the key.
Comment: @Macil that someone who had the key but is now without the key might be able to recover it by remembering it. You could consider it a failure of the key destruction, though.
Answer: In theory, you could try to brute force the key and recover the data.  In practice, that's extraordinarily unlikely to be successful as it would be expected to take a very, very long time.
Per Wikipedia:

AES permits the use of 256-bit keys. Breaking a symmetric 256-bit key by brute force requires 2128 times more computational power than a 128-bit key. Fifty supercomputers that could check a billion billion (1018) AES keys per second (if such a device could ever be made) would, in theory, require about 3×1051 years to exhaust the 256-bit key space.

Keep in mind, the universe has existed for about 1.38×1010 years.  Supposedly, a quantum computer could reduce this substantially, but it would still be expected to take longer than the universe has existed.
Of course, you could get really lucky (like win the lottery every week for the next decade lucky) and brute force it in a year or two, but if I were you I wouldn't waste the time or effort.
Comment: Wow, thanks a lot dude. The statistics used to help the explanation made it really enjoyable to read. Big up! (Y)
Comment: this assumes the key is a truly random and uniform sequence of bytes; if it's not the math is far different.
Comment: See this [answer](https://crypto.stackexchange.com/a/1148/4747), summing up: *"even if you use all the dollars in the World (including the dollars which do not exist, such as accumulated debts) and fry the whole planet in the process, you can barely do 1/1000th of an exhaustive key search on 128-bit keys. So this will not happen."* It is said that a quantum computer with sufficient qubits—if it were to exist—would just reduce a 256 but key to a 128 bit equivalent.
Comment: @zaph, someone else edited my response to correct the paste issue I had which lost the notion of a number being to a power.
Answer: You cannot decrypt the data without knowledge of the key. However, that does not guarantee that destroying the key prevents decryption of the data:

You may have destroyed one copy of the key, but other copies of the key may exist.
The key could have been generated with a weak random number generator, reducing the number of possible keys so much that you can try them all.
The key may have been derived from other data, and an attacker may be able to repeat this process.

If the key was securely and randomly generated, and all copies of the key have been destroyed, it is considered impossible to decrypt the data based on what we know. Brute-force attacks on a 256-bit key are impossible (physically impossible, actually).
However, mathematical weaknesses in AES could be discovered in the future (or could already have been discovered and kept secret) that would make it feasible to decrypt AES-encrypted data without the key. That said, symmetric crypto algorithms (like AES) tend to hold up pretty well. DES is now over 40 years old, and no practical attacks faster than brute-force have been publicly discovered so far.


How to Install Tomcat 6.0.x administration web application?

Question: Did you install Tomcat administration web application for Tomcat 6.0.x ? When I browse http://myserver:8080/admin/, it says "Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it.", but I couldn't found where I can download it.
Answer: The Administration Web Application tools is only available until Tomcat 5.5.28. Try to download the Admin Tool and extract it. After extracting the package, copy the \apache-tomcat-5.5.28\conf\Catalina\localhost\admin.xml to $CATALINA_HOME\localhost.
Next, copy the  \apache-tomcat-5.5.28\server\webapps\admin directory to $CATALINA_HOME\server\webapps
I hope this gonna work.
Ray Arna


How do you access a website running on localhost from iPhone browser

Question: I am working on a mobile website and would like to test it using my iPhone browser. My Windows 7 machine and iPhone are on the same wireless network. How do I access localhost from the iPhone? Right now I get a 404 error.
Comment: make sure that you turned off firewall
Comment: On Another/Mobile Device on same network, visit: "http://IP_Address:PORT". The details are in the answers that follow.
Answer: Accessing localhost from the iPhone will simply do a loopback / try to connect to itself (If it supports that?).
What you need to do is find the IP of your desktop machine (e.g. If Windows, go to the Command Prompt and type ipconfig or go to Network and Sharing Centre and look up connection status.
Once you have your ip, simply visit that from your browser e.g. http://192.168.0.102.
You may need to open up port 80 (or whatever port your website is running on) in the inbound security of your firewall if you are running one.

Note: don't forget the app's port if what you want is to debug the app in
  your iPhone's browser like: http://192.168.0.102:3000. In this example 3000 is the default port used by ReactJS.
Comment: IINM, this won't work for debugging progressive web apps, which usually have service workers, since service workers require https, and that requires certificates. With Android, it forwards the ports so that you can still use localhost and so don't need the hassle of getting certificates.
Comment: "Accessing localhost from the iPhone will simply do a loopback / try to connect to itself (If it supports that?)" - Of course it supports.
Almost same answer as mine ahahahaha ;)
Comment: If testing is for wordpress then we have to change website url to `http://xxx.xxx.xxx.xxx/wordpress` in wordpress Dashboard.
Comment: Iphone, like other unix, symbian and win based devices, have the need of loopback because of some applications that connects with others over TCP/IP Loopback address. Almost all devices with network has the loopback ability.
Comment: Actually, try accessing localhost:port to an open port on your machine. It works on my setup.
Comment: on paper this sounds simple and straightforward, but for some reason doesn't work for me, despite machines being on same network and using the correct local ip. (The app is running on a mac, trying to open it on iPhone).
Comment: @Cuss As I phone has no real need for it, I didn't know if it has a hosts table type thing where they would configure localhost.

And, I should be saying your answer is the same as me!
Comment: Wil and CuSS - Thanks for your suggestions. My first attempt to access the website running in IIS on my Win7 laptop via the IP address resulted in 404. I'll check the firewall settings. Any other checks (traces) I can run to figure out the issue?
Comment: Not work if your server using virtualhost (multiple host name)
Comment: It's timing out for me: ERR_CONNECTION_TIMED_OUT. Perhaps my firewall isn't set up right?
Comment: to add on my previous comment: it depends on the app. For a Nuxt.js app like mine, for example, you need to follow this too: https://debbie.codes/blog/nuxt-configure-server-to-see-site-on-mobile/
Answer: If you are using Mac, go to System Preferences > Network and use your IP address instead of localhost. You can also use port number. In my case, I have a server running on port 1448 and I can preview 192.168.1.241:1448 using iPhone.
Comment: Hold down the Alt/Option key while clicking on the Wi-Fi menu bar item. This gives a bunch of extra information about your connection including your local IP address.
Comment: This answer is a perfect balance of comp sci geek vs visual design geek. Well done.
Comment: To access a development sandbox, I had to change the sandbox host to `0.0.0.0` instead of `localhost`. https://stackoverflow.com/a/35419631/1054633
Comment: 2018: Network Utility > Info (first tab) > IP Address (under Interface information) - it works! thnku
Comment: Not work if your server using virtualhost (multiple host name)
Comment: In my case typing the address directly on the iPhone didn't work (I tried with only the IP, with `http://` and `https://` but it wouldn't work), so I've typed the URL (with `https://`) on Chrome on my machine, and then shared the URL using the QR code (but I guess any other option would work).
Answer: you can try ngrok.io. Works on same principle as localtunnel.
Download the application for your os. and try to run like:
for linux:
./ngrok http 8000

8000 is port number your application is running on.
for windows:
 ngrok.exe http 8000

Comment: This may theoretically answer the question, but it would be best to include the essential parts of the answer here for future users, and provide the link for reference. [Link-dominated answers](//meta.stackexchange.com/questions/8231) can become invalid through [link rot](//en.wikipedia.org/wiki/Link_rot).
Comment: Thanks, I edited the answer. But it is still link dominated. However one can always google in case link is broken.
Comment: and expose vulnerability issue)
Answer: Try this:

Press Windows + R
Open cmd
Run ipconfig (Old) ifconfig (New)
Check your wireless network card IP
Go to iPhone and navigate to "http://xxx.xxx.xxx.xxx/" through your browser.
(xxx.xxx.xxx.xxx is your IP)

Note: you must set permission on your firewall settings, if any.
Answer: If you're using a Mac -

Connect your iPhone to your Mac via USB.

Go to Network Utility (cmd+space and type "network utility")

Go to the "Info" tab

Click on the drop down menu that says "Wi-Fi" and select "iPhone USB" as shown in the photo.

You'll find an IP address like "xxx.xxx.xx.xx" or similar. Open Safari browser on your iPhone and enter IP_address:port_number
Example: 169.254.72.86:3000

[NOTE: If the IP address field is blank, make sure your iPhone is connected via USB, quit Network Utility, open it again and check for the IP address.]
Warning: Network Utility is deprecated since macOS Big Sur.
Comment: when I open Network Utility it says "Network Utility is deprecated"
Comment: If you cannot see the IP address do the following: 1. switch on personal hot spot on the iPhone (being connected via USB) 2. switch off the wifi on your mac.
This way the iPhone turns to router and you will see the IP address again.
Comment: This works, but seems unnecessary since using the mac's IP address works just as well (i.e.: the IP address that you get when you're both on the same WiFi and you select Wi-Fi (en0) from the above list).
Comment: What commands should we use in the terminal?
Comment: Works like a charm. Another cool feature is that [you are able use the inspector for development.](https://medium.com/@mattcroak718/debugging-your-iphone-mobile-web-app-using-safari-development-tools-71240657c487)
Comment: yup, Network Utility has been deprecated since macOS Big Sur, using Terminal is now needed
Comment: This is the only answer that worked on my 10s, thank you so much!
Answer: If you are not on the same network you could use this third party tool called localtunnel
http://localtunnel.me/
It basically routes your content through another server and you access that.
Comment: This was already covered in [an existing answer](http://stackoverflow.com/a/19983781/1677912).
Answer: Old question. New simple answer that worked for me me.
Connect your iPhone to your computer via USB.
Open System Preferences > Sharing.
Select Internet Sharing in the left tab. This should show your internet sharing controls on the right.
If the checkbox next to Internet Sharing is enabled, uncheck it.
On the right side of your Internet Sharing options, check iPhone USB.
Enable Internet Sharing by checking its checkbox. There may be a popup that asks you to confirm this action.
Find the message near the top that says, "Computers on your local network can access your computer at: xxxx.local. Make a note of what xxxx says – this is your computer's name. You'll be typing it into your address bar, so I recommend editing it into a short word.
you should now be able to access your localhost server from xxxx.local:yyyy, where xxxx is your name from the previous step and yyyy is your server's port number.
Comment: Great updated answer, thanks. Notice yyyy is usually 3000
Comment: Make sure your webserver is listening on 0.0.0.0 instead of 127.0.0.1 or localhost, otherwise your phone won't be able to connect to it.
Answer: If you're using MAMP, key in your IP address (let's say 188.8.131.52) in your iPhone Safari browser, followed by the port number 8888 (e.g. 220.127.116.11:8888) and you will be able to see your local site in your iPhone.
And if you're using a WAMP server, again in your iPhone safari browser just key in the IP address (let's say 22.214.171.124) and that's it. But don't forget to remove the deny from all from the httpd.conf file for your WAMP server. If you look for the line allow from 127.0.0.1, above it or below of it you will see deny from all; just delete this line and restart your WAMP server and that should to the job.
Comment: Port number of MAMP is depend on your settings in 'server' tab.
Comment: I just want to add one note: If you tried and it didnt work, try to change the network to something else different, in my case, I switched to my 4G hotspot of my phone and it worked normally
Answer: If You'd Rather Type A Hostname Instead of IP Address
First Option (Quick Way):
You should be able to navigate to http://my-macbook-pro.local/mywebsite on your iPhone. See https://stackoverflow.com/a/9304094/470749
This approach tends to work because the '.local' domain is a special reserved word.
Second Option:
See http://xip.io/, which is a free service and is super convenient. No config necessary.
Then when you browse to http://mysite.app.192.168.1.130.xip.io (using a browser on your server or on any device on your LAN), it will show the page hosted at 192.168.1.130.
And if you're running Homestead on the machine that exists at that IP, browsing to http://mysite.app.192.168.1.130.xip.io:44300 (with the port in the URL) somehow shows the page hosted on the Homestead Vagrant virtual machine at 192.168.10.10. Pretty amazing.
Third Option (which doesn't depend on a service and is flexible but more complicated and only works if you have a router with DD-WRT on it):
If you have one local server hosting multiple different sites that you'd like to access via different hostnames (via iPhone), you can do this.

In your OS, change the name of your computer to something short, meaningful, and easy to remember, such as "RYANDESK".
In your DD-WRT router settings:

In Services > Services > Static Leases, set the MAC address of your server to point to a specific IP address, such as 192.168.1.108. Set its hostname to be the same as you named your computer earlier. "Client Lease Time" can be 1440 minutes.
Be sure to press Save and also Apply Settings with every change. ("Save" doesn't seem to automatically apply the settings.) If you get an error, it's probably because the GUI design of DD-WRT is misleading, and you unnecessarily pressed "Add" for Static Leases.
In DHCP Server > User Domain, choose "LAN & WAN". For "LAN Domain", set it to some short string, such as your initials without any punctuation (e.g. "xyz"). Probably avoid using the word "local" since there might be conflicts. Don't use real-world domains such as "com", "org", "net", etc.

In Services > Services > DNSMasq, enable DNSMasq and "Local DNS" and configure "Additional DNSMasq Options" to be something like: address=/project1.xyz/project2.xyz/192.168.1.108 (where xyz is whatever you chose in the earlier step, the IP points to the specific machine, and project1 and project2 are whatever hostname you want to point to each of those projects (such as different Nginx configs).
Ensure that your HOSTS file doesn't have any entries conflicting with what we've done. If you don't know what a HOSTS file is, you're probably fine.
Flush your DNS cache and release and renew your local IP. Switch into and out of Airplane Mode on iPhone to flush DNS cache there too.
Now you can browse to http://ryandesk.xyz in your iPhone (or in your desktop browser), and it will resolve to your local server. So hopefully you've set up your Nginx or Apache or whatever to be listening for that hostname.
https://wiseindy.com/it/how-to-access-your-pcs-using-dns-names-with-dd-wrt/
http://www.howtogeek.com/69696/how-to-access-your-machines-using-dns-names-with-dd-wrt/
Answer: WebpackDevServer localhost from iphone
If you are using an app which is running on node. you can use webpack as a build tool and use their built in devserver
You can use webpackdevserver to start your application from a localhost server and then pass in your localhost address and port of your choice.
webpack-dev-server --host 192.168.0.89 --port 3000

then from your iPhone you can access it using
http://192.168.2.89:3000

Note :: Your laptop and iPhone should be on the same network, and you should use your localhost ip address.
For Mac how to find ip address you can refer Get local IP address in node.js
Answer: For Mac users, open up the Network Utility (You can find this by typing cmd + space which will open spotlight and then in spotlight start typing Network Utility). Select Network Utility, when it's open, your IP address will be found next to the label IP Address. So basically with the IP, you can get into any open ports on your local mac e.g. if your website is running locally on localhost:3000 and your ip address is 220.127.116.11 then from your phone you can get the website simply by typing 126.96.36.199:3000 into a browser.
PS- This only works if both phone and computer are on the same network
Comment: when I open Network Utility it says  "Network Utility is deprecated"
Comment: This worked great. In Network Utility I selected Wi-Fi instead of the default Ethernet and then my address was 10.0.1.3. On my Mac I had a program running at localhost:3004, so on the iPad I typed 10.0.1.3:3004 and I was able to view the site running locally on my Mac. For more complex cases with subdomains, such as demo.mysite.local:3004, I had success with DNSMasq, but it is a more complicated process.
Comment: Go to System Preferences > Network > Wifi,   IP address will be shown on the right side Wifi details.
Answer: If you are using mac (OSX) :
On you mac:

Open Terminal
run "ifconfig"
Find the line with the ip adress "192.xx.x.x"

If you are testing your website with the address : "localhost:8888/mywebsite" (it depends on your MAMP configurations)
On your phone :

Open your browser (e.g Safari)
Enter the URL 192.xxx.x.x:8888/mywebsite

Note : you have to be connected on the same network (wifi)
Answer: For those of you that are using the correct IP address and you STILL aren't able to connect to the local server, one other thing to check is that you or your coworker didn't configure the device to use a proxy server.
I had one device that wouldn't connect, and it turned out that the device was configured to use Charles Proxy, which of course wasn't running.
Answer: You can use ip of computer instead http://localhost.
But it may be not accessible. You must edit the httpd.conf (or equivalent configuration file) of your server software. I do not have php installed right now but you can search with keyword: "Allow from or /Directory"
Note: IP of the PC where XAMPP is running should be a static IP(not assigned by DHCP), otherwise you have to check it manually every time you restart the PC.
Answer: I wanted to accomplish the same thing as the original request, and looked for an answer here, and turned off every firewall and virusprotection to no avail.
Then, I found the following statment regarding IIS express in the microsoft documentation:
"IIS express does not serve requests to a browser on another computer, making its approval easier in corporate environments".
Bottom line - you will have to install IIS (not the delivered IIS express) to get your project to be seen outside your computer.
Source:
http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx
Hope this is helpfull to other people that are going nuts turning off every security feature on their computer.
Answer: WIth WAMP:
1) you should click on WAMP icon>Put Online (wait till re-started).
2) Then (if you are WiFi on Iphone on same network), open your IP in iPhone browser
i.e. http://192.168.1.22 OR http://184.108.40.206
To find your local IP's:
a) click Start>Run>cmd and type ipconfig ,then you will see there.
OR
 b) click the blue arrow and "lease new ip".
p.s. That's all. now you can access (open) localhost from Android or iPhone
Answer: Find your system's IP address and on what port you are running the website.
Say your IP address is 121.300.00.250 and your port is 8080.
[Port number: see your web browser while running the page eg: localhost:8080/...  then the port number is 8080]
Now in your mobile go to 121.300.00.250:8080/.. and you'll find your website.
IMPORTANT: You have to make sure that your server (e.g Apache Tomcat) is in started condition
Answer: Local server machine: Linux
Accessing machine: iPad 13.5.1
I learned that the local server's host IP needs to be set to 0.0.0.0 for other machines to access it. To check, run sudo netstat -anp and look for your local server port. I found that it was running on 127.0.0.1 or localhost so other machines weren't able to access it. I changed my app configurations to run on host IP 0.0.0.0. I then used the <internetIP>:<port> to access the local server, and it worked
Answer: If you are working on a php project you can change the base href:
<base href="<?php echo str_replace("localhost","192.x.x.x",HTTPS_SERVER);?>">

localhost or 127.0.0.1: depending on your settings
192.x.x.x : your local ip address
HTTPS_SERVER: the previous base href

Doing that is essential to load images, css and js files on your phone.
Answer: If you go the route of going into your Network Settings and getting Wi-Fi IP address such as xxx.xxx.x.xxx:9000 (:9000 or whichever port is open), make sure your mobile device is also on that same Wi-Fi/signal IP address. I spent a day trying to get this to work and it didn't work until i switched my phone off the cellular network to the same Wi-Fi connection/IP address. Opened right up once I made this update.
Comment: Switching off mobile data made all the difference for me.  Thanks!
Answer:
Firstly, your have to confirm that you also access server api via your mac ip on mac browser.
If not, make sure your server allow do that instead of just localhost (127.0.0.1) by runing your server on 0.0.0.0
Go to safari on iphone and make a get request by api your server serve: ex http://0.0.0.0/st. Safari auto redirect to server your mac runing (at your mac ip)
If you want to make request on your iphone app. It shoud be repalce requet 0.0.0.0 by [your mac/server ip]
Answer: Have a look at this answer, it discusses internally routing HTTP through direct Objective-C calls to an HTTP-capable layer/embedded web server (let's assume that the HTTP server code is within the same application that wishes to display the HTML within a web widget).
This has the advantage of being slightly more secure (and possibly faster) as no port(s) should be exposed.
Answer: There is a very simple way to achieve this:

Connect your phone and computer into the same LAN.
Window + R, then type ipconfig, then you get your current ip of ur pc, it looks like this:  192.168.XX.XX
Type this ip with your app port in your phone web browser like this: http://192.168.XX.XX:8080, it works

Note:
If that did not work. Turn off anti-virus software in your PC, if still not work, try turning off windows firewall, cuz the issue is related to PC firewall.
Answer: Another quick and dirty way to do this on a mac is to open up xcode (if you have it installed) and run safari on your simulator. Typing localhost here will work as well.
Comment: Create an alias of the simulator app and start without Xcode: `/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app`. For me the best solution.  It's just simple, not dirty if Xcode is already installed (by iOS developers).
Answer: Steps:
I assume you have started the web server (apache tomcat on default port:8080).
On windows 10:

Open your antivirus, go to the firewall section, and locate port
section and add a Local TCP/IP Port : 8080 to allow access
get the machine ip address from command prompt. (IPv4 Address)
Launch chrome from iPhone and goto ip address:8080 address.

Hope this helps.
Answer: From my iphone I wanted to browse a website hosted on IIS server on my Windows 8 laptop. After some reading around, I opened Windows Firewall, selected "Allow an app or feature through Windows firewall". Then scrolled down and checked "World Wide Web Services (HTTP)" from the list. That's all, it worked.
Hope it helps someone else too.
Answer: In my case
first i connected my pc and mobile on the same network, you can ping your mobile from pc to test the connection.
I running my project with GGTS(Groovy/Grails Tool Suite) locally then accessing website from mobile using PC IP address and it's work very well.
PS. running from local it would give url like (http://localhost:8080/projectname) you should replace localhost with PC IP address if you are trying to access your local website from mobile
Answer: If you're on a mac make sure to edit your /etc/hosts file.
Find the IP address per instructions above and add the following line to that file
172.x.xx.x.x outer

After that, the steps above worked: navigate to the right page in my iphone browser, visit http://172.x.xx.x.x:port
http://www.imore.com/how-edit-your-macs-hosts-file-and-why-you-would-want
Answer: The most convenient solution is to utilize ngrok. You can run ngrok with the following command: ngrok http --host-header=rewrite 4200.
Once ngrok is up and running, simply open the URL provided by ngrok in your iPhone browser. This allows you to easily expose your local development server to the internet and access it from anywhere.
PS: This works in both Windows/Mac/Android/Ios


help with the URL for bakers

Question: We want to launch a baker node.
Can we use only one URL with a link to several nodes for baker, endorser, accuser?
I mean so that one baker is launched and it is communicating to 2-5 nodes via one point of failure?
Answer: There are no URL's involved in running a tezos node. You can run a node anywhere and it will connect to the P2P network. You can put your node in private mode, which means that other nodes will not include your node in their broadcast lists.
Some bakers run a setup where they have several "public" nodes, and 1 "private" node which only connects to their own public nodes. (This is overkill and unnecessary as it does not provide any additional security).
The tezos-baker binary requires a node be running on the same server. This could be your private node, connecting to each of your public nodes. You can run node/baker/endorser all on the same server.
The baker cannot communicate to more than one node at a time as it requires a local node on disk.

help with the URL for bakers


Problem with Proposition 1 of Google Deepmind's 'Weight uncertainty in Neural Networks'

Question: I'm going through the paper Weight Uncertainty in Neural Networks by Google Deepmind. In the final line of the proof of proposition 1, the integral and the derivative are swapped. Then the derivative is taken. But this somehow yields 2 derivatives of $f$ with respect to $\theta$. I thought that this was the result of a product rule applied to $q(\epsilon)$ and $f(w,\theta)$ and then the chain rule. But that does not yield the same outcome as $\frac{\partial q(\epsilon)}{\partial \theta} = 0 $. My question is: does anyone understand how the equation in the last line comes about?
Answer: we start with
$\frac{\partial}{\partial \theta} \mathbb E_{q(\mathbf w\mid\theta)}[f(\mathbf w, \theta)]$
using definition of expectation for continuous case:
$\mathbb E[X] = \int xp(x) dx$
for the first equation we get:
$\frac{\partial}{\partial \theta} \int f(\mathbf w, \theta)q(\mathbf w \mid \theta) d\mathbf w$
we swap $q(\mathbf w \mid \theta) d\mathbf w$ for $q(\epsilon)d\epsilon$ and we get:
$\frac{\partial}{\partial \theta} \int f(\mathbf w, \theta)q(\epsilon)d\epsilon$
using definition of expectation again we have:
$\frac{\partial}{\partial \theta} \mathbb E_{q(\epsilon)}[f(\mathbf w,\theta)]$
i believe dominant convergence theorem let's us interchange expectation and derivative and we have:
$\mathbb E_{q(\epsilon)}[\frac{\partial}{\partial \theta}f(\mathbf w,\theta)]$
we have a function $f$ that depends on two variables $\mathbf w$ and $\theta$. In order to get a full derivative of such function we need to take derivative of $f$ with respect to both variables. We have:
$\mathbb E_{q(\epsilon)}[\frac{\partial f(\mathbf w,\theta)}{\partial \theta} + \frac{\partial f(\mathbf w,\theta)}{\partial \mathbf w} \frac{\partial \mathbf w}{\partial \theta}]$
First term inside expectation is derivative of function $f$ with respect to $\theta$ directly, and in the second term $f$ is derivated with respect to $\mathbf w$, but we need to apply chain rule to get full derivative with respect to $\theta$
Comment: Thank you for your answer. This solves it. I stared at this for a while but did not take into account that $\textbf{w}$ is a function of $\theta$.


Postman or any API tools for API cache testing

Question: my application (Restful API, no UI interface at this moment) has the Cache Async in memory functionality at each GET, POST, PUT, DELETE.
Does Postman or any API tools has the ability to test the cache function?
Comment: How do you cache a DELETE? or POST/PUT? Typically caching is used for GETs to make them quicker or use less resources.
Comment: Not sure about `delete` operations (however still sure it is possible) but "write" cache is a kind of something people use in real life. Basically there is a "fast" layer that the user operates with which is periodically dumped to the persistent memory.
Answer: No, how would they know the reponse is cached.

Call API with parameters
Verify results
Stop data storage (e.g. database)
Call API again with same parameters
Verify same results

How would you do it manually? Does that translate to an automated test?

Is the second time faster? (if you can measure that)
Can we make it testable by

introducing data in the output saying its cached
adding logs of each request to the datastore and verify it was not accessed by looking at the logs
Comment: I usually test by stop sql server then query again, if result returned mean cache works.
Answer: Since cache is intended to make the interactions faster, you could test if the data was cached on the server side with the help of indirect symptoms.
For example you could clean up the cache and perform some atomic operations with postman. Measure the request execution time (if your requests/operations are synchronous). Then warm up your cache (ask your devs to know what would be the best way to do that) and perform the same steps again. They should take significantly less time.
Comment: this is complicated as the application did many cache at different places. i would love to test it from any tool like POSTMAN and do not want to touch the codes as defect might invalid if we modify something we are unsure.
Answer: Deploy 2 separate services, first with cache enabled, second one without and compare the results.
Comment: i would not have feasibility to modify the API application.


我一個晚上開銷就不只三萬了. What's 了 doing?

Question: 我一個晚上開銷就不只三萬了. What's 了 doing?
Answer: It really depends on the conversation context. The difference is too subtle to describe to people from different cultures.
It is hard to use your sentence directly to build an example. Suppose a client is bargaining/discussing some expense or price with you.
When there is no "了", you are probably just stating the fact.
When there is a "了", it is likely your tone is dropping during talking, you could be rolling your eyes too. You are indicating the client is too ignorant about the real expense you need and his estimation is way too low.
Or you could say it with a "了" in a tone of something close to "撒娇", indicating the client should pay a bit more than what he offered. In this case, you could probably or will intentionally choose to use "啦" instead of "了".
Answer: If it is a complete sentence:
With a 了, it sounds more casual. The speaker may be rich.
Without 了, it sounds rude, like you are arguing with someone.

我一個晚上開銷就不只三萬了. What's 了 doing?


What is the Fork & Pull Model in GitHub?

Question: I have heard this term used for managing a code base in GitHub. What does it mean?
Answer: As noted within the GitHub docs:

The Fork & Pull Model lets anyone fork an existing repository and push changes to their personal fork without requiring access be granted to the source repository. The changes must then be pulled into the source repository by the project maintainer. This model reduces the amount of friction for new contributors and is popular with open source projects because it allows people to work independently without upfront coordination. [...] Pull requests are especially useful in the Fork & Pull Model because they provide a way to notify project maintainers about changes in your fork.
Comment: Also see ["_Atlassian Blogs - Git Branching and Forking in the Enterprise: Why Fork?_"](http://blogs.atlassian.com/2013/05/git-branching-and-forking-in-the-enterprise-why-fork/)
Answer: GitHub consist of many repositories. You can fork any a repository and start developing your changes on that. When you are completed with your changes you can send pull request to author of repository from where you forked to merge your changes to main repository. If repository author find your changes significant, the pull request can be accepted and your changes are merged.


How spicy is authentic, traditional Palak paneer?

Question: I have heard that the spiciness of Palak paneer is regional, but I don't have any historical or geographical facts to confirm this. So, is there anybody around here that knows if a proper, old-school traditional Palak paneer is hot spicy, medium or mild, and which are the various regional traditions?
Answer: Hot, medium and mild are very subjective terms, which is why it is difficult to qualify regional variations in India. I have had palak paneer in north India and south India. Generally, this dish is hotter in south India. I am a south Indian, but have lived in north India for most of my life, and would call the north Indian (traditional) variety medium. Again, what I consider medium may be mild for some people, whereas for others it may be hot.
Comment: I don't see why the subjectiveness of the terms would make it difficult to qualify regional variations, in relative terms. Clearly your experience is that the southern variety is hotter than the northen varitey, and that the northern variety could potentially have been served even milder (while still being spicy). That said, thank you for your answer!
Comment: @LudvigANorin: Your question didn't just ask about regional variation; it asked how hot it traditionally is - it sounded like you wanted an absolute answer too.
Answer: Palak paneer is originally a North Indian dish- what you get in South India has been adapted to local tastes. If you want an absolute answer - it is quite mild compared to other paneer dishes.
North Indian dishes have a base gravy made of tomatos and onions with red chilli powder and garam masala - this dish is an exception.
Answer: Most of the north Indian dishes are mildly spicy. I have tasted palak paneer in some dhabas in north India and each one varied in flavor. But mostly it is a mildly spiced curry!
Comment: Please read [this](https://cooking.stackexchange.com/help/promotion) and while you're at it, taking the [tour] and browsing through the [help] is also recommended. The link that you have been repeatedly added doesn't contribute anything valuable for the question, so it's considered spam by the community.


What are the catalysts in eightfold path which speed up our endeavor?

Question: I want to know how one can speed up his spiritual practices (8 fold path). For- Example, How one can improve his samādhi or prajñā quickly? And what are the things or acts which helps one to improve these quickly.
Answer: In my opinion, the best catalyst is meeting highly realized people in real life to see how they behave. In a day of that you get more teaching than in a year of reading books.
Comment: Difficult to find. What to do meanwhile?
Comment: [Seclusion](http://zugangzureinsicht.org/html/tipitaka/kn/ud/ud.6.02.than_en.html)
Comment: I used to live in a monastery with supposedly highly realised people, which had 1000s of students  & visitors per year. I recall maybe one or two or three but not many more of those visitors attained samadhi. Ajahn Brahm said somewhere in a video he teaches jhana to so many but so few attain it. Only last year, at least 3 of his monks & nuns disrobed.
Answer: The way to speed up samadhi is to practise according to the instructions, which are to use 'letting go' ('the giving up of craving', called 'vossagga') as the meditation object.

And what is the faculty of concentration? There is the case where a
  monk, a disciple of the noble ones, making it his object to let go (vossagga),
  attains concentration, attains singleness of mind.
SN 48.10

And how are the seven factors for awakening developed & pursued so as
  to bring clear knowing & release to their culmination? There is the
  case where a monk develops mindfulness as a factor for awakening
  dependent on seclusion, dependent on dispassion, dependent on
  cessation, maturing in relinquishment (vossagga). He develops analysis of
  qualities as a factor for awakening... persistence as a factor for
  awakening... rapture as a factor for awakening... serenity as a factor
  for awakening... concentration as a factor for awakening... equanimity
  as a factor for awakening dependent on seclusion, dependent on
  dispassion, dependent on cessation, maturing in relinquishment (vossagga).
MN 118
Answer: Since right view is the foundation, all deeds, actions and undertakings, increasing right view are of use to establish the.
Focus on the foundations! It does not make sense to try to gain right Samadhi if the virtue section is not good developed. Practice generosity and service for those worthy. Practice sharing merits... Practice Veneration...
If having trouble with performing those meritorious deeds, no way to think that it is possible to gain right concentration.

For a person facing Stress and suffering and meeting the Tripple Gems, there is no act of will, 'May I gain conviction'. It is the nature of things that in a person, facing Stress and suffering and facing the Tripple Gems, conviction is gained.
For a person with conviction, there is no act of will, 'May I be generous, may I have possibility to give, my I let go of stingyness'. It is in the nature of things that, in a person of conviction, generosity and giving is established.
For a person of generosity and freedom of stinginess, there is no act of will, 'May I become virtuous'. It is the nature of things that, in a person of generosity and freedom of stinginess, virtue increases.
further: Cetana Sutta: An Act of Will

If there is still stinginess, not even Jhana can be reached.
Once there is no more fault in regard of virtue, no stingyness present, it will work naturally on the given causes.
And like always: to develop right view, association with people of right view is most importand. More on entering the stream here.
[Note: This is a gift of Dhamma, not meant for commercial use or other lower wordily gains by ways of exchange or trade]
Comment: Sorry. But vossagga is the path to jhana rather than generosity. If generosity was the path to jhana, all of the peasants in Cambodia who give to monks would abide in jhana. I scored your post down because I think it is deceiving; including the quote, which i have not read in any sutta.
Comment: How do monks, who have nothing, abandon stinginess? Thanks
Comment: By answering merely ill-willed and back-stabbing approches, for example, @Dhammadhatu ? Stinginess is not just a matter of material things. Good to investigate this topic well, for example lack of gratitude is also a very sign of Maccariya. E.g. not - vossagga
Comment: That's what was said. Do as you are fit. Blind in a low realm one is not able to understand Dhamma. * rowf * [stingy...](http://zugangzureinsicht.org/html/tipitaka/an/an05/an05.254.than_en.html), an "animals-states" attitude. vossagga = giving, letting go, generosity. And if not even outwardly able... than dream on the other realms dreams.
Comment: Enough with you two troublemakers. You are both suspended for 1 week. Please use the time to contemplate how you want to behave on Buddhism SE.


How can I test a rabbit's vision?

Question: I'm starting to wonder if my vision on my rabbit is failing. We've had her for 3 years and she seems startled when I come over to her. I'm probably guessing that she doesn't see me at first but when I'm like right in front of her she can see me and she backs up like she's startled. Can we tell if a rabbit's vision is failing? If so, how?
Comment: Has anything happened that might have possibly made the rabbit start to not trust you?
Comment: she actually started running away from me when I try to put her in her cage
Comment: Your assumption of vision being the issue may be mistaken, When you are near her and believe she is unaware of you (directly behind or directly in front) clap your hands and see if she responds.  This will test her hearing, up date you question with the results of the hearing test.
Comment: She has great hearing it was actually tested and she's fine. It's her vision that I'm wondering
Comment: When she backs up, are you walking past her, or reaching out to touch her?
Comment: reaching out to touch her
Answer: I am not quite sure if it works exactly the same but I needed to test the eyesight of my dog for a while because of infection.
What I did was put my finger up and approach it slowly to see if she would react in case she got blind.
As I understood from the vet, every animal would turn away when you get too close to the eye. Doing this with some speed will let you notice when they think it gets too dangerous for them and can help you test eye sight on distance. (never touch the eye though). This will not get a 100% sure result because it will only react when it gets too close in the opinion of the animal.
It might give you a good indication of the eye sight.

How can I test a rabbit's vision?


My aloe Vera plant is getting flat leaves

Question: I'm not going to lie I haven't been taking the best care of it in the last year. The leaves however are getting really flat, not just lying flat (which I read is from lack of sun) but the leaves themselves seem like they have nothing in them. They aren't thick like the others.
Also I am so new to this any other tips and tricks would be great. Such as how do I know it's in the right pot? How do I repot it? When do I repot it? How often should I actually water it? How much water should I give it? His name is Francis and any advice on helping to keep him not only alive but well is very much appreciated. He did have dead leaves but they have been snipped off and soil was put on the ends (I read that helps seal the leaf from the aloe coming out?)
Comment: Can you add a photo of the plant and its pot please? And where are you in the world?
Answer: Ok faced somewhat same issue. My wife brought the aloe vera siblings from her parent's house and they were fat aloe vera. I did which i do mostly (i think some crazy obsession i have) i changed the pot and added crazy amount of fertilizer (dried cow dung) few days later leaves started to droop and thin. after a month i took out the plant and low behold roots totally gone. Cleaned the plant with water added new soil without fertilizer and after a month it recovered and making new pups.
So don't over water they love to dry out. im in Arabia so you know its hot here. i add water after a month during winter and 20 days later in summer. Keep it under indirect sunlight.
Answer: Aloes are a type of succulent, they need a lot of sun and occasional water. When watering you want to completely soak the soil and then allow it to dry completely before watering again. There's a big misconception that they need frequent fertilization, but your soil does that for you. For the first 6 months when reporting I don't fertilize because you can kill your plant. Also look into natural fertilizers you can add to the soil instead of the chemical kind, if using chemical fertilizer just add a few squirts/drops into a bottle of water and give it to your plant that way. Specifically for my spiky aloe I usually water when I see the leaves aren't plump and tough. If it needs watered the leaves will be more indented and thin with a squishier feel to them. If you end up noticing the ends of your leaf or leaves are browning, once it dries up completely feel free to cut it with a sterile knife or scissors with enough room that your not cutting any of the heathy leaf. Also having a big enough pot for your aloe is important, it has a very shallow but wide root system so pot accordingly. Use fast draining succulent soil and refrain from using pure potting soil as it will create root rot. Good luck!
Answer: I've seen aloe leaves plump up big, and round after letting the plant have water up to about half way down the pot, as it will develop a taproot that will bring water to the surface. For an example of what the plant likes see: https://www.youtube.com/watch?v=rvMUY6TNrR4


Is my bike any good?

Question: I have an Lumala Trigger ATB 26" bike and I have no problems with it, but I have never felt a better bike than that either. It costs about $300 and it is a full squish with 100mm travel fork and a oyi ch 501 back suspension (I have never heard of that brand) it has 21 (3 on the front 7 on the back) gears and comes with Shimano Revoshift friction Shifters. I wanna use it for proper mt biking but I wanna know if it will hold up or if I should sell it and get a new one. thanks :)
Comment: Do you find this bike comfortable?  If so, then its a good-enough bike.
Comment: Does this answer your question? [BSO identification for amateurs](https://bicycles.stackexchange.com/questions/32429/bso-identification-for-amateurs)
Comment: @Criggie: The real question is: Will it significantly impact OP's ability to ride technical trails? Considering that the bicycle looks very cheap the answer is probably yes.
Comment: sorry messed up it has actually 100m travel fork not 90
Comment: http://www.lumala.lk/BikeInDetail.aspx?b=176
Comment: Related: https://bicycles.stackexchange.com/questions/61746/is-kcp-a-trustable-bicycles-brand
Comment: @Michael on one hand, I agree with what you wrote. On the other hand, we don't necessarily know that the OP wants to ride trails that are technical enough to overwhelm the bike's capacity (e.g. its suspension travel and capability, the tire traction, ability to shift quickly, etc). Or it's possible the OP will get on some fairly technical terrain, but they will be willing to take it much slower than a more competitive cyclist would. On the road side, my wife was content taking her yard sale 10-speed on 40-mile bike rides for some years.
Comment: @Michael I suspect most people run out of either personal ability or confidence long before the bike becomes a limiting factor.
Comment: Most riders will have enough skill to benefit from a  more expensive bike than a $300 soft tail within a few hours of riding. The only question is the individuals cost/benefit ratio.  My biggest concern is the shocks on such a bike will make it behave unpredictably, leading to lack of confidence, crashes - i.e. not fun. Everything else - weight, slow gear changes, suspension squish, poor brakes mean you have to slow down, but such a bike can still be fun.
Answer:
Is my bike any good?

It depends on what you mean by "good".
There are many definitions of the word "good". Definition 2.3 and 2.4 in the dictionary are a good fit for this situation.
Good
Lexico

2.3 Useful, advantageous, or beneficial in effect.
  'a little sun is good for you'
2.4 Appropriate to a particular purpose.
  'this is a good month for planting seeds'

If your bike is useful to you and appropriate to your purpose then yes, your bike is good.

I wanna use it for proper mt biking but I wanna know if it will hold up or if I should sell it and get a new one. thanks :)

We can't know how hard you will be on your bike and there is no data on how much abuse your bike was designed to take. How you ride is a key factor in how long a bike will last no matter how rugged your bike is.
In the absence of critical information we cannot make a determination on how well your bike will hold up.
My recommendation is that you ride what you have.

Time in the saddle will tell you what kind of riding you like. This information will be useful when or if you move to another bike.
As you ride things will break. This will tell you what features to look for when or if you move to another bike. For example - suppose you are unhappy with the braking capability of your bike. You can look into modifying your current brakes (better brake pads for example) or make sure that better brakes are on the list for your next bike.
Selling your current bike won't offset the cost of a better bike by much.

Everyone has to start somewhere. What's important is that you get out there and ride and keep on riding. Only you can determine what meets your needs and is "good".
Answer: Dunno where I first heard it, but I used to use the phrase, "the best bike is the one you've got," all the time at the shop.
To answer your questions:
Will it hold up?
No - and no bike will if you're riding it. Every bike, regardless of what you spend initially, will require regular maintenance. From my many years as a mechanic I've come to believe that for most people, the skill of the rider determines the rate of maintenance required more than the "quality" of the components.
Should you sell it and buy a new one?
If you want, but there's no need to. When stuff breaks on cheap bikes, it tends to be cheap(er) parts; when stuff breaks on fancier bikes it tends to require more expensive replacement parts. Essentially, the cost breakdown of bike repair is proportional whether you have a nice bike or a shitty one; that is, you don't normally "save" money by buying a nicer bike. Stuff might break down less often on a nicer bike, but when it does (and it will) it will cost more to fix. Over the life of most frames, the cost of maintenance will always come out more than the initial price of the bike if you're maintaining it regularly.
What you do get from nicer bikes is a better experience. You may love your current bike now, but some day you may hop onto a friend's high-end MTB and immediately realize what spending money gets you: the shifts are crisp and predictable, the bike is light and smooth, the suspension is plush but efficient, the geometry is forgiving; overall that sensation of flying that makes bike-riding so enjoyable is easier to achieve. THAT is the reason to upgrade, not cost equations.
So go ride your current bike until you decide you want a better experience. Then test-ride a bunch and see which gives you that thrill of riding and buy that one. Don't worry about "quality" or cost breakdowns, just get what you can afford.
Answer: This answer is admittedly not all that different from Nathaniel's and David's, but I'll try to be a bit more specific, and to build off the point Michael made in the comments.
First, bikes are actually quite complex objects. I realize that high-performance bikes can seem very expensive. It may seem absurd to spend $5,000 on a high-end bike. You can definitely come very close to an expensive bike's performance on a cheaper bike. So, on some level, it is objectively absurd for consumers to spend that kind of money. However, under a certain price level, you may get components with limited performance and durability.
Your bike is probably at that price point. Good suspension systems are costly. You have both front and rear suspension, so they're likely to be quite cheap. If you have disc brakes, they're likely to be pretty cheap as well, and it will take much more effort to brake hard than on a more performance-oriented bike. Basically, the components on a cheaper bicycle have relatively low performance, and they'll probably be less durable if pushed.
However, you didn't define "proper mountain biking", so we don't know how much you'll stress the components because we don't know how hard you'll ride. I'm admittedly handicapped in this section, because I mountain biked for a year in college and never really liked it. But you don't have to be a genius to know that there are basic, intermediate, and advanced trails. There are also various disciplines, like cross country, enduro, and downhill.
I rode a basic trail on a cyclocross bike, which is basically a road bike with no suspension and 35mm tires - definitely not a mountain bike, and not as capable on more technical terrain as a proper MTB. It performed fine on those easy trails. I passed a lot of riders on department store bikes, who were doing just fine. I definitely wanted my CX mountain bike on a more intermediate trail, but you might have been OK on a department store bike there. I don't believe I tried an advanced trail, or something more suited to enduro or downhill bikes. I bet that you could take your bike on an intermediate trail; note that depending on the weather and terrain, there may be sections you'd be better off hiking down or up.
Basically, we don't know what sort of "proper mountain biking" you want to do. On the road, my wife was perfectly happy taking her yard sale 10-speed bike on 40-mile organized or solo rides. Objectively, the brakes weren't very good, her shifting was clunky (so she didn't shift much), and the frame was slightly misaligned. However, she had a lot of fun for some time. She did get a more performance-oriented bike, and she's enjoying that more. However, her bike was adequate for her for some time.
That possibly lays out a roadmap for you. Your bike is likely to be adequate on many easy trails. You could start there and see if you like the sport. You may or may not wish to progress beyond a certain difficulty point. You could simply upgrade your bike when it doesn't meet your needs and you have the skill, fitness, and desire to benefit from a better bike. Realize that you don't need to go all the way to the top of the price point, and perhaps you should not until you know what you want out of a bicycle.

Is my bike any good?


Difference between root account and administrative account

Question: If a user with administrative privilege can have all the powers of root using sudo ,
then what is the advantage of having root account?
Comment: Isn't not having to use `sudo` an advantage?  Note that having "all the powers of root" is not quite the same as being root, since the root user can take those powers away, but no one can take them from root.
Comment: A typical usage is system maintenance possibly when you need a system recovery. For instance, when you select the "recovery mode" to boot from the Grub menu.
Comment: Thank you everybody for help! Barun, goldlocks, slm, and  Joseph R. Marking it as solved.
Answer: Disabling root
You have to have a root account. The only things you can do with it, in terms of "disabling" it, are:

Lock the account
$ sudo passwd -l root

Give root an unusable password
$ sudo usermod -p '!' root

sudo - as user root
Remember that when a user with "administrative privileges" is making use of sudo they're running commands with elevated privileges as the user root!
You can see that this is true with a simple ps command:
$ sudo sh -c "ps -eaf | grep [s]udo"
root      2625 26757  0 04:19 pts/10   00:00:00 sudo sh -c ps -eaf | grep [s]udo

The above shows that when the ps command is executed, you're effectively the user root.
Booting
Also when booting into a system in single user mode (from GRUB), you'll need to login using the root account. Typically you're passing either the word single to GRUB or the number 1.
What sudo permissions do I have?
On a system where one has been given sudo permissions you can use the command sudo -l to see what rights you do have. These are not a complete set of everyone's rights, just the user that's running the command.
For example:
$ sudo -l
Matching Defaults entries for saml on this host:
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG
    LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME
    LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User saml may run the following commands on this host:
    (ALL) ALL
    (root) NOPASSWD: /usr/lib/jupiter/scripts/bluetooth, (root) /usr/lib/jupiter/scripts/cpu-control, (root)
    /usr/lib/jupiter/scripts/resolutions, (root) /usr/lib/jupiter/scripts/rotate, (root) /usr/lib/jupiter/scripts/touchpad, (root)
    /usr/lib/jupiter/scripts/vga-out, (root) /usr/lib/jupiter/scripts/wifi

NOTE: The commands one's been granted access to are everything after the line, "User saml may run the following ....".
Limiting access via sudo
Sudo has a fairly rich facility for limiting access to specific commands, groups of commands, specific users, and/or specific groups of users. There are some caveats however with sudo.
You can grant full access to everything with this line in /etc/sudoers:
aaditya      ALL=(ALL)    ALL

You could also give a user what appears to be simple access to vim certain files:
aaditya      ALL=/usr/bin/vim

This would be a huge mistake however, since many editors such as vim allow you to invoke a subshell from within them. So the user aaditya would be able to gain access to a shell with root permissions, even if the sudo permissions didn't intend for that to happen.
Comment: @AadityaBagga - it's not giving you the same permissions as root, it's giving access to run certain commands *AS* root! If you're able to add yourself to `/etc/sudoers`, then you're likely able to do whatever you want. Adding a line such as this to `/etc/sudoers`: `aaditya ALL=(ALL)  ALL` will grant you carte blanche access to do anything *AS* root.
Comment: At college I am using RHEL v5, and I have a sudo account (added myself to /etc/sudoers), but I cant run administrative commands like adduser( sudo adduser - gives output adduser: command not found). But when the system admin logins as root , he can perform the adduser command. So if using sudo gives me same privileges as root, why cant I perform the adduser command?
Comment: I added myself to /etc/sudoers by requesting the sysadmin to let me access the root account using su. I thought that if I added myself to sudoers I could perform administrative commands but I cant!
Comment: @AadityaBagga - if you have `su` access to root then you can do anything you want through that as well. A `sudo -l` is still the best way to see what your account has been granted, officially. There are always cracks 8-).
Comment: @slm..I dont have access to su! I requested the sysadmin to open a terminal with su so that I could add myself to the sudoers list in order to perform administrative commands, but I am not able to, as I have mentioned earlier. So perhaps there is a difference between the root account and an administrator added to /etc/sudoers.
Answer: An administrative account and root are by no means the same. Other than what goldilocks and slm mentioned you should also know that root can significantly limit what the sudo user is allowed to do on root's behalf (see man sudoers for examples). This is especially useful when a senior sysadmin wants to delegate some administration tasks to a junior admin without granting them full access. After all, a user with full sudo access can hijack the root account.


Can novels have twist endings?

Question: Can a novel have a twist at the end? Sure, a short story can be well written towards a not-so-obvious twist, but a 200+ page novel...can you suddenly whip it around at the end and change the ending just enough to surprise the reader?
Comment: Sure. Just look at Soylent Green. It's a  1973 sci-fi film with a twist ending that's pulled off very well.
Answer: Novels frequently (usually, even) contain plot twists. The thing is, a twist in a novel is very different from a twist in a short story. You can make a twist the core of a short story, the one element that gives the whole work its theme and meaning. A good example is short horror fiction, where many (many many) stories rely on a surprise ending to "push home" the reader's horrified reaction a la "It was Earth all along."
Murder mysteries of the whodunnit type are also expected to contain an element of surprise -- the identity of the killer. A reader who is unsurprised by the ending of a mystery is a disappointed reader. Most novels, however, rely on a certain back-and-forth between reader and narrator. Readers require certain reassurances, which vary by style and genre. In order to be effective, a surprising ending must be somewhat obvious in hindsight. Solid example: any of the first three Harry Potter books, arguably the later ones as well.
A twist in a novel has to have a narrative purpose. That's why twists belong in the middle of the book, and only rarely near the end. If you put a twist about two thirds of the way in, it can be used to show that things are getting worse for the protagonist. Example: betrayal by a major ally. The very end of the book is meant to be somehow cathartic -- unless it's actually the first part of a longer story. Example: A Game of Thrones with its by now famous death scene.
Comment: I would add that another type of twist that sometimes appears at the end of a novel is the death of the protagonist. Usually this is a "twist" mostly because the reader assumes that the hero will survive. Of course, this kind of ending only works if it's thematically satisfying and thoroughly meaningful. Ex: Rosemary Suttliff's Mark of the Horse Lord: the protagonist impersonates the real heir and becomes king. In the end, he is able to protect the people by sacrificing his own life, thus truly acting the role of the king.
Comment: lea, this was an excellent answer.

That was exactly what I wanted to know, whether or not a twist ending would ruin a book by not closing it sufficiently.
Answer: I am not opposed to twist endings, but consider:
A twist has to be earned.  Remember The Sixth Sense or The Crying Game.  People loved those movies, because the twists made sense.  Compare the 2001 version of The Planet Of The Apes.  At the end, Marky Mark finds himself in Washington DC at the Aperaham Lincoln Memorial.  Everyone was like, "Huh?" and wanted their money back.
But remember, The Sixth Sense was only two hours long.  The twist in The Crying Game happened less than halfway through.  A book takes days, even weeks to read.  The reader puts it down, walks around, thinks about, even talks to other people about it.  Plenty of chances to see through your cunning plan.  Which means either

your twist makes no sense and will just annoy your reader, or
your twist does make sense and your reader will therefore probably figure it out long before the Big Reveal.

Hey, maybe you are incredibly clever.  Be careful anyway.
I once was writing a book with a twist ending and started explaining the whole plot to my wife.  I got halfway through Chapter One (about two sentences in my summary) and she guessed the whole thing, twist and all.
Answer: The bestselling genre novel features a protagonist on a quest. The novel either ends with the hero reaching his goal (if the hero learns his lesson and changes) or not reaching it (if he resists change and fails at his life task).
The novel begins with a "call to adventure", and from this call the reader will know the goal of the hero. If the call is a murder, the goal is to catch the murderer. From the goal, the reader will know where the story is going: either the hero achieves his goal (catches the murderer), or he fails. This makes the end somewhat predictable: there are only two possible outcomes.
To make the novel not boring, it must be open right until the end which of the two outcomes will be achieved. Since the reader has a 50% chance to guess the end from clues in the text, you really have to do your best to surprise him. This is done through plot twists: every time the reader starts thinking that he knows where the story will lead, he must be surprised. Therefore:
The reader must not be able to guess if the hero will suceed or fail right until the end.
Either the end is not what the reader expected, or it does not happen how the reader expected it. In any case,
the end must be a twist, or your end will bore the reader because he saw it coming.

Many novels of course have a denouement "after" the end: the hero returning home or Harry Potter married to Ginny Weasley nineteen years later. This has the purpose of completing the circular journey and tying up secondary story lines. When I say "end" in my argument above, I don't mean the last word of the text, but the end of the fight for the goal.
Answer: Twist endings are the best kind of endings.
One story which has become a recent favorite of mine was
"One flew over the cuckoo nest"(Novel/movie)
From the title you can tell that one of the Mental institution patients was going to get the better of the asylum.
Naturally the reader assumes its the main character.
(SPOILER)
Surprise: At the end of the story the main character gets lobotomized. Then the native american who was revealed to be pretending to be a retarded mute escapes.
(after mercifully killing the main character and taking his spirit as per native american beliefs.)
Answer: Short answer: Yes.
Long answer: Yes, and it can be done very well too. Take Ender's Game and Harry Potter and the Philosopher's Stone as good examples. Note that they use foreshadowing in such a way that you don't realize what was going on until it's revealed, but when you do, it seems obvious, like you would have guessed it if you hadn't been too engrossed in the story to pause and mull it over.
Comment: Can you give details and explain why those two stories have twist endings?
Comment: Not without spoiling the endings!
Comment: You can use spoiler tags. On this board it's >! before your paragraph of text.

Can novels have twist endings?


Show cams of the multicam sequence simultaneously in Adobe Premiere

Question: I've got a multicam sequence and I spent a lot of time on it cutting out lots of material.
Now I decided to show two cams simultaneously for a while.
But how to do this? Can anybody help?
Comment: Hum… I think, I should flatten the footage and move it to another track.
Answer: You don't say what video editing software you are using, but assuming it's either Adobe's Premiere Pro, Davinci Resolve, or FinalCut Pro X, the general answer is the same.  Multicam is a convenience for you as an editor to use a special viewer in your NLE to view (and cut) multiple camera angles at the same time.  To output two cameras simultaneously, you need to have two video layers visible at the same time, one for each angle.  If you zoom and pan one video layer so that it occupies the left side of your output and you zoom and pan the other video layer so that it occupies the right side of your output, you can show two cameras at the same time.
Another way to show two video camera views at the same time is picture-in-picture.  In this case, one layer can be full-sized and a second layer, placed on top, can be zoomed and panned to wherever you want the picture-in-picture image to be (usually lower right).
It doesn't really matter whether the video layer source is an active mulicam or a flattened multicam (which resolves to a simple video layer).  What matters a lot is that you have scaled and located the video footage so that both layers are visible at the same time.
Comment: I said it in tags. )