awd02 (3) [Avatar] Offline
#1
Hello,

I have bought this (very good) book and now I would like to obtain the electronic version. So I have followed the instructions given in the book. However, the link that I received throws an exception (to be more specific: java.io.FileNotFoundException). Is it possible that someone corrects this little problem ?

Thanks a lot

P.S. Sorry for my (very) bad English.

Message was edited by:
awd02
tomten (19) [Avatar] Offline
#2
Re: Ebook
> the link that I received throws an exception (to be
> more specific: java.io.FileNotFoundException). Is it
> possible that someone corrects this little problem ?

It sounds like you didn't copy and paste the link correctly. Can you show the e-mail you got?
mgravell (64) [Avatar] Offline
#3
Re: Ebook
> Can you show the e-mail you got?

As I recall, it is a paper insert in the book - no e-mail involved. The link certainly worked at one point... my guess is a temporary glitch on Manning's server.
jon.skeet (451) [Avatar] Offline
#4
Re: Ebook
> > Can you show the e-mail you got?
>
> As I recall, it is a paper insert in the book - no
> e-mail involved. The link certainly worked at one
> point... my guess is a temporary glitch on Manning's
> server.

That's my guess too. I'll ping Manning to find out.

Jon
gado (6) [Avatar] Offline
#5
Re: Ebook
Hi,

I did a health check and system works OK. Do you still have this problem?

