Inside the Airbus A350 Cockpit

Zach Honig, over at Engadget:

As you might expect, the cockpit is as modern as they come, with large LCDs taking the place of traditional avionics. In fact, the layout looks more like something you'd find on a stock broker's desk -- it's quite a contrast to the aging panels many commercial pilots still use today.

The video in the source link gives us a glimpse at what the cockpit of the A350 is like. The cockpit, to no one's surprise, is a splendid example of a so-called 'glass cockpit'.  The large display panels allow for system flexibility and enhanced awareness for pilots. I have experience writing software for Boeing's Electronic Logbook, so I was quite interested in seeing the A350's Class 3 Electronic flight bag. The sheer size of the LCD panel is impressive.

Check out the video, folks.

Don't Be a Jerk at the Office, Folks

If you've worked at an office for any lengthy period of time, particularly a software development shop,  the odds are very good that you've run into them . You know who I'm talking about. There are many different names for them such as curmudgeon, know-it-alls, divas, etc. No matter the particular term used, they have similar qualities including--but not limited to--generally surly demeanor, an inability to empathize, and freaking out when things don't go their way. I'm talking, of course, about jerks .

Strangely, the software development profession tends to attract a disproportionate number of jerks. There are many reasons for this (which could span a whole post). In any case, this type of individual can cause teams, departments, and sometimes entire companies to be dysfunctional. How do they do this?

The first way is by having negative attitudes. Jerks can cause the mood of the room to shift merely by their presence. Their surly demeanor can easily wipe the smile off of someone's face. In some instances, other employees can go into 'defense' mode immediately because they have become accustomed to having to fend off the jerk's communication style. 

Another way that these individuals can cause problems is through their inability to empathize with others. This can manifest itself as a tendency to 'throw people under the bus'. Rather than trying to understand where others in the organization are coming from and the pressures that they are dealing with, jerks are often focused on only the task at hand in their particular area of responsibility. When things go awry (as happens in many development projects), these individuals are quick to cast blame on others and rarely (if ever) accept responsibility for their mistakes (especially publicly). This leads to a culture of distrust in a company.

The final major way that jerks can cause trouble for a development shop is by freaking out when things don't go their way. This manifests itself in various ways. The most obvious way is by unnecessarily turning the smallest disagreements into 'earth-shattering' events.  A more subtle way that this manifests itself is when the individual decides to 'go rogue' and make decisions without consulting the appropriate parties. These reactions not only cause unnecessary confusion and concern in others, but also have the effect that the loudest mouth in the room (or the most stubborn one) will have undue sway on technical decisions or project matters. Coworkers will simply not have the energy to deal with the jerk and will let things slip past them that otherwise would have been dealt with in a healthy environment.

Folks, nobody wants to deal with jerks. They are a big factor in workplace harmony and job satisfaction. Don't be a jerk, and don't let jerks take over your office. 

 

Conferences are Important, Folks

Previously, I wrote about the importance of developer perks, and conferences are an important perk. To be sure, there always are costs associated with attending a conference. Often times this involves a financial cost (e.g. ticket price, airfare, lodging), but there are other costs as well such as opportunity costs due to time away from work that must be managed. Whether you attend a large conference such as 
Apple's WWDC (Worldwide Developers Conference) or a more intimate conference such as Cocoaconf, the benefits of attending a conference can far outweigh the costs involved.

The most obvious benefit is the ability to enhance critical skills. Many conferences understandably focus on this aspect as a major selling point, and sometimes increase the skill enhancement by offering pre-conference workshops. However, the advent of live session streaming (or at least the quick posting of session videos to the conference website) has caused this part of the value proposition to diminish. That's not to say that skill enhancement is an unimportant part of the conference experience, just that it isn't the most  important.

Why, then, is it important to attend conferences? Two reasons, really: networking and exposure to new ideas. 

Networking is an often undervalued aspect of conference attendance. It is, however, something that cannot be done while watching session videos at home. Meeting people at the conference can lead to new business connections, new business or job opportunities, and new friends. In addition, the social interaction before sessions, between sessions, at lunch time, and after the sessions end for the day is when much of the learning takes place. While you are in a session, your mind is still absorbing the content as it is presented. The non-session time provides an opportunity for you to collect your thoughts and to share those thoughts with other attendees. This will often be a good way to 'break the ice' and to clarify things that may not have been immediately clear during the session.

