« first day (1687 days earlier)      last day (3484 days later) » 

00:00
Developer Accused Of Unreadable Code Refuses To Comment
 
18 hours later…
18:15
Suppose I have a file called foo.txt, or foo.pdf. is there some generally accepted terminology for "foo"?
 
2 hours later…
20:12
@FaheemMitha bar
@Braiam Not helpful.
The terms foobar (/ˈfuːbɑr/), fubar, or foo, bar, baz and qux (alternatively, quux) and sometimes norf and many others are sometimes used as placeholder names (also referred to as metasyntactic variables) in computer programming or computer-related documentation. They have been used to name entities such as variables, functions, and commands whose exact identity is unimportant and serve only to demonstrate a concept. The words themselves have no meaning in this usage. Foobar is sometimes used alone; foo, bar, and baz are sometimes used, when multiple entities are needed. The usage in comput...
@Braiam Nope, still not helpful.
@FaheemMitha really? "metasyntactic variables"?
@Braiam You might've misunderstood my question.
 
1 hour later…
21:32
@FaheemMitha not really. Sometimes “basename” or “base name”, but it can also mean foo.txt as opposed to path/to/foo.txt.
Emacs calls it “file name sans extension”
zsh calls it the root name
@Gilles That's not very catchy.
@Gilles True.
I went with basename, because I couldn't think of anything better.
Well, anything short that was better.
Interesting factoid about US sitcoms. If you want to see a good one, look for the ones that were cancelled early. The ones that run for years are terrible most of the time.
@Gilles so, what is your preferred build system, if any?
21:48
@FaheemMitha I've never found one that I felt genuinely improved on make
@Gilles Oh. Currently using cmake and autotools.
make is old, cranky and limited but it seems that every “improvement” out there manages to be markedly worse in some aspects
Which both create makefiles.
I have my eyes on SCons2. It looks well-designed. But I haven't had a chance to use it in a serious project.
22:10
@Gilles You don't like scons then?
Oh, you do mean scons.
I like scons. But it is kind of limited.
@FaheemMitha in what way?
@Gilles Missing lots of functionality.
@FaheemMitha what?
Even things you would expect it to include. Installation of python packages. No make dist equivalent. Very poor support for autoconf functionality.
@FaheemMitha installation of python packages is the job for a python tool, not for a build automation tool
22:15
@Gilles I don't see why it can't be integrated.
autoconf is a crutch because of the limitations of make, I would expect it to be not necessary with a good build system
@Gilles You need some way to look for the location of stuff.
@FaheemMitha because if you go that route, you'd have to integrate every programming language, and keep it up to date
@Gilles Just the major ones.
@FaheemMitha installing libraries should be pre-build task, not post/during
22:16
@Braiam I don't follow. Isn't installation after build?
@FaheemMitha that is one of the things I have against some build systems: they have support for certain languages built in, but if you aren't using one of these languages, they're unusable.
So I do not want built-in support for any specific language
@FaheemMitha build dependencies (libraries, binaries, etc.) should be done before you try to build stuff
language-specific support in the form of plugins that you can have in your build directory or that can be installed with the language's compiler is fine
@Gilles You can always manually add your own support. But that's my point. There are at a maximum 20 languages or so in general use. So let people using that language support modules for their language.
@FaheemMitha s/20/20000000/
22:17
@Gilles I'm talking about plugins, of course.
Not part of the core language.
@Gilles Oh, come now.
List all the languages in general usage. You run out of names fairly quickly.
At least if you exclude proprietary stuff.
@Braiam Again, not exactly following.
Apparently cmake supports matlab. Ugh.
@FaheemMitha I want to build X, I should install a, b, and c libraries to be able to build it
If people want to support their language, why not let them? It's better than reinventing the wheel all over the place.
@Braiam Agreed. Your point being?
@FaheemMitha the build tool shouldn't do that
only check if they are there
I had to hook scons into distutils at one point. It was annoying.
@Braiam Shouldn't do what?
@FaheemMitha C (many compilers), C++ (many compilers), Java, Perl, Python, OCaml, SML (various dialects), Haskell, Coq, Pascal, Erlang, Lua, Lisp (various dialects), Scheme (various dialects), (La)TeX and various preprocessors and companions
22:21
@Gilles That sounds like a reasonable coverage, yes.
that's just the ones I've wanted to have at some point or other, minus a bunch that I'm not remembering right now
Sounds like a pretty comprehensive list to me.
and different people will want different languages, e.g. lots of people will want Fortran, C#, etc.
Tell the Scons people to shape up and start implementing.
@Gilles Nobody uses Fortran any more.
And C# is proprietary.
Actually, some of the ones on your list are a bit obscure. E.g. coq.
@FaheemMitha @casey won't agree
22:24
@Gilles even if you make that argument, scons is written in freaking python. They could make an exception for that one.
@FaheemMitha it's the 755th tag on SO. Not highly popular, but more than a couple on my list.
@Braiam Yes, I did think of Casey there. :-)
@FaheemMitha this is completely meaningless
@Gilles Just kidding.
@Gilles Well, I personally don't see why free tools should support proprietary languages.
Well, MS can contribute a module if they want, I guess.
@FaheemMitha what the hell does “proprietary languages” mean?
22:25
@Gilles What it says.
Is that a poorly defined term?
@FaheemMitha yes
do you mean a language with no standard published by a government body?
@Gilles Fine. Languages whose only implementations are proprietary.
@Gilles No.
@FaheemMitha ah, so not C# then
@Gilles You are thinking of Mono?
assuming that by “proprietary” you mean “not open source”, which isn't really adequate but I'll let it pass
@FaheemMitha yes
22:27
@Gilles Fine, I'll give you that one. a free build tool can support Mono.
can a free build tool support C?
I don't know much about Mono/C#, but aren't the two quite different in practice? I mean C# is always ahead, Mono scrambling to catch up?
C has some free implementations, but not for all hardware platforms
@Gilles sure, why not?
It's a standard. Lots of free compilers.
I tell you what a build tool shouldn't support. Freaking Matlab/Mathematica.
@Gilles I thought gcc ran everywhere. And if it didn't clang did.
A hardware platform without a C compiler? Isn't that illegal?
@FaheemMitha Hardware platforms without a C compiler must be rare indeed. But there are hardware platforms with only the manufacturer's compiler.
22:34
@Gilles Oh, right. Sorry, got confused a bit there. Examples?
and plenty of platforms for which gcc exists but isn't as good as the manufacturer's compiler (can't access hardware features without using the (proprietary) assembler, less good at optimizing, ...)
@Gilles You seem to know a lot about this stuff. I've only ever used gcc on i386/amd64.
@FaheemMitha my current job involves programming mainly for arm processors. While there is of course gcc for arm, the ARM compiler is better at optimizing some stuff, and has builtins for some hardware features (though in this case the assembler that comes with gcc is enough)
and arm is about the least exotic platform you can find apart from x86
@Gilles I see. So, is that lower level programming than C? Or do you use C?
@FaheemMitha we mostly use C
22:47
@Gilles I see. Does the fact that you are using ARM factor in, then?
@FaheemMitha we use ARM's compiler for some things
and of course we do plenty of low-level stuff, since we make the OS
@Gilles Oh. I meant like ARM specific features within C. If there are such things.
@Gilles Oh, you are writing the OS? Ok.
How is the work? Interesting?
@FaheemMitha we have plenty of CPU-specific code, such as interrupt handlers, hardware access, concurrency management, etc.
@Gilles I see. So, like Linux kernel programming?

« first day (1687 days earlier)      last day (3484 days later) »