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


Bass Bass Knows the way the wind is flowing.
  • It is time... Move the filesystem off of disks

    CreamFilling512 said:

    From what I understand from Windows internals stuff.  Any time you open a file regardless of how you do it, its implemented internally using memory-mapped files. File gets mapped to some pages in virtual memory, then it gets brought in by on-demand paging and some heuristics to do basic read-ahead, I imagine the paging file and on-demand paging of EXE/DLLs use the same mechanism.  But any kind of I/O APIs, like C's fread() or whatever, never issues I/O requests, you'll just get I/O requests if it touches some memory-mapped file and gets a page fault.

    Yeah Windows has a similar call to mmap, and I assume also does paging. Smiley

  • Zune for Mac, YEESSS

    dahat said:
    magicalclick said:

    Agreed... but at what cost?


    Last I heard... Macs (desktops and laptops) comprise only about 5-6% of the PC market... let's assume for the moment that that same % when it comes to the PC of iPhone/iPod users.


    While it's true that that still represents millions and millions of prospective users... who is more likely to switch to a Zune/Windows Mobile based device over an iPod/iPhone device? A PC user... or a Mac user?


    Your average user on either side likely has some degree of investment in one side or the other through other purchased software (productivity & games)... as well as a familiarity and comfort that is no minor thing.


    But lets say you are the guy making this decision... you've decided you are going to offer a similar/identical experience for the Zune on the Mac platform... and soon after your lieutenants come to you with a simple question “how are you going to pay for it?” Are you going to cut features from the larger experience by moving existing developers to the Mac stuff? Are you going to raise the overall development costs (and possible retail costs) by hiring even more people? Or are you going to delay shipment of your product even longer to get everything you want done... all the while risking falling behind of the competition? Keeping in mind the whole time that this is all being done in the hopes of being able to take some part out of a 5-6% bit of the market (and pay for the development costs)... where the competition is already heavily entrenched.


    So which will it be? Cut features, increase costs, or slip the schedule?


    Instead I'd argue that all of that time and those resources would be better spent making the Zune on Windows experience even better than the iTunes on Windows, or even iTunes on Mac experience so as to secure your base even better than the competition has over their own... then and only then... can/should you venture off and try to take some of their territory from them.

    You don't have to port Zune software for Zune to work with Mac. You just have to implement the MTP specification. You know, the same specification you guys actually wrote?


    I can't even make this up. Microsoft writes a specification that it hopes all DAPs follow. Almost all DAPs follow (except for Apple, but they implemented USB Mass Storage so w/e).


    Then Microsoft releases it's own DAP which does not implement MTP, and in fact, is explictly designed through all sorts of DRM-like shenanigans to only work on Windows with the Zune software. LOLWUT?


    The lack of Mac/Linux support an explictly designed feature you guys spent time and money designing. That's right, your company "design features / increased costs" for the purpose of explicitly denying Mac users from using the Zune.


    So your excuse is lame and bogus. Sorry bro.

  • It is time... Move the filesystem off of disks

    CreamFilling512 said:
    Bass said:

    Well I'm talking about the commercial database servers where scaling is necessary.  Like Microsoft SQL Server running Hotmail or something.  And if you've ever run MSSQL you know that it will consume all memory on the machine with the out-of-box configuration, because its doing its own disk caching.

    Perhaps, but commercial databases tend to guarantee some kind of data integrity, which is impossible unless they persist the contents of a transaction. I don't think they would use write caching by default, as it is fundamentally dangerous to this objective.


    I don't think a well designed DB would do extensive read caching either. It's something that is more readily done by a kernel. As everyone has been saying, that's read caching is what most FS do for you (including NTFS) for free.


    A DB can provide detailed information about their file I/O requirements through an mmap call anyway.

  • It is time... Move the filesystem off of disks

    CreamFilling512 said:
    Bass said:

    That's bizarre, I mean usually database severs want to do their own caching, and control disk flushing since they know better than the OS.

    I don't think most actually do, or if they do, they don't do a particularly good job of it. Really with DBs you expect that if you do an INSERT it will actually happen. So a lot of databases (at least Postgres and SQLite) call fsync after the completion of a simple write operation. Which on barriers enabled FS, tends to block until the data is actually written out to disk. Which is of course, slow.


    Without barriers the kernel decides when it feels it is appropriate to actually write the data to disc.This means a lot of file operations (both read and write) are all happening entirely in RAM, and only when the disk is available and it doesn't hamper performence will the kernel persist the contents to disk. This can be as long as 60 seconds after the fsync request was made (or longer?).

    You can fine tweak the performance vs data security, but the more data security you want, the less performance you are going to get (and vise-versa). Just a fact of life I guess. Smiley

  • It is time... Move the filesystem off of disks

    This is already done at least on Linux. Actually ext4 even caches writes, to hilarious effect. Smiley


    When a feature called "barriers" is turned off, ext4 will detect when a file is constantly being read and write from, and do that entirely in RAM. fsync() has no effect on this. This makes databases insanely fast, but at the cost of possible system integrity. Most desktop OSes turn barriers on, and server OSes tend to turn barriers off.

  • Firefox 3.6 released

    It's like lightweight themes. You can install/change them without restarting Firefox (unlike regular themes). They are really nothing special. I think the most notable thing about this release is the performance is noticeably better. Channel9 feels like I'm using Chrome.

  • Firefox 3.6 released



    Features include improved performance (I could confirm this), full screen HTML5 video, and "personas".

  • Microsoft IE9 VS Sogou Browser 2.0 Webkit High-speed dual-core engine

    Is this like IE with Google Chrome Frame installed?

  • Pure CS assignment Part1.

    8) Solve the Facebook problem at λ = 0.4981870143


  • Smooth Streaming Test #3!

    The quality seems a little lower then the regular videos on the site. More artifacty.