Exposure to new ideas is quite possibly the best reason to attend a conference. Sure, new ideas are hypothetically only a quick web search away. However, meeting and having conversations with new people is by far the quickest way to be exposed to ideas that would not have otherwise crossed your mind. You could learn about a new technology or technique that will solve a long-standing problem you've been having, or you could be inspired to move in a whole new business direction.

In a way, conferences can be considered as great examples of concentrated serendipity . Where else can you enhance your skills, make new contacts, and discover new ideas in only a few days? Just make sure you can get a ticket, folks.

'lickmysackbiotch' is Not What You Expect to See When Starting Up a Brand New iMac

Recently, a friend of mine received his first Macintosh in the form of a spiffy brand-new iMac. He has a background in using Linux and Windows to do development, and was excited to try using a Mac as his everyday development machine. After zipping through the initial setup screens, he decided to open up the Terminal app to set up his SSH keys. However, he noticed something odd at the command prompt.

That's...unexpected.

That's...unexpected.

'lickmysackbiotch'? That's not an expected hostname. (Note: personal info removed from the screenshots.).  My friend thought that this was some sort of prank, but I assured him that was not the case. Checking other areas of his system confirmed the 'lickmysackbiotch' hostname along with some other weirdness.

What in the world is going on?

What in the world is going on?

At this point, we were concerned that there may be some funny business going on. We checked my Mac, but everything looked fine. Mind you, his iMac was fresh out of the box so we had no clue what could possibly be causing the problem. We called over the IT guy to get his opinion. After a few minutes of checking for a solution, the IT guy decided to call Apple Support.

I can only imagine what was going through the Apple support representative's mind when the IT guy told her that we had an iMac that said 'lickmysackbiotch' on the screen. As it was, she was clearly embarrassed to say the precise words and kept referring to 'that phrase' during the support call.

The Apple support representative couldn't figure out how to resolve the issue, and decided that we should bring in the iMac for a replacement. My friend ended up doing so, and brought the replacement iMac to the office. Unfortunately, when he configured the new iMac, he got another bogus hostname! 

Thankfully, this hostname made a bit more sense and was something that we could identify as being the name of a known device. When my friend rebooted his iMac, he got yet another weird hostname. This time, it turned out to be the name of one of our coworker's devices. There was some sort of DHCP weirdness going on that caused the erroneous hostname, which apparently isn't unheard of in the Mac world.  The mystery had been resolved!

Sometimes the weirdest things happen with our favorite tech tools, folks.

Amazon Should Create a Competitor to Facebook's Parse

Roughly six weeks ago Facebook bought Parse, the mobile-backend-as-a-service that lets app developers focus on their app's business logic instead of sticky bits like hosting data services. There are many reasons that Facebook made this purchase. Of course, there is the developer/user base that comes along with such a purchase. However, the primary reason is that Parse's platform (data storage, user account management, Facebook/Twitter login integration, push notifications, the ability to run code in the cloud with multiple service integrations) has extensive capabilities that allow app developers to quickly and cheaply create new apps with sophisticated features. Facebook wants more developers to create apps that integrate with Facebook, and the Parse acquisition goes a long way towards that goal.

Where, then, does Amazon come into play? Well, I've used Parse for a few projects in the past. I was also seriously considering using it in two different apps that I've been contemplating. However, after the Facebook acquisition, I'm a bit hesitant to put my faith in Parse as a platform. The main reason for this stance is that Facebook isn't known for being very kind to developers. There are alternatives such as Microsoft's Windows Azure Mobile Services, but those alternatives are either inferior in feature sets, more expensive, produced by fledgling startups with uncertain futures, or some combination of the above. Amazon, however, could provide a suitable alternative for developers worried about betting their business on Facebook/Parse.

Amazon has been quite successful with its AWS (Amazon Web Services) offering, and many of the web's biggest players use AWS as their backend. In fact, Parse itself is a platform that is developed on top of AWS.​ Something that Amazon is missing, however, is a service that provides the same ease of use for mobile app developers that Parse does. (Seriously, go check out Parse's documentation...it's amazingly well done.)

