Jump to content

Fmdpa

Members
  • Posts

    1,035
  • Joined

  • Last visited

Everything posted by Fmdpa

  1. Was that even after you unchecked the option in skype regarding port 80?
  2. I encountered a weird problem with Apache recently. It was not serving pages. After a little bit of research, I found the solution. It surprised me. Apparently Skype and Apache conflict for port 80. So if you have Skype installed, you must modify it to not use port 80. This blog shows how to do it. Just wanted to share that in case you are encountering the same problem. I never would have guessed that Skype had anything to do with it!
  3. I FINALLY figured out how to implement SSH with Mercurial, Netbeans, and BitBucket instead of HTTPS. It was a lot tougher than I had anticipated and it actually ended up taking me a few hours to figure out. It was mostly just because I had a hard time finding resources. I really like how well Netbeans integrates version control. It works very well and was well worth the effort I put into setting it up. It's worth noting that Netbeans does not fully integrate Git as of yet. The plugin is a work in progress, as you can see here. So if you want to use Netbeans VCS integration, that's another reason you may want to use Mercurial.
  4. Thanks! That really helps a lot. I have a much better idea where to go from here now.
  5. Fmdpa

    Forum update

    Yeah, Stack Overflow is basically wiki-answers for programmers. I like the forum style a lot more than "Here's my question, I want an answer". When you ask a question forum style, you tend to learn more because you can discuss answers to your question and related topics.
  6. Ok, that's good to hear. I'm hoping to build competence so I can develop faster and meet deadlines. I actually have a project I'm working on right now for someone else. I told them that it might take me a while, but I quoted a much lower price than they would usually pay for a custom built site. It seems to be working out very well so far. I wonder if any professional developers just set up platforms like Wordpress or Joomla. Seems like that would be cheating.
  7. Because I enjoy web programming, I've considered various ways I could profit monetarily from it. If I were to freelance or start a business that coded websites from scratch, how hard do you think it would be to make a profit? Is there a market for that? Do you think it would just take a while to build it up, and then I could start reusing some code from previous applications? Maybe I would have to use a rapid development framework like Rails. What's your input on this?
  8. Fmdpa

    Forum update

    They have the arrow at the bottom which will push you right to the top of the page, so it's almost as good as having a navigator menu at the bottom too.
  9. I just set up a simple little version control system with my favorite IDE, netbeans. Why I Chose BitBucket/Mercurial I chose BitBucket for my current development project because it offered free private repositories, unlike Github. Github does have some cool features that BitBucket lacks, like the Network Graph, so I'll probably use it if I ever start a public open-source project. Preliminary Setup These were the main things I did to before I set up the main VCS: Installed Netbeans IDE Signed up on BitBucket Installed Tortoisehg (Tortoisehg is a Mercurial package for Windows that includes integration into the system's context menus e.g. you can right-click and select TortoiseHG > Create Repo Here; That easy!) Main Setup After the installation you have to look for mercurial.ini at the following location: UNIX-based systems: ~/.hgrc Windows XP: C:\Documents and Settings\MY_NAME\mercurial.ini Windows 7: C:\Users\MY_NAME\mercurial.ini On Windows, I had to create the file with this info: [ui]; editor used to enter commit logs, etc. Most text editors will work.editor = notepadusername = MY_FIRST_NAME MY_LAST_NAME <MY_NAME@example.com> The email address should stay enclosed in the less-than/greater-than symbols. Next, I created a new project in Netbeans. When I create the project to be used with a VCS, I like to keep the Netbeans Metadata in a separate directory as it is irrelevant to potential collaborators. My structure may look like this: - /project_dir | - /nbproject (netbeans metedata files) | - /source_files (project source files) When I sync a folder to my remote BB repo, I just sync the source files folder. Before I initialize the project, I create the repo on BB. After that is done, I initialize the project in netbeans. Initializing the Project After you create the repository on BB, you will see a command to clone your repo. Instead of copying the entire command ($ hg clone https://me@bitbucket.org/my/repo), just grab the HTTPS url. Back to Netbeans. I locate the sources folder in the project I just created. I right-click on that and go to Mercurial > Properties.... Then I paste the url into the "default-push" and "default-pull" fields. The Mercurial username should already have been pulled from the mercurial.ini file. If it isn't there, enter MY_FIRST_NAME MY_LAST_NAME <MY_NAME@example.com> as the value for username. Now I can do the commits and pushes right through Netbeans, never touching the command line. I still want to familiarize myself with hg (the chemical symbol for mercury) commands. I believe the syntax is similar to git, so it would essentially be killing two birds with one stone if I learned the Mercurial commands. You probably noticed this uses HTTPS instead of SSH. Although I haven't tried setting up SSH yet, I think it would be pretty easy. I'd be happy to hear your input on my configuration.
  10. Fmdpa

    Forum update

    The updated forum was up and running late yesterday.
  11. Fmdpa

    Forum update

    I love the update! The features and the UI are fabulous! One question: When I try to "Like" a post, it says I've reached my quota of likes for the day even though I haven't liked anything else. Is that feature entirely disabled?
  12. Fmdpa

    Thank You, JSG!

    I believe now is an appropriate time to publicly thank justsomeguy for his dedication to this forum as he recently passed a total of 20,000 posts. When I came to the forum about a year and a half ago, the most helpful members quickly became apparent. Although I there is a large handful of members that I greatly appreciate, JSG has distinguished himself with no-nonsense, down-to-earth replies that are extremely educational. We can give JSG significant credit for making/keeping this forum polite and helpful which is what makes it unique from so many others. He accommodates you regardless of your learning stage and discourages topics that go in the wrong direction. Instead of always giving you the answer in straight code, he will walk you through your problem to make sure you will remember and understand the solution. He promotes learning even after your question is answered by recommending valuable authoritative resources. JSG, thank you for the unprecedented dedication and support you have for this forum. Keep up the good work!
  13. This new UI update looks great!

  14. I'm sorry for miscommunication...that was the just conclusion I came to from this post: I've found that when I put more details and research into my questions, then the people replying to my topic can give me the answer I'm looking for. Part of effective learning is learning to ask the right questions, whether you are asking Google or the W3Schools forum.
  15. I don't think anyone tries to make a fool of you. I have seen in some of your past forum topics where you might have taken someone's post as making of fool of you. But as far as I have seen, that only happened in the case that Boen said: I think it is very important to remember (as Boen said) that the answer will match the question. Redundant questions will get redundant answers. Don't take it as an insult when that's the answer you get.
  16. I changed the conditional to this: word.match(window.dirtyList.test) || blackList.includes(word) And it works fine! I fixed all of the scope issues I could find as well.
  17. Thanks for noticing that. I fixed the clashing globals and removed the prototyping and it is doing something different now. Before if I submitted the form continuously it would log this: blacklist includestrueblacklist doesn't includeblacklist includestrueblacklist doesn't includeblacklist includestrueblacklist doesn't include Now it does this: blacklist includestrueblacklist doesn't includetrueblacklist doesn't includetrueblacklist doesn't includetrueblacklist doesn't includetrueblacklist doesn't include etc.Any ideas what could be wrong now?
  18. I am in the middle of an extremely confusing problem. My script is acting very unnaturally. This is continued work on my Opera extension so keep that in mind as you analyze the code. Things like HTML5 local storage (the "prefs" object is my shorthand clone of the local storage object) and JSON parsing are supported, so it is highly unlikely that the problem is related to that. Here's my problem. The problem lies in the conditional statements near the end of my code. First, I put that "return false" statement at the very end to prevent the form from submitting. The first time I submit the form it works fine. I fill the field from which the "word" variable gets its value with something that will pass the "else if" condition. The first time, "blacklist includes" is logged like it is supposed to be. The second time you submit the form (remember, no page reload) the else{} code is executed. As you can see, I even logged a test with the else if() conditions, and it returned true! How in the world is it just ignoring that else if() condition???Here's the relevant part of my code (and more, probably): function Whitelist() { this.words = JSON.parse(prefs.whitelist) // parse the comma separated words Whitelist.prototype.remove = function(word) { this.words = this.words.deleteItem(word) widget.preferences.whitelist = JSON.stringify(this.words) // assign the whitelist array to the whitelist local storage variable this.joined_whitelist = this.words.join(', ') // update "whitelist" array } Whitelist.prototype.add = function(word) { word = word.replace(/,/g, '') for (i = 0; i < this.words.length; i++ ) { if ( this.words[i].toLowerCase() == word.toLowerCase() ) return // exit the function if the word being added is found in the whitelist } this.words.push(word) // add word to the whitelist array widget.preferences.whitelist = JSON.stringify(this.words) // assign the whitelist array to the whitelist local storage variable this.joined_whitelist = this.words.join(', ') // update "whitelist" array } Whitelist.prototype.includes = function(word) { for (i = 0; i < this.words.length; i++ ) { if ( this.words[i].toLowerCase() == word.toLowerCase() ) return true // exit the function if the word being added is found in the whitelist } return false } } /* blacklist object */ function Blacklist() { this.words = JSON.parse(prefs.blacklist) // parse the comma separated words this.remove = function(word) { this.words = this.words.deleteItem(word) widget.preferences.blacklist = JSON.stringify(this.words) // assign the whitelist array to the whitelist local storage variable this.joined_blacklist = this.words.join(', ') // update "whitelist" array } this.add = function(word) { word = word.replace(/,/g, '') for (i = 0; i < this.words.length; i++ ) { if ( this.words[i].toLowerCase() == word.toLowerCase() ) return // exit the function if the word being added is found in the whitelist } this.words.push(word) // add word to the whitelist array widget.preferences.blacklist = JSON.stringify(this.words) // assign the whitelist array to the whitelist local storage variable this.joined_blacklist = this.words.join(', ') // update "whitelist" array } this.includes = function(word) { for (i = 0; i < this.words.length; i++ ) { if ( this.words[i].toLowerCase() == word.toLowerCase() ) return true // exit the function if the word being added is found in the whitelist } return false } }search_form = $('#search_form') search_form.onsubmit = function() { word = this.search.value.replace(/,/g, '') // remove commas from the value if (word == '') return false// this is the problematic code: if ( whiteList.includes(word) ) { // check first if the word is in the whitelist console.log('whitelist includes') } else if (window.dirtyList.test(word) || blackList.includes(word) ) { // check if the submitted word matches the word blacklist console.log('blacklist includes') } else { console.log(window.dirtyList.test(word) || blackList.includes(word)) // returns true!!! console.log('blacklist doesn\'t include') } return false }
  19. You could make the background of the dropdown list (it's a <ul>, right?) a 1px wide semi-transparent gradient that repeats-X. Alternatively, you could use CSS3 gradients with RGBa values.
  20. I contacted the registrar and apparently all I need to know is the answer to a certain security question.
  21. Thanks for the info Kevin. You're right - I don't need to transfer the domain to a new registrar. I just need to gain ownership of it. I'll look into contacting the registrar.
  22. I am preparing to redesign a website for an organization. The member of that organization that originally set up the website has moved away and the site is just stagnantly sitting there. How can I get a hold of the domain? I'm guessing I need to get in touch with the guy that setup the website. If so, what info do I need to get from him?
  23. Fmdpa

    Snake

    Now that you say that, I think I remember having the same issue with keypress/keydown events. It's annoying, but at least the solution isn't that hard.
×
×
  • Create New...