Jump to content

Wikipedia:Reference desk/Computing: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 92: Line 92:


:A [[Segway]], sort of? [[Special:Contributions/67.164.113.165|67.164.113.165]] ([[User talk:67.164.113.165|talk]]) 15:19, 1 April 2019 (UTC)
:A [[Segway]], sort of? [[Special:Contributions/67.164.113.165|67.164.113.165]] ([[User talk:67.164.113.165|talk]]) 15:19, 1 April 2019 (UTC)
::I guess it's April 1st again, isn't it... [[User:Oxygene7-13|Oxygene7-13]] ([[User talk:Oxygene7-13|talk]]) 15:25, 1 April 2019 (UTC)

Revision as of 15:25, 1 April 2019

Welcome to the computing section
of the Wikipedia reference desk.
Select a section:
Want a faster answer?

Main page: Help searching Wikipedia

   

How can I get my question answered?

  • Select the section of the desk that best fits the general topic of your question (see the navigation column to the right).
  • Post your question to only one section, providing a short header that gives the topic of your question.
  • Type '~~~~' (that is, four tilde characters) at the end – this signs and dates your contribution so we know who wrote what and when.
  • Don't post personal contact information – it will be removed. Any answers will be provided here.
  • Please be as specific as possible, and include all relevant context – the usefulness of answers may depend on the context.
  • Note:
    • We don't answer (and may remove) questions that require medical diagnosis or legal advice.
    • We don't answer requests for opinions, predictions or debate.
    • We don't do your homework for you, though we'll help you past the stuck point.
    • We don't conduct original research or provide a free source of ideas, but we'll help you find information you need.



How do I answer a question?

Main page: Wikipedia:Reference desk/Guidelines

  • The best answers address the question directly, and back up facts with wikilinks and links to sources. Do not edit others' comments and do not give any medical or legal advice.
See also:


March 25

Computer science vs software development

Is CS vs software development the same binary relation as chemistry vs chemical engineering, or, physics vs electrical/mechanical engineering? What happens with college programs, that seem to blend both to a point where you can't tell the difference between them? --Doroletho (talk) 01:37, 25 March 2019 (UTC)[reply]

I think that computer science includes software development. Ruslik_Zero 09:02, 25 March 2019 (UTC)[reply]
I think you are sort of right. But there is a lot more to CS than just software development. Outline of Computer Science is a good thing to look at. Bubba73 You talkin' to me? 01:18, 26 March 2019 (UTC)[reply]
The relationship would be mathematics vs computer science. In very early programs, some which existed when I began college, computer science was referred to as applied mathematics, just as chemical engineering is applied chemistry and mechanical engineering is applied physics. There are still many universities that keep computer science as a sub-specialty under mathematics. As for computer science vs software development, that would be more akin to chemical engineering vs fertilizer production or electrical engineering vs integrated circuit design. One is a field. The other is a part of the field. 12.207.168.3 (talk) 14:42, 28 March 2019 (UTC)[reply]
The idea that engineering is always a subset of the associated science is somewhat dubious. In theory the scientist can do anything the engineer can do and more, but in practice it usually turns out that each can do things that the other cannot do. Example #1 from computer science and software developer: write a program that fits in a 4-bit microcontroller with 64 nybbles of RAM. And by the way, you can't spend more than 15 cents and you have to make 100,000 of them in time to sell them before Christmas. Good luck hiring a computer scientist who can do that. Example #2: create a neural net AI program that can beat the best humans at the game of Go. Good luck hiring a software developer who can do that unless he is really a computer scientist who also does software development. --Guy Macon (talk) 15:48, 28 March 2019 (UTC)[reply]

March 27

MS Excel copying large worksheet into a workbook with small worksheets.

When I try to do this I get the following message:

"Excel cannot insert the sheet into the destination workbook, because it contains fewer rows and columns than the source workbook. To move or copy the data to the destination workbook, you can select the data, and then use the Copy and Paste commands to insert it into the sheets of another workbook."

I infer that workbooks know the maximum row and column count of all their worksheets, and don't like to import a sheet that would expand that size. But pasted data can (obviously) expand it.

Why does Excel have this constraint? Why can't it cope with imported larger sheets?Hayttom (talk) 10:36, 27 March 2019 (UTC)[reply]

