Review of C# 5.0 Programmer’s Reference

A number of readers have asked me about the next book to get after reading one of my C# books, such as Start Here! Learn Microsoft Visual C# 2010 or C# Design and Development. Of course, it’s hard to recommend a next book unless you know where the reader is headed. After all, many of my books offer a starting point or deal with a specific area of interest. Based on the feedback I’ve received, in most cases, what the reader really wants is a compendium such as C# 5.0 Programmer’s Reference by Rod Stephens. This 918 page book is truly huge and contains a great deal of information within the pages between the covers.

The beginning of the book offers a different (and updated) perspective of what my books offer. It’s a starting point for your adventure in programming. Rod and I have complimentary writing styles, so if you didn’t quite pick up a concept in my book, Rod’s explanation will almost certainly make the difference for you. Most importantly, Rod’s book offers that latest updates for C# developers that my books can’t offer because they’ve been out for a while.

By the time you get to Part IV of the book, you’re moving away from the material that I offer into some more advanced programming topics. For example, I don’t really talk much about printing in my books. All of these topics are treated in greater depth than the material in my books—generally because I’m covering the topic at a level and in a manner that the less experienced developer will understand. So it’s essential not to skip these topics even if you’ve read about them before.

Part V is where this book really excels. I was especially taken with the chapter on parallel programming. Just about every machine on the planet provides multiple processors today, yet applications don’t use them nearly as often as they should, which results in wasted processing cycles and poor performance. Rod also provides an outstanding discussion of cryptography. If you’ve read the trade press recently, you know that securing data is becoming harder and harder, yet more important all the time.

Every chapter ends with a set of exercises. This makes the book invaluable in the classroom. An instructor can assign the book a bit at a time and have exercises ready to check the student’s comprehension of the material. Appendix A contains the answers for the exercises, so the answers are easy to check. It could be possible to create a student version of the book that lacks Appendix A so the instructor can check the student’s answers without worry about peeking.

What makes this book a compendium, a reference book, is the appendices in the back of the book. There is an appendix for nearly everything you can imagine. Do you need a quick refresher on data types? Well, you can find it in Appendix B. Appendix J will give you the quick scoop about Language INtegrated Query (LINQ). Look in Appendix T when you need to know more about regular expressions. The point is that the appendices make it easy to perform quick lookups when you’re in a hurry.

The bottom line is that if you need a book that will do more than just sit on your shelf, this is the one to get. You could easily use this book to get a great refresher on C# usage, an update on the new features provided by C# 5.0, a great classroom experience, and that reference book that you need later when you need to rediscover something under pressure.

 

Proclaiming Thanksgiving!

This is Thanksgiving Week. As such it seems appropriate to restate the facts that surround Thanksgiving.

Thanksgiving is celebrated in only 3 countries around the world: The United States, Canada and The Philippines.

The original Europeans who came to America were searching for religious freedom from an oppressive government, not freedom from religion itself. Those hardy folks came over in small boats carrying very few resources with them. They survived because they were able to depend on God, adapt to a new environment, and create a self-sufficient society.

America was founded on this ideal and the willingness to adapt, learn and create are still very evident in our modern times.

In 1789 George Washington signed the following proclamation to establish the holiday of Thanksgiving in America.

Thanksgiving Proclamation

Whereas it is the duty of all nations to acknowledge the providence of Almighty God, to obey His will, to be grateful for His benefits, and humbly to implore His protection and favor; and Whereas both Houses of Congress have, by their joint committee, requested me to “recommend to the people of the United States a day of public thanksgiving and prayer, to be observed by acknowledging with grateful hearts the many and signal favors of Almighty God, especially by affording them an opportunity peaceably to establish a form of government for their safety and happiness:”

Now, therefore, I do recommend and assign Thursday, the 26th day of November next, to be devoted by the people of these States to the service of that great and glorious Being who is the beneficent author of all the good that was, that is, or that will be; that we may then all unite in rendering unto Him our sincere and humble thanks for His kind care and protection of the people of this country previous to their becoming a nation; for the signal and manifold mercies and the favorable interpositions of His providence in the course and conclusion of the late war; for the great degree of tranquility, union, and plenty which we have since enjoyed; for the peaceable and rational manner in which we have been enable to establish constitutions of government for our safety and happiness, and particularly the national one now lately instituted for the civil and religious liberty with which we are blessed, and the means we have of acquiring and diffusing useful knowledge; and, in general, for all the great and various favors which He has been pleased to confer upon us.