Gabriel
Webmaster
awd02 (3) [Avatar] Offline
#6
Re: Ebook
Yes, I still have the same problem:
java.io.FileNotFoundException: /var/data/freech (Is a directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at com.manning.FcConfirm.service(FcConfirm.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520)
at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
at java.lang.Thread.run(Thread.java:595)


P.S. Thanks everybody for your response.
gado (6) [Avatar] Offline
#7
Re: Ebook
awd02,
Did you use the insert from your book recently and you end up with this error? If you use the insert again you should be OK.

Gabriel
awd02 (3) [Avatar] Offline
#8
Re: Ebook
Everything has worked fine.

Thanks a lot !

Message was edited by:
awd02
jon.skeet (451) [Avatar] Offline
#9
Re: Ebook
Excellent - glad to hear it's all sorted.

Hope you enjoy the book smilie

Jon
Heinrich (3) [Avatar] Offline
#10
Re: Ebook
I have the same Problem.
I get the same java File not found error.
jon.skeet (451) [Avatar] Offline
#11
Re: Ebook
Heinrich: Sorry to hear that - I'll pass the problem up to the relevant folk at Manning.
tikitu (8) [Avatar] Offline
#12
Re: Ebook
I have exactly the same problem. I don't have the book with me at the moment so I can't resubmit the request until later this evening, I hope it will work on the second run-through. (If the system recognises the insert code as one that's already been used it asks for a word appearing on a particular page of the book.)
jon.skeet (451) [Avatar] Offline
#13
Re: Ebook
@tikitu: Okay, let's hope it works smilie If you could update this thread with the results, that would be great. If it fails again, I'll get onto the web master and ask him to sort it out.
tikitu (8) [Avatar] Offline
#14
Re: Ebook
I just had another go (it's evening in my timezone) -- no dice, the same FileNotFoundException.

Just for clarity's sake: "another go" means a completely fresh start, different entries from the insert, a 3rd-word-on-the-page lookup, and a new download link. I can give the specific codes and so on if your webmaster needs them.
jon.skeet (451) [Avatar] Offline
#15
Re: Ebook
Okay, I'll see if I can get it sorted out for you - sorry about this!

Jon
tikitu (8) [Avatar] Offline
#16
Re: Ebook
No worries, and thanks for getting onto it. Seems a bit slack of Manning to make their authors handle customer support for the website -- I hope you don't end up doing the debugging too. (The irony of a Java exception when fetching a C# textbook is not lost on me either ^_^)
gado (6) [Avatar] Offline
#17
Re: Ebook
Hi tikitu

I will help out with this. Please check your email.

Gabriel
manning.com - webmaster
Heinrich (3) [Avatar] Offline
#18
Re: Ebook
I tried it again, and also my new link, causes a "FielNotFoundException".
tikitu (8) [Avatar] Offline
#19
Re: Ebook
I think I've found the solution. At least, this got me my ebook:

The download link the automatic system sends you is to http://freech.manning-sandbox.com/cemail?uid=<long-identifier>. If you change the subdomain "freech" to "matrix" and the script name "cemail" to "gi" you might have better luck. (Afaik you shouldn't need to request a new link, it should work with the old ones. I can imagine they might go stale if you leave them long enough, but mine was a few days old and worked.)

How did I stumble on this piece of magic? The webmaster mentioned in email that he'd tried one of my old download links, and it worked. He happened to quote the url, and ... it wasn't the same as the one I received. Oops.

Regards to all,
Tikitu

PS. The link formatting of the link example is automatic, sorry about that.
jon.skeet (451) [Avatar] Offline
#20
Re: Ebook
Excellent - I'm glad that worked for you, tikitu - Heinrich, could you confirm whether that works for you too?
Heinrich (3) [Avatar] Offline
#21
Re: Ebook
Yes it also worked for me. Thank you
jon.skeet (451) [Avatar] Offline
#22
Re: Ebook
Great. I'll let Gabriel know so he can change the email template appropriately. Now I hope it ends up being worth the effort for you both smilie
tikitu (8) [Avatar] Offline
#23
Re: Ebook
I mailed Gabriel the details also. (In several chunks, I'm afraid: I spotted the subdomain switch first and proudly sent my 'solution' without testing it... should know better.)

Jon, I should say thanks for writing the book. I used it as an introduction to C# (not the intention, I know); now I've gone back to a 'real' introduction (O'Reilly's "C# in a nutshell") and I'm finding a surprising number of points where they gloss over subtleties without mentioning there's any simplification involved. While you didn't always give details, I appreciate that you made clear how many places there are more details to be gotten, should one wish to go getting.
jon.skeet (451) [Avatar] Offline
#24
Re: Ebook
Thanks tikitu - that's very valuable feedback. There's a chance I may write a beginner's guide to C# at some point, and it's useful to hear confirmation of my belief that it's worth being explicit about glossing over details. (Obviously in a beginner's guide there's going to be a *lot* of glossing going on, so I'll have to make sure I don't make it annoying...)
tikitu (8) [Avatar] Offline
#25
Re: Ebook
Couple of comments:

Firstly, I'm probably not an average C# beginner: I come from a theoretical computer science background with a functional leaning, so a lot of the cool stuff introduced in C#3 is familiar in broad concept, if not in specifics. So I don't know how generally applicable my feedback would be.

Secondly, without meaning any offence I have to admit that your style didn't click with me: I did find it annoying, and quite often exactly when you were admitting you weren't going to go into full detail about something. Still I'd /much/ rather have the mention (and be annoyed by how it's written) than not have it at all. Again, that may not be the average beginner's attitude. (I imagine it depends a lot on how academically they're approaching the language, for a start -- is the aim to get up and running smoothly, or a deeper theoretical understanding?)
jon.skeet (451) [Avatar] Offline
#26
Re: Ebook
Okay. My reasoning is "if you want all the details, go read the spec." My aim was to provide the most relevant details and make the reader aware when there's more to know if they're aiming at absolute completeness (which usually isn't necessary).

What makes me cross when I'm reading a book is if they don't just skate over details but are actively inaccurate - e.g. claiming "objects are passed by reference" or whatever. I hope that's a rarity within my book, although it's certainly not completely without technical errors.

Now, I'm fairly happy with that stance - but if i can put that across in a way which would be less annoying to you and other readers, that would be great. Would an icon in the margin (possibly with a spec reference?) be more useful? Is the problem that it interrupted the flow of the prose, or that you felt I was "teasing" you wish talk of more details?

(Sorry to ask all these questions - feel free to ignore them if you like. I'm a feedback junkie...)

Jon
tikitu (8) [Avatar] Offline
#27
Re: Ebook
I definitely agree with your aim. Here's a nice example (positive feedback is useful too, right?):

When you describe implicitly typed arrays you say that "if there's exactly one type in that set that all the others can be implicitly converted to, that's the type of the array". The O'Reilly introduction says, at least the first time they mention the issue, that array initialisers only work if all the elements are of the same type. (I don't have their text with me at the moment, I'll be embarrassed if I'm misremembering... but I could look yours up in my ebook, yay![1]) This would be a reasonable approximation (how often will you want to do that differently?) /if/ they made clear it's a simplification.

Another place your version really clicked for me was when you discussed the null coalescing operator. You said it works by "(roughly speaking)" the following three steps. Having read the steps I was thinking "What 'roughly speaking'? What else could it possibly do?" Then you say that the complications involve conversions between the types of the arguments. Now I know generally how it works, and what /kind/ of complications I should expect; if they turn up I can look them up. "Teasing" would be if you say there are complications, but without saying even vaguely what they're like. I have the vague memory that your use of "edge cases" might have given me this feeling on occasion, but I can't call particular instances to mind.

Spec reference: yes please! Preferably hyperlinked in the pdf version (since I'm making demands anyway).

I personally like the style where the margins are huge and contain little self-contained notes expanding on the main text, for exactly this kind of issue. The notes can be pitched at a more advanced level without making the main text too formidable, which is handy. And the large margins are lovely for a reader to put their own scribbles in... (I appreciate that this (a) is my ideosyncratic preference, and (b) completely ignores the economic realities of paper publishing. Looks nice though.)

One problem with putting this sort of thing in the main text is indeed that it distracts from the main issue. Another is that there are only so many ways of saying "Things are actually more complicated", and it's hard to stop them from sounding condescending. (That might be the main part of your style that I didn't appreciate -- for example you mention "language lawyers" at one point, which didn't sit well with me.) "Teasing" I'm generally not so worried about, so long as you manage to say something about what kind of complications the spec tries to deal with.

I hope that's helpful. I'm also a bit of a feedback junkie, just in the giving rather than the getting...

Regards,
Tikitu

[1]: More positive feedback, for Manning this time: a properly hyperlinked pdf is a wonderful thing. The contents and index links make a real difference. About the only thing they missed were the urls in the text itself (footnotes pointing at blog postings and so on), and in-text references like "in chapter 7", which is getting really picky.
jon.skeet (451) [Avatar] Offline
#28
Re: Ebook
I'm writing this on a netbook on a train, so apologies for the brevity.

> I definitely agree with your aim. Here's a nice
> example (positive feedback is useful too, right?):

Definitely smilie

> When you describe implicitly typed arrays you say
> that "if there's exactly one type in that set that
> all the others can be implicitly converted to, that's
> the type of the array".

<snip>

> Another place your version really clicked for me was
> when you discussed the null coalescing operator. You
> said it works by "(roughly speaking)" the following
> three steps. Having read the steps I was thinking
> "What 'roughly speaking'? What else could it possibly
> do?" Then you say that the complications involve
> conversions between the types of the arguments. Now I
> know generally how it works, and what /kind/ of
> complications I should expect; if they turn up I can
> look them up.

That's a point worth remembering - that the details may not be important, but an idea of the kind of situations in which things get messy is useful.

> "Teasing" would be if you say there are
> complications, but without saying even vaguely what
> they're like. I have the vague memory that your use
> of "edge cases" might have given me this feeling on
> occasion, but I can't call particular instances to
> mind.

I'll bear it in mind when revising the text for the second edition.

> Spec reference: yes please! Preferably hyperlinked in
> the pdf version (since I'm making demands anyway).

I'll ask for hyperlinks wherever possible - I do like your idea about linking for blog posts etc.

With the C# spec it's a bit harder as there isn't an HTML version of the C# 3 spec. I don't know whether that will change with C# 4.

At one point we were toying with putting spec references all over the book, but decided it would be too fussy. I was originally going to try to cross-reference the whole book on the website, but after trying it for a bit it didn't really work. However, referencing just this kind of thing (the nasty bits) would be a lot simpler. That sounds like a very good idea. Even if it's not in the printed copy and ebook, if I have it available on the web site that would be better than nothing.

> I personally like the style where the margins are
> huge and contain little self-contained notes
> expanding on the main text, for exactly this kind of
> issue. The notes can be pitched at a more advanced
> level without making the main text too formidable,
> which is handy. And the large margins are lovely for
> a reader to put their own scribbles in... (I
> appreciate that this (a) is my ideosyncratic
> preference, and (b) completely ignores the economic
> realities of paper publishing. Looks nice though.)

I like big margins too, but I suspect that's an unlikely change smilie

> One problem with putting this sort of thing in the
> main text is indeed that it distracts from the main
> issue. Another is that there are only so many ways of
> saying "Things are actually more complicated", and
> it's hard to stop them from sounding condescending.

Tell me about it smilie With an appropriate icon and reference, do you think we could remove most of the text? I suspect I'd have to be careful to still explicitly say that it's only an approximation in places (rather than leaving it *all* up to the icon) but it could streamline things.

> (That might be the main part of your style that I
> didn't appreciate -- for example you mention
> "language lawyers" at one point, which didn't sit
> well with me.)

Because you felt it was patronising, or derogatory? I don't generally mean "language lawyer" in a negative sense - I'd call myself a language lawyer to some extent.

> "Teasing" I'm generally not so worried
> about, so long as you manage to say something about
> what kind of complications the spec tries to deal
> with.

Right. Thanks for the feedback - it really is helpful. While obviously I like people praising the book, concrete examples of how it could be improved are more useful in the long term!

> I hope that's helpful. I'm also a bit of a feedback
> junkie, just in the giving rather than the
> getting...

Fine by me - I suspect you're every publisher and author's dream reader in that respect smilie

Jon
tikitu (8) [Avatar] Offline
#29
Re: Ebook
> I'm writing this on a netbook on a train, so
> apologies for the brevity.

No worries. I've got a deadline looming so I'll have to keep things a bit shorter also.

<snip>
> I'll ask for hyperlinks wherever possible - I do like
> your idea about linking for blog posts etc.

It's a luxury, but a nice one. It also adds a bit of extra value to the ebook version, which I guess publishers should be taking notice of.

> With the C# spec it's a bit harder as there isn't an
> HTML version of the C# 3 spec. I don't know whether
> that will change with C# 4.

Oh that's a pain.

<snip>
> Tell me about it smilie With an appropriate icon and
> reference, do you think we could remove most of the
> text? I suspect I'd have to be careful to still
> explicitly say that it's only an approximation in
> places (rather than leaving it *all* up to the icon)
> but it could streamline things.

Yeah, I think so. It's almost a refactoring, really: Hey, I keep having to find different ways to say basically the same thing without sounding repetitive! Why don't I put that in a method? (There's still a function for that extra text: saying roughly what kind of complications the spec reference is there for.)

Another thought about large margins: At the moment there are occasional extra notes half in the margin and half inset into the text (bottom of pg. 339 for example). Something like that would also work; you'd have to use a narrow font, probably at a smaller size, to jam the information in but that's not such a bad idea for stuff that's explicitly "for advanced readers".

<snip>
> > (That might be the main part of your style that I
> > didn't appreciate -- for example you mention
> > "language lawyers" at one point, which didn't sit
> > well with me.)
>
> Because you felt it was patronising, or derogatory? I
> don't generally mean "language lawyer" in a negative
> sense - I'd call myself a language lawyer to some
> extent.

I don't want to push this too much, since I suspect it's more to do with my personal ideosyncratic response to the book. It's not that I think there's something you should improve, it's that you didn't give me quite what I expected or wanted, which is very shaky ground for criticism. So please take this with a sizeable grain of salt.

I bought your book mainly on the strength of the section "about this book". I'm completely behind the philosophy you're pushing there, and I think you mainly live up to it. But there are occasional jarring moments. There you say "If you feel frustrated when you arrive at working code, but don't quite know *why* it works, I want to help you understand." I searched for that language-lawyer quote (score another one for the pdf ... although I see it's in the index too), and found this (pg. 80): "If you think the compiler *might* be able to infer all the type arguments, try calling the method without specifying any. If it fails, stick the type arguments in explicitly. You lose nothing more than the time it takes to compile the code once, and you don't have to have all the extra language-laywer garbage in your head." I guess you'll see the contrast, although you probably don't find it as stark as I did.

(A note to anyone else who might be following this discussion without having looked at the book, and who reacts the way I did: this passage is not typical. If this kind of thing was cropping up all over the place I would have a real problem with the book. I don't, I think it's basically a good buy. Even in the places the tone didn't click for me, the content is pretty sharp.)

<snip>
> Fine by me - I suspect you're every publisher and
> author's dream reader in that respect smilie

Well hey, if any publishers want to send me review copies, I'm open to offers ^_^

Hope that's helpful. It wasn't that brief after all, in the end...

Tikitu