I do not know, this is a guess, but. Most data in spreadsheets uses a small amount of the available sheet space. If program A allows 10000 * 10000 cell sheets and program B allows 1000000 * 1000000 cell sheets, you can't put a big sheet into the small program. However if your data is only 1000 * 1000 cells, it will comfortably fit into 10000 * 10000. -- SGBailey (talk) 17:27, 27 March 2019 (UTC)[reply]
As a piece of precautionary advice: when using large Excel spreadsheets extensively in a professional context, I sometimes found that one had somehow acquired a spurious cell entry or just unnecessary formatting hundreds or thousands of rows and/or columns beyond the last meaningful one. This can obviously cause various problems including ones similar to those experienced by Hayttom. {The poster formerly known as 87.81.230.195} 90.200.138.194 (talk) 01:34, 28 March 2019 (UTC)[reply]
The problem is with the iteration of Excel that created the "smaller" file. With Office 2007, Microsoft changed their file types to XML format and the default file extension switched from .XLS to .XLSX. The newer file types were able to hold much more data as well: an .XLS file could only hold 65,536 rows and 256 columns, while .XLSX files can hold 1,048,576 rows and 16,384 columns. So, if you're trying to paste 65,537 rows worth of data (or more) into an .XLS file, it will not work. The workaround is simple: open the destination file in Excel and then "save as" the .XLSX file type; it should now be large enough to accommodate whatever you're trying to paste into it. Matt Deres (talk) 12:59, 28 March 2019 (UTC)[reply]

March 28

github

Hi, I found a bug in my code and applied a fix. This fix is incorrect and breaks lots of things, but it is a very natural thing to try. So I didn't commit the fix. But, I want to record the fix and the reason it didn't work so others don't repeat my mistake. How best to do this? Is it best to commit the faulty fix, then revert it? Or undo it? Or create a new branch and then just forget about that branch? What's the best way to do this? Robinh (talk) 04:38, 28 March 2019 (UTC)[reply]

The best way is to file a report, including the problem-description, the proposed patch, and an explanation of why it's insufficient; and report all these details using the bug tracking system that you and your fellow developers normally use. Provide enough detail for a reader to reproduce the bug and test the changes so they can independently see why it does, or does not, fully address the problem. If the easiest way to help future developers reproduce the bug is to commit the modified code to a branch: do so! In your bug report, record exactly how to check out that exact version of code. Include the exact commands you would type, the buttons you would press, and the steps you would follow to get, build, and test the project. Until the bug is resolved, leave the bug "open" in the bug-tracking system, and title it clearly. Think about how a future developer would stumble across this bug, and imagine that they would search the bug database for prior reports: make it easy for that hypothetical future developer to find your report by writing a very good bug report, including relevant, concise, searchable titles and keywords.
You do already have a bug tracking system, right?
Nimur (talk) 06:32, 28 March 2019 (UTC)[reply]
Nimur, thanks for this. I use plain old github issues for bug tracking. It looks like creating a branch is the way forward, as it ticks all the boxes we need. But isn't it a bit wasteful to create a whole branch for a two-line patch (which is not even a good patch)? Robinh (talk) 07:55, 28 March 2019 (UTC)[reply]
Exactly which resource are you worried about wasting? Nimur (talk) 13:44, 28 March 2019 (UTC)[reply]
Time spent on enshrining a known unworkable bug-fix that breaks lots of things instead of using that time to solve the problem yourself if you can, or if you can't, to elucidate the bug for your peers, looks wasteful. DroneB (talk) 13:57, 28 March 2019 (UTC)[reply]
The one exception is when [A] the bug has an obvious fix that anyone looking at it would try -- but the fix makes things worse. and [B] when the person making the report isn't skilled enough to be able to actually fix the bug -- or the bug is unfixable, as sometimes happens when someone tries to do something that computers cannot do, like look into the future.
The looking into the future problem comes up surprisingly often. I recently wrote firmware for a toy and the spec had these requirements:
  1. If button A is pressed once, flash light B and play sound C
  2. Light B must start flashing and sound C must start playing within 1/10 of a second of button A being pressed.
  3. If button A is pressed twice within 3 seconds, flash light D and play sound E
  4. In the case of two button A presses, light B must stay dark and no part of sound C must play.
