Jump to content

Leaderboard


Popular Content

Showing most liked content since 12/17/2016 in all areas

  1. 2 points
    There's nothing formal to tell you things like that. People do it themselves, and it tends to illustrate the Dunning-Kruger effect. People who just recently started tend to rate themselves highly, and only when you get more into something do you realize how much you don't know. I wouldn't put any weight on things like that. If you want to evaluate someone's capabilities look for a portfolio or things they've actually finished.
  2. 2 points
    You had wrongly referenced a JavaScript function, and wrongly named a css selector so very important position: relative was not applied. <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * {box-sizing:border-box} body {font-family: Verdana,sans-serif;margin:0} .mySlides {display:none; width: 100%;} /* Slideshow container */ .slideshow { /*NOT slideshow-container*/ max-width: 1000px; position: relative; margin: auto; } /* Next & previous buttons */ .prev, .next { cursor: pointer; position: absolute; top: 50%; width: auto; padding: 16px; margin-top: -22px; color: white; font-weight: bold; font-size: 18px; transition: 0.6s ease; border-radius: 0 3px 3px 0; } /* Position the "next button" to the right */ .next { right: 0; border-radius: 3px 0 0 3px; } /* On hover, add a black background color with a little bit see-through */ .prev:hover, .next:hover { background-color: rgba(0,0,0,0.8); } /* Caption text */ .text { color: #f2f2f2; font-size: 15px; padding: 8px 12px; position: absolute; bottom: 8px; width: 100%; text-align: center; } /* Number text (1/3 etc) */ .numbertext { color: #f2f2f2; font-size: 12px; padding: 8px 12px; position: absolute; top: 0; } /* The dots/bullets/indicators */ .dot { cursor:pointer; height: 13px; width: 13px; margin: 0 2px; background-color: #bbb; border-radius: 50%; display: inline-block; transition: background-color 0.6s ease; } .active, .dot:hover { background-color: #f44336; } /* Fading animation */ .fade { -webkit-animation-name: fade; -webkit-animation-duration: 1.5s; animation-name: fade; animation-duration: 1.5s; } @-webkit-keyframes fade { from {opacity: .4} to {opacity: 1} } @keyframes fade { from {opacity: .4} to {opacity: 1} } /* On smaller screens, decrease text size */ @media only screen and (max-width: 300px) { .prev, .next,.text {font-size: 11px} } </style> </head> <body> <div id="wrapper"> <div class="slideshow w3-container w3-half"> <div class="w3-content w3-display-container"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_nature_wide.jpg"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_fjords_wide.jpg"> <a class="prev" onclick="plusDivs(-1, 0)">&#10094;</a> <a class="next" onclick="plusDivs(1, 0)">&#10095;</a> <!-- Extra plusDivs parameter refers to first (0) slideshow (start from 0) --> </div> <br> <div style="text-align:center"> <span class="dot" onclick="currentDiv(1, 0)"></span> <span class="dot" onclick="currentDiv(2, 0)"></span> </div> </div> <hr> <div class="slideshow w3-container w3-half"> <div class="w3-content w3-display-container"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_nature_wide.jpg"> <img class="mySlides fade" src="https://www.w3schools.com/howto/img_fjords_wide.jpg"> <a class="prev" onclick="plusDivs(-1, 1)">&#10094;</a> <a class="next" onclick="plusDivs(1, 1)">&#10095;</a> <!-- Extra plusDivs parameter refers to second (1) slideshow (start from 0) --> </div> <br> <div style="text-align:center"> <span class="dot" onclick="currentDiv(1, 1)"></span> <span class="dot" onclick="currentDiv(2, 1)"></span> </div> </div> <script> var slideIndex = 1; var z = document.getElementsByClassName("slideshow"); for (i = 0; i < z.length; i++) { //set custom data attribute to first current image index z[i].setAttribute("data-currentslide", 1); showDivs(z[i].getAttribute("data-currentslide"), i); } function plusDivs(n, j) { //get custom data attribute value of current image index to slideshow class index j slideIndex = parseInt(z[j].getAttribute("data-currentslide")[0]); showDivs(slideIndex += n, j); } function currentDiv(n, j) { showDivs(slideIndex = n, j); /* showDivs Not showSlides*/ } function showDivs(n, j) { var i; var z = document.getElementsByClassName("slideshow")[j]; var x = z.getElementsByClassName("mySlides"); var dots = z.getElementsByClassName("dot"); if (n > x.length) { slideIndex = 1 } if (n < 1) { slideIndex = x.length; } //set custom data attribute to current image index z.setAttribute("data-currentslide", slideIndex); for (i = 0; i < x.length; i++) { x[i].style.display = "none"; } for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } x[slideIndex - 1].style.display = "block"; dots[slideIndex - 1].className += " active"; } </script> </div> </body> </html>
  3. 2 points
    I don't know where there's a list. Generally you should never develop for specific devices, you should just make your layout flexible enough (with help of media queries) to wotk on any screen regardless of size. This is usually achieved by testing your page in the responsive mode of your browser and resizing the viewport until it breaks, then you add a media query to correct the layout. But for reference, I start off with a design for the following devices, then make extra adjustments later: Small mobile (iPhone 4):Up to 374px (I usually use this just for specific elements that didn't fit) Mobile or small mobile in landscape): Up to 767px Tablet portrait: 768px Tablet landscape: 1024px (breakpoint usually between 800px and 900px) Desktop: 1025px and above Some people make designs for large desktop computers (1440px and above), but that's up to you. In general, there isn't one specific strategy for responsive design, this is just the approach from the companies I work with.
  4. 2 points
    Like astralaaron said using closest class and the index class in jquery you can get the index of the tr, have a look at the fiddle. https://jsfiddle.net/8hL46ftj/ hope this helps $('img').click(function(){ alert($(this).closest('tr').index()) })
  5. 1 point
    In your HTTPS page all the Javascript files should also be loaded with the HTTPS protocol because the browser does not allow loading unencrypted content on an encrypted page. This file on your page is still using unencrypted HTTP: http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
  6. 1 point
    I meant display: properties not just display: inline-block. I think you are after a type of sticky footer effect, with rest of content vertically aligned middle and centre <!DOCTYPE HTML> <!-- Aerial by HTML5 UP html5up.net | @ajlkn Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) --> <html> <head> <title>High Intensity Records</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <!--[if lte IE 8]><script src="http://highintensityrecords.com/assets/js/ie/html5shiv.js"></script><![endif]--> <link rel="stylesheet" href="http://highintensityrecords.com/assets/css/main.css" /> <!--[if lte IE 8]><link rel="stylesheet" href="http://highintensityrecords.com/assets/css/ie8.css" /><![endif]--> <!--[if lte IE 9]><link rel="stylesheet" href="http://highintensityrecords.com/assets/css/ie9.css" /><![endif]--> <style> body, html {height: 100%;} #footer {display: block;} #footer {position: relative; margin-top: -6em; overflow: hidden;} #wrapper {height: 100%; display: table;} #main { display: table-cell; padding:0; text-align: center; vertical-align: middle; } #main::before {content: none;} #main::after { content: ""; display: block; height: 4em; position: relative; } </style> </head> <body class="loading"> <div id="wrapper"> <div id="bg"></div> <div id="overlay"></div> <div id="main"> <!-- Header --> <header id="header"> <h1> <img src="http://highintensityrecords.com/images/hirwhite.png" alt="HTML5 Icon" width="500" height="250"></h1> <p>Bringing the <span style="font-weight:bold">highest quality </span>and <span style="font-weight:bold">intense beats</span> to flow inside your mind.</p> <p><span style="font-weight:bold">DEMOS </span>highintensityrecords@live.com</p> <p><span style="font-weight:bold">LICENSING </span>licensing.highintensityrecords@live.com</p> <nav> <ul> <li><a href="https://www.facebook.com/Highintensityrecords/" class="icon fa-facebook"><span class="label">Facebook</span></a></li> <li><a href="https://twitter.com/highintenrecs" class="icon fa-twitter"><span class="label">Twitter</span></a></li> <li><a href="https://soundcloud.com/highintensityrecords" class="icon fa-soundcloud"><span class="label">SoundCloud</span></a></li> <li><a href="https://soundcloud.com/highintensityrecords" class="icon fa-youtube"><span class="label">YouTube</span></a></li> <li><a href="https://www.beatport.com/label/high-intensity-records/28820" class="icon fa-headphones"><span class="label">Beatport</span></a></li> <li><a href="http://www.highintensityrecords.com/" class="icon fa-spotify"><span class="label">Spotify</span></a></li> </ul> </nav> </header> <!-- Footer --> </div> </div> <footer id="footer"> <span class="copyright">&copy; High Intensity Records 2017.</span> </footer> <!--[if lte IE 8]><script src="http://highintensityrecords.com/assets/js/ie/respond.min.js"></script><![endif]--> <script> window.onload = function() { document.body.className = ''; } window.ontouchmove = function() { return false; } window.onorientationchange = function() { document.body.scrollTop = 0; } </script> </body> </html>
  7. 1 point
    Use inline elements inside the paragraph, like <span> instead of <div>.
  8. 1 point
    Use ALTER, its described here https://dba.stackexchange.com/questions/62051/alter-table-rename-a-column
  9. 1 point
    You misspelled onclick on this line <button onklick="compare()">Check</button>
  10. 1 point
    If you're showing multiple boards and forms on the page then yeah, you need to add the board ID to each form to make them unique. You can make it a hidden input, or add it to the form action URL.
  11. 1 point
    That's a very broad question. It depends on how you want to classify them. You could classify them by hardware, by operating system, by server software or countless other features. By hardware there's a limitless amount of server configurations given the amount of memory, storage and processing. You can also distinguish between physical servers, virtual servers or server clusters. By operating system the two main categories would be Windows and Linux. Under Windows there are several versions, Linux has a whole lot of different distributions. The two biggest server software packages are Apache and IIS. IIS usually only runs on Windows servers.
  12. 1 point
    You could do that, that should make those variables available in the global scope, but that's kind of a roundabout way to do that, to use Javascript to append a script block. Javascript is already running, you can just set things directly. I mentioned this in another topic, but if you start by declaring those variables in the global scope then you can just set them directly later. So put a script block on the page and define those variables when the page starts, and then in the ajax callback just set the variables directly instead of writing a new script block. It just seems like a roundabout way to have Javascript write a script block when you can do things in Javascript directly, it's already running. Instead of global variables, you might also consider using sessionStorage or localStorage to store things like that.
  13. 1 point
    The reason why your code isn't working is because $con is not defined in those functions (and $pass and $conf_pass are not defined in newUser either). You can use global variables inside the function, but it's better to avoid globals and pass in any variables you want the functions to use. So you should pass $con to the functions. You should add this to the top of your code: ini_set('display_errors', 1); error_reporting(E_ALL); You should switch your database code to use prepared statements instead of trying to manually escape everything. Prepared statements offer better security. You can use prepared statements with mysqli, but it's better to use PDO. The PDO code is shorter and easier to understand, and PDO works with databases other than only MySQL. e.g.: $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?"); if ($stmt->execute(array($username))) { if ($row = $stmt->fetch()) { // it found a user } } http://php.net/manual/en/book.pdo.php For the code I posted above, I was saying that each function should only do one thing. Your newUser function should only validate and add the user if necessary, it should not also output anything or redirect. Your main code should do that based on what the function returned. If you want to return multiple values you can use an array like I did above to return a "success" value for whether the user was added, and a message to show them. So your main code would call that function and then decide what to do. Those header redirects wouldn't work though, because you sent output to the browser first. $result = newUser(...); if ($result['success']) { // maybe redirect to a thank-you page or something } else { // show the error in $result['message'] }
  14. 1 point
    .w3-cell-row { margin: auto; margin-top: 0; width: 79%; border-collapse: collapse; /* margin-bottom: -10px;*/ } .w3-cell { background-color: #fff; border: 5px solid #00c; /* margin-bottom: -10px;*/ border-bottom: none; } .w3-cell-row:before, .w3-cell-row:after { content: none; } .w3-cell-row:last-child {border-bottom: 5px solid #00c;}
  15. 1 point
    If $(this).attr('id') returns the correct ID, then this (and the jQuery-wrapped $(this)) refer to the same element. There's no reason to get the ID from the element, then get the element again. You already have it, you're getting the ID from it.
  16. 1 point
    1) Anything using below class will use pointing finger cursor .style1 { font-family: Verdana; font-size: 10pt; text-align:justify; cursor:pointer; } 2) You said Which means you would have to apply this styling class name to container element, which would either be a Paragraph, or Anchor, or Strong element that surround the text ' Click to Read More'. BUT! you have applied class name to This is outside the scope of what you are trying to target, its scope starts from opening span <span class="style1"> and finishes at </span>, all the text "W3Schools is a popular web site for learning web technologies online.[2] Content includes tutorials and references relating to..." will have the pointer cursor, but anything outside this will work as default styling, which is what is happening to anchor text you are attempting to target, because its outside '<span class="style1">....</span>' scope.
  17. 1 point
    You wouldn't really say the "and", it's more like an if statement if window.console exists. The reason that works is because logical operators get short-circuited. Since everything in an AND expression needs to be true for the entire thing to be true, if it finds something that is false then it stops evaluating the rest of the expressions and the result is false. Similarly with OR, if it finds any expression that is true then it stops evaluating the rest and the result is true. So in that expression above, if window.console is logically false then it does not try to execute console.log. Note that they just use console.log instead of window.console.log because window is the default global scope. They don't need window on the left side either but I guess put it there to make it more explicit. There's something else a little weird about logical expressions in Javascript. Take this example: var x = 1; var y = 2; var z = 3; var result = (x && y && z && (x+y+z)); What do you think result is going to be set to? That expression is a bunch of logical AND operators, so it's going to be set to boolean true, right? Wrong, it's going to be set to 6, the value of the last expression that was evaluated. You can use that with OR to have a variable set to the first thing which has a non-falsy value, e.g.: var ajax_object = which || of || these || exists; That can be shorter than writing a bunch of if/else statements, but it only works if things like false, zero, or the empty string are not possible values for those variables.
  18. 1 point
    The issue isn't the location of the files relative to each other, it's how you're accessing them. If the URL bar in your browser starts with http:// or https:// then your browser uses one security model, if it starts with file:// or anything like that it uses another. I don't know if ajax even really works for non-HTTP requests, because part of that process is communication with a web server. It might work, but I wouldn't count on it. If you want to download a server for testing, the easiest are packages like XAMPP. That includes the Apache web server, and also PHP and MySQL and some other tools pre-configured. After you install that and start Apache, you'll be able to access it at http://localhost/ There will be a specific folder on your computer that Apache uses as the document root, that's where the root level of your website is. So if you create a file and save it in that folder as index.html, you can access it at http://localhost/index.html, or if you put a folder called images in the document root then that will be at http://localhost/images/ etc
  19. 1 point
    There's no uncertainty. When you click on a link like that and the browser is building the URL to request, if the link only contains a querystring then the browser will use the current page, add the querystring to it (or replace an existing one), and use that as the URL for the request. There's honestly not a lot to say on this topic, it's pretty basic. It's just a link to the current page with a new querystring. It wouldn't matter whether or not someone managed to actually create a file with that name on the server because the browser wouldn't request that file anyway, it's going to request the current page again.
  20. 1 point
    Just to clarify, if the link is a query string only and does not contain the rest of the URL, it uses the current URL of the page with the new query string.
  21. 1 point
    If you are doing such coding use the : form and not { }, it will be much easier to understand the code when you mix them. <?php if(condition): ?> Html here <?php else: ?> Html here <?php endif; ?>
  22. 1 point
    Echo or escaping and entering by opening/closing php, are both valid, but i think separating php from html is much cleaner as you have it.
  23. 1 point
    That class doesn't seem all that useful, it doesn't provide any protection and really only gives a way to send an array of conditions for a select query. I would suggest using PDO instead, or looking into prepared statements with mysqli and using those. The first error message sounds like the database connection failed.
  24. 1 point
    You are not getting the value, but text content of option list? Every time the loop completes a cycle it overrides the previous html, you need to add to previous, then at the end add to label html var join = ""; $.each(tous, function(index, value) { join += value + "<br>"; //return (value !== ""); ///// why? }); $("#label").html(join); I think this is what you are asking for? As I said, you are using innerHTML not value, so you need to adjust this to your requirements. instead of var l = selectliste.options[selectliste.selectedIndex].innerHTML; you could use var l = $(this).val(); // for value or var l = $(this).text(); // for actual text description
  25. 1 point
    That's because you set it to false right before you alert it. Go back and look at the code I posted, notice how the variable definitions are outside the load handler. They first get defined with those default values, maybe at some point later down the page PHP will redefine them, and then once the page finishes loading the rest of the Javascript runs, using either the default values or the values that were set by PHP.
  26. 1 point
    It's common to use ajax to send a request for partial content and fill that in on the page. I don't know if jQuery's load method will automatically execute any Javascript sent with the HTML, but if not that's something else to consider. A common practice would be to return a JSON structure with an HTML part and a Javascript part, where you would add the HTML then execute the Javascript.
  27. 1 point
    The length is 3. The indexes go from 0 to 2. That is 3 elements, which is why the length is 3. 0, 1, 2 -> that's 3 elements.
  28. 1 point
    Hold on, are you running different versions of that code with only 1 of the console.log statements? If so, I think you're missing the point of having all of those console.log statements. Also, the console.log statement where it prints i should probably go inside that do loop, the point is so that you can use that to see what the calculations are doing. If you have a set with 3 items in it, how many possible subsets can you create? The answer is 8 - 23. If the set has 4 items in it, then there are 16 possible subets - 24. You use Math.pow to get that value from the length of the set. If you don't understand that then work it out on paper.
  29. 1 point
    My mistake, used for testing forgot to remove. change slideIndex = parseInt(z[j].getAttribute("data-currentslide")[0]); to slideIndex = parseInt(z[j].getAttribute("data-currentslide")); //lose the [0]
  30. 1 point
    Which IP address? 127.0.0.1 (localhost) or the ip address of network o/s hosting the web site? check out https://stackoverflow.com/questions/9682262/how-do-i-connect-to-this-localhost-from-another-computer-on-the-same-network
  31. 1 point
    The page itself opens, but the developer tools show a 404 on one of the Javascript files I think.
  32. 1 point
    Maybe they don't have example files on their server for you to use. You can open any other editor and add video and track tags if you want to though, as long as there are files online somewhere that you can point to.
  33. 1 point
    Really? maybe is a Spain hosting problem, because they show how to install here https://help.1and1.com/hosting-c37630/webspace-and-access-c85098/ssh-c37775/install-imagemagick-via-ssh-a649013.html
  34. 1 point
    It only shows the source of files in the same local filesystem, regardless of domain name. If, for some reason, it did load a file from a URL it would only be able to show what was returned by that URL through HTTP.
  35. 1 point
    Try using w3css modal, with w3-animate-left class with w3-modal-content class https://www.w3schools.com/code/tryit.asp?filename=FHE8DTJR3F2P working solution https://www.w3schools.com/code/tryit.asp?filename=FHE95QEVR6BC
  36. 1 point
    toGMTString() -> Deprecated. Use the toUTCString() method instead, as stated from here https://www.w3schools.com/jsref/jsref_obj_date.asp
  37. 1 point
    Open your browser's developer tools and go to the Network tab, refresh the page and look for any failed requests to see what's missing.
  38. 1 point
    So, why use AJAX at all? Since AJAX depends on Javascript being turned on or off, and since this decision is made by the user-client, why not use PHP whose functioning is determined solely by the host-server?
  39. 1 point
    It would transfer the problem to AJAX code, it depends on WHY the ajax php code was included in the form page if (isset( $_SERVER['HTTP_X_REQUESTED_WITH'] )):include('../config.php'); will not run php code beyond this 'if' condition, if page reloads because JavaScript was disabled which prevents the form being submitted, it is no longer a JavaScript AJAX request. if (!isset( $_SERVER['HTTP_X_REQUESTED_WITH'] )):include('../config.php'); Will allow the php code within the form to be processed if JavaScript disabled, BUT! will prevent AJAX request being processed if JavaScript is enabled and it goes directly to ajax_comment.php
  40. 1 point
    Unless specifically programmed otherwise, the server will serve the same content to everybody. If you have a PHP file that can manipulate files or the database then it's open for everybody to use and is an easy attack vector on your website, if you want to prevent other people from using it you will have to add some form of authentication. In summary, nothing is stopping me from sending a POST request to your web host.
  41. 1 point
    For simple menu like yours no! The ul and li are not required, for menu that include sub or child menus, then a unordered listing (bullet list) would be preferable because of it nesting structure of UL and LI elements.
  42. 1 point
    You should only need one function. First set up your buttons to each have a value: <button type="button" class="add-panel" data-value="4 Panel Smooth">Add 4 Panel Smooth</button><br><br> <button type="button" class="add-panel" data-value="4 Panel Grained">Add 4 Panel Grained</button><br><br> <button type="button" class="add-panel" data-value="4 Panel Grained 2 Glazed">Add 4 Panel Grained Glazed</button><br><br> Create the list that will contain the values: <ul id="demo"></ul> Set up an event listener for the buttons: var buttons = document.getElementsByClassName("add-panel"); for(var i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", addPanel, false); } Create the event handler that updates the array and displays its contents in the HTML: var panels = []; function addPanel(e) { // Get a reference to the button that was clicked var button = e.currentTarget; // Add the button's value to the array panels.push(button.getAttribute("data-value")); // Display the contents of the array on the page by generating <li> elements. var demo = document.getElementById("demo"); demo.innerHTML = ""; var li; for(var i = 0; i < panels.length; i++) { li = document.createElement("li"); li.innerHTML = panels[i]; demo.appendChild(li); } }
  43. 1 point
    I use Netbeans, because its not limited to just 1 or two server languages, but several, including frameworks Zend, smarty, Laravel, Java etc, It gives you traffic light indication to highlight errors in red and warnings in amber, it gives hints, in indicates what closing braces elements belong to. There is also Sublime, but I found Netbeans gives me what I want, and the ability to add more if I want.
  44. 1 point
    If you're sending string values in the URL then you'll also want to use the encodeURIComponent function to make sure the values don't break the URL. Otherwise, if you're sending a lot of data you'll probably want to just switch to a post request instead of a get request.
  45. 1 point
    You should have the PHP run first, then the HTML. Here's the general structure of my PHP applications: <?php // Form handling logic if(isset($_POST['submit')) { // If submission was successful // Do something header('Location: http://www.example.com/target.php'); exit; } // Set variables for use in templates $template = 5; // Include a template file include 'template.php'; ?>
  46. 1 point
    You can store the query results in a multidimensional array check this https://www.w3schools.com/php/func_array.asp "example 4" you can then return the array .
  47. 1 point
    var acc = document.getElementsByClassName("accordion"); for (var i = 0; i < acc.length; i++) { acc.addEventListener("click", accordion); } function accordion() { for (var i = 0; i < acc.length; i++) { // Reset all of the elements but current selected if (acc.item(i) !== this) { acc.classList.remove("active"); acc.nextElementSibling.style.maxHeight = null; } } //check if current selected has 'active' class and remove it and next sibling, else add and show next sibling if (this.className.indexOf('active') !== -1) { this.classList.remove("active"); this.nextElementSibling.style.maxHeight = null; } else { // being a new selection and not a currently active selection add active class // Toggle the "active" class for the current item this.classList.add("active"); // Make the contents visible var panel = this.nextElementSibling; panel.style.maxHeight = panel.scrollHeight + 'px'; } }
  48. 1 point
    <?php $book = array( "Language" => array("English", "Franch", "Arabic"), "Programming" => array("PHP", "JAVA", "C++"), "Science" => array("Physics", "Geography", "Math"), ); $classRef = ""; $keysvalues = array_keys($book); echo '<ul>'; for ($i = 0; $i < sizeof($book); $i++) { $classRef = str_replace(" ", "_", strtolower($keysvalues [$i])); echo '<li class="' . $classRef . '">' . $keysvalues [$i]; echo '<ul>'; foreach ($book[$keysvalues [$i]] as $value) { echo '<li>' . $value . "</li>"; } echo '</ul>'; echo "</li>"; } echo '</ul>'; ?>
  49. 1 point
    For many people, tutorials aren't explained in a way to them, where they can actually understand what they are saying, whereas if you had a human who can actively explain how to do something, like a javascript function to resize a window, then that should be fine.That is my opinion and I shall stick by it. ;O
  50. 1 point
    You should add Notepad++ to that list.
×