And also that we may then unite in most humbly offering our prayers and supplications to the great Lord and Ruler of Nations and beseech Him to pardon our national and other transgressions; to enable us all, whether in public or private stations, to perform our several and relative duties properly and punctually; to render our National Government a blessing to all the people by constantly being a Government of wise, just, and constitutional laws, discreetly and faithfully executed and obeyed; to protect and guide all sovereigns and nations (especially such as have shown kindness to us), and to bless them with good governments, peace, and concord; to promote the knowledge and practice of true religion and virtue, and the increase of science among them and us; and, generally to grant unto all mankind such a degree of temporal prosperity as He alone knows to be best.

Given under my hand, at the city of New York, the 3d day of October, A.D. 1789. Signed by George Washington.

No matter where in the world we live, it is important to remember and learn from history.

If you have comments, I would love to hear from you. Please leave the comments here or email John at John@JohnMuellerBooks.com.

Self-sufficiency Gone Wrong

I get a lot of reader e-mail and I read absolutely every one of them. I also get a lot of e-mail from friends and family who love to challenge me with interesting bits of information. I love it all! This past week I received an e-mail from one of my correspondents with a link to an article entitled, “The age of loneliness is killing us.” It actually talks about an issue that readers have asked me about in the past—the meaning of the term, self-sufficiency. Some people confuse this term with independence. The problem is that self-sufficiency has nothing to do with either independence or dependence. The terms aren’t actually relevant to each other.

You’ve seen from any number of posts that I practice self-sufficiency in grand style. However, my self-sufficiency ensures there is wood for the fire, food in the larder, clothing to wear, and a roof over my head. It ensures that my animals are all well-fed, happy, and productive. Everyone has work to do in my household, even Sugar Plum (my cat), whose main goal in life appears to be stealing my dog Reese’s bed. Practicing self-sufficiency has improved my health, made me happier, and increased my productivity.

I’m far from lonely. I counted today and I rely on no less than 40 animals and people to make my self-sufficiency work (the list is likely far larger). Including the animals is necessary because each has an active role to perform in my self-sufficiency. I could list off the jobs each animal and person performs, but I think the point is that I’m incredibly dependent on others to be self-sufficient. In fact, it’s always been that way. There are dependencies that must be maintained in order to create a happy and productive life. To say that I’m dependent on certain people is simply to say that I’m human and have deficiencies that others meet—it doesn’t make me any less of a person to admit this fact. Rather, it demonstrates an understanding of how things work and makes me a better person as a result.

The biggest reason for this particular post is to put into words precisely what I mean by self-sufficiency. I don’t want anyone out there to ever use self-sufficiency as an excuse to be lonely or to feel excluded. Far from it. Most people who are self-sufficient are fully engaged with the animals and people that surround them. In fact, it’s the animals part of the equation that sets us apart. I recently provided a post entitled, “Hugging Your Animals” and a number of people wrote to ask whether I actually do that. Well, yes I do. My animals are a big part of my self-sufficiency and I’m quite dependent on them.

Our society’s ever growing fear of depending on others is a problem. It creates loneliness, decreases productivity, makes us less efficient, and most definitely makes us less happy. Creating relationships does involve risks. Someone really could say they don’t like you or decide they really can’t tolerate how you do something. Rejection, arguments, and upsets of all sorts are the risks we encounter with dependency, but the benefits are ever so much greater. Take time to hug someone today and tell them how much you appreciate them. Let them know you don’t mind being dependent on them and that you hope they’ll depend on you too. Send me your questions about self-sufficiency and being dependent on others to John@JohnMuellerBooks.com.

 

Global Wireless Internet

