Bruce Alspaugh

Greenhorn
+ Follow
since Feb 13, 2009
Merit badge: grant badges
For More
Columbia, Missouri
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Bruce Alspaugh

I have a question for the book authors. Which encryption algorithms in common use today will be effectively broken once powerful enough quantum computers become available? Will RSA, Blowfish, AES, SSL or SSH be broken? Will Bitcoin be broken?

Bruce
5 years ago
I guess Cay did not see my question.

Bruce
5 years ago
Hi Cay,

How much coverage does the new edition devote to the "Project Jigsaw" module system that was introduced in Java 9?

Bruce
5 years ago
Hi Cay,

In the eighth edition of "Core Java Volume II," you have an introduction to LDAP in chapter four on database programming. The introduction mentions it was adapted from your other book "Core Java Server Faces" second edition. Unfortunately, I can't find LDAP coverage in the tenth edition, or the third edition of "Core Java Server Faces." Is there some reason you dropped LDAP coverage from both books?  I would like to see it come back. Is there any chance LDAP coverage made it back into the eleventh edition?

Bruce
5 years ago
Hi Josh,

I’m a big fan of “Effective Java.” In it, you make a number of recommendations regarding the collections API. I use immutable objects to make my programs easier to reason about and thread safe. The difficulty I run into is that the collections API exposes lots of optional mutating operations. I can use the unmodifiable wrappers to prevent an internal collection from being mutated by clients of my classes, but the client still sees the optional mutating operations and can’t tell from just the interface whether a particular implementation allows mutation or will throw an exception. Does this violate the Liskov Substitution Principle? Also, I find myself making defensive copies if I want to retain a collection as a field in an object which incurs copying overhead.

Do you think Java would benefit from having a standardized functional collections library? The functional collections would be both immutable and persistent. “Immutable” in the sense that they can not be modified after they are created. “Persistent” in the sense that a collection returns a new version of itself when the client attempts to change it, and retains the current version of itself unmodified. For example, if you attempt to add an element to a collection, the return value of the “add” method is another collection containing the additional element. To avoid excessive copying overhead, structural sharing is used between the old version and the new version of the collection. The old version is garbage collected when it is no longer referenced.

Chris Okasaki has done a lot of work in this area, and his work has formed the basis of various functional collection libraries. However, the libraries are not part of the Java standard. They need to interoperate with the current collection API. Is it time to create a JEP to add a standardized functional collection library to Java?

Best Regards,

Bruce
6 years ago
Hi Cay,

I noticed that your book still covers Swing and doesn't say much about JavaFX, even through Oracle has positioned JavaFX as the successor to Swing for new applications. JavaFX is now a standard part of Java SE. Do you plan to switch Core Java over to JavaFX at some point, or perhaps write a separate Core JavaFX book as you have done for Core JSF?

Bruce
8 years ago
Hi Joel,

One of the interesting things about Android development is that Gradle has been adopted as the build system. Gradle is a great build tool that is useful not just for Android development, but general Java development as well. Unfortunately, Gradle is only briefly mentioned in your book, so I would like to add to the suggestions others have made for future editions. Could you add a chapter on Gradle?

Thanks for putting together your excellent book. I can definitely recommend it for developers looking to learn Android.

Bruce
9 years ago
Hi Joel,

Thanks for joining the forum. As a Linux user, I really appreciate you adding an appendix to the 2nd edition explaining how Linux users should set up their computer to do the exercises. Most Murach books I have seen only contain instructions for Windows and MacOS. I hope this trend continues. Thanks for taking the time to update the book for Android Studio. For people who prefer Eclipse, there is always the first edition.

Question: Have you had an opportunity to test the book exercises using the latest Android Studio 2.0 preview to see if they still work? It seems that almost as quickly as you can update your book, there are changes to the IDE. I don't know how significant the changes are for the 2.0 version, but I hope it runs faster and takes less memory than the current Android Studio.

Bruce
9 years ago
Hi Bryan,

If you need to update your Java skills, I would recommend that you pick up a copy of "Murach's Beginning Java with Eclipse," or "Murach's Beginning Java with NetBeans." Either one of these books should give you the basic Java prerequisite skills you need so you can learn Android development.

Bruce
9 years ago
Does the study guide provide much help if you are looking to take the "Upgrade to Java SE 8 Programmer (1Z1-810)" exam?

Bruce

Hi Stuie,

The book includes a running example of a website for the "San Joaquin Valley Town Hall." You can download the code for it from the Murach website. The end of chapter exercises walk you through modifying the code to add features to the web site that were covered in the previous chapter. By the end of the chapter, you will have pages for a website with a responsive design.

One of the nice things about this approach is that shows you how to organize separate directories for the style sheets, images and JavaScript. This becomes especially important when you get into the later chapters on jQuery UI and jQuery Mobile so you get all the files in the right directories relative to each other.

Hope this helps,

Bruce
Hi Zak and Anne,

I like the addition of responsive web design to the new edition of the book. Unfortunately, it looks like some topics that were in the previous edition were dropped to make room for it. Most of those appear to be in chapter 16 of the previous edition. They would include the HTML5 canvas, Geolocation, web storage, and drag and drop. I really miss them, especially the HTML canvas.

Does Murach impose a page limit on their books that required you to drop those topics?

Bruce
Hi Zak and Anne,

I noticed in chapter 14 you explain how to use CSS transitions to create an accordion which is quite interesting and useful. Then you show another way to create them in the jQuery UI chapter, so you can compare the two approaches. As I was looking at that, it occurred to me that it should be possible to create tabs using only CSS by employing similar techniques. I'm surprised you didn't include an example of that in chapter 14. I see that you already cover the tabs widget in the jQuery UI chapter.

Bruce
Hi Zak and Anne,

I like the way you cover HTML and CSS at the same time so you can see how they work together. A lot of books I see cover CSS separately. I've noticed that it is becoming more and more common to use CSS preprocessors like Sass and LESS. Would it be possible to include a chapter on that in the next edition?

Bruce
Hi Zak and Anne,

I really like the addition of responsive web design to the new edition of the book. I see that you accomplish this using media queries and compare that approach to creating a separate site for mobile users using jQuery Mobile. Another way to get a responsive design would be to use bootstrap.js, which would be a great topic for a chapter in its own right. Would it have been possible to squeeze in a chapter on Bootstrap?

Does Murach plan to update "Murach's JavaScript and jQuery" anytime soon? If you can't squeeze bootstrap.js into the HTML book, this might be a good place to put it. Then you could call it, "Murach's JavaScript, jQuery, and Bootstrap". Bootstrap is quite popular these days, so it would be great to have coverage of it somewhere.

Bruce