Your search did not yield any results.

Feel free to contact us in the event that the training you require is not listed. We may be in a position to offer this training by way of our partners or by creating a tailored class.

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Blog Entries publications that: entertain, make you think, offer insight

I will begin our blog on Java Tutorial with an incredibly important aspect of java development:  memory management.  The importance of this topic should not be minimized as an application's performance and footprint size are at stake.

From the outset, the Java Virtual Machine (JVM) manages memory via a mechanism known as Garbage Collection (GC).  The Garbage collector

  • Manages the heap memory.   All obects are stored on the heap; therefore, all objects are managed.  The keyword, new, allocates the requisite memory to instantiate an object and places the newly allocated memory on the heap.  This object is marked as live until it is no longer being reference.
  • Deallocates or reclaims those objects that are no longer being referened. 
  • Traditionally, employs a Mark and Sweep algorithm.  In the mark phase, the collector identifies which objects are still alive.  The sweep phase identifies objects that are no longer alive.
  • Deallocates the memory of objects that are not marked as live.
  • Is automatically run by the JVM and not explicitely called by the Java developer.  Unlike languages such as C++, the Java developer has no explict control over memory management.
  • Does not manage the stack.  Local primitive types and local object references are not managed by the GC.

So if the Java developer has no control over memory management, why even worry about the GC?  It turns out that memory management is an integral part of an application's performance, all things being equal.  The more memory that is required for the application to run, the greater the likelihood that computational efficiency suffers. To that end, the developer has to take into account the amount of memory being allocated when writing code.  This translates into the amount of heap memory being consumed.

Memory is split into two types:  stack and heap.  Stack memory is memory set aside for a thread of execution e.g. a function.  When a function is called, a block of memory is reserved for those variables local to the function, provided that they are either a type of Java primitive or an object reference.  Upon runtime completion of the function call, the reserved memory block is now available for the next thread of execution.  Heap memory, on the otherhand, is dynamically allocated.  That is, there is no set pattern for allocating or deallocating this memory.  Therefore, keeping track or managing this type of memory is a complicated process. In Java, such memory is allocated when instantiating an object:

String s = new String();  // new operator being employed
String m = "A String";    /* object instantiated by the JVM and then being set to a value.  The JVM
calls the new operator */

Learning SQL development can seem like an overwhelming task at first. However, mastering just a few key points will help ease your way through 80 percent of the day-to-day challenges when writing stored procedures and solving common problems. Here are three important SQL development factors to keep in mind:


Outer Joins
One of the most crucial things to understand in SQL server are joins. Joins are a way to retrieve data from two or more tables based on logical relationships between them. Joins dictate how Microsoft SQL Server ought to use data from one table to select the rows in another table.

In my experience inner joins are intuitive while outer joins can present additional hours of grief by overlooking associations in the other table(s). The outer join is the key to answering questions about what the database does not have. For example, if you need to make a query to display all the students who are without report-cards, you’ll need a left join to get all students coupled with a “where clause” to return the ones who have nulls for their report card table columns in the results.

Many talented Java script programmers have muddled through the SQL Server by deficient coding around the inner join. As a result, their queries can take five hours to run, whereas, properly written left joins, can take only two seconds to run.

Aggregation
Grouping results comes up in SQL a lot more than you might think. Knowing how to write a query when answering questions such as, “What’s the average grade for each teacher’s student list?” is invaluable. This kind of question cannot be answered with a single table or solely by joins.  You’ll often find you need to use joins in conjunction with group by statements. Always write the raw query first and then look at the results. Next, you have to figure out the best way to group them, rewrite your select clause and add a group by clause in the end.

Digging Through Data
I find this is the most lacking skill in many programmers. In fact, many otherwise-talented programmers holding Master’s Degrees fail to get jobs because they couldn’t analyze rows of data objectively during interviews. It’s just something that’s not taught but is crucial to get under you belt. Why? Eventually, some query is not going to perform as you may expect. And, the only way to find discrepancies is to look at rows of data, identify what join isn’t finding a match or where bad data is throwing things into chaos. Get familiar with how joins actually work, even if you have to manually walk through the logic of a large stored procedure’s tree of joins. It’s boring and time-consuming but absolutely necessary.