We live in an exciting time. The Internet makes it possible for all sorts of information exchange to occur at speeds that have never been seen before. The only major obstacle still in the way is ensuring everyone can access the Internet from any location. That’s why stories like the recent ComputerWorld offering, “SpaceX working on micro-satellite network for Internet access” and the LiveScience offering, “Google Invests Billions on Satellites to Expand Internet Access” fascinate me. I live in a rural community where the Internet connection options aren’t always the best and certainly not of the high speed variety found in major cities. Anything that helps me work faster and gain access to the Internet with fewer delays and downtime is welcome.

What astounds me is the assertion in the article that 60 percent of the world still has no Internet access at all. I imagine some percentage of the world doesn’t care because it doesn’t have computer access either. However, it would be nice if the rest of the world would have a choice at least of accepting or rejecting Internet access as the case might be.

Of course, Americans (and many other parts of the world) assumes that everyone wants Internet access. After having had first hand contact with more than a few groups who are doing just fine without the Internet, I think the assumption is invalid. In fact, many of the articles I read in magazines such as National Geographic and Smithsonian tell me that there are cultures that are actively working hard to retain their identity, which doesn’t involve any sort of Internet access. Be that as it may, it would still be nice if they could access the Internet sometime in the future, should they wish to do so.

I’m looking forward to the day when worldwide Internet access is not only available, but available at high enough speed so that everyone can enjoy the advanced features the Internet has to provide. The satellite networks I’ve been reading about bring a lot of promise with them. Even though some people have said that no amount of bandwidth will ever be enough, I think there is a level of performance that will provide the kind of performance people need to achieve common goals. Anything over this base amount would help people realize wants, versus needs. For example, finding a doctor is a need, playing a high end video game probably falls more into the want category.

How do you feel about the expansion of Internet access across the world? Are there technologies other than satellites that we should be exploring (as far as I know, satellites are the only technology being using right now to bring the Internet to truly remote locations)? Let me know your thoughts about Internet connectivity at John@JohnMuellerBooks.com.

 

Cross Platform Functionality for .NET

Microsoft has recently announced that it will port the .NET Framework to the Mac and Linux platforms. This is welcome news because more and more of my readers have expressed an interest in developing applications that run on multiple platforms. It’s the reason that I cover Windows, Linux, and Mac requirements in books such as Beginning Programming with Python For Dummies. Until now, I usually had to include some mention of alternative solutions, such Mono, to help my readers achieve cross-platform functionality. (For readers with older versions of my books, Mono is actually delivered by Xamarin now, see my announcement in the An Update About Mono post.) Even though Mono makes a valiant effort to make cross-platform a reality, it does have limits, so the Microsoft announcement is welcome. Now we have to see whether Microsoft actually delivers on its promises.

There has been a lot of analysis about the announcement. You can find some general information about the product on eWeek. The information is pretty much a reworded version of the Microsoft announcement, but I found it clear and succinct. The InfoWorld writeup provides additional information and takes Microsoft to task for not completely opening the .NET Framework. There are still some licensing issues to consider. For my part, I wonder when Microsoft will make it possible to fully use C# on any platform. At some point, Microsoft must make it possible to develop applications on a platform other than Windows or developers will continue to lose interest.

One of the biggest questions I’ll need to answer for you is whether any of my book examples will run on other platforms. Given how Microsoft has done things in the past, it seems unlikely that you’ll be able to use any of my existing book examples on other platforms. The code might possibly work, but the downloadable source would have to be redone to make it possible to compile the examples with the new tools. So, for now, I’m saying outright that you need to continue to use my books with the version of Visual Studio for which they are written and not assume that the examples will work on other platforms.

I do find the news exciting because there is finally a chance that I’ll be able to address your needs better when it comes to working with languages such as C#. Yes, working with solutions such as Mono did allow you to perform certain tasks across platforms, but there is not a potential for writing complete applications of nearly any type and having them work anywhere, which is where the world as a whole has been headed for a long time. I applaud Microsoft’s efforts to move forward.

Please do contact me with your questions regarding cross-platform functionality in .NET and how it affects by books at John@JohnMuellerBooks.com. No, I can’t answer your question about how Microsoft will implement cross-platform functionality in the new versions of .NET, but yes, I do want to hear about your ideas for book updates based on this technology. What I want to do is help you use this new functionality as soon as is possible.

 

Getting Your MATLAB for Dummies Extras

