Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Discussions

Auxon Richard.Hein Read it: ​http://bitc​oin.​org/bitcoin.​pdf
  • Paradigm shift? The quCPU is here.

    ,evildictait​or wrote

    People don't change how they program to accomodate new computers, they change how the new computer behaves to make it behave like an old computer, or use new programming languages so they can interact with it in the same way as before (people can write Visual Basic in any language, and if we get a quantum computer, they'll write Visual Basic on that too).

    Look at the past ten years of computing development - your data no longer goes along bus lines in the north-bridge, it goes along the QPR bridge. You no longer have RAM, you have flash-RAM. You no longer have a single platter disk, you have a multiplatter magnetic RAID disk that uses sector streaking to improve performance and redundancy, and you don't have one CPU you have four, all connected along a hybrid bus along the outside of the CPU - and has any of this changed how we program? Not one jot.

    If and when quantum computers come along, they'll be abused for specialist applications like encryption, sure, but if they ever reach the desktop (and that's a long way off) then Microsoft and Linux will write an OS that sits on top that just takes the "quantum" as a speed improvement over other computers and throw the rest of the magic physics away, because programmers don't care about physics, they care about getting their product to the maximum number of users in the minimum amount of effort.

    Although in some respects, abstractions will be made to hide certain kinds of complexity, in the big scheme of things, I don't agree, because of a few reasons.  First of all, weare changing the way we program for multiple CPUs and distributed systems.  I am certainly doing so for the Azure project I am on.  It uses the same languages, but the design is very different.  Parallel programming and asychronous programming idioms like C# Async, TPL and Rx provide an abstraction to make it simpler, but it's still quite different, and results in a different design.  Rx code looks very little like "ordinary" C#. 

    Also, the fundamental algorithms for solving problems on a quantum computer are drastically different than classical algorithms.  They are so different, that simply understanding them requires at least a working knowledge of quantum mechanics.  There may be a group of programmers that don't get into that depth - and they may be the majority - but there will still be a lot who must, just as today there are still a lot of programmers that need to program to the machine (C++ is still very much alive).  So, as part of a decent computer science education, students will at least have to learn the basics, just as I had to learn all about memory management, even though I rarely work on code that deals with its own memory management any more.

    But, who knows.  We'll see.  It's just the beginning. Big Smile

     

     

  • Erik Meijer: The World According to LINQ

    @head.in.the.box:  Great! Big Smile  Thanks!

  • Erik Meijer: The World According to LINQ

    Thanks for the link.  The constructor for class Pie is called Chart, but it should be Pie.  Just proving I read it. Wink  Also, in the conclusion, it says, "We have also shown how to implement custom LINQ providers that can run in memory and over SQL and CoSQL databases, and we have presented LINQ-friendly APIs over Web services.", but there is no example for CoSQL in the paper.  I eagerly await  Wink part 2, which I hope covers this oversight, and also about Rx in the same context.

    On the topic itself:  This is important and recommended reading for all programmers. The paper shows how LINQ can be used to create internal DSLs for any data source, or any API, because we can treat code as data through expression trees.  Creating a query provider - or comprehension provider to stress the more generalized capabilities of LINQ - allows us to think of any input, asynchronous or otherwise, as a data source.  We get strong typing and intellisense for free, while maintaining a coherent, generic abstraction over a fluent interface to the DSL we create by implementing LINQ operators.  Erik Meijer shows which operators you have to implement, and that by implementing cross apply, one can implement all the other required operators.  This surfaces the meaning of a program (or computations), by providing explicit details of the types being created and a DSL for what is being done to them, composed together into a consistent abstraction. 

     

     

  • Paradigm shift? The quCPU is here.

    @ScanIAm:  Yes.

  • Printing organic electronic devices with Lightscribe

    UCLA researchers figured out how print organic electronics on CDs and DVDs using Lightscribe.

    In the future, the researchers plan to further develop this idea by fabricating electronically active devices. They predict that the simple laser welding technique will serve as an important step toward patterning polymer-based organic electronics on a large scale. The technique could be used to pattern a variety of conducting polymer nanofibers in addition to polyaniline, and these polymers can be printed on many different substrates, including paper. Virtually any pattern can be printed, and the same image can be printed repeatedly on the same film in order to increase the contrast. Without the need for photoresists, masks, or post-processing treatment like many other techniques, the new method offers a one-step approach that could potentially have very wide implications.

    "Currently, this technique would be especially useful for manufacturing better conducting membranes, microfluidics, and all-organic electronic devices," Strong said.

     

     

     

  • Respecting Explorer's Heritage

    There are some valid points, but I don't mind the ribbon, and just hope it works better than the current Explorer, and doesn't crash and lock files all the time like it does now.

    As the author wrote, Microsoft does seem to be "hedging their bet", by enhancing the old complex UI while introducing Metro as the new.  Is there any other way to do it?  If Microsoft abandoned the 'files' centric view, how do I and everyone transition with our existing files?  Microsoft sells to businesses and IT, so they always have to think, how can I ensure that a business will migrate to a brand new metaphor in the middle of a work week, risk downtime and even loss of data if they aren't vigilent, and buy our OS?  I think they have to enable a transitional system, if they really expect businesses to move to Windows 8, and give the ecosystem time.  If the new UI is better, then people will build on it, and will just naturally move away from the old.

  • Cyborg insects

    "Using tiny stimulators near their antennae, electrodes implanted in their central nervous systems, or neuromuscular interfaces, researchers have found that it's easier to control insect's brains – and therefore, flight – than to build robotic insects from scratch."

    Why not cut out the middle man, and program plants and animals directly?  Cruel or symbiosis?

  • Paradigm shift? The quCPU is here.

    When it rains, it pours:  A digital, universal quantum simulator has been demonstrated that can in principle simulate any physical system http://www.physorg.com/news/2011-09-digital-quantum-simulator.html.

    Really?  It could simulate any physical system, efficiently? That's just unbelievable.  Imagine what this will do for physics.

  • Paradigm shift? The quCPU is here.

    @Ion Todirel: In 500 years we won't have to talk; we'll just directly upload and download thoughts.  Wink 

     

  • Paradigm shift? The quCPU is here.

    @magicalclick:  Yes, I've heard about that.  Sounds promising!