(The customer was really wary about fragments of sounds playing because a previous toy would start playing one sound, then when another button was pushed suddenly switch to playing another sound, and so on. Some clever kid figured out a sequence of key presses that made it sound like it was saying a swear word and posted his discovery online.)
Do you see the problem? The above requirements are asking the microcontroller to decide what to do now based on a possible button press that is a second or so in the future. --Guy Macon (talk) 15:34, 28 March 2019 (UTC)[reply]
@Guy Macon I don't acknowledge that your [A] or [B] are exceptions to anything I or Nimur have said, as implied by your indent. Your toy programming problem would have been avoidable by a proper Use-case analysis before building the system with such an inadequate spec. As presented there is a conflict between a wanting a fast 0.1 sec response to a single press on button A and wanting a different response after up to 3 seconds to a double-press on button A. Consider instead responding differently to button A being released after a short (.1 to .5 sec) or a long (> .5 sec) press. DroneB (talk) 14:43, 31 March 2019 (UTC)[reply]
(OP) DroneB puts his finger on my resource worry. Thanks for your support guys. In the end I realised that the correct patch was in fact my faulty fix but with a very minor modification. So I committed the correct patch, but with a comment to the effect "the code fragment below might look good but will break lots of things for this non-obvious reason". While I'm writing, does github issues count as a bug-tracking system? It is not mentioned at Comparison of issue-tracking systems. Thanks, Robinh (talk) 18:55, 28 March 2019 (UTC)[reply]
"Github" is a lot of things, including an issue tracker which certainly counts as an issue-tracking system. I am not sure why it is not present in Comparison_of_issue-tracking_systems (and neither is Gitlab).
The Correct Way to go when setting out to fix some bug is to create a branch dedicated to fixing it, say Tigraan/bugfix-1234 and merge it back into whatever branch it was forked off once done. Hence, if you realise while trying a fix that it will not work, one possible option (and the one I would have gone for) is to commit it but obviously not merge it, and probably rename it to make way for the actual fix when it comes (e.g. Tigraan/not-a-correct-bugfix-1234; that way, you can reference it from the issue tracker and people can see diffs etc. but you have not ruined the main branch.
Taking the time to document what you tried and why it did not work is rarely "lost" in collaborative projects. If you do not produce an actual fix fairly quickly, other people may lose time taking the same exact steps and failing the same way; and even if the actual fix is out very quickly, a similar issue may pop up later on and knowledge of why the obvious fix fails would have to be rediscovered. TigraanClick here to contact me 12:50, 29 March 2019 (UTC)[reply]

March 29

Conversion software M4A to WAV

Does anyone know of a small, free, simple, safe and malware-free software program that converts M4A to WAV? I'd be grateful. Anna Frodesiak (talk) 08:51, 29 March 2019 (UTC)[reply]

A quick GoogleDuckDuckGo gives an online converter, but I've never tried it. A little more effort uses Audacity, but you'll need to include LAME and FFmpeg. Some instructions seem to be still based on Windows only, but Audacity is used cross-OS so you should be OK on other OSs. The reference in the main Audacity doc set is here Martin of Sheffield (talk) 09:17, 29 March 2019 (UTC)[reply]
Hi Martin of Sheffield. I do not want online converters. I would like software for my PC. I've used the wonderful Audacity for years, but it can't seem to read M4A. Also, I don't use iTunes. I really just want software that is known... wait, I'm stupid. We have List of audio conversion software. Sorry all. I have my head in the clouds today. I'll look through those and come back here if none is good. Cheers. Anna Frodesiak (talk) 10:25, 29 March 2019 (UTC)[reply]

Did you read the part of the Audacity page entitled "Importing M4A (AAC) and MP4 files"? iTunes may be a source but is not the format. The instructions I posted show that you need to load a couple of libraries -- have you done that? Martin of Sheffield (talk) 10:30, 29 March 2019 (UTC)[reply]

Yes, I'm definitely an idiot. VLC converts fine. Been using it for years, never knew. Thank you Martin, and sorry to waste your time. Best, Anna Frodesiak (talk) 10:32, 29 March 2019 (UTC)[reply]

"ffmpeg -i file.m4a -vn file.wav" should work. The -vn gets rid of the video stream since .wav is an audio-only format. 67.164.113.165 (talk) 09:10, 30 March 2019 (UTC)[reply]

Thank you, IP. I actually found the right avcodec-52.dll from the audacity-recommended site. I got the wrong one at first, so it wouldn't work. All is well now and VLC is not needed as the converter. Many thanks! Anna Frodesiak (talk) 11:05, 30 March 2019 (UTC)[reply]

April 1

How close are we to being able to buy a robotic pole?

I see all kinds of crazy robots that look like dogs or humans or whatever, but the robot I want is a pole. It should have something like a mouse ball on the bottom with motor/sensors instead of just sensors to dart it this way and that, and a platter on top and maybe some hooks on the sides. You throw your coat, backpack, books, bag of rock salt, or in the case of the inspiration for this, some expensive and very heavy TV camera gear (a friend of a friend has a back problem), on top of it, and the thing should be reliably able to whir around the bottom end to keep upright and to bend inward toward its target position so it gets back where it was. Also you should be able to touch the side of the platform, have it recognize it's being touched by a finger (with lesser reliability, as it isn't mission critical) and then if you tug it upward or downward it should move either way with minimal resistance, telescoping at some internal joint. The mouse ball might also have little grippers that poke out in response to some kind of short range ring-pathed visual/IR/etc scanner to keep it moving smoothly on less-than-level ground (at least sidewalk cracks). If you push it sideways it should let itself lean a little so it moves in good balance, then whirs the bottom ahead when it's time to stop. If you try to push it at an obstacle that would prevent it from righting itself it should balk, pulling backward to provide a back pressure that escalates the closer it gets to trouble.

How close is something like this to existing? Can it exist with present technology? What's the hold-up? Wnt (talk) 14:29, 1 April 2019 (UTC)[reply]

A Segway, sort of? 67.164.113.165 (talk) 15:19, 1 April 2019 (UTC)[reply]
I guess it's April 1st again, isn't it... Oxygene7-13 (talk) 15:25, 1 April 2019 (UTC)[reply]