On some screen sizes the CTA goes below the fold

I’m designing a web site and i have two buttons one below the other on the landing page. One is a primary button and the other is a secondary button.

The structure of the page includes an image which will occupy say 40% of the screen, below which the title and a short description will follow, below which the above two buttons will follow as you can see in this image

The problem i face is that for the smallest possible screen size (iphone 5) where there is not enough height the second button will only be visible on scroll, as can be seen this image

I’m wondering if this could be problematic for users because this structure would confuse them by splitting a sort of section in between?

I do understand that users scroll and i’m just wondering about the coherency of the structure rather than fearing that they won’t see the button. One possible work around would be to reduce the description text or make its size smaller but I would like to avoid it if possible.

Wondering if any one has faced this problem and has tackled this before. I do not have data though to confirm my thinking

MacBook Pro 8,2 (Early 2011, 15” Unibody 2.3 GHz i7) – OS crashes randomly, after log in screen goes all white

I have a Macbook Pro, randomly started running into issues when logging in after start up. Occasionally will get the desktop to load but shortly thereafter the OS crashes leading to a screen with multiple colored lines which sometimes resolve after varying amounts of time. Following the crash and after re-boot/log-in the screen will go to all white.

After many of these crash sequences I booted into Recovery Mode and did a complete wipe of the harddrive with a fresh install of macOS (Sierra). I created a new user profile and logged in. All seemed well with normal use but after about 15 minutes of function as usual it went back to the same crashing sequence and white screen after log in.

Suspecting a hardware problem, I ran AHT (apple hardware test) and cycled 4 times with the Extended Testing which read “No trouble found.” for each cycle. Subsequent to this and suspecting a hard drive issues that is simply not being picked up by the AHT I booted again into Recovery mode to try running first aid on my hard drive and noticed that it is registering and being completely used with no free space (after a complete wipe and reinstall of macOS…it should be essentially empty).

I figure the complete wipe and re-install of mac OS would have solved any software related trouble that could be leading to this issue. That being said, I’m leaning toward one of three potential hardware issues being the source of my woes: hard drive, logic board or RAM. Right now the hard drive is my top suspicion but the clean cycles of AHT is confusing me.

Any ideas on where I can go from here to try and narrow down the source of the problem before I go trying to get any of the hardware replaced?

Why upon clicking actionResult the control goes to Get part and not post part of the action method?

I have this method in controller.