The process of discovering how to use MATLAB begins when you get your copy of MATLAB for Dummies. However, it only starts there. Like many of my other books, you can also find online content for MATLAB for Dummies in these forms:

I always want to hear your questions about my books. Be sure to write me about them at John@JohnMuellerBooks.com. In the meantime, I hope you enjoy your MATLAB for Dummies reading experience. Thank you for your continued support.

Lessons in Intellectual Property Commerce

A lot of people have written to ask why I don’t simply offer my books for free. Of course, that wouldn’t sit well with my publishers, but it brings up other concerns as well. Unfortunately, a lot of people take my books for free even though they aren’t offered that way. Joe finds that he likes my book and gives a copy of his e-book to Sally, who reads it and gives it to Andy. Only the first copy is actually paid for. It’s a problem because I have bills to pay, just like everyone else. So, the price you pay for a book helps (in small part) to keep me writing the books that continue to help you remain productive and to learn really cool new technologies.

I read with interest about some artists offering their works online on a “pay what you want” basis or literally for free. The hope was that this form of distribution would build interest in the person’s offering (book, music, video, art, or whatever else you can imagine), so that the artist could eventually earn income in other ways. It’s not working out very well. I read with interest a story entitled, “Taylor Swift vs. Spotify: Why Music Should Not Be Free” in PC Magazine. The article rambles a little, but the arguments it makes against free intellectual property are compelling. The bottom line is that artists of all stripes need to eat. More importantly, the people who support the artists need to eat as well.

There have been all sorts of efforts to force people to pay for content in this digital age. They’ve all been unsuccessful in generating more income and have served only to cause problems for the artists. What it comes down to is that you need to decide that you want quality content to enjoy—whether that content is written, heard as music, seen as video, or presented in some other form. When I write a book, the book does generate some money for the publisher. However, the book also helps me pay my bills, along with those of the editors who support me. In addition, the money you pay also helps keep bookstores in business. In short, you’re helping to support a lot of people—real people with real needs. This really isn’t about sticking it to some huge corporation out there—it’s a lot more personal than that.

Eventually, you’ll find more quality texts in self-published form, which means that you could get books that I write for a fraction of the price you pay now. However, self-publishing comes with it’s own set of problems that need to be considered. For example, when I start self-publishing material, I’ll have access to fewer editors to help me polish my material and make it the quality product that you’ve come to expect. In addition, I’ll produce less material because now I’ll have to act as my own marketing department as well. My self-published books will only be offered in e-book form unless I contract with a print on demand company (in which case, you’ll end up paying substantially more for the book).

The theft of intellectual property is at an all time high and the problem threatens to become worse, long before it gets better. I need your continued support in order to continue writing the material that you’ve come to expect from me as an author. Of course, I’ll continue to welcome your input about my books and also to provide the free content you’ve come to enjoy in my blog. However, the next time someone offers you a copy of one of my books for free, consider the implications of the act. All it takes a simple no and then a purchase at your local bookstore to help keep me in business. Thank you for your continued help and support.

 

It’s All About Choice

Whether to come or go,
Or to ignore the flow,
It’s all about choice.

Whether to love or hate,
Or to neglect others’ fate,
It’s all about choice.

Whether to produce or loaf,
Or to work as an oaf,
It’s all about choice.

Whether to succeed or fail,
Or to determine to rail,
It’s all about choice.

Whether to think or react,
Or to simply accept fact,
It’s all about choice.

The choices you make,
Affect the path you take,
Through life’s long journey hard.

But you have the voice,
In defining your choice,
And determining which path to regard.

Copyright 2014, John Paul Mueller

 

Announcing MATLAB for Dummies

