Wikipedia:Reference desk/Archives/Computing/2014 March 27

Computing desk
< March 26 << Feb | March | Apr >> March 28 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


March 27 edit

Sharepont Text Editor edit

When I click on a .txt file in Sharepoint, and select "Edit", it opens the file in Notepad, even though I've got Notepad++ set as the default application for text files. Can I change this behaviour? Rojomoke (talk) 10:56, 27 March 2014 (UTC)[reply]

As I understand it, you need to change the file association in your browser. Hopefully the information at http://weblogs.asp.net/bsimser/archive/2005/07/18/419824.aspx will be helpful to you. Looie496 (talk) 18:09, 27 March 2014 (UTC)[reply]

Google searching advice edit

Checked their help pages and I didn't see my answer. How do I tell Google to return exactly the word that I want, and ignore alternate spellings and versions of the word? It's nice that they try to find related concepts (go to https://www.google.com/#q=searches and it gives you results for "searching," "search," etc., or https://www.google.com/#q=jeremy+zits+%22top+shelf%22, looking for a specific day's comic strip, and it gives you results for pimples and acne), but I'm trying to understand the frequency of spelling variants. Right now, a search for <word> gives me pages with <word> and pages with <words>. I know I can do <word -words>, but that skews things because it gets rid of pages with <words> whether or not <word> is present. I'd like it to find results with <word> and totally ignore <words>, giving it no more significance than it gives <gobbledygook>. Is this even possible? 2001:18E8:2:1020:3C53:B749:C596:5ACE (talk) 16:00, 27 March 2014 (UTC)[reply]

Did you try searching for "word" ? I think in quotes it does what you want. For example, "Ruszians" does not return "Russians" at least in the results google throws at me. Keep in mind that google shows different results for different people, but I dont think this personal ranking changes the set of results, just the order. Brusegadi (talk) 04:10, 28 March 2014 (UTC)[reply]

Windows 7 Installer missing .msi file edit

I tried to re-install my HP Photosmart C6380 All-In-one printer on Windows 7 Home Premium, now my installation process says; it cannot continue because it cannot find the .msi file in order to continue the installation. I have the HP printer install disk that came with the printer when I purchased it. I have tried the Driver-Software download from HP website, but it still comes up with "Error 1706". How can I get or reinstall the "Windows Installer" or update the latest version without a Hugh cost? I am looking for a safe website that may have a free download of "windows Installer" for this problem and a fix for Error message 1706. I appreciate any help and advise anyone may have. Thank you Polkateer (talk) 19:38, 27 March 2014 (UTC)[reply]

Been there. The HP installer extracts to a temp folder in appdata. Sometimes it thinks it extracted the files, but did not copy all of them to the folder. To fix this:
  1. Note the error message— it should give the full path; it will be something like C:\Users\myname\AppData\Local\Temp\another folder
  2. Unzip the installer to a known folder; use 7-Zip if you don't have an archive tool already
  3. Copy the extracted files, including subfolders to the appdata folder; if you can't see the appdata folder, just type it on the address bar
  4. Run the installer again
--  Gadget850 talk 20:17, 27 March 2014 (UTC)[reply]

Is functional programming difficult? Or is it Haskell? edit

What makes people say that Haskell would blow up your mind? Or that it needs a totally different perspective? Is it difficult? Is functional programming difficult? When I think about functional programming I think about Excel, which, for me is kind of easy to grasp and implement and realize what will happen. At least this functional programming language seems easier than OO programming languages, that some people seem to have huge problems with. OsmanRF34 (talk) 20:08, 27 March 2014 (UTC)[reply]

Functional programming really isn't at all like Excel. Excel is, paradigmatically, just another procedural, stateful system like C or Java. Purely functional languages like Haskell are a fairly different paradigm than say python, but I don't know that there's really evidence that someone who wasn't familiar with any programming language would find Haskell intrinsically more difficult than say Python. There is a jump from procedural to functional, but it's not a chasm. Someone whose experience was with Lisp, with mathematical notation, or perhaps a logic language like Prolog may well find Haskell easier to pick up than Java - that's a characteristic of their familiarity with the general concepts, not one language being "easier" than the other. There's a lot more to Haskell than just functional programming, including lazy evaluation and a rich type system, which don't have analogues in say Excel, and so that's more material someone learning Haskell would have to grok. -- Finlay McWalterTalk 20:47, 27 March 2014 (UTC)[reply]
  • When I said Excel is a functional language, I meant the spreadsheet, used for something more than just calculations, not that VBA for appliations scripting language within Excel. Each cell has a function in it, which has no collateral effects. The program 'executes' as cell change, and there is no pre-established order, the functions determine what will calculated next. And you can select items with with IF and HLOOKUP. OsmanRF34 (talk) 16:19, 28 March 2014 (UTC)[reply]
If I might argue by analogy: if you already play the guitar, it's probably easier for you to learn the violin than the piano. That doesn't mean the violin is actually easier than the piano, just that it's a bit more like the guitar. I imagine a xylophone player would find the piano somewhat easier to learn than the violin, for the same reason. It's still a jump from the guitar to the violin (much more than the guitar to the banjo or mandolin), or from the xylophone to the piano. The real underlying skill, music itself, is portable - there's plenty of people who can play violin and piano, and who found learning one improved their playing of the other. -- Finlay McWalterTalk 21:01, 27 March 2014 (UTC)[reply]
My background is mathematics, and I found Haskell extraordinarily easy to pick up. My first language was BCPL, and over the years I've written in many other procedural languages, but they do not really prepare you for the joy of finally learning a language that is so close to pure mathematics and logic. For the sort of work that I do - basically, applied mathematics - functional programming is a very natural approach. In my experience it isn't difficult to learn functional programming in Haskell or other similar languages. However, it isn't suitable for every purpose. Of course it's Turing complete, but different languages make different tasks easier or more difficult. For example, if you're working with databases, I'd encourage you to select a language that has been developed with that task in mind. For sheer enjoyment of learning and coding, though, and for the pleasure of a language where the link between the mathematics and the code is instantly clear, nothing beats Haskell: it soars while other languages plod. RomanSpa (talk) 21:30, 27 March 2014 (UTC)[reply]
I don't know that functional programming is more difficult than OO programming, but it requires mastery of different concepts. Instead of simple iteration, there are map and fold functions that ultimately depend on recursion, and many people find recursion a challenge to understand well. Of course, polymorphism, inheritance and design patterns in OO languages aren't easy either. Haskell is a particularly difficult because (1) it is a pure functional language with no state variables, (2) lazy evaluation is something to get used to and (3) it is a language designed by mathematicians, for mathematicians, and the basic concepts reflect that heritage. Monads and applicative functors really are the same concepts as those in category theory and I understood Haskell a lot better after I had learned some category theory. Learning functional programming can be easier in the context of a multi-paradigm language, such as Scala, Lisp, or Perl. --Mark viking (talk) 21:43, 27 March 2014 (UTC)[reply]
On the other hand, I probably understood category theory better after mastering monads! RomanSpa (talk) 23:13, 27 March 2014 (UTC)[reply]
(ec) SQL is a functional language. Google queries are a functional language. You simple state "I want such and such results, now you do the thinking". That makes it much more simple than if you have to spell out what the computer should do. In reality, though, if you need complicated things you will need to think about what the computer will make of it. So while your code may look simple, you have to think at two different levels at the same time. Joepnl (talk) 21:51, 27 March 2014 (UTC)[reply]
Haskell has a steep learning curve because it requires the programmer to deal with much more mathematical abstraction than most mainstream languages do. Its type system (including the notorious monads) is a fairly big hurdle in its own right. Its functional purity means you can't (without technical tricks) insert "print" statements for debugging in non-I/O code. You have to learn to organize your programs to have an I/O shell around a functional core. The immutability of data (mutable types exist, but should be considered an advanced feature) means you have to learn about functional data structures instead of traditional imperative ones (for example, AVL trees instead of hash tables).

Lazy evaluation has its own mind-bending consequences such as the ability to operate on infinite data structures. Writing performant code requires knowledge of the library ecosystem at a level not obvious from a bare understanding of the language, in addition to getting used to fixing lazy evaluation snags such as space leaks. Overall though I think it is very much worth learning and using, if for no other reason than it will drastically expand your understanding of programming. The book "Learn you a Haskell" is a good online tutorial, and wikibooks:Haskell has good coverage of some more advanced topics. In particular, b:Haskell/Category theory is a very readable explanation of how categories are relevant to Haskell, and their relationship to Haskell's monads, functors, and so on. 70.36.142.114 (talk) 22:40, 28 March 2014 (UTC)[reply]

I would also recommend "Learn You a Haskell for Great Good!" by Miran Lipovača. It's a very readable book, and a good starting point. RomanSpa (talk) 18:45, 29 March 2014 (UTC)[reply]
Yes, that is the book I mentioned. It's online at learnyouahaskell.com . 70.36.142.114 (talk) 23:04, 29 March 2014 (UTC)[reply]
Note also: Turing completeness is not a requirement for FPL's, and there is an argument that Turing completeness in programming languages is over-rated. See the article total functional programming. 70.36.142.114 (talk) 02:12, 29 March 2014 (UTC)[reply]

Windows search as you type edit

In Windows, you can open a list of files in Windows/File Explorer, then start typing and the focus will jump to the file name you are typing. What is the official name for this? --  Gadget850 talk 20:26, 27 March 2014 (UTC)[reply]

Desktop search? Incremental search? Microsoft product literature calls their feature the "Search charm." Nimur (talk) 23:38, 27 March 2014 (UTC)[reply]
No. This is not from any search box. It is simply opening Windows Explorer and start typing. I need to change the speed for one user. --  Gadget850 talk 11:42, 29 March 2014 (UTC)[reply]