Take the time to master the core skills that will make you a successful SQL Programmer and avoid queries that run for five hours!

The innovators in technology have long paved the way for greater social advancement. No one can dispute the fact that the impact of Bill Gates and Microsoft will be far reaching for many years to come. The question is whether or not Microsoft will be able to adapt and thrive in emerging markets. The fact that Microsoft enjoys four decades of establishment also makes it difficult to make major changes without alienating the 1.5 billion Windows users.

This was apparent with the release of Windows 8. Windows users had come to expect a certain amount of consistency from their applications. The Metro tile, touch screen interface left a lot to be desired for enough people that Microsoft eventually more thoroughly implemented an older desktop view minus a traditional Start menu.

The app focused Windows 8 was supposed to be a step towards a greater integration of Cloud technology. In recent years, Microsoft lagged behind its competitors in getting established in new technologies. That includes the billions of dollars the emerging mobile market offered and Cloud computing.

Amazon was the first powerhouse to really establish themselves in the Cloud technology market. Google, Microsoft, and smaller parties are all playing catch up to take a piece of the Cloud pie. More and more businesses are embracing Cloud technology as a way to minimize their equipment and software expenses. While it does take a bit for older businesses to get onboard with such a change, start ups are looking at Cloud computing as an essential part of their business.

But what does that mean for Microsoft? Decisions were made to help update the four decade old Microsoft to the "always on" world we currently live in. Instead of operating in project "silos", different departments were brought together under more generalized headings where they could work closer with one another. Electronic delivery of software, including through Cloud tech, puts Microsoft in the position of needing to meet a pace that is very different from Gates’ early days.

The seriousness of their desire to compete with the likes of Amazon is their pricing matching on Cloud infrastructure services. Microsoft is not a company that has traditionally offered price cuts to compete with others. The fact that they have greatly reduced rates on getting infrastructure set up paves the way for more business users of their Cloud-based apps like Microsoft Office. Inexpensive solutions and free applications open the doors for Microsoft to initiate more sales of other products to their clients.

Former CEO Steve Ballmer recognized there was a need for Microsoft to change directions to remain competitive. In February 2014, he stepped down as CEO stating that the CEO needed to be there through all stages of Microsoft's transition in these more competitive markets. And the former role of his chosen successor, Mr. Satya Nadella? Head of Microsoft's Cloud services division.

Microsoft may not always catch the initial burst of a new development in their space; but they regularly adapt and drive forward. The leadership of Microsoft is clearly thinking forward in what they want to accomplish as sales of PCs have stayed on a continuous decline. It should come as no surprise that Microsoft will embrace this new direction and push towards a greater market share against the likes of Amazon and Google.

 

Related:

Who Are the Main Players in Big Data?

Is Cloud Computing Safe for Your Business?

Is The Grass Greener in Mobile App Development?

As someone who works in many facets of the music industry, I used to seethe with a mixture of anger and jealousy when I would hear people in more “traditional” goods-based industries argue in favor of music content-based piracy. They made all the classic talking points, like “I wouldn’t spend money on this artist normally, and maybe if I like it I’ll spend money on them when they come to town” (which never happened), or “artists are rich and I’m poor, they don’t need my money” (rarely the case), or the worst, “if it were fairly priced and worth paying for, I’d buy it” (not true).  I always wondered if they’d have the same attitude if 63% of the things acquired by customers in their industries weren’t actually paid for, as was conservatively estimated as the case for the music industry in 2009 (other estimations put the figure of pirated music at 95%). Well, we may soon see the answer to curiosities like that. Though one can say with tentative confidence that music piracy is on the decline thanks to services like Spotify and Rdio, it could be looming on the horizon for the entire global, physical supply chain. Yes, I’m talking about 3d printers.