From a technical perspective, Amazon could create a service that is simpler to use than the raw services provided by the current AWS stack and with deeper integrations with third party services. From a business perspective, Amazon could price this service very competitively. From a trust perspective, Amazon is clearly a business that isn't going to go away any time soon.

How would this fit into Amazon's strategy? Creating a mobile-backend-as-a-service would encourage even more developers, particularly mobile app developers, to use Amazon's services. This creates greater revenue opportunities for Amazon by reaching developers that might not otherwise have selected the full AWS offering. Also, it creates an opportunity for revenue sharing with some of those niche magazine apps that have become all the rage on the iOS Newsstand (The Magazine​ and The Loop​, for example). After all, that type of content needs to be hosted somewhere and the subscriptions inherent in those magazines provide recurring revenue opportunities. (Bonus points if Amazon makes it easy to migrate to the full AWS stack when/if a developer is ready to do so.)

It's not clear if Amazon has ever considered creating this type of service. It certainly sounds intriguing to me as a mobile app developer. If the 'Featured Customers' section of Parse's website is any indication, there are many big name app developers that might agree.​

Boeing is Using Robots to Paint the Wings of the 777

Glenn Farley over at KING 5 News has an interesting video that shows how Boeing plans to use robots to automatically paint the wings of the Boeing 777 aircraft. The company believes that the robots will not only paint the wings 50% faster than human beings can, but will also do so while using less paint due to higher paint application accuracy. This also has the added bonus of saving weight on the wing, which translates to fuel savings (especially when multiplied by many flights across the fleet).

See the source link for ​the video.

Your List of Features Should Be Like the Menu From a Fine Restaurant

Odds are good that as a software developer you will either be tempted to create software that does anything-anyone-could-ever-want, or you will work on a project where the client/customer/product owner asks for features that will lead the software down this path. You start out making a software product that is simple and understood, but by the time it's all said and done you've created a software product that is complex and incomprehensible. It only takes a few rounds of feature creep to turn your simple 'checklist' app into a full-blown 'business process management suite', folks.

​There have been many examples of failed software projects where a major share of the blame in those failures can be traced to a massive feature list. Why does this happen? There are many causes, but one major reason is that software, by its very nature, is very malleable. Unlike building a bridge (for example), it isn't necessarily obvious when a feature request is absurd. Therefore, there is a higher likelihood that unnecessary or problematic features will be added to a software project. It would be incredibly unlikely for a bridge-building project to change scope from handling pedestrian traffic to handling fully loaded semi-trucks after the first bit of concrete has been poured, yet in the software world it is very common to turn small, single user applications into multi-user behemoths.

Have you ever paid attention to the menu at a fine restaurant? Unlike the bloated menu board at a fast food restaurant ​or the multi-page menu at a franchise restaurant, the odds are very good that the menu at a fine restaurant is going to be limited to a single page and no more than 10 to 15 items. Why is this? For one thing, the fine restaurant predicates itself on providing an excellent dining experience. A key part of that experience is that the food must not merely be competent, but great. Fast food and franchise restaurants are trying to be all things to all people, and are not very good at many of the things they produce. The fine restaurant, on the other hand, focuses on perfecting a very small set of menu items. Software is very much the same in this respect. Think about your favorite apps; do they try to do many things or do they focus on a single use case?

Folks, when you add every feature under the sun to your software, then you're pretty much creating a disaster like the car that Homer Simpson designedHowever, when your software's list of features is like the menu from a fine restaurant, life is delicious.

Developer Perks are Important, Folks

Eric Spiegel in an article on Datamation.com:​

Now it was Frank’s turn to roll his eyes. “Whatever, Shaun. Sipping soda helps keep me in rhythm while I code. It’s hard to explain–it’s like a part of my creative process. Security guards and nurses don’t need to be concerned about their creative juices.” I interjected, “I don’t know about that, Frank, but I will tell you that this new policy likely is just the beginning of changes we won’t like. It’s a sign that things are changing–and not for the better. This isn’t a startup anymore. I’m sure the latest investors are trying to squeeze out as much profit as possible so we can go public or sell the company. These changes are clear signs that the culture of the company is changing right before our eyes. “