[HttpPost]         public ActionResult ChangeStatus(int id)         {             try             {                 using (UnitOfWork uwork = new UnitOfWork())                 {                     InspectionReportDAL = new InspectionReportDAL();                     User user = (User)Session["User"];                      InspectionReport InspectionReport = uwork.InspectionReportRepository.GetByID(id);                      if (id == 1) //Reviewed                     {                         InspectionReport.CheckedBy = user.UserID;                         InspectionReport.Status = (byte) id;                     }                     else if (id == 2) //Approved                     {                         InspectionReport.ApprovedBy = user.UserID;                         InspectionReport.Status = (byte)id;                     }                     else if (id == 3) //Issued                     {                         InspectionReport.IssuedBy = user.UserID;                         InspectionReport.Status = (byte)id;                     }                      uwork.Save();                      return RedirectToAction("Index", "InspectionReport");                 }             }             catch (Exception ex)             {                  return View();             }          } 

I am calling it using action link, from an Edit view which uses an action method in the same controller

@Html.ActionLink("Review", "ChangeStatus", new { id = 1 }, new { @class = "btn btn-success" }) 

Controller name is InspectionResult.

When I click the ActionLink, it goes to the ChangeStatus method but the Get’s one not the post’s one.

 [HttpGet]         public ActionResult ChangeStatus()          { return View(); } 

Route.Config

 public class RouteConfig     {         public static void RegisterRoutes(RouteCollection routes)         {             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");              routes.MapRoute(                 name: "Default",                 url: "{controller}/{action}/{id}",                 defaults: new { controller = "Home", action = "Login", id = UrlParameter.Optional }             );         } 

How to stop a test program when the timer goes to zero with the endTest() function written

I have a program that will act as an exam for the user. The exam will ask however many question the user enters (the numbers of questions will be referred to as data.size() inside this code snippet). I cannot get the program to go to the next fxml page once the timer has ended. Is there a problem going on with the endTest() function. Or is it the fact that im usiing null as an event. I was hoping even though the event is null, it would still at least close down the current test and enter in the next fxml page. Below is the code snippet and link to the project.

https://www.dropbox.com/s/njpafnrvn792lik/cais240courseproj-Implement_Timer_withCategories.zip?dl=0

 public class QuestionsController implements Initializable {      List<QuestionsData> data = CategoriesController.getNewQuestions();     List<String> possibleAnswers;     int count = 0;     ToggleGroup group = new ToggleGroup();     Toggle[] selectedAnswer = new Toggle[data.size()];     int[] answers = new int[data.size()];     ArrayList<User> users = User.deserializeUsers("User\users.ser");     int userID = FXMLDocumentController.currentUserID;     User currentUser = users.get(userID);     ArrayList<TestInProgress> tests = TestInProgress.deserializeTests();     TestInProgress currentTest;      int timeSeconds = data.size() * 60;      @FXML      private Label timerLabel;      @FXML     private Label questionCategories;      @FXML     private Label savedAnswer;      @FXML     private Label progress;      @FXML     private Button logOut;      @FXML     private Button nextBtn;      @FXML     private Button prevBtn;      @FXML     private Label questionText;      @FXML     private RadioButton answerOne;      @FXML     private RadioButton answerTwo;      @FXML     private RadioButton answerThree;      @FXML     private RadioButton answerFour;      /**      *      * @param event loads login window      * @throws IOException      */     @FXML     private void loadLogin(ActionEvent event) throws IOException {         Parent QuestionPane = FXMLLoader.load(getClass().getResource("Login.fxml"));         Scene tableViewScene = new Scene(QuestionPane);          Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();         window.setScene(tableViewScene);         window.show();     }      /**      *      * @param event sets questions and answers text on scene navigates to next      * question when next button is pushed      * @throws IOException      */     @FXML     private void loadNextQuestion(ActionEvent event) throws IOException {         if (count < data.size() - 1) {             if (group.getSelectedToggle() != null) {                 selectedAnswer[count] = group.getSelectedToggle();                 answers[count] = (int) group.getSelectedToggle().getUserData();                 group.getSelectedToggle().setSelected(false);                 currentTest.setAnswers(answers);                 currentTest.setCurrentQuestion(count);                 TestInProgress.serializeTests(tests);             }              if (selectedAnswer[count + 1] != null) {                 group.selectToggle(selectedAnswer[count + 1]);             }         }         if (count == data.size() - 1) {             questionText.setText(data.get(count).getQuestionText());             possibleAnswers = data.get(count).getPossibleAnswers();             answerOne.setText(possibleAnswers.get(0));             answerTwo.setText(possibleAnswers.get(1));             answerThree.setText(possibleAnswers.get(2));             answerFour.setText(possibleAnswers.get(3));         } else {             count++;             questionText.setText(data.get(count).getQuestionText());             possibleAnswers = data.get(count).getPossibleAnswers();             answerOne.setText(possibleAnswers.get(0));             answerTwo.setText(possibleAnswers.get(1));             answerThree.setText(possibleAnswers.get(2));             answerFour.setText(possibleAnswers.get(3));              progress.setText(String.valueOf(count + 1) + " out of " + data.size());             String categoryForQuestion = data.get(count).getCategories().toString().replace("[", "").replace("]", "");             questionCategories.setText("Categories: \n" + categoryForQuestion);          }     }      /**      *      * @param event sets questions and answers text on scene navigates to      * previous question when previous button is pushed      * @throws IOException      */     @FXML     private void loadPreviousQuestion(ActionEvent event) throws IOException {          if (count > 0) {              if (group.getSelectedToggle() != null) {                 selectedAnswer[count] = group.getSelectedToggle();                 answers[count] = (int) group.getSelectedToggle().getUserData();                 group.getSelectedToggle().setSelected(false);                 currentTest.setAnswers(answers);                 currentTest.setCurrentQuestion(count);                 TestInProgress.serializeTests(tests);             }              if (selectedAnswer[count - 1] != null) {                 group.selectToggle(selectedAnswer[count - 1]);             }         }          if (count == 0) {             questionText.setText(data.get(count).getQuestionText());             possibleAnswers = data.get(count).getPossibleAnswers();             answerOne.setText(possibleAnswers.get(0));             answerTwo.setText(possibleAnswers.get(1));             answerThree.setText(possibleAnswers.get(2));             answerFour.setText(possibleAnswers.get(3));         } else {             count--;             questionText.setText(data.get(count).getQuestionText());             possibleAnswers = data.get(count).getPossibleAnswers();             answerOne.setText(possibleAnswers.get(0));             answerTwo.setText(possibleAnswers.get(1));             answerThree.setText(possibleAnswers.get(2));             answerFour.setText(possibleAnswers.get(3));              progress.setText(String.valueOf(count + 1) + " out of " + data.size());             String categoryForQuestion = data.get(count).getCategories().toString().replace("[", "").replace("]", "");             questionCategories.setText("Categories: \n" + categoryForQuestion);         }     }      /**      *      * @param event finishes test and records score based on radio button      * selected      * @throws IOException      */     @FXML     private void endTest(ActionEvent event) throws IOException {         double correct = 0;         NumberFormat formatter = new DecimalFormat("#0.00");          if (group.getSelectedToggle() != null) {             selectedAnswer[count] = group.getSelectedToggle();             answers[count] = (int) group.getSelectedToggle().getUserData();         }          for (int i = 0; i < data.size(); i++) {             if (answers[i] == data.get(i).getCorrectAnswerIdx()) {                 correct++;             }         }          double score = correct / (double) data.size() * 100;         currentUser.setScores(score);         currentUser.setAnswers(answers);         currentUser.setTests(data);         currentUser.setTestStatus(false);         tests.remove(currentTest);         TestInProgress.serializeTests(tests);         User.serializeUsers(users, "User\users.ser");          Parent QuestionPane = FXMLLoader.load(getClass().getResource("FinishedTest.fxml"));         Scene tableViewScene = new Scene(QuestionPane);          Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();         window.setScene(tableViewScene);         window.show();      }      /**      *      * @param event saves current radio button toggled and displays message      * @throws IOException      */     @FXML     private void saveAnswer(ActionEvent event) throws IOException {         if (group.getSelectedToggle() != null) {             selectedAnswer[count] = group.getSelectedToggle();             answers[count] = (int) group.getSelectedToggle().getUserData();             savedAnswer.setVisible(true);             currentTest.setAnswers(answers);             currentTest.setCurrentQuestion(count);             TestInProgress.serializeTests(tests);              PauseTransition pause = new PauseTransition();             pause.setDuration(Duration.seconds(1.4));              pause.setOnFinished(e -> {                  savedAnswer.setVisible(false);             });             pause.play();         }     }      /**      *      * @param url      * @param rb initializes all instances and content      */     @Override     public void initialize(URL url, ResourceBundle rb) {         answerOne.setUserData(0);         answerTwo.setUserData(1);         answerThree.setUserData(2);         answerFour.setUserData(3);          answerOne.setToggleGroup(group);         answerTwo.setToggleGroup(group);         answerThree.setToggleGroup(group);         answerFour.setToggleGroup(group);          if (currentUser.getTestStatus() == true) {             currentTest = tests.get(0);              for (int i = 1; currentTest.getUserID() != currentUser.getUserID(); i++) {                 currentTest = tests.get(i);             }              count = currentTest.getCurrentQuestion();             data = currentTest.getData();             answers = currentTest.getAnswers();              for (int i = 0; i < data.size(); i++) {                 if (answers[i] != 4) {                     selectedAnswer[i] = group.getToggles().get(answers[i]);                 }             }         } else {             progress.setText(String.valueOf(count + 1) + " out of " + data.size());             Arrays.fill(answers, 4);             currentTest = new TestInProgress(currentUser.getUserID(), data, answers,                     count);             tests.add(currentTest);             TestInProgress.serializeTests(tests);             currentUser.setTestStatus(true);             User.serializeUsers(users, "User\users.ser");         }          questionText.setText(data.get(count).getQuestionText());         possibleAnswers = data.get(count).getPossibleAnswers();         answerOne.setText(possibleAnswers.get(0));         answerTwo.setText(possibleAnswers.get(1));         answerThree.setText(possibleAnswers.get(2));         answerFour.setText(possibleAnswers.get(3));         if (selectedAnswer[count] != null) {             group.selectToggle(selectedAnswer[count]);         }         progress.setText(String.valueOf(count + 1) + " out of " + data.size());         String categoryForQuestion = data.get(count).getCategories().toString().replace("[", "").replace("]", "");         questionCategories.setText("Categories: \n" + categoryForQuestion);          // update timerLabel         timerLabel.setText(Integer.toString(timeSeconds));         Timeline timer = new Timeline();         timer.setCycleCount(Timeline.INDEFINITE);         timer.getKeyFrames().add(                 new KeyFrame(Duration.seconds(1),                         new EventHandler() {                     // KeyFrame event handler                     @Override                     public void handle(Event event) {                         timeSeconds--;                         // update timerLabel                         if (timeSeconds == 0) {                             timer.stop();                               try {                                 endTest(null);                             } catch (IOException ex) {                                 Logger.getLogger(QuestionsController.class.getName()).log(Level.SEVERE, null, ex);                             }                         }                         timerLabel.setText(Integer.toString(timeSeconds));                     }                 }));         timer.playFromStart();     }      private void Timer() {      }  }  

Limit of e^-x and 1/e^x as x goes to infinity.

I am pretty sure my understanding may be incorrect so please guide. Wouldn’t the limit of e^-x as x goes to infinity simply be e^-infinity? Looking at the graph of e^-x, e^-infinity would be positive infinity, correct? But I also know that e^-x is also the same as 1/e^x so in this case plugging in infinity would give me 1/infinity which would just be zero?

Why am I getting two different answers? Please shed some light on limits (without using l’hopitals rule). I thought I was getting the concept of limits until this.

Thanks!

Email notification if cell value goes below set amount

I’m having trouble finding a Google sheet script that does what I need so I figured I would ask if someone could help me. Basically I have a simple sheet setup to track inventory of one item. There is a formula in “G1” on sheet “QAI Stickers” that calculates the remaining inventory and I would like to add a script that emails specific people when the value drops below 11. I also just want it to email when just that value changes and not just when any value in the sheet changes.

Here is what I’ve been trying to use. I have a trigger setup to run on edit, but it seems to only run if I push play on the script. The program is also telling me that lines 5 & 8 are deprecated.

 function myNotification() {     var ss = SpreadsheetApp.getActiveSpreadsheet();     var value = ss.getSheetByName("QAI Stickers").getRange("G1").getValue();     if( value < 11 ) {       var last = ScriptProperties.getProperty("last");       value = value.toString();       if( value != last ) {        var email = Session.getUser().getEmail();        MailApp.sendEmail(email, 'My Notification',                       'new value: '+value+'\n\n'+ss.getUrl());        ScriptProperties.setProperty("last", value);       }     }   }   

Bitcoin node goes from 8 peers on startup down to 1 peer and sometimes 0 peers

I’m not sure what is going on. I’m getting the following errors in my log file:

connect() to [ip] failed: connection refused (111) 

which makes sense since I have not configured my router to accept incoming connections. I’m also getting two other errors:

Socket send error Broken Pipe (32) version handshake timeout from ... 

QR scanner that goes to site directly [on hold]

I am looking for an android QR code scanner that when the code is scanned and it is a web link, it goes to the link directly with my preferred browser.

Currently I am using the Kaspersky QR code scanner and it works great. Unfortunately it opens its own built-in browser.

Does anyone know a QR code scanner that opens the link in a preferred browser (without pressing the button “go to link” first)?

On Blinking button it goes to a light shade

click a add button in the same page of the blinking button page to select a name from a new page and back to the blinking button page the blinking button is not blinking and is in a light shade.

    self.checkAvalibilityBtn.alpha = 1.0     UIView.animate(withDuration: 0.80, delay: 0.0, options: [.curveEaseIn, .repeat, .autoreverse, .allowUserInteraction], animations: {() -> Void in         self.checkAvalibilityBtn.alpha = 0.2     }, completion: {(finished: Bool) -> Void in     })