Slashdot Mirror


User: Cassini2

Cassini2's activity in the archive.

Stories
0
Comments
726
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 726

  1. Get a trademark on Ask Slashdot: What Is the Best Way To Hold Onto Your Domain? · · Score: 1

    Get a trademark on the domain name ending in .com. No one else will trademark a domain name they don't own. When someone comes around to sue you, sue them back for trademark infringement. I think there have been a few cases where Walmart has tried to eliminate pre-existing trademark owners. Walmart lost, and all the cases ended in settlements.

  2. Re:Kids don't understand sparse arrays on AP CS Test Takers and Pass Rates Up, Half of Kids Don't Get Sparse Arrays At All · · Score: 1

    Thank you.

    You put it better than I did.

  3. Re:Kids don't understand sparse arrays on AP CS Test Takers and Pass Rates Up, Half of Kids Don't Get Sparse Arrays At All · · Score: 3, Informative

    Sparse arrays is a mathematical abstraction that completely ignores the implementation details. Formally, they are any matrix that has "many" zeros (or null) values. The practical problem is that most useful optimizations around sparse arrays require closely matching implementation details against the problem to be solved. With sparse arrays, implementation details are killers.

    For instance, suppose the standard solution is adopted. The sparse array will be organized as an array of linked lists representing the rows, with each row containing another linked list that contains the individual data values. What happens if you want to do a matrix multiply? A matrix multiply requires a column by row lookup and a row by column lookup. One will be an O(1) lookup, and the other will be a O(n^2) lookup. This makes a full matrix multiply an O(n^5) operation, and memory is the least of everyone's worries.

    To optimize the code, it is necessary to look closely at how the matrix will be built and used. However, as soon as that starts happening, the matrix multiply decomposes into a bunch of specialized matrix operations. At this point, the abstraction starts falling apart.

    For example:
    a) Assume the multiplication involves a diagonal matrix. Then the optimum solution is to store the diagonal matrix as a 1xn matrix, and specialize the matrix code. This was the favoured approach from numerical methods in C and Fortran.
    b) Assume the multiplication involves a tridiagonal matrix. Then the optimum solution is to store the tridiagonal matrix as a 3xn matrix, and specialize the matrix code. Again, see numerical methods in C and Fortran, or just about any good matrix library.
    c) Assume the matrix operation involves a "control-systems" style matrix. One populated row, followed by a diagonal series of rows with one or two elements. The optimum solution is to develop specialized code. For most control systems problems, this matrix never changes.
    d) Control systems often have a compact matrix representation involving a series of matrix multiplies. However, if the matrix multiplies are analysed, they become a much simpler sequence of equations that can often be executed in O(n^2) time instead of the longer O(n^3) time of the matrix multiplies. As such, develop specialized code. Both MatLab and Mathematica have functions where numerical operations can be broken down into there constituent formulas and saved as "C" code.
    e) Assume we really need to frequently multiply a truly sparse array. Then build two sets of linked lists, one organized by row/column and another organized by column/row. Then both the row and column lookups can be done as an O(1) operation. The matrix multiply is a O(n^3) operation.
    f) Just because the inputs to a matrix operation are sparse, doesn't mean the output array is sparse. I'm thinking of Singular Value Decomposition, some matrix multiplies, matrix inverses, matrix pseudo-inverses, and covariance matrices. Also, some matrices that appear in Quantum physics. In this case, matrix operations need to be further specialized to deal with creating non-sparse matrices from sparse-matrices. Additionally, some matrices may need to be rounded to sparse, even though they may be fully populated, like some covariance matrices.

    In the end, sparse matrices are simply a descriptive term for a bunch of application-specific optimizations. Sparse matrices devolve into numerical optimizations that no-one cares about unless they are looking at an application that requires the specific numerical optimization. I'm not surprised high-school CS coders don't "understand" them.

  4. Re:Social Media Outage on Are We Too Quick To Act On Social Media Outrage? · · Score: 3, Interesting

    Unfortunately, that doesn't stop people. All they need to do is create a fake Facebook profile. The scam is:

    1. Acquire targets name, some basic information.
    2. Create Facebook profile.
    3. Post some cat pictures, get friends.
    4. Run a scam / Post defamatory post
    5. ***
    6. Profit / Watch target get fired

    Non-participation in social networks is no protection.

  5. Re: I'm going back to ASCII on Unicode Consortium Releases Unicode 8.0.0 · · Score: 1

    Sorry, why do we need multiple languages again?

    Have you read the latest C++ spec? That's what happens when a single language does everything.

    The same effect happens in people languages too.

  6. Re:Bruce Schneier the paranoid cryptographer on Schneier: China and Russia Almost Definitely Have the Snowden Docs · · Score: 1

    My suspicion is this news story is cover for the fact another leak occurred and compromised current operations.

    The US intelligence agencies would have to assume that after Snowden, their undercover operatives were compromised. Any serious spy agency would not trust a renegade spy hiding in Russia and a bunch of foreign journalists to hold onto state secrets indefinitely. Even if they believed that Snowden was well intentioned, every spy agency in the world will be trying to get a copy of Snowden's database. As such, the assumption would have to be that the database was (or will soon be) compromised.

    The only reason to worry about current operations is that another leak occurred. I'm thinking that the OPM leak might be worse than reported, or alternatively, yet another leak has happened.

  7. Re:Same thing only different on Privately Owned Armored Trucks Raise Eyebrows After Dallas Attack · · Score: 0

    Wish I had mod points ...

  8. Getting rid of some of these accidents is hard on Google Releases Report On Autonomous Vehicle Accidents · · Score: 2

    I do a great deal of driving. About once a week, someone tries an unsafe lane-change with me opposite. Yesterday, someone attempted to change lanes with me directly beside them. No turn signals or anything. As far as I could figure out, the lady had no clue she had even done a lane change.

    It is really hard to detect, react, and prevent someone trying to lane change on top of you, or to prevent someone from rear-ending you. I really hope someone figures out something better than what we have right now.

  9. Re:Good heavens on Billboard Advertising Banned Products In Russia Hides If It Recognizes Cops · · Score: 1

    Simple, short, clear: "Russian Billboard detects Cops!"

    Headlines are supposed to be simple and short. Other alternatives are:

    Russian Billboard hides advertisement when it recognizes cops.

    or:

    Russian Billboard hides advertisement for banned products, when it recognizes cops.

    Sentences with dependent clauses are often more difficult to read than sentences without dependent clauses. Thus, the first sentence "Russian Billboard detect Cops!" is very straightforward to read. The second variation is slightly more complicated, because it has one dependent clause. The third variation has two dependent clauses, "for banned products, when it recognizes cops". This makes the sentence complicated to read, gives the story away, and is less likely to attract readers to the article.

  10. This might not be a good idea ... on In-Database R Coming To SQL Server 2016 · · Score: 5, Interesting

    The problem with R is that everything is a vector. When you hit something as big as a multi-terabyte database, the vector doesn't fit in memory anymore. An interpreted language like R, and even many compiled languages, expect memory accesses to be quick. However, if the data accesses are requiring SQL calls, then the R-SQL server marriage will be very slow. I'm sure they will be able to do some small demonstrations that look quick, but once the database becomes large, then things will be very slow.

    On the good news side, there are some operations like average and standard deviation that reduce into loops of sums. Those should map onto SQL queries relatively well.

    On the bad news side, a popular operation is to build a covariance matrix. With a large data set, it is easy to create a covariance matrix that does not fit into RAM.

    R would be a better match against an distributed database (NoSQL, MongoDB), where the memory requirements of the vectors could be split across multiple computers. Although, that too might require some changes to R.

  11. Is this an Arduino product? on Linino-Enabled Arduino Yun Shrinks In Size and Cost · · Score: 2

    Whatever happened to the Arduino vs Arduino suit?

    What makes hardware is great software support. I would hate to wind up with a piece of hardware that can only run a small fraction of the Arduino software.

    Also, along those lines, is OpenWRT a friendly enough distribution to make the user experience as easy as it is with the old Arduino?

  12. Re:Wah, "threatened" on Cyberlock Lawyers Threaten Security Researcher Over Vulnerability Disclosure · · Score: 1

    offer to hire my services as a consultant

    Never do this. It could be misinterpreted as blackmail and/or extortion.

  13. Wedding Pictures on Microsoft's AI Judges Age From Snapshots, With Mixed Results · · Score: 1

    I ran some wedding pictures through the site. By the end of the evening, the bride and groom were 15 years younger! It was a good wedding.

  14. Re:Ok.... Here's the thing, though ..... on Utilities Battle Homeowners Over Solar Power · · Score: 1

    I think the Navy ships use turbines that are similar to the ones used for power generation. However, the are differences, because of the fuels used, and the marine application. Also, some (many?) ships use steam turbines. There are lots of different types of turbines, (and the Navy doesn't like to spill its secrets.)

    This is also why the Navy has engines that can run on almost anything, but fighter planes require a specific type of jet fuel. It depends on what you are building.

  15. Re:Ok.... Here's the thing, though ..... on Utilities Battle Homeowners Over Solar Power · · Score: 1

    There are small turbines located near key loads that are expressly designed for rapid start/stops. However, the size and design of the turbines matter. There are advantages to using different units to power large fractions of the grids load.

    I looked up your coal statistics. You are right in that a small modern coal plant can start fairly quickly. However, there are a great many old power plants out there, and some take days to start (and stop). You can't assume that a power plant near decommissioning will perform as well as a freshly built plant.

    A big provider will have a large mix of generating capacity. This gives them the capability of using the cost-optimal station at any point in time. Historically, before wind-power arrived, it wasn't necessary to design power stations to deal with rapidly changing distributed power inputs. Also, when applicable, there are efficiency advantages to implementing combined cycle power plants, and the thermal time constants involved are such that it is difficult to spool up a second cycle quickly. There is a great deal of complexity in making decisions that minimize costs while maintaining grid reliability.

  16. Re:Hold it on Automakers To Gearheads: Stop Repairing Cars · · Score: 1

    If the automakers can use the DMCA, then they can make it so the only source of expensive repair parts is the OEM itself. Using the DMCA, every module that contains a computer can be made expensive and tough to replace, and require trips to the dealer for service. Initially, it will start with the expensive stuff, like the ABS sensors, the engine sensors, the engine ECU, the body control computer. Eventually, even stuff that doesn't really need computers, will include them.

    And the HP and Lexmark toner cartridge cases which were just about embedded serialization

    Exactly. The automakers want to follow the same strategy as the ink manufacturers. Want a new engine filter, it must be an AC Delco filter. Sooner or later, frequently replaced parts of the car will get micro-chips to boost repair revenues.

  17. Re:Ok.... Here's the thing, though ..... on Utilities Battle Homeowners Over Solar Power · · Score: 1

    Airplane engines work on a different principle than stationary engines. In particular, the airplane engines are lighter, less fuel efficient, more expensive, require more maintenance, and often have smaller output capacities than the stationary engines.

  18. Re:Ok.... Here's the thing, though ..... on Utilities Battle Homeowners Over Solar Power · · Score: 1

    I worked on natural gas turbines. Going from a dead standstill to full on within one minute with any frequency will void the warranty. The thermal stresses involved from going from cold to hot are significant.

    You are correct in that a hot unit can handle smaller variations in load relatively well. However, these decisions are not taken without analysis. Ontario would not pay outside operators to idle turbines unless it was the cheapest option. Historically, Ontario did not have sufficient NG capacity to spool up and down and make everything work.

  19. Re:Ok.... Here's the thing, though ..... on Utilities Battle Homeowners Over Solar Power · · Score: 4, Informative

    Batteries are not cost-effective. The electrical grid must always be balanced. As such, utilities try to find methods of stabilizing the grid without using batteries. Technically this works. However, the economic impact of the guaranteeing a market for subsidized solar and wind power, is another set of hidden subsidies. Ironically, some of these hidden subsidies are going to fossil fuel companies.

    To make a complex story short, the grid must always be balanced. If the power source cannot be controlled (like solar), or if the power source is unreliable (like wind), then it is necessary to make up the difference in some other way. The cheapest methods are to remotely turn on and off loads, and to remotely turn on and off generating stations.

    The problem with starting and stopping loads is that there are not many loads that can be turned on and off remotely, and still accomplish something useful. Ontario has been experimenting with ways to turn off home air-conditioners during the day. Also, big consumers often get a preferred electricity rate, with the understanding that their electricity is "interruptible". However, there is only so much that this can be pushed. People want a cool house. The price of "interruptible" electricity is a few cents per kWh, which is often below cost.

    This brings us to starting and stopping generating stations. A nuclear station takes days to start and stop. A coal station takes on the order of a day to start and stop. A natural gas turbine take about 3 to 6 hours to start. Natural gas (NG) turbines have the ability to run at a "hot-idle", but this is expensive. At "hot-idle" an NG station is still running, it is just not producing power. Hydro power plants (hydro dams) can be started quickly, however unexpected rapid changes in water levels have killed people downstream. As such, very few generating stations can turn on and off as quickly as wind-power changes.

    Probably the best way to solve the problem is to have many small power plants, either small hydro-dams or small NG-turbines, and only turn on and off a fraction of those units at any one time. If the grid operator is required to purchase significant amounts of wind-power, then the grid-operator might have to go very far afield to find a sufficiently large enough pool of existing small generating stations that can be started and stopped quickly. In the case of Ontario, Canada, it needed to pay US power plants to not produce electricity to keep the grid balanced. Ontario has a large energy grid, however Ontario was not large enough to deal with wind-power's fluctuations without external help.

    In the case of Ontario, which is purchasing solar at 90 cents/kWh and wind at 17 cents/kWh under certain existing contracts, then a "hidden" solar/wind subsidy is going to mines and smelters and fossil fuel producers to keep the grid balanced. This subsidy is cheaper than battery and capacitor banks. However, conservation is far cheaper than many of the above schemes.

    Compared to solar/batteries, conservation is the way to go. LED light bulbs almost make sense at current electricity prices. At 90 cents/kWh, converting existing fixtures to LED light bulbs is cheap. Appliances can be moved from electricity to propane or natural gas. Stoves, hot water heaters, furnaces, and even the fridge and air-conditioner can be converted. This is cheaper than paying for battery storage. What little load is left, can then be powered off a roof-top solar / battery system. Conservation is by far the cheapest option.

  20. Re: Too many pixels = slooooooow on LG Accidentally Leaks Apple iMac 8K Is Coming Later This Year · · Score: 1

    The Hercules graphics card fixed the limitations of MDA, and back in the early days, they had the highest resolution graphics available on a PC.

    I remember writing circuit board design software on Windows 2.03 in monochrome graphics on a 286 PC! It was the best thing out there.

  21. Re:call the library ? on Watching a "Swatting" Slowly Unfold · · Score: 1

    Die Hard begins with this plot line. Even in the movie, they still send a cop to investigate ...

  22. Look at the table in the PDF on USPTO Demands EFF Censor Its Comments On Patentable Subject Matter · · Score: 5, Informative

    In the PDF, there is a table in the PDF of the EFF's response where it compares the issued patent against the rejected patent at the Supreme Court. The wording is amazingly similar.

    The significant change between the two is patents swapping the words "banking transaction" for the use of "a credit or charge account", and then updating the rest of the text appropriately. If you do not understand what the EFF's point is, then take a look at the table. It does not take much imagination to see that the patent at stake in the Supreme Court case, and the newly issued patent, are almost identical.

  23. Two Graduates for the same amount of work! on Stanford Turns To Pair Programming: 1 CS Education For the Price of 2? · · Score: 1

    If this course goes the way of the intro-CS classes of old, then one person will do all of the work, and the other will be bewildered and lost. Once expanded to the entire curriculum, the graduates will be evenly split between the learned and the lost.

    I often wonder if programming is an inate ability that can only be polished and improved. It is like fine art or music, it is immediately obvious who the great performers will be. The brilliant students eclipse the teacher in ability. As such, the rote of the teacher is to expose the students to the ideas and works of the great masters, and to help the student with their carreer.

  24. Re:BCD mode on Building an NES Emulator · · Score: 1

    BCD mode is used extensively in COBOL and in the banking industry. Also, conversions between binary and decimal numbers are really slow on processors that lack a multiply, divide or mod instruction. If the only divides and multiplies are by 10, then BCD math is quite competitive on an 8-bit processor. With the right workload, it is also competitive on some 16-bit processors.

    Many older and/or embedded processors lack a fast or single-cycle multiply and divide instructions. For instance, 8080A, 8085, 8088, 8086, 80186, 80286, 80386, 68000-68020, Microchip PIC, Z80, Z8, 8052 and successors, they almost all lack really fast multiply and divide instructions. The 80386 used 9 to 41 clock cycles on multiply. The dsPIC33E is a relatively modern embedded DSP from MicroChip. It takes 18 clock cycles to do a 16-bit divide. I try hard to avoid a 32-bit divides in critical real-time code.

  25. Re:Easy Solution on Broadband ISP Betrayal Forces Homeowner To Sell New House · · Score: 3, Insightful

    Some markets naturally favor monopolies. Telecommunications is a good example. 23 years after the breakup of AT&T, the phone system, internet and cable systems in the US are back to being monopolies in many areas. The lucky areas have two or three near-monopolistic competitors, and these competitors behave suspiciously like cartels.

    Economics 101: Free markets only work under specific conditions. In this case, a free market requires low barriers to entry. Telecommunications has huge capital cost expenses that decline with the number of customers served. Thus, a monopoly that actively excludes competitors can maximize profits. If new entrants enter the marketplace, the monopoly can cut prices sufficiently that they can always bankrupt the new entrant, and continue to make a profit.

    This is also why states have laws blocking municipalities from offering Internet. Once a municipality builds the infrastructure, the resulting system is almost guaranteed to be profitable. As such, the big telcos hire lobbyists to pass laws to prevent construction of such systems, as they will be long-term competitors against the big telcos.