In his post, Spiegel ​covers his experience at a company that had some fairly standard snacks & beverages perks at the beginning but over time cut the perks and related 'non-essentials' such as training and conferences. Predictably, reduced pay raises and layoffs followed.

Perks such as snacks & beverages are not necessarily essential to a nice work environment, but they can act as a weak indicator of a company's health and/or management attention to making developers comfortable. The addition of new perks signals that management is maintaining a keen interest in creating a comfortable work environment and that the business is healthy enough to financial support such a move. In contrast, the removal of existing perks signals that management no longer cares about its employees or that the business can no longer financial support the perks.

Remember, folks, ​perks don't have to actually cost the company any money. While snacks & beverages are relatively cheap compared to the return on investment in terms of developer goodwill, they do in fact cost the business money. What doesn't cost much (if anything) for a business is letting developers work from home. People appreciate the flexibility that working from home offers, and developers (as part of the creative class) often need 'heads-down' time that is relatively free from distractions so that they can be productive. (Of course, make sure that you don't botch the work from home program.)

​Perks are important for a business to maintain top talent. Making your company attractive to developers is almost as important as making your company attractive to your customers. After all, without talented developers, how will your company deliver on its promises to your customers?

Microsoft Revealed the Xbox One

Microsoft revealed its successor to the Xbox 360, dubbed the 'Xbox One'. Unlike Sony's somewhat cagey event, Microsoft showed the hardware that everyone craves to see. The exterior design of the box itself is somewhat uninspired, but no one really cares if their console's case won't win design awards so long as the console provides entertainment.

The Xbox One is going to be bundled with a new and improved Kinect. That was a wise decision to drive adoption of the device by developers. While the Kinect was a successful product, the history of console add-ons shows that it can be difficult for developers to spend precious resources supporting a peripheral that not everyone has. Bundling the Kinect with the Xbox One means that developers won't have to worry about user fragmentation driving their design decisions. It seems as though there is already some backlash due to the fact that the new Kinect is ​always listening, but honestly folks, 'always listening' is how the Enterprise's computer must have worked. 'Magic' always has a cost.

A new controller was revealed as well, but honestly there isn't much to talk about. It's a refinement of an already fine controller.​

By the way, the 'requires an always-on Internet connection' rumors weren't true, strictly speaking.​ With that said, the system for handling used games is sort of wonky. From some reports, the Xbox One installs the game disk's contents to the internal hard drive. The same disk can be used to install the game onto another user's Xbox One, but apparently this would require activating the content online by paying a fee that is pretty much the at-that-time current retail price.

Games were also talked about, but just like Sony's event there isn't much to mention here. Sequels, folks.​

In all, Microsoft did a capable job with its announcement and it looks like the Xbox One will be competitive with the PlayStation 4.​

'Bang with Friends' is No Longer on the App Store

Jennifer Van Grove, over at CNET:​

The application, though eyebrow-raising in name, isn't as offensive as it would seem -- unless the word bang bothers you. BWF is essentially a matching service that connects two Facebook friends who indicate that they are "Down to Bang" each other.

It isn't immediately clear why Apple decided to remove Bang with Friends from the App Store. There are a few App Store app guidelines that might conceivably have been violated by Bang with Friends.​

Objectionable Content: There are a ​couple of guidelines related to rejecting apps that are excessively objectionable or whose primary purpose is to upset users, but these don't seem to necessarily fit the bill. Bang with Friends surely couldn't be more offensive than some of the other 'hook up' apps.

Pornography​: There are some guidelines regarding erotica or user content that is often pornographic, but as far as I know Bang with Friends (despite its crude name) doesn't actually involve this type of material.

Legal Requirements​: There is a guideline that refers to rejecting apps that encourage reckless behavior, but that also does not seem to fit. Sexual promiscuity may not necessarily be advisable, but surely does not fit the requirements necessary to be regarded as 'reckless'.

​After further review, it is still unclear as to why Apple decided to remove Bang with Friends from the App Store. Apple has recently been cracking down on apps for various reasons (many of them good reasons), but as many developers can attest to, Apple's review process can be mercurial​, to say the least.

Source: http://news.cnet.com/8301-1023_3-57585116-93/apple-removes-bang-with-friends-from-app-store/