|
Cheekio posted:Apparently Microsoft released the source code for MS-DOS and Word for Windows? I found this article but I can't seem to track down the actual code: Here you go. Enjoy picking through the assembly code for edlin. DOS: http://www.computerhistory.org/_static/atchm/microsoft-ms-dos-early-source-code/ Word: http://www.computerhistory.org/_static/atchm/microsoft-word-for-windows-1-1a-source-code/
|
# ? Mar 26, 2014 03:54 |
|
|
# ? May 17, 2024 17:33 |
|
Is json schema ever going to become a real standard? I didn't know about the surrogate pair quirk or the small incompatibilities with JavaScript objects but at least json's not XML.
|
# ? Mar 26, 2014 04:06 |
|
kitten smoothie posted:Here you go. Enjoy picking through the assembly code for edlin. This is awesome and will entertain me for weeks.
|
# ? Mar 26, 2014 04:10 |
|
Dren posted:Is json schema ever going to become a real standard? The IETF drafts expired a year ago, so there is reason to hope that it won't.
|
# ? Mar 26, 2014 04:42 |
|
Cheekio posted:Apparently Microsoft released the source code for MS-DOS and Word for Windows? I found this article but I can't seem to track down the actual code: http://www.computerhistory.org/atchm/microsoft-ms-dos-2-0-source-code/ http://www.computerhistory.org/_static/atchm/microsoft-word-for-windows-1-1a-source-code/ both have download links in the middle of the articles.
|
# ? Mar 26, 2014 04:59 |
|
tef posted:json is a crime against serialization formats. just simple enough to work and then everyone writes their own incompatible extensions atop to shoehorn in other data types. the rfc is wrong in many places (unicode esp). it's arguably an even worse crime against configuration formats!
|
# ? Mar 26, 2014 05:06 |
|
Well, if its a configuration format it doesn't have to interop with anything else and is more readable than XML.
|
# ? Mar 26, 2014 06:14 |
|
pseudorandom name posted:Well, if its a configuration format it doesn't have to interop with anything else and is more readable than XML. Yeah, "whitespace-independent nested lightly-typed key-value pairs with lists" seems like a pretty decent basis for configuring things.
|
# ? Mar 26, 2014 06:17 |
|
JSON doesn't permit comments, which pretty much terminates that discussion.
|
# ? Mar 26, 2014 11:39 |
|
Use JSON-Plus instead.
|
# ? Mar 26, 2014 13:49 |
|
Use YAML instead!
|
# ? Mar 26, 2014 14:06 |
|
tef posted:just simple enough to work and then everyone writes their own incompatible extensions atop to shoehorn in other data types. Suspicious Dish posted:Use JSON-Plus instead. Conversation complete.
|
# ? Mar 26, 2014 14:51 |
|
There's also JSON5 too.
|
# ? Mar 26, 2014 16:12 |
|
The thing is that BSON had an opportunity to have the same data model as JSON, but provide benefits, like the fact that you can mmap it and retrieve fields in constant time. Unfortunately, they seemed to define a data structure that has to be read into memory and parsed. Which is insane, because it's what's stored on disk in MongoDB. Like, the whole thing about NoSQL databases is how they make the database more parallelizable. You would think that that would mean that if you had an array, you could just split the drat thing in two and farm both sides out to different workers to do MapReduce, but nope.
|
# ? Mar 26, 2014 16:18 |
|
I've been Stockholm Syndrome'd by JSON because, for the stuff I usually do, it's often the least bad option that you can hope will be available. I want to give up on the API every time I want to use one that only returns XML.
|
# ? Mar 26, 2014 17:12 |
|
I had to work with a WSDL that only had one method and its functionality depended on what arguments were passed to it. Bonus points that sometimes it returned yes/no. Other times our in-house XML parser fed me back nothing when the returned value was "0". I'm glad to not be working there anymore.
|
# ? Mar 26, 2014 17:48 |
|
So what would you pick for a configuration file format if you wanted it to be parseable in multiple languages and able to deal with lists, associative arrays, and scalars? I have done XML and I've found that XML parsing in C/C++ sucks rear end. I have done JSON and liked it. I'm willing to try whatever though, as long as there's a good reason.
|
# ? Mar 26, 2014 17:51 |
|
Dren posted:So what would you pick for a configuration file format if you wanted it to be parseable in multiple languages and able to deal with lists, associative arrays, and scalars? I don't believe in syntactic comments in configuration files, because they don't round-trip and so many configuration items are machine-manipulated now. Also because they quickly become a lovely syntactic extension mechanism (#!PLATFORM=PC). I just say that keys of the form __blat are to be ignored, usually via a censoring reviver, and put descriptive text in there. If you really want syntactic comments, JSON will probably be frustrating. Otherwise I think that it's the best choice in an annoying space. XML also has a bunch of things you have to think about like whether to use a child node or an attribute, do entity processing, worry about CDATA, blah blah. Once you say your configuration file is XML, some rear end in a top hat is going to start changing the prefix for namespaces or otherwise bringing to bear the Full Power Of Markup, and then you have to find a toaster to put in his bath. I used to wave the XML flag all the time, pre-JSON, and eval-as-decode still sort of repels me (you can avoid it even without native JSON though), but I think poorly of that old me. Subjunctive fucked around with this message at 18:10 on Mar 26, 2014 |
# ? Mar 26, 2014 18:06 |
|
It heavily depends on what your configuration is for, how sophisicated it is, and who/what is going to be editing it.
|
# ? Mar 26, 2014 18:31 |
|
All configuration files should come in the form of SQLite databases instead of some type of plain-text format
|
# ? Mar 26, 2014 18:40 |
|
PrBacterio posted:All configuration files should come in the form of SQLite databases instead of some type of plain-text format Coding horror detected.
|
# ? Mar 26, 2014 20:07 |
|
DaTroof posted:If you really need to do that kind of thing with JSON, you might as well go full retard. cf also the numerous ways in which people shoehorn in dates. for ex: / does not need to be escaped, but can be \/ , so some dialects have special meaning for "\/Obj(....)\/" strings.
|
# ? Mar 26, 2014 20:57 |
|
Thermopyle posted:for the stuff I usually do, it's often the least bad option that you can hope will be available. The Web, in a nutshell.
|
# ? Mar 26, 2014 21:04 |
|
All of my configuration files are actually complex cryptography puzzles that the computer must solve before a program can run.
|
# ? Mar 26, 2014 21:27 |
|
The challenge to the demon programmers was to convince their targets that the task set them had a definite conclusion that could be reached in a finite time.
|
# ? Mar 26, 2014 21:52 |
|
All my config files are copies of ascii goatse with the actual data encoded in non-printing characters (BEL is a zero, DEVICE CONTROL 3 is a 1)
|
# ? Mar 26, 2014 21:53 |
|
if (!(foo > 0)) { .. }
|
# ? Mar 26, 2014 23:46 |
|
C++ code:
|
# ? Mar 27, 2014 00:05 |
|
All of my config files are XML files. At my current job. I can basically throw a dart at the solution explorer and find pure solid gold. This is the module where users can build custom fields based on calculating stuff based on other fields; code:
Cool! A full JScript interpreter! Scroll a bit and find; code:
|
# ? Mar 27, 2014 00:16 |
|
Gazpacho posted:
Why malloc and memset, when you've got calloc available. Also, why not mmap it and save a bunch of copying. Anyway, I think my point was that he should write better C code if he's going to be an asshat about it.
|
# ? Mar 27, 2014 00:26 |
|
We've landed a man on the moon yet my company can't figure out how to not use Sourcesafe. I watched two talks about clean and testable code and dependency injection and getting rid of global state last night. It depressed me greatly knowing that I'd have to go in to work and work with a system that I can only describe as being made by someone who watched that talk and decided that Misko Hevery was a raving lunatic and decided to go as far in the opposite direction as they possibly could. This company recently launched a mentorship program that boggles my mind as I cannot think of a single person here I would want to be my mentor. I'm confident that anyone here with enough years of experience teaching me would also ruin my prospects of getting a job somewhere else. piratepilates fucked around with this message at 00:34 on Mar 27, 2014 |
# ? Mar 27, 2014 00:31 |
|
piratepilates posted:This company recently launched a mentorship program that boggles my mind as I cannot think of a single person here I would want to be my mentor. I'm confident that anyone here with enough years of experience teaching me would also ruin my prospects of getting a job somewhere else. The concept of a mentor program seems weird. Pairing people together to work together and share information and tips and help between the two of them, is a pretty good idea, I think. It separates your mindset from the code and generally you can help eachother when one of you does something dumb, and you'll both probably learn a few things. A mentor, however, doesn't seem to be a good option, as it'd probably leave the mentor thinking they're "better" than the other person, and the other person being frustrated that they're "better" than the mentor, with the likely scenario of the mentor's singular mindset polluting the protege's code ("No, don't do it that way, here's how I'd do it"). Of course, none of this could happen, and that'd be great, but from being in groups of similar skill, where one person's been appointed "leader", this stuff usually tends to happen vv
|
# ? Mar 27, 2014 00:50 |
|
Jewel posted:The concept of a mentor program seems weird. Pairing people together to work together and share information and tips and help between the two of them, is a pretty good idea, I think. It separates your mindset from the code and generally you can help eachother when one of you does something dumb, and you'll both probably learn a few things. I couldn't think of a better way to say it so I didn't include it before but, I'm pretty confident that I'm better than anyone here who could be selected to be a mentor. I could learn a lot about experience working in a team or in an office which I will admit I'm lacking but anything along the lines of technology would just corrupt minds that had potential with horrific thoughts of badly thought out decades old Windows programming. I don't understand how so many people can seem to collectively reject notions of "being able to write code that other people can read" or "testing".
|
# ? Mar 27, 2014 01:05 |
|
piratepilates posted:This company recently launched a mentorship program that boggles my mind as I cannot think of a single person here I would want to be my mentor. I'm confident that anyone here with enough years of experience teaching me would also ruin my prospects of getting a job somewhere else. Is that because you feel you're too stupid to do anything, or do you feel that the engineers you're working with are idiots who wouldn't really help?
|
# ? Mar 27, 2014 01:13 |
|
leper khan posted:if (!(foo > 0)) { If that's the worst you're finding, you're in a pretty good place all things considered.
|
# ? Mar 27, 2014 01:20 |
|
Suspicious Dish posted:Is that because you feel you're too stupid to do anything, or do you feel that the engineers you're working with are idiots who wouldn't really help? I'm venting a lot about my job and I have to restrain myself from going overboard but the amount of technical debt at this company overshadows the GDP of small African nations. The style of development here results in unreadable, clunky, hard to test, very stateful, and often buggy code 100% of the time.
|
# ? Mar 27, 2014 01:31 |
|
leper khan posted:if (!(foo > 0)) { int or float? I use that form if it's a float and I want to catch NaN too. Maybe I'm the horror?
|
# ? Mar 27, 2014 01:37 |
|
Jewel posted:A mentor, however, doesn't seem to be a good option, as it'd probably leave the mentor thinking they're "better" than the other person, and the other person being frustrated that they're "better" than the mentor, with the likely scenario of the mentor's singular mindset polluting the protege's code ("No, don't do it that way, here's how I'd do it"). If you look around and there's not anyone to learn from: leave. You should be actively seeking out mentors in your company and industry. I have a longer post more suited to the oldie thread about the types of mentors you can't do too well without, but I can't really tell if you're responding to the specific instance or positing that you can't imagine someone unequivocally better existing at all.
|
# ? Mar 27, 2014 01:56 |
|
Volmarias posted:If that's the worst you're finding, you're in a pretty good place all things considered. Volmarias posted:If that's the worst you're finding, you're in a pretty good place all things considered. The function was called something like 'setBar' and it sets the value of baz if foo is <=0. It has nothing to do with bar, though bar is an actual thing. Names are slightly more appropriate than that, but not really because the name of the function still has nothing to do with what it does. Thanks outsourced developers doing things in my codebase.
|
# ? Mar 27, 2014 02:10 |
|
|
# ? May 17, 2024 17:33 |
|
Flownerous posted:int or float? I use that form if it's a float and I want to catch NaN too. Maybe I'm the horror?
|
# ? Mar 27, 2014 03:34 |