Wikipedia:Reference desk/Computing: Difference between revisions
No edit summary Tags: Mobile edit Mobile web edit |
|||
Line 105: | Line 105: | ||
I'm writing a paper where I want to say that software maintenance costs significantly more than does actual software development. When I was doing research in software engineering this was something that there was overwhelming empirical justification for. But that was a long time ago and I can't remember the sources and searching hasn't yielded anything really good. Any suggestions? --[[User:MadScientistX11|MadScientistX11]] ([[User talk:MadScientistX11|talk]]) 21:54, 30 October 2021 (UTC) |
I'm writing a paper where I want to say that software maintenance costs significantly more than does actual software development. When I was doing research in software engineering this was something that there was overwhelming empirical justification for. But that was a long time ago and I can't remember the sources and searching hasn't yielded anything really good. Any suggestions? --[[User:MadScientistX11|MadScientistX11]] ([[User talk:MadScientistX11|talk]]) 21:54, 30 October 2021 (UTC) |
||
:You should stick with newer sources for something like that, and anyway it will vary. But software is considered more disposable now than it was back in the day. It's not exactly more reliable (if anything it is less reliable), but it is easier to fix bugs when they occur, and it's quicker to write. This is largely due to faster computers allowing a lot of dynamic error checking as the program runs, use of garbage collection eliminating classes of memory management errors, etc. Of course this depends on the application area etc., and what you choose to call maintenance. But if you get a typical dev job today, you'll be spending a higher fraction of your time implementing new features (vs. chasing bugs in old stuff) than when most of the old books were written. [[Special:Contributions/2601:648:8202:350:0:0:0:D4A|2601:648:8202:350:0:0:0:D4A]] ([[User talk:2601:648:8202:350:0:0:0:D4A|talk]]) 10:52, 31 October 2021 (UTC) |
|||
== What is the Status of Moore's Law? == |
== What is the Status of Moore's Law? == |
Revision as of 10:52, 31 October 2021
of the Wikipedia reference desk.
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.
October 24
Question about updating rows in table in Microsoft SQL Server
I have run into a rather interesting database scenario at work. We are using Microsoft SQL Server as a database.
There are two tables, let's call them TableA
and TableB
. Both of them have ID
and Name
columns. In each table, ID
is unique, so it has no duplicate rows inside the table. On the other hand, the ID
values are shared across the tables, because the whole point is to link rows between the two tables.
Now each table also has a unique Name
value for each ID
value. The thing is, the Name
values in TableB
are wrong, and I want to update them to be the same as in TableA
.
For a single row, this can be done with something like this: Update TableB Set Name = (Select Name From TableA Where ID = 123) Where ID = 123
. But is there a way to do this for multiple rows, other than writing the same update for each row separately? JIP | Talk 15:30, 24 October 2021 (UTC)
- Yes. I believe you can reference link the IDs in the subselect like:
Update TableB Set Name = (Select Name From TableA Where TableA.ID = TableB.ID)
. This is referred to as a correlated subquery. - Another approach is to use a join like
Update B Set Name = A.Name From TableB B Join TableA A On A.ID = B.ID
- The only difference would be for a case where TableA does not have a record matching TableB. On a side note, it usually not a good practice to store duplicate data across tables for precisely the data synchronization issues you have encountered here. See database normalization. If you find a need to combine data together in one place for convenience and ease of access, you might want to consider using a database view. -- Tom N talk/contrib 20:57, 24 October 2021 (UTC)
October 28
How can I see only the latest year for each country in a spreadsheet?
Hi. Please see the country table here:
The source is here:
Click the "bulk data download" link (name shows up when hovering over it) at the top right a couple times to download the file named:
- homicide_total_rate_and_count.xls
For this homicide rate spreadsheet the latest year varies by country. I am wondering how I can quickly get the spreadsheet down to showing only the data for the latest year.
I wrote this section:
But I have limited knowledge of how to use spreadsheets. I would like to know how to get the latest year in LibreOffice Calc since I have it installed, and it is freeware.
Once I have the spreadsheet pared down to the latest year by country, then it is easy to copy it to the Wikipedia article in order to update it. --Timeshifter (talk) 21:35, 28 October 2021 (UTC)
- There's probably a bunch of ways to do this, but here's the steps I would take:
- Import the CSV into the spreadsheet. I assume Libre does this pretty much automatically; Excel certainly does.
- Define the data set as a table (in Excel, CTRL+T). This is optional, but will make later steps easier.
- Apply filters (in Excel CTRL+SHIFT+L).
- If you want rates, filter to show counts and delete those rows; if you want counts, filter to show rates and delete.
- You now have a clean list of data. Sort the year column, highest to lowest.
- Here's the tricky part and you may want to do it across multiple columns, but it's possible to do it in one:
- Do a VLOOKUP on the country to look up the year. Since VLOOKUP only returns the first value, it will return the last year.
- Perform a check to see if the year you VLOOKUP'ed is the year of that row. If it is, you've got the last year.
- The formula I used was =IF([@Year]=VLOOKUP([@Country],Table1[[Country]:[Year]],3,FALSE),"last year","")
- I then copy-pasted values and used filtering to get rid of the extra lines.
Sorry to keep using Excel jargon, but many of the shortcuts and formula commands will be the same across many programs. Like, I'm pretty sure these steps would work for Google Sheets (also free). A couple of further notes: the rate values are currently in percentage points, like 5.9% is showing as 5.9, so you'd have to add in the % marks. Converting from spreadsheet into table will require another step, but there are free converters out there (for Excel, at least, and I assume they'd work for Libre). Matt Deres (talk) 16:57, 29 October 2021 (UTC)
- @Timeshifter A bit more: you'll need to do further cleaning on the list. For example, some countries are on there multiple times due to focus on different regions and so on. There are four lines for the UK, 3 for China, 3 for Iraq, etc. In some cases that may be perfectly fine and expected, but you'll want to double-check them. You may also want to edit the names for brevity (ex: Iran, not "Iran (Islamic Republic of)" and so on). Matt Deres (talk) 17:16, 29 October 2021 (UTC)
- Matt Deres. Thanks. There are various flag templates that wrap around the long country names, and only show the linked shortened country names. Adding those flag templates is easy and fast. See this section and the following section of Help:Table:
- Help:Table#Adding flags and linking country names in country lists
- And converting the finished spreadsheet table to a wikitable is easy. I wrote the Visual Editor section of Help:Table:
- Help:Table#Tables and the Visual Editor (VE)
- But my knowledge of spreadsheets is very limited, and I basically only know about LibreOffice Calc. What I know is pretty much described in that Help:Table section on VE, and some other sections.
- So all I understand of what you wrote is up to the part of opening homicide_total_rate_and_count.xls (which Calc does automatically) and sorting by year.
- I want both rates and counts. I see that the xls file has all the data needed to fill in the columns here:
- List of countries by intentional homicide rate#By country, region, or dependent territory
- Could you paste the Excel table you have so far into tab2wiki and copy the wikitext result to a user sandbox? From Help:Table:
- Visual Editor will load very fast in empty sandboxes: Special:MyPage/Sandbox, Special:MyPage/Sandbox2, Special:MyPage/Sandbox3. As many as you want. ... To find all your sandboxes: Special:PrefixIndex/User: – click link, add user name to the spot labeled "Display pages with prefix:".
- And if you have the time, energy, and patience could you install LibreOffice Calc and see if it can do what Excel can do. It installs fast. See download info page. I always install the early adopter version, and its help file.
- --Timeshifter (talk) 17:11, 30 October 2021 (UTC)
October 29
Thunderbird recovery
My Mac crashed overnight and the last 4½ months' mail vanished from my Thunderbird inbox. But I have copious Time Machine backups, so can I (without endangering new mail) import the missing mail from some file in there? —Tamfang (talk) 01:51, 29 October 2021 (UTC)
- Do you see an mbox file in your profile? The mailbox is stored as a single file, and I think Time Machine is not cognizant of the format used. So you could restore the mailbox, but this would overwrite the newer messages. Do not yet give up all hope; this question on how to merge two separate mailboxes into one Thunderbird inbox got an answer. While described for Windows, I think the ImportExportTools add-on is also available on macOS. Make sure you make a backup of the current mailbox before you engage Time Machine. --Lambiam 04:33, 29 October 2021 (UTC)
Create an empty solution in Visual Studio 2015?
Is it somehow possible to create an empty solution in Microsoft Visual Studio 2015? When I try to create a new solution, it always creates a project for me too. I would want the solution to come up completely empty so I can add existing projects to it later on. JIP | Talk 12:42, 29 October 2021 (UTC)
October 30
Is there a windows program that shows a huge transparent clock at the screen all the time, having priority above all other programs?
Is there a windows program that shows a huge transparent clock at the screen all the time, having priority above other programs?
I want to do some test related to perception of time, see if looking at all the time while browsing the pc would do something with my perception of time. Is there any program that allow me to put a huge transparent clock at the screen that would be shown all the time, while I am browsing, gaming,....................177.206.39.108 (talk) 00:43, 30 October 2021 (UTC)
- Googling "watermark screen clock" shows some promising results. 41.165.67.114 (talk) 05:40, 30 October 2021 (UTC)
- Rainmeter is an open-source desktop customisation software that lets you add loads of gadgets with different skins. One of those is a clock. You can simply hide everything else by right clicking, then click on the clock and do "Setting > Position > Stay Topmost". — Berrely • Talk∕Contribs 09:40, 30 October 2021 (UTC)
- Thanks for info, rainmeter is the answer and is also easy to deal with.177.206.39.108 (talk) 15:51, 30 October 2021 (UTC)
- Rainmeter is an open-source desktop customisation software that lets you add loads of gadgets with different skins. One of those is a clock. You can simply hide everything else by right clicking, then click on the clock and do "Setting > Position > Stay Topmost". — Berrely • Talk∕Contribs 09:40, 30 October 2021 (UTC)
Need a Good Reference for the Fact that Software Maintenance Costs More than Development
I'm writing a paper where I want to say that software maintenance costs significantly more than does actual software development. When I was doing research in software engineering this was something that there was overwhelming empirical justification for. But that was a long time ago and I can't remember the sources and searching hasn't yielded anything really good. Any suggestions? --MadScientistX11 (talk) 21:54, 30 October 2021 (UTC)
- You should stick with newer sources for something like that, and anyway it will vary. But software is considered more disposable now than it was back in the day. It's not exactly more reliable (if anything it is less reliable), but it is easier to fix bugs when they occur, and it's quicker to write. This is largely due to faster computers allowing a lot of dynamic error checking as the program runs, use of garbage collection eliminating classes of memory management errors, etc. Of course this depends on the application area etc., and what you choose to call maintenance. But if you get a typical dev job today, you'll be spending a higher fraction of your time implementing new features (vs. chasing bugs in old stuff) than when most of the old books were written. 2601:648:8202:350:0:0:0:D4A (talk) 10:52, 31 October 2021 (UTC)
What is the Status of Moore's Law?
I seem to remember that apx. 30 years ago or more I was reading articles that said in 20 years due to the rules of physics that the components on chips could not be squeezed any closer together (sorry for the non-technical way I said that I'm not a HW guy) and Moore's law would be over. But it seems like computers continue to get faster. So I'm wondering: 1) Did the laws of physics change? (Doubtful, I think I would have heard about it) 2) Were the estimates conservative and we still haven't hit the limits yet? 3) We have hit the limits but people don't talk about it because that would decrease the motivation for us to spend money on the latest phone or tablet? 4) (What I think is the closest to the truth) Although we have hit the limits, clever chip and other HW designers keep finding other ways like flash memory to make computers smaller and faster. If 4 is true has there at least bee a slowing down of Moore's law and do people think the days of constant improvement in size/performance are soon to be a thing of the past? --MadScientistX11 (talk) 22:45, 30 October 2021 (UTC)
- This is based on my casual observations over the decades. Usually a new generation of Intel CPU was more than twice as fast as the old one, i.e. 8088 to 80286 to 386 to 486 (maybe) to Pentium. Now a new generation is only a few percent faster than the previous generation.
- My main computer is over 6 years old. It used to be that a 6-year-old computer was horribly slow compared to the current ones. That isn't true these days. Bubba73 You talkin' to me? 22:58, 30 October 2021 (UTC)
- And doubling the number transistors these days doesn't double the speed. You can put in twice as many cores, but it doesn't scale linearly. There are other bottlenecks, like memory bandwidth. I've done testing on a four-core hyperthreaded i7. Running eight threads gives about 5.6x the single-core performance, at best. I've had eight threads be between 2.5x and 3x the single-core performance. On an eight-core hyperthreaded Xeon, I've had 16 threads be under 4x the single-core performance, because of the memory access bottleneck. Bubba73 You talkin' to me? 02:59, 31 October 2021 (UTC)
October 31
Local Network Question (again)
A week or two ago, I asked about accessing a folder on my desktop computer from my laptop computer, and was advised to set up a local network. I have enabled sharing on a folder on the desktop computer. Then, when I try to do a Map Network Drive on the laptop computer, Windows Security tells me to enter my user ID and password. I know what my user ID is. That isn't the problem. I use a PIN to log on to the desktop computer, and that doesn't work for a cross-computer login. I think I remember what the password was, but that doesn't work, so my guess is that I don't remember what the password was when I was using a password. I am guessing that I need to reset the password on the desktop computer. What command sequence do I use on the desktop computer to reset the password without affecting my ability to use the desktop computer? All that I want to change is that I want to be able to log on to the desktop computer (as if it were a local server) from my laptop computer.
Thank you. Robert McClenon (talk) 03:19, 31 October 2021 (UTC)
A