HN user

zeugma

464 karma
Posts13
Comments48
View on HN

TIFF is a very versatile container format for various image-streams. It can encode multi-images(likes layers), with different compression (losseless, JPEG etc) and tiled images to read/write efficiently big images e.g. for astronomy, pathology (microscopy). It is the standard for archiving images.

If you do static analysis on Step 2 (ie on the AST) then you only need the Front-end of your compiler.

Clang/LLVM is much more modular, library oriented.(which is why the Google engineer wanted to switch to it). You can just link to the needed front-end and do the static analysis without generating the LLVM bytecode.

So yes, you could install a static-analyzer without the whole compiler.

Rust is inspired by C++ which use '::' to access names inside a namespace, here 'vec' and io are module/namespace not object, it's a static lookup.

'.' is still used for object lookup which is dynamic.

> On the other hand the fact that people from anywhere in the EU can come here to live and work here in the UK is great and the fact I can work, live and travel where I want within the EU looks like a huge increase in liberty

Unfortunately, this is not true for UK as UK is not part of Shengen. I think most(but not all) EU citizen can settle in UK and UK citizen settle in EU countries, but this is due to bilateral treaty not European one. (http://en.wikipedia.org/wiki/Schengen_Area)

I won't take the eurovision to measure europe's culture. First it is not "European" anymore, neither politically (Swizerland) nor geographically (Algeria and Israel for example are participating). Secondly, France and Germany do not succeed very well and they participation is rather ridiculous.

On the contrary, I see more and more pdf usage. Word is just a mediocre tool for editing documents and it is not supposed to be an exchange format.

I always sent a PDF file. You can only see that is was made by LaTeX with a trained eye(if their is not too heavy customization) or in the PDF meta-data. Designers would use pre-print tool like inDesign, which output PDF too.

PDF document is a problem with big companies portal that only want word document. I tried a few doc converter but they are not Free (as in beer and Freedom) and the result is of course really inferior. Nowadays, I would try html conversion as I think the result can be quite good and readable by most people (even without pdf reader).

Also, always have a hard copy of your CV for the interview. Once, the corporate website of a company I applied accepted pdf files, but butchered them via pdf2txt or something like that. Having the right layout to show them saved the day.

The goal of LaTeX is to output a printable document, most of the time a pdf. I don't think sending the sources is polite nor very readable nevermind HR-compliant.

Maybe that what's the author wanted to pointed out: if you have garbage collection (at least the way it's implemented in C#/Java) you have to give away scope lifetime of object. This is annoying because you want determinism for some kind of resources (file, lock, ...) and then you have to manually clean them, which is what you wanted to avoid in the first place with garbage collection.

In C++, if you declare the object on the stack, the destructor will be called when the scope is closed. Which is very handy for e.g. lock.

The thing is, garbage collection could be use together with scope lifetime (aka RAII) just let the programmer choose which is best/more convenient for him given his resources.

Isn't that strange ? I mean cable should be more easily broken than airwaves, no ? Is it because the landlines in Japan are designed to resist and the cell phone tower got power disruption ?

About constructor/destructor: in C++ you call allocate object on the stack, destructor will be called when you get outside the scope of the variable. That feature, dumbed RAII in C++ lingo, may be the simple GC your looking for : no explicit delete, good locality of the destruction. It also allow correct handling of exception.

"[Java] might be successful - after all, MS DOS was - and it might be a profitable thing for all your readers to learn Java, but it has no intellectual value whatsoever."

I agree with your opinion about the STL it is indeed very well thought-out and very efficient. It is a shame that concept did not make it into C++0x[1] as it could had help STL usage by preventing the cryptic errors[2]

[1] For very good reason, I understood.

[2] STLFilt can help though http://www.bdsoft.com/tools/stlfilt.html

OCaml is still quite academic, Caml-light (Caml without object and with some difference) is used to teach CS in some Math undergrad and it is use by academic researcher who don't want to go back to C. That's said there is not so much Engineering/Commercial use of it. (Some blame INRIA for not pushing it, supporting it enough, especially the lack of extended library and threading trouble).

Indeed :

FOO.hxx:

TYPE FOO_TEMPLATE () {

  TYPE foo;
  /*...*/
  return foo;
}

Foo.h:

#DEFINE FOO_TEMPLATE foo_int

#DEFINE TYPE int

#include "Foo.hxx"

#DEFINE FOO_TEMPLATE foo_float

#DEFINE TYPE float

#include "Foo.hxx"

It's a kind of weird and ugly macro trick, bug it can be useful in C when one's need polymorphism and performance (and cannot use C++ at all, which is a far better solution).

[Edit:] I realize now it's not polymorphism like said in the article, because the caller had to tell explicitly which foo_xxx to call. But it did provide "polymorphic" code in Foo.hxx (so only one implementation, no repetition). That said, a cast is also explicit.