|
Suspicious Dish posted:how ironic i don't really believe anything i say in yospos. i also don't not believe it. it is neither truthful nor gimmick-ridden. sincerity is a quantum state that collapses only when observed by a callout thread
|
# ? Nov 27, 2013 01:49 |
|
|
# ? Jun 6, 2024 13:11 |
|
why are you bothering to respond to suspicious dish
|
# ? Nov 27, 2013 02:06 |
|
Notorious b.s.d. posted:windows 95 was a breathtaking accomplishment. i'm not sure if it was a good intake of breath, but it will certainly make your audience gasp. a pre-emptive multitasking 32 bit extension to windows... that will also run real-mode apps through voodoo that required talking to intel engineers why talk to intel, they believed it was impossible, just like unreal mode. you were supposed to take the high road, and use v86 and/or software emulation, or better yet forget about real mode code at all (unlikely on the PC). but intel also wanted you to use callgates, shows how much they knew (even the politest, cleanest OSes used the much faster "int" trap instruction. the only use of callgates as a syscall mechanism I can remember is the SVR6 ABI, where _exit was specified as "push exit code to stack, put 1 in EAX, make a far call to 7:0". you can see this code in the _start stub of Solaris x86 executables, for example) the PC platform did provide an escape hatch in the form of the keyboard controller: apparently, one of its many many many keyboard-unrelated functions was calling into real mode. but it was slow, orders of magnitude slower than crashing the CPU with a triple fault, milliseconds vs microseconds far from an esoteric incantation, causing a triple-fault requires all of two instructions: one to set the interrupt table's physical address to 0FFFFFFFFh (MASM hexadecimal notation beyotch) and a trap. the CPU looks up the trap handler, and faults because the interrupt table is inaccessible (double fault). it tries to look up the handler for double faults, and faults again (triple fault, CPU reboots) help I can't stop writing
|
# ? Nov 27, 2013 02:29 |
|
keep posting, this is like reading the autopsy report for an alien
|
# ? Nov 27, 2013 02:31 |
|
you're the computer version of one of the judica-cordiglia brothers, i'm convinced
|
# ? Nov 27, 2013 02:36 |
|
I miss having spare time and a singular obsessive laser-like focus
|
# ? Nov 27, 2013 02:37 |
|
Otto Skorzeny posted:you're the computer version of one of the judica-cordiglia brothers, i'm convinced did you know they correctly guessed one of the NASA radio wavelengths from a photo of a space capsule that showed the antenna, using the people in the photo as size reference? (just kill me now)
|
# ? Nov 27, 2013 02:40 |
|
Mr Dog posted:regardless, it's not hard for linux to outpace nt given that linux has the fantastically enviable ability to completely rearchitect core system frameworks beyond recognition (albeit incrementally with mandatory stable interim forms), tell oems to get hosed if they have a problem with that, and actually get away with it. e.g. getting rid of the big kernel lock and using rcu everywhere instead. something like that inside nt would have resulted in windows being stillborn or bearing a 10 ton cross for the last decade (compare to python's gil) the microsoft office binary file formats were written in a time when performance was everything and security was irrelevant. lots of savage optimizations, bitfields, pointers to other parts of the file, ad-hoc compression schemes, reading into constant sized buffers... parsed in a thousand different parts of the codebase -- a security nightmare. customers won't put up with "we're not opening .doc anymore", so a separate DLL "Office File Validation" was written to do a complete parse and sanity check of files before passing them to the morass of legacy code and it mostly works! or at least, malware authors far prefer exploiting PDF compared to Office formats
|
# ? Nov 27, 2013 02:46 |
|
Scaevolus posted:network effects and commercial interests force legacy support and keep complexity from ever decreasing -- pain for all involved The original office formats were written in an era when every format was specific to a single release and redone from scratch at will One day an exec decided that the combination of backwards and forwards compatibility would be the big differentiator for word/excel/office. He was right and it was. Unfortunately he had this stroke of genius just after they finalized a format made up of memory dumps and OLE boiler plate. Microsoft had a opportunity to fix this with the new ooxml formats and discovered that it was impossible to abandon the cruft but retain the ability to losslessly convert the old dump formats AND make a clean new format. Guess which they chose.
|
# ? Nov 27, 2013 03:34 |
|
that OLE boilerplate is an API, and lots of apps use it. thankfully ms published the spec a few years ago
|
# ? Nov 27, 2013 03:38 |
|
I thought triple fault back into real mode was a 286/Windows 2.0 era thing, and by the time Windows 95 rolled around they were running the BIOS and DOS device drivers in VM86 mode I seem to recall a description of the Windows 95 IO stack starting out in 32-bit protected mode, switching to VM86 16-bit real mode (only if necessary), running through the hooked DOS interrupt handlers for drivers and TSRs in sequence and then hitting the last hook in the list which was registered by Windows itself so it could switch back into protected mode to complete the request
|
# ? Nov 27, 2013 03:53 |
|
Notorious b.s.d. posted:The original office formats were written in an era when every format was specific to a single release and redone from scratch at will after working with word openxml and the official .net openxml sdk for the last 2 weeks I have to say its really a fantastic format and incredibly easy to deal with. It would be super easy for them to make a .net only version of word that's completely free of the com poo poo, but they don't do it cause the first time someone tried to open a 97-2003 doc and it didn't work people would poo poo all over Microsoft for not maintaining 15+ years of backwards compatibility.
|
# ? Nov 27, 2013 04:42 |
|
Shaggar posted:after working with word openxml and the official .net openxml sdk for the last 2 weeks I have to say its really a fantastic format and incredibly easy to deal with. It would be super easy for them to make a .net only version of word that's completely free of the com poo poo, but they don't do it cause the first time someone tried to open a 97-2003 doc and it didn't work people would poo poo all over Microsoft for not maintaining 15+ years of backwards compatibility. I don't doubt that the SDK is great. The format is really hosed up though. Boolean flags for "parse this footnote exactly like office 97." In other words: easier than ever to parse , no improvement in rendering
|
# ? Nov 27, 2013 04:48 |
|
so easier than ever for the hardest part, still works fine when people view it.
|
# ? Nov 27, 2013 04:50 |
|
altho even that is for backwards compatibility. new docs wont have it and that's gonna be the majority of them moving forward.
|
# ? Nov 27, 2013 04:52 |
|
boringest 5 pages yet
|
# ? Nov 27, 2013 05:07 |
|
minus the crackposting
|
# ? Nov 27, 2013 05:12 |
|
Shaggar posted:so easier than ever for the hardest part, still works fine when people view it. serialization was never the hard part in office compat
|
# ? Nov 27, 2013 05:17 |
|
Suspicious Dish posted:that OLE boilerplate is an API, and lots of apps use it. compound documents may look like innocent "OLE boilerplate", but they have some ominous roots. they were supposed to eventually become a built-in NT kernel thing as part of the Cairo "object-oriented OS" vaporware. there were syscall stubs for compound document I/O in Windows NT 4 (non-functional), and one of the first applications of "reparse points" (a generalization/overcomplication of symbolic links) in Windows 2000 was an implementation of compound documents where each stream was stored in a separate NTFS data stream, solving issues like stream fragmentation by lowering the abstraction layer a notch, but AFAIK it never survived the beta stage. the whole thing was mercifully forgotten in Windows XP and never seriously considered again the only legacy of the "object filesystem" concept is the ability to set a globally unique id for a file (yeah, a GUID), and "globally" is not an overstatement: it can be used to track file moves across network drives. it's part of the mechanism the Win32 shell uses to update shortcut files when the target is moved. it's always enabled for local drives, and you enable it for network drives by enabling the "distributed link tracking" service. of course FAT doesn't implement it, duh. only NTFS disks and CIFS shares
|
# ? Nov 27, 2013 05:41 |
|
hackbunny posted:the whole thing was mercifully forgotten in Windows XP and never seriously considered again until "winfs", ofc. I don't understand this, though. The compound storage thing simply seemed to be a filesystem-in-a-file type thing... what was this "object filesystem" and what did it store? What was the advantage over storing files in a filesystem?
|
# ? Nov 27, 2013 05:56 |
|
Notorious b.s.d. posted:ne day an exec decided that the combination of backwards and forwards compatibility would be the big differentiator for word/excel/office. He was right and it was. Unfortunately he had this stroke of genius just after they finalized a format made up of memory dumps and OLE boiler plate. note: my expectations for commercial file formats were set by doom WADs Gazpacho fucked around with this message at 06:43 on Nov 27, 2013 |
# ? Nov 27, 2013 06:37 |
|
fun fact: the office 97 formats are xzibit-compliant because each one is a modified FAT filesystem within the file
|
# ? Nov 27, 2013 06:57 |
|
Nice!
|
# ? Nov 27, 2013 06:58 |
|
fun fact
|
# ? Nov 27, 2013 06:59 |
|
hackbunny posted:did you know they correctly guessed one of the NASA radio wavelengths from a photo of a space capsule that showed the antenna, using the people in the photo as size reference? we all want to hear more of your knowledge, because you're in a peculiar intersection of sets: you know system programming, and you know windows os apis, and you're totally spergin about them. everyone else here spent their sperg energy on linux, so a person who really KNOWS windows is like an alien life form
|
# ? Nov 27, 2013 07:18 |
|
Gazpacho posted:it's an ok system but here's some facts that might make you tingle in other places perforce is cool
|
# ? Nov 27, 2013 11:29 |
|
paging shaggar. people have started paying me to write c# instead of java and so far it seems pretty nice. in the last couple of days i've been exploring wpf+xaml and the mvvm pattern. i've also been getting along with visual studio which does a good job of getting out of my way where eclipse always felt clunky. am i doing it right? is there anything i should read/use? work bought me a copy of wpf unleashed and it explains things fairly well so far; i've been filling in anything unclear with msdn
|
# ? Nov 27, 2013 19:31 |
|
Impromptu Flip posted:paging shaggar. people have started paying me to write c# instead of java and so far it seems pretty nice. in the last couple of days i've been exploring wpf+xaml and the mvvm pattern. i've also been getting along with visual studio which does a good job of getting out of my way where eclipse always felt clunky. am i doing it right? is there anything i should read/use? work bought me a copy of wpf unleashed and it explains things fairly well so far; i've been filling in anything unclear with msdn just copy jon skeet's posts on SO
|
# ? Nov 27, 2013 19:42 |
|
Impromptu Flip posted:paging shaggar. people have started paying me to write c# instead of java and so far it seems pretty nice. in the last couple of days i've been exploring wpf+xaml and the mvvm pattern. i've also been getting along with visual studio which does a good job of getting out of my way where eclipse always felt clunky. am i doing it right? is there anything i should read/use? work bought me a copy of wpf unleashed and it explains things fairly well so far; i've been filling in anything unclear with msdn That sounds right. Programming c# in visual studio has a really different feeling than eclipse. Lots of stuff works smoother, but you'll notice now and then that there are certain eclipse (or really java) features that vs doesn't have. The big one for me is maven. Nuget is like someone looked at maven and then decided to only duplicate the dependency management and poorly. VS intellisense is also pretty dumb and not anywhere near as smart as eclipse auto complete. Othre than that its pretty great. Especially wpf/xaml. If you ever go back to doing ui in something else you will be constantly disappointed that you cant use xaml. Its literally the best ui framework there is and the culmination of all research and development done in programming for the last 50 years. That kind of describes c# in general (aside from the glaring failure that is the lack of checked exceptions). Doing configuration via app.config or web.config is identical and easy. The official frameworks like wcf have fantastic extension points exactly where u want them. DateTime is sane. Everything just mostly works. also MSDN has been getting better and better. IDK if its to the point of the java standard lib docs yet, but it is very helpful.
|
# ? Nov 27, 2013 19:54 |
|
Shaggar posted:That sounds right. Programming c# in visual studio has a really different feeling than eclipse. Lots of stuff works smoother, but you'll notice now and then that there are certain eclipse (or really java) features that vs doesn't have. The big one for me is maven. Nuget is like someone looked at maven and then decided to only duplicate the dependency management and poorly. VS intellisense is also pretty dumb and not anywhere near as smart as eclipse auto complete. nuget will download missing packages for you, but it puts them right in the source tree instead of in a .m2-type directory, so if you "git clean -dxf" between builds, nuget's going to download that poo poo every time
|
# ? Nov 27, 2013 20:12 |
|
don't use git. also why are you using command line tools instead of just telling vs to commit your changes and letting it properly omit binaries.
|
# ? Nov 27, 2013 20:15 |
|
Shaggar posted:don't use git. also why are you using command line tools instead of just telling vs to commit your changes and letting it properly omit binaries. tf source control is bad and git tf keeps me sane working w/o local branches is being in the goddamn stone age
|
# ? Nov 27, 2013 20:16 |
|
TFS owns however, and u should have it since u can have it use git on the server too!!!!
|
# ? Nov 27, 2013 20:16 |
|
Shaggar posted:don't use git. also why are you using command line tools instead of just telling vs to commit your changes and letting it properly omit binaries. visual studio doesn't get installed on the build machines
|
# ? Nov 27, 2013 20:17 |
|
use subversion if you don't have tfs. also local branches are dumb as poo poo cause they prevent source control and are only useful for 3rd worlders with no internet connections
|
# ? Nov 27, 2013 20:18 |
|
prefect posted:visual studio doesn't get installed on the build machines oh i get what ur saying. u can create a local nuget repo for commonly used binaries that's sort of like .m2 and/or nexus. its still not optimal. man oh man maven is so good
|
# ? Nov 27, 2013 20:19 |
|
Shaggar posted:VS intellisense is also pretty dumb and not anywhere near as smart as eclipse auto complete. yeah i noticed having to scroll more to select options. also writing out something like a method call would let me jump to the end after filling out parameters in eclipse, but vs just sort of forgets about it. hopefully this gets better in the future i like what i'm seeing so far. mvvm fits incredibly well into it & i was really impressed with how you can decouple the view entirely and just use data binding to a view model. also routed events are really well thought out. i was kind of surprised that msdn has been as useful as it has, i remember it being useless garbage tho that was a long time ago. it explains c# concepts quite well which is good because going into c# wpf and xaml at the same time is apparently a v. steep learning curve thanks shaggar. what are your thoughts on underscore prefix for private fields
|
# ? Nov 27, 2013 20:24 |
|
that's sort of the c# convention and i kind of like it cause they're impossible to confuse with properties which are UpperCamelCase. Generally speaking tho I almost never have private fields that aren't data provider objects
|
# ? Nov 27, 2013 20:34 |
|
yeah those fit together nicely, after seeing some code using it i was sold. also i almost forgot syntactic support for getters and setters even existed
|
# ? Nov 27, 2013 21:18 |
|
|
# ? Jun 6, 2024 13:11 |
|
properties are the c# feature i would like most in java.
|
# ? Nov 27, 2013 21:22 |