If you’ve ever wondered how to solve certain kinds of advanced mathematics, then MATLAB may fulfill the need for you. Schools are also using MATLAB as a teaching tool now because it provides so many visual aids. MATLAB for Dummies helps these two groups and many others. If you’ve wanted to use a product like MATLAB, but find the learning curve way too high, then you really do need this book. Here’s what you’ll find inside:

  • Part I: Getting Started With MATLAB
    • Chapter 1: Introducing MATLAB and its Many Uses
    • Chapter 2: Starting Your Copy of MATLAB
    • Chapter 3: Interacting with MATLAB
    • Chapter 4: Starting, Storing, and Saving MATLAB Files
  • Part II: Manipulating and Plotting Data in MATLAB
    • Chapter 5: Embracing Vectors, Matrices, and Higher Dimensions
    • Chapter 6: Understanding Plotting Basics
    • Chapter 7: Using Advanced Plotting Features
  • Part III: Streamlining MATLAB
    • Chapter 8: Automating Your Work
    • Chapter 9: Expanding MATLAB’s Power with Functions
    • Chapter 10: Adding Structure to Your Scripts
  • Part IV: Employing Advanced MATLAB Techniques
    • Chapter 11: Importing and Exporting Data
    • Chapter 12: Printing and Publishing Your Work
    • Chapter 13: Recovering from Mistakes
  • Part V: Specific MATLAB Applications
    • Chapter 14: Solving Equations and Finding Roots
    • Chapter 15: Performing Analysis
    • Chapter 16: Creating Super Plots
  • Part VI: Part of Tens
    • Chapter 17: Top Ten Uses of MATLAB
    • Chapter 18: Ten Ways to Make a Living Using MATLAB
  • Appendix A: MATLAB’s Functions
  • Appendix B: MATLAB’s Plotting Routines
  • Appendix C: Geometry, Pre-calculus, and Trigonometry Review

This book starts out simply and gently introduces you to the various tasks that MATLAB can perform. By the time you get done, you can perform many basic and a few complex tasks with MATLAB. The important part is that you’ll be in a position to use the tutorials and other learning aids that MathWorks provides to use with MATLAB. Making the learning process both simple and enjoyable is the main goal of this book. When dealing with a complex product such as MATLAB, you really do need the simpler introduction.

MATLAB is an amazing product. Once you start using it, you’ll wonder how you ever got along without it. Not only does it help you solve complex math problems, but you can also use it for a wide range of plotting needs (many of which are covered in the book). This book also acts as an idea generator to help you better use the capabilities of MATLAB. It’s amazing to discover just how many people use MATLAB and the ways in which they employ it.

I want to be sure you have the best possible learning experience. If you have any questions about this book, please feel free to contact me at John@JohnMuellerBooks.com. Please keep your questions book-specific. If you have questions about MATLAB as a product, please address those questions to MathWorks. I’ll be providing more posts about this book soon, so please come back to my blog to discover more about MATLAB for Dummies.

 

Antiquated Technology Making Developers Faster

Would you like to be able to type application code faster and with fewer keystrokes? The article, The 100 Year Old Trick to Writing at 240 Words Per Minute, probably has some good advice for you—at least, if you’re willing to learn the technique. It turns out that stenography isn’t only useful for court typists and people who print out the text for the hearing impaired on television, it’s also quite useful for developer. Yes, your IDE probably has more than a few tricks available for speeding up your typing, but I guarantee that these tricks only go so far. My personal best typing speed is 110 wpm and that’s flat out typing as fast as my fingers will go.

Naturally, I haven’t ever used one of the devices mentioned in the article. However, a stenographer named Mirabai Knight has tried one of the devices and reproduced a 140 keystroke Python application using only 50 keystrokes. I don’t know of any IDE that can provide that sort of efficiency. Of course, it’s one thing for a trained stenographer to produce these sorts of results, but I’d like to hear from any developer who has used the technique to hear about how well it worked for them. Please contact me about your experiences at John@JohnMuellerBooks.com.

The part that interested me most though is that the system, called Plover, is written in Python. (If you want to see Plover in action, check out the video at http://plover.stenoknight.com/2014/10/longer-plover-coding-snippet-in-python.html. A number of Beginning Programming with Python For Dummies readers have written to ask me how they can use their new found programming skills. The book contains sections that tell you about all sorts of ways in which Python is being used, but most of these uses are in large corporations. This particular use is by a small developer—someone just like you. Yet, it has a big potential for impacting how developers work. Just imagine the look on the boss’ face when you turn in your application in half the time because you can type it in so much faster? So, Python isn’t just for really large companies or for scientists—it’s for everyone who needs a language that can help them create useful applications of the sort that Python is best suited to target (and I describe all of these uses in my book).