Before I get into the heart of this article, let me take a moment to make one thing clear: I think these machines are incredible. It’s damn near inspiring to think of even a few of their potentially world-changing applications: affordable, perfectly fit prosthetic limbs for wounded servicemen and women; the ability to create a piece of machinery on the spot instead of having to wait for a spare to arrive in the mail, or en route if your car or ship breaks down in a far away place; a company based out of Austin, TX even made a fully functioning firearm from a 3d printer a few months ago.

If these machines become as consumer-friendly and idiot-proof as possible (like computers), it’s possible that in a matter of decades (maybe less), a majority of U.S. households will have their own 3d printer. There’s also the possibility they could take the tech-hobbyist path, one that is much less appealing to the masses. Dale Dougherty of Makezine.com estimates there are currently around 100,000 “personal” 3d printers, or those not owned for business or educational purposes. I don’t think they’ll ever be as ubiquitous as computers, but there are plenty of mechanically inclined, crafty hobbyists out there who would love to play around with a 3d printer if it was affordable enough.

That being said, is there reason to worry about the economic implications of consumers making what they want, essentially for free, instead of paying someone else to produce it? Or will the printers instead be used for unique items more so than replicating and ripping off other companies’ merchandise in mass amounts? The number of people working in industries that would be affected by a development like this is far greater than the number of people who work in content-based industries, so any downturn would probably have a much larger economic implications. Certainly, those times are a ways off, but a little foresightedness never hurt anyone!

training details locations, tags and why hsg

the hartmann software group advantage
A successful career as a software developer or other IT professional requires a solid understanding of software development processes, design patterns, enterprise application architectures, web services, security, networking and much more. The progression from novice to expert can be a daunting endeavor; this is especially true when traversing the learning curve without expert guidance. A common experience is that too much time and money is wasted on a career plan or application due to misinformation.

The Hartmann Software Group understands these issues and addresses them and others during any training engagement. Although no IT educational institution can guarantee career or application development success, HSG can get you closer to your goals at a far faster rate than self paced learning and, arguably, than the competition. Here are the reasons why we are so successful at teaching:

  • Learn from the experts.
    1. We have provided software development and other IT related training to many major corporations since 2002.
    2. Our educators have years of consulting and training experience; moreover, we require each trainer to have cross-discipline expertise i.e. be Java and .NET experts so that you get a broad understanding of how industry wide experts work and think.
  • Discover tips and tricks about programming
  • Get your questions answered by easy to follow, organized experts
  • Get up to speed with vital programming tools
  • Save on travel expenses by learning right from your desk or home office. Enroll in an online instructor led class. Nearly all of our classes are offered in this way.
  • Prepare to hit the ground running for a new job or a new position
  • See the big picture and have the instructor fill in the gaps
  • We teach with sophisticated learning tools and provide excellent supporting course material
  • Books and course material are provided in advance
  • Get a book of your choice from the HSG Store as a gift from us when you register for a class
  • Gain a lot of practical skills in a short amount of time
  • We teach what we know…software
  • We care…
learn more
page tags
what brought you to visit us
nstore/product,  , nstore/product,  Classes, nstore/product,  Courses, nstore/product,  Course, nstore/product,  Seminar
nearsourcing, reshoring and insourcing
developing talent and expertise at home
Companies are beginning to realize that talent and skills developed within the United States are exceedingly more important for the growth of an organization than the alternative: outsourcing. Considerations include: security, piracy, cultural differences, productivity, maintainability and time to market delays.
In the past, the reason for outsourcing centered on cost savings, lack of resources at home and the need to keep up with market trends. These considerations are proving to be of little merit as many organizations have, consequently, experienced productivity declines, are now finding considerable talent within their immediate location and have realized a need to gain more control over product development.
As strong advocates of Agile/Scrum development, HSG whole heartedly embraces this new entrepreneurial spirit because we know it works and because we believe our country's future weighs in the balance.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.