RamiK's comments

RamiK | 12 years ago | on: The Emacs Problem (2005)

Python can do it. As I'm sure every interpreted language can.

e.g.

./data.py:

me = "RamiK"

EOF

./code.py

import data

print(data.me)

EOF

RamiK | 12 years ago | on: Dart Lang 1.2 Released

Java (Vs. Visual C++) had the industry and Academia trying to break free from Microsoft's grip by going cross-platform and later in-browser.

Dart just doesn't have that kind of driving force going for it.

RamiK | 12 years ago | on: Microsoft Virtual Academy

Seems decent enough to me. If I can park a non-tech staffer on an Excel course for an hour instead of having to hold his/hers hand and explain how a spreadsheet works I call that a win.

RamiK | 12 years ago | on: Mozilla plans to sell ads in Firefox browser

Great. More windows azure ads, goggle apps for business, board development kits, development ides and car insurance ads for me to click on just to screw with marketeers.

Makes you miss all the porn\antivirus popups...

RamiK | 12 years ago | on: Plan 9 released under GPLv2

> Sure they do, by definition code that uses the extensions is not standards compliant.

I don't follow. How's having non-standard complying code taking advantage of the extensions offered makes the compiler itself any less standard capable? I was under the impression being standard compliant didn't mean forbidding extensions... But I suppose I could have been mistaken. :(

> GNU C is a strict superset of ANSI C...

In the same way that I said "Plan 9's C is a restricted ANSI C variety". Yes. It takes some good stuff from ANSI C and leaves some unnecessary stuff out by default. Still, keeping to the standard.

> some ANSI C things are missing; e.g. const.

Surprisingly irrelevant. The draft actually said "If an attempt is made to modify an object defined with a const-qualified type through use of an lvalue with non-const-qualified type, the behavior is undefined.". So, regardless of what the Plan9 doc says about giving warnings and not implementing const in a standard confirming way, no behavior was ever expected in the first place by the standard so the compiler is unwittingly compliant :D And volatile follows suit...

My guess to why the standard requires to implement a keyword without specifying explicit behavior, is that they wanted backward-compatibility with some vendor compiler that did implement these but didn't want to force any actual functionality.

Mind you the standard is far more lax then most people give it credit: Even "void main()" and "exits(0);" that usually raise a few eyebrows are all implementation-specific according to the standard and thus are compliant.

> The compiler document is very accurate...

I was thinking about https://docs.google.com/document/d/1xN-g6qjjWflecSP08LNgh2uF... but I'm obviously not as versed as you in the state of the tool-chain so that's that I suppose. I personally did some work on getting the compiler to work on a MIPS router I had a few years back but my work was superseded by something better before I could even think about release so that was that... It was at a pretty late stage though with most of the assembly written down. So the impression I got at the time must have had mostly to do with the assembler. But that's ancient history I suppose.

So, from what I can tell out of the standard and the actual behavior of the compiler, it's complaint regardless of what it's docs say. More so, I can't think of a lot of non-confirming compilers I came across outside the embedded circles in recent years. Why, even MSVC is at most a custom header away per project away from compliance and since boiler-plate was never restricted it might as well be considered standard.

TL;DR Standards are highly overrated.

RamiK | 12 years ago | on: Plan 9 released under GPLv2

Extensions don't break standard compliance so I didn't bring them up. Note that both C++ and GNU C have similar extensions but under different semantics which don't make them any less ANSI compliant.

BTW, be careful around those documents. The assembler, compiler, parser and linker have seen over two decades worth of work since those were put ink to paper. Though admittedly I haven't read through the lib9 source tree in years...

RamiK | 12 years ago | on: Plan 9 released under GPLv2

I'm thinking about the pre-processor not supporting #if and the requirement for function prototypes.

I suppose the extension you have in mind are the extra libraries for dealing with buffered io, unicode and concurrency. But I don't think those could be termed "PLAN 9 own standard of C".

To clarify, my idea of restricted was in the sense of a highly refined subset. Much akin to how one should use C++ for instance. A careful selection of the good parts in C. Essentially, I was paying a complement to Plan9. :)

RamiK | 12 years ago | on: We made something. We use it. We love it. Apple rejected it

It's really your typical regulatory committee keeping up appearance and hitting their quota:

Regardless of quality or compliance with the rules, Apple's App Store review staff needs to reject a given number of admission a week. Otherwise, they're out of a job.

Think about end-of-the-day traffic tickets or city's planning and zoning... Here's a classic explanation: https://www.youtube.com/watch?v=apdi885ZdBA Or https://en.wikipedia.org/wiki/Criticism_of_the_Food_and_Drug...

RamiK | 12 years ago | on: The Day the Internet Didn’t Fight Back

It didn't help having it coincide with Safer Internet Day ( www.saferinternetday.org ) which did make it to my local media.

I only heard about the Day We Fight Back thing a day or two in advance so when I saw the evening news and they talked about that Safer Internet Day I wasn't sure if there was some mix up or just bad reporting...

RamiK | 12 years ago | on: Toward Go 1.3

Before Generics, the Garbage Collector needs to be sorted out since that's what dictates the optimizations and abstractions in the rest of the safe code in a very significant way. e.g. Simple scope issues like "Do I allocate this array now, or inside the for loop" were still a question of Go 1.1 vs. Go 1.2...

Then, once the GC is decided and realized, wouldn't you rather have Go self-compile so that the community could sprout experimental branches to test out different Generics approaches and designs? Especially since the Gophers themselves aren't too sure about the right approach here and want to get as much feedback as they can...

TL;DR: It seems to me that the current trajectory of focusing primarily on the GC and self-compiling is the right way to go.

RamiK | 12 years ago | on: Did English ever have a formal version of “you”?

Older English man still use indirect speech when referring to themselves and the person they're talking to if there's a significant class difference or even gender. Sometimes they'll even avoid posing questions altogether: "One would like to request your company for tea if it not too inconvenient...".

Makes everyone sound like a wedding invitation. :)

page 1