Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News - Uncategorized

28 Articles
article-image-att-combines-with-google-cloud-to-deliver-cloud-networking-at-scale
Gebin George
01 Jun 2018
2 min read
Save for later

AT&T combines with Google cloud to deliver cloud networking at scale

Gebin George
01 Jun 2018
2 min read
AT&T partners with Google cloud to deliver cloud networking solutions for enterprise customers using Partner Interconnect solution. This new offering enables customers to use ATT NetBond and connect to Google Cloud Platform in a secure way. Businesses can also connect to Google Cloud via Cloud VPN. Chief product officer at ATT, Roman Pacewicz said “ We're committed to helping businesses transform through our edge-to-edge capabilities. This collaboration with Google Cloud gives businesses access to a full suite of productivity tools and a highly secure, private network connection to the Google Cloud Platform.” Paul Ferrand, President Global Customer Operations, Google Cloud said “ AT&T provides organizations globally with secure, smart solutions, and our work to bring Google Cloud's portfolio of products, services and tools to every layer of its customers' business helps serve this mission. Our alliance allows businesses to seamlessly communicate and collaborate from virtually anywhere and connect their networks to our highly-scalable and reliable infrastructure” ATT is also offering access to G-suite, Google’s cloud-based productivity suite which includes Gmail, Docs and Drive available via ATT Collaborate. Using Cloud Partner interconnect, it facilitates private connectivity to Google Cloud and helps them run multiple workloads across different cloud environment. It also allows centres that are located far away from a Google Cloud region or point of presence to connect at up to 10Gbps. Additionally, since G Suite is there with AT&T Collaborate, enterprises have access to a single source for chat, voice, video and desktop sharing. Businesses can also enable carrier-grade voice reliability and security from within the G Suite applications.It can also be used across practically any device from any location. Google Compute Engine Plugin makes it easy to use Jenkins on Google Cloud Platform How to Run Hadoop on Google Cloud – Part 1 Google announces Cloud TPUs on the Cloud Machine Learning Engine (ML Engine)
Read more
  • 0
  • 0
  • 10994

article-image-slack-is-down-people-move-to-twitter-to-waste-time
Richard Gall
27 Jun 2018
2 min read
Save for later

Slack is down - people move to Twitter to waste time

Richard Gall
27 Jun 2018
2 min read
Slack is our favorite place for wasting time and sharing gifs collaborating with colleagues and peers, but right now (Wednesday 27 June) Slack is experiencing significant connectivity issues. It's not yet clear what the cause of the outage is, but Slack are aware of the issues and working to fix them. https://twitter.com/SlackHQ/status/1011965665610162177 At around 6.30am PDT, Slack posted a tweet: "We're investigating connectivity for all workspaces, thanks for your patience, we'll have updates shortly." Another update just after 7am PDT stated "our team is still looking into the cause of the connectivity issues, and we'll continue to update you on our progress." The best responses to Slack's outage on Twitter As you'd expect, with Slack down, people have been taking to Twitter. Fortunately for Slack, most of the comments weren't actually that unkind or angry. Instead, they've done what anyone would do - make funny jokes and memes. Here are some of the best from quick witted Tweeters in temporary exile from the messaging app: https://twitter.com/vboykis/status/1011971038597525504 https://twitter.com/libbycwatson/status/1011971643277758465 https://twitter.com/IrregularDave/status/1011974270598238208 https://twitter.com/joshua_eaton/status/1011970323841986560 https://twitter.com/jyarow/status/1011968697404153857 One user noted that now Slack was down, productivity might go up. The irony, of course, being that he was simply part of the wider exodus of part-time comedians and procrastinators to Twitter: https://twitter.com/JoshNaylor/status/1011973603078918145 Some traditionalists thought that the outage might actually be a good thing for IRL interaction - once again, the irony of airing their thoughts in the digital environs of Twitter lost on them... https://twitter.com/TheMuse/status/1011972281491484672 https://twitter.com/tanzinavega/status/1011971069350162432   With Fortnite also facing a number of connectivity issues, some users were quick to draw parallels... https://twitter.com/Shpigford/status/1011970924000792576 https://twitter.com/minecoder/status/1011968053653880833 While the Slack outage is largely a carnival of memes and jokes, spare a thought for the Slack support team on Twitter. They're truly doing a hero's work. One Twitter user praised the Slack team's service on social: https://twitter.com/EricaJoy/status/1011973761766080512 However frustrated the media and technology world's become with the Slack outage one thing's for certain - no one's talking about moving to Skype yet. Read next: Someone made a program to make it look like you’re typing on Slack when someone else is
Read more
  • 0
  • 0
  • 10810

article-image-the-tech-supporting-the-thai-cave-rescue-mission
Richard Gall
09 Jul 2018
3 min read
Save for later

The tech supporting the Thai cave rescue mission

Richard Gall
09 Jul 2018
3 min read
News of the Thai cave rescue in has shocked and gripped the world. The mission has required a good deal of bravery and ingenuity to bring back members of the young football team - at the time of writing 8 of the children have been brought back to safety. But technology has also played a hugely important part in enabling rescuers to not only pinpoint the location of the missing boys, but also to eventually get them out safely. With such a complex and unique there are no simple solutions. Rescuers have been creative in exploring innovations and a huge range of technologies that can help them bring the children to safety. How rescuers located the lost football team Identifying the exact location of the missing football team was perhaps the most challenging aspect of the rescue mission. This is why the team were missing, remarkably, for 9 days before they were discovered. However, there were a number of tools that were integral to their discovery. Drones To begin with, 3 drones with powerful 30x optical zoom cameras were used to build up a detailed picture of the area where the boys had gone missing. Wired reports that this allowed rescuers to create a 3d map of the area, which acted as the starting point for the search. Once this map was created, the drones were then used to identify the numerous access points to the caves. This would allow the rescue teams to focus their efforts in specific areas. They could distribute themselves and prioritize the areas the team were most likely to be. Communication The team that made first contact with the missing boys actually used a pretty old communication tool - something called HeyPhones. HeyPhones were used by cavers in the U.K. some 20 years ago. They work because they use low-frequency waves, which mean they can pass through thick rock walls. Now the team has been located, fibre optic cables have been passed down into the chambers to improve communication - something that's going to be essential if they are all to be safely rescued. Elon Musk's innovative ideas to support the rescue mission Elon Musk has been eager to help the rescue mission. His first solution a giant inflatable tunnel that could displace the water and provide a passage back to safety. https://twitter.com/elonmusk/status/1015105500105412610 However, Musk has now offered up a new idea: "a tiny kid-sized submarine." https://twitter.com/elonmusk/status/1015657378140704768 Whatever you think of Musk, you can't accuse him of resting on his laurels. The 'submarine' is already being tested in LA. Musk shared videos of the tests on Twitter over the weekend: https://twitter.com/elonmusk/status/1016110809662066688 Although Musk has been working hard, and a spokesperson has said there has been communication between SpaceX and the Thai government, it isn't clear if Musk's submarine will be sent out to south east Asia. A tale of human ingenuity and leveraging technology against the odds The incident has been remarkable - it is undoubtedly a tale of survival against all odds, but as you can see it's also a tale of human ingenuity and how technology can be leveraged to battle the elements. During a year where it's felt like technology is working against humanity's interests, it's a good reminder that when used properly, we can do stunning things with the tools at our disposal. Read next 5 DIY IoT projects you can build under $50 AI to the rescue: 5 ways machine learning can assist during emergency situations
Read more
  • 0
  • 0
  • 10687
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-jdk-15-the-new-features-in-java-15-from-infoworld-java
Matthew Emerick
15 Sep 2020
1 min read
Save for later

JDK 15: The new features in Java 15 from InfoWorld Java

Matthew Emerick
15 Sep 2020
1 min read
Java Development Kit 15, Oracle’s implementation of the next version of Java SE (Standard Edition), becomes available as a production release today, September 15, 2020. Highlights of JDK 15 include text blocks, hidden classes, a foreign-memory access API, the Z Garbage Collector, and previews of sealed classes, pattern matching, and records. JDK 15 is just a short-term release, only to be supported with Oracle Premier Support for six months until JDK 16 arrives next March. JDK 17, the next Long-Term Support release, to be supported by Oracle for eight years, is slated to arrive one year from now, as per Oracle’s six-month release cadence for Java SE versions. To read this article in full, please click here
Read more
  • 0
  • 0
  • 10683

article-image-julia-0-7-has-been-released-time-to-prepare-for-julia-1-0
Pavan Ramchandani
13 Jun 2018
2 min read
Save for later

Julia 0.7 has been released - it's time to prepare for Julia 1.0

Pavan Ramchandani
13 Jun 2018
2 min read
Julia 0.7  announced by the Julia developer team was speculated for a long time after v0.6 was released last year. This sets the gate open for Julia v1.0 since we had seen discussions and forecast about the v1.0 after v0.6 was out. Most features included in Julia v0.7 are the feature set for Julia v1.0 with few improvements and bug-fixes. Nothing is confirmed by the Julia team yet but the community is predicting Julia v1.0 to be next after Julia 0.7. Important features in Julia 0.7 are as follows: New macros defined for testing the local variable. Destructuring in function arguments so that the variable in a function expression gets unpacked into the local variable. Keyword argument containers will be named tuples. Keyword arguments will be required in the declaration to avoid the exceptions. To know the whole list of specifications, check out the release notes page here at Julia’s GitHub repository. Julia 0.7 will be released with exceptions in compatibility for functionalities of Julia 0.6. These exceptions will, however, discontinue in Julia 1.0. Apart from this, Julia 1.0 will add some functionality that will be prevented in Julia v0.7. It seems to be a bit complicated compatibility planning by Julia community, which is expected to get sorted with Julia 1.0. The community hinted Julia 0.7 and 1.0 to be identical. This means programs that are running on Julia 0.7, will work exactly the same on 1.0 without any warnings. The release time for Julia 1.0 is expected to be short after Julia 0.7. Julia 0.7 is said to be stable and production ready, but the community advised to keep the deprecations of features in mind. Additionally, when developers upgrade to Julia 1.0, they will have to run the tests and use cases all over again. Basics of Programming in Julia Computer vision is expanding quickly. Here’s why. Visual Studio 2019: New features you should expect to see
Read more
  • 0
  • 0
  • 10441

Anonymous
17 Nov 2020
6 min read
Save for later

Now available in Tableau 2020.4: Prep Builder in the browser, multiple map layers, Resource Monitoring Tool for Linux, and more from What's New

Anonymous
17 Nov 2020
6 min read
Emily Chen Product Marketing Specialist, Tableau Spencer Czapiewski November 17, 2020 - 12:48am December 15, 2020 The newest release of Tableau is here! Tableau 2020.4 brings practical enhancements to make analytics in your organization more seamless and scalable. Upgrade to take advantage of these new innovations and check out our playlist of Tableau Conference-ish highlights to hear more about what we’ve got coming next year.  Let’s recap some of the exciting features in the Tableau 2020.4 release: Prep your data all in one integrated platform on the web with Tableau Prep Builder in the browser. Enjoy multiple enhancements to bring your geospatial analysis to the next level, including multiple marks layers support for maps, Redshift spatial support, and more. Explore next-level analysis with two new predictive functions models. Proactively monitor and troubleshoot server health with the Resource Monitoring Tool, now available for Linux deployments. Now we’ll take a deeper look at some of the biggest new features in this release. Prep your data wherever you have access to a browser During Tableau Conference-ish we were thrilled to announce that the full functionality of Tableau Prep Builder was coming to the browser—and now it’s here in Tableau 2020.4! With more people needing access to data than ever before, Tableau Prep empowers everyone in an organization to easily prepare their data, now all in one convenient and integrated platform on the web. For analysts, you can now create and edit data prep flows all within web authoring—all you need is access to a browser. Say goodbye to context switching between the desktop to create your flows, and then Server or Online to publish and share them. For IT folks, this means that Prep Builder can now be centrally managed on your server, simplifying deployment, license management, and version control. Without the need to manage individual desktops, IT admins can now upgrade their server to get everyone in the organization on the latest version in one go. And since data prep flows are stored on the server, IT teams get more visibility into what is being created, and can better manage data sources and standardize on repetitive flows. Scaling up Tableau Prep in your organization as your needs grow is now easier than ever. IT admins can enable web authoring for Prep in the server or site settings. Once enabled, users will be able to create a new flow from the Start page, Explore page, or Data Source page by clicking on the “New” button and selecting “Flow” from the dropdown. We can’t wait for you all to start preparing your data in a way that fits your workflow. Unlock next-level web analytics with significant web authoring enhancements To continue our journey to the web, we are also happy to announce multiple enhancements to our web authoring experience, many of which we know will help unlock analytics in your business. Starting in 2020.4, extract creation, highlight actions, filters, fixed sets, and a Salesforce connector are all available in web authoring. Stay tuned for more details in a future blog post. Less is more? Not this time—level up your geospatial analysis with multiple marks layers support for maps, and more You asked, and asked some more, and today we are excited to release a fan-favorite feature that we announced at TC-ish—multiple marks layers support for maps is here! You can now add unlimited marks layers from a single data source to your map visualizations. We know that two sets of marks via a dual axis wasn’t always enough to bring together and analyze all of your location data. With this feature, bringing multiple spatial layers and contexts together for analysis in Tableau is not just possible, but simple—and with unlimited layers, the sky’s the limit. Adding multiple layers of marks is easy. Once you’ve created a map, simply drag a geographic field onto the “Add a Marks Layer” drop target that appears in the upper left corner of the map canvas—and that’s it! In the example below, you can see that we can now visualize DC Police Sectors, Police Department buffers, and 311 calls, all in one layered map view. But that’s not all. This release also brings a collection of significant spatial improvements. We’re expanding Tableau’s spatial database connections to make solving location-based questions easier than ever. You can now connect directly to tables in Redshift that contain spatial data, and instantly visualize that data in Tableau. We’re also introducing offline maps support for Tableau Server, ensuring that maps remain accessible to all users—especially helpful in organizations with strict internet access requirements. And finally, spatial support for Tableau Prep has arrived! Prep Builder can now import, recognize, and export spatial data to extracts and published data sources. Power up your predictions with new predictive modeling enhancements We introduced predictive modeling functions in 2020.3, and we’re continuing to build on this functionality to ensure that you have the power, simplicity, and flexibility you need to apply these functions to a wide variety of use cases. With Tableau 2020.4, you can now select from two additional models in predictive modeling functions—regularized linear regression and Gaussian process regression—in addition to the default model of linear regression. You’ll also be able to extend your date range, and therefore your predictions, with just a few clicks using a simple menu. In the example below, we want to see what kind of sales numbers we can expect in the following months. Setting this up is as simple as clicking the Date pill, selecting “Show Future Values,” and using the menu options to set how far into the future you want to generate predictions. Resource Monitoring Tool for Tableau Server arrives on Linux Lastly, we are happy to announce that the Tableau Resource Monitoring Tool, previously available for Windows only, is now available on Linux deployments as part of Tableau Server Management. Proactively monitor and troubleshoot server health with improved visibility into your hardware and software performance to get the most out of your deployment. Thank you, Tableau Community! You are at the heart of everything we do and the Tableau 2020.4 release is no different. We can’t do this without you, so thank you for your continued feedback and inspiration. Check out the Ideas forum to see all of the features that have been incorporated as a result of your brilliant ideas, and get the newest version of Tableau today.
Read more
  • 0
  • 0
  • 9957
Matthew Emerick
05 Sep 2020
1 min read
Save for later

Python 3.5.10 is now available from Python Insider

Matthew Emerick
05 Sep 2020
1 min read
 Python 3.5.10 is now available.  You can get it here.
Read more
  • 0
  • 0
  • 9253

Matthew Emerick
15 Oct 2020
1 min read
Save for later

Has the Time Come for IT Predictive Analytics? from DevOps.com

Matthew Emerick
15 Oct 2020
1 min read
Predictive analytics technologies have become critical to compete in manufacturing (predicting machine failure), banking (predicting fraud), e-commerce (predicting buying behavior) as well as to address horizontal use cases such as cybersecurity breach prevention and sales forecasting. Using data to predict and prevent IT outages and issues is also a growing best practice—especially as advances in […] The post Has the Time Come for IT Predictive Analytics? appeared first on DevOps.com.
Read more
  • 0
  • 0
  • 9175

article-image-jetbrains-resharper-ultimate-2018-1-is-readily-available-for-download
Pavan Ramchandani
23 Apr 2018
2 min read
Save for later

JetBrains ReSharper Ultimate 2018.1 is readily available for download

Pavan Ramchandani
23 Apr 2018
2 min read
ReSharper is one of the leading productivity tools from JetBrains. It is integrated with Visual Studio and provides enhancement and automation for .NET project development. JetBrains announced the general availability of ReSharper 2018.1, making it the first important release for this year. One of the major improvement speculated was the support for C# 7.2. JetBrains have finalized the support by adding all the entities that are specifically part of C# 7.2. This will ensure that the code written with latest C# modifiers and operators does not throw an error in ReSharper. Additionally, there are significant bug fixes made to this release. One of the improvements that Jetbrains highlighted in the release, is the Navigation. ReSharper 2018.1 has tools to better filter the search string and provide a better overview of the members of the code. Major additions in ReSharper Ultimate: Debug Step Filters in ReSharper C++ helps you in search related to functions while debugging. Include Analyzer helps with managing dependencies in the header files while compilation. Easy navigation with Analysis Subject panel in dotMemory 2018.1. The redesigned continuous testing mode in dotCover 2018.1 can be made to run in the existing unit test session instead of running another continuous test session. Console runner redesigned for dotCover 2018.1 helps giving coverage analysis for web applications running on IIS server. Code formatting engine has been improved to avoid problems related to indenting, line breaks, spaces, etc. Code formatting problems can be rectified in the code editor itself. Update in managing StyleCop rules directly from StyleCop configuration files. StyleCop analyzes the C# code for style and consistency throughout the development. This update will enhance consistency in code styling for C# developers. Other handy features to make developer's life simple are: Pre-/Post- build support for ReSharper Build engine A new option, known as Remember last search for navigation New settings for parentheses in function declaration and wrapping LINQ expressions ReSharper 2018.1 redefines the code navigation and enhances development with C# 7.x version. Also, improvements in unit testing in ReSharper will certainly catch attention for this release. Latest ReSharper Ultimate 2018.1 is available for download from the official JetBrains website.  
Read more
  • 0
  • 0
  • 7337
article-image-moving-foundational-advanced-visualizations
Packt
16 Apr 2015
38 min read
Save for later

Moving from Foundational to Advanced Visualizations

Packt
16 Apr 2015
38 min read
This article is written by Joshua N. Milligan, the author of Learning Tableau. You are now ready to set out on a journey of building advanced visualizations! "Advanced" does not necessarily mean difficult. Tableau makes many of these visualizations easy to create. Advanced also does not necessarily mean complex. The goal is to communicate the data, not obscure it in needless complexity. (For more resources related to this topic, see here.) Instead, these visualizations are advanced in the sense that you will need to understand when they should be used, why they are useful, and how to leverage the capabilities of Tableau to create them. Additionally, many of the examples introduce some advanced techniques, such as calculations, to extend the usefulness of foundational visualizations. Most of the examples in this article are designed so that you can follow along. However, don't simply memorize a set of instructions. Instead, take time to understand how the combinations of different field types you place on different shelves change the way headers, axes, and marks are rendered. Experiment and even deviate from the instructions from time to time just to see what else is possible. You can always use Tableau's back button to return to following the example! Visualizations in this article will fall under these major categories: Comparison Dates and times Parts of the whole Distributions Multiple axes You may notice the lack of a spatial location or geographic category in the preceding list. Comparing values across different dimensions Often, you will want to compare the differences of measured values across different dimensions. You might find yourself asking questions like these: How much profit did I generate in each department? How many views did each of my websites get? How many cases did each doctor in the hospital treat last year? In each case, you are looking to make a comparison (among departments, websites, or doctors) in terms of some quantitative measurement (profit, number of views, and the count of cases). Bar charts Here is a simple bar chart created using the Superstore Sales data source: The sum of sales is easily compared for each category of item sold in the chain of stores. Category is used as a discrete dimension in the view, which defines row headers (because it is discrete) and slices the sum of sales for each category (because it is a dimension). Sales defines an axis (because it is continuous) and is summed for each category (because it is a measure). Note that the bar chart is sorted with the category that has the highest sum of sales at the top and the lowest at the bottom. Sorting a bar chart adds a lot of value to the analysis because it makes it easy to determine rank. For example, it is easy to see that Bookcases has more total sales than Computer Peripherals even though the bar lengths are close. Were the chart not sorted, it may not have been as obvious. You can sort a view in multiple ways: Click on one of the sort icons on the toolbar. This results in automatic sorting of the dimension based on the measure that defined the axis. Changes in data or filtering that result in a new order will be reflected in the view. Click on the sort icon on the axis. This will also result in automatic sorting. Use the dropdown on the active dimension field and select Sort.... You can also select Clear Sort to remove any sorting. Drag and drop row headers to manually rearrange them. This results in manual sorting that does not get updated. Any of these sorting methods are specific to the view and will override any default sort you defined in the metadata. Bar chart variations A basic bar chart can be extended in many ways to accomplish various objectives. Consider the following variations: Showing progress toward a goal Highlighting a single category Bullet charts – showing progress toward a goal Let's say you are a global manager and you've set the following profit targets for your regional managers: Region Profit target Central 600,000 East 350,000 South 100,000 West 300,000 You maintain these goals in a spreadsheet and might like to see a visualization that shows you how actual profit compares with your goals. Continue with the connection to the Superstore Sales data and follow these steps to see a couple of options: You will find a Profit Targets connection containing this data. The data is also located in a text file in the ResourcesData directory. Using the Superstore Sales connection, create a basic bar chart showing the sum of profit per region. Select the Profit Targets connection and click to highlight the Profit Target field in the Data window. Open Show Me and select the bullet graph. At this point, Tableau has created a bullet graph using the fields in the view and the Profit Target field you had selected. You'll observe that the Reference field has been used in the data blend to link the two data sources and it is already enabled because the Region field was used in the view. Unfortunately, Show Me placed Profit Target on Columns and placed Profit in the Level of Detail field and used it for reference lines. The bars show the target and the reference line shows the actual value. This is the reverse of what you want. To correct it, right-click on the Profit Target axis and select Swap Reference Line fields. You now have a bullet chart showing the actual profit compared to the target. Rename this worksheet Bullet Chart. Now, you can clearly see that your Central region manager is falling short of the goal you set. Bullet graphs make use of reference lines. For now, right-click on the axis and select Edit Reference Line, Band or Box to explore this feature. The bar-in-bar chart Another way to show the progress toward a goal is to use bar-in-bar charts, such as this: To create this view, continue in the same workbook and follow these steps: Duplicate the Bullet Chart sheet you created (right-click on the sheet tab and select Duplicate Sheet). Drag the Profit Target field from the Marks card and drop it directly onto the axis. As you are dropping one measure (Profit Target) onto the same space (in this case, an axis) that was being used by another measure (Profit), Tableau substituted the special fields' Measure Names and Measure Values. Any time you want two or more measures to share the same space within a view, you can use Measure Names and Measure Values. Measure Names is a special dimension field that Tableau adds to every data source; it is a placeholder for the names of measures. You can place it in the view anywhere you would place another dimension. Measure Values is a special measure field that Tableau adds to every data source; it is a placeholder for the values of other measures. You can use it in any way you would use any other measure. When these special fields are in use, you will see a new Measure Values shelf in the workspace. This shelf contains all the measures that are referenced by Measure Names and Measure Values. You can add and remove measures to and from this shelf as well as rearrange the order of any measures on the shelf. You can drag and drop the Measure Names and Measure Values fields directly from the Data window into the view. Many times, it is easy to remember that if you want two or more measures to share the same space, simply drag and drop the second onto the same space that is occupied by the first. For example, if you want multiple measures to define a single axis, drag and drop the second measure to the axis. If you want two or more measures to occupy the pane, drop the second onto the pane. Move the Measure Names field to the Color shelf and edit the colors in the legend (double-click on the legend or use the drop-down arrow on the legend) and set Profit to Orange and Profit Target to Gray). You now have a stacked bar chart with a different color for each measure name being used. Copy the Measure Names field from Color to the Size shelf (hold Ctrl while you drag a field in the view and drop it on another shelf in the view). This creates different sizes for each bar segment. Tableau's default is to stack bar marks. In this case, you do not want the bars to be stacked. Instead, you want them to overlap. To change the default behavior, from the menu, navigate to Analysis | Stack Marks | Off. Rename the worksheet to Bar-in-Bar. Highlighting a single category Let's say one of your primary responsibilities at the superstore is to monitor the sales of tables. You don't necessarily care about the details of other categories, but you do want to keep track of how tables compare with other categories. You might design something like this: Now, you will be able to immediately see where tables are compared to other categories as sales figures change day to day. To create this view, follow these steps: Place Category on Columns and SUM(Sales) on Rows. Sort the bar chart in descending order. Create a calculated field from the menu by navigating to Analysis | Create Calculated Field…. For now, name the calculation Category is Table? and enter the [Category] = "Tables" code. This calculation tests the equality and returns true if the value of the Category field is "Tables" and false otherwise. When you click on OK in the Calculated Field dialog, a new field named Category is Table? will appear as a new dimension. Drag and drop this field onto the Color shelf. Edit the color palette by either double-clicking on the color legend or locating the drop-down caret in the upper-right section of the legend and selecting Edit from the drop-down menu. Make the False value a light gray. You can fine-tune any color and select colors that are not included in a standard palette by double-clicking on the desired value under Select Data Item in the Edit Colors dialog. Hide the column headers for the Category field using the drop-down active field menu and unchecking Show Headers. As all you care about is how tables relate to other categories and don't specifically care what the other categories are, this will clean up the chart and allow you to focus on what's important. You can add an annotation by right-clicking on the bar and selecting Annotate | Mark.... Annotations can be used to display values of data and freeform text to draw attention or give explanation. There are three kinds of annotations in Tableau: Mark, Point, and Area. Mark annotations are associated with a specific mark (such as a bar or a shape) in the view. The annotation can display any data associated with the mark. It will be shown in the view as long as that mark is visible. Point annotations are associated with a specific point, as defined by one or more axes in the view. The annotation can display values that define the X and/or Y location of the point. This will be shown in the view as long as the point is visible. Area annotations are associated with an area in the view. They are typically shown when at least part of the defined area is visible. Rename the current sheet Highlight Single Value. Visualizing dates and times Often in your analysis, you will want to understand when something happened. You'll ask questions like these: When did we gain the most new customers? What time of the day has the highest call volume? What kinds of seasonal trends do we see in sales and profit? Fortunately, Tableau makes this kind of visual discovery and analysis easy. The built-in date hierarchy When you are connected to a flat file, relational, or extracted data source, Tableau provides a robust built-in date hierarchy for any date field. Cubes/OLAP connections do not allow Tableau hierarchies. You will want to ensure that all date hierarchies and date values you need are defined in the cube. To see this in action, continue with the visualization workbook and create a view similar to the one shown in the following screenshot by dragging and dropping Sales to Rows and Order Date to Columns: Note that even though the Order Date field is a date, Tableau defaulted to showing sales by year. Additionally, the field on Columns has a + icon, indicating that the field is part of a hierarchy that can be expanded. When you click on the + icon, additional levels of the hierarchy are added to the view. Starting with Year, this includes Year, Quarter, Month, and Day. When the field is a date and time, you can further drill down into Hour, Minute, and Second. Any of the parts of the hierarchy can be moved within the view or removed from the view completely. You may specify how a date field should be used in the view by right-clicking on the date field or using the drop-down menu and selecting various date options. As a shortcut, you can right-click and drag drop a date field into the view to get a menu of options for how the date field should be used prior to the view being drawn. The options for a date field look like this: The three major ways a date field can be used are: Date Part: The field will represent a specific part of the date, such as Quarter or Month. The part of the date is used by itself and without reference to any other part of the date. This means that a date of November 8, 1980, when used as a month date part, is simply November: In this view, the bar for November represents the sum of sales for all November months regardless of the year or day. Date Value: The field will represent a date value but rolled up or truncated to the level you select. For example, if you select a date value of Month, then November 8, 1980 gets truncated to the month and year and becomes November 1980. This view, for example, includes a bar for the sum of sales for November 2012 and another bar for November 2013. All individual dates within the month have been rolled up, so sales for November 1, 2013 and November 11, 2013 are all summed under November 2013. Exact Date: The field represents the exact date value (including the time, if applicable) in the data. This means that November 8, 1980 2:01 a.m. is treated as distinct from November 8, 1980 3:08 p.m. It is important to note that nearly any of these options can be used as discrete or continuous fields. Date parts are discrete by default. Date values and exact dates are continuous by default. However, you can switch them between discrete and continuous as needed to allow flexibility in the visualization. For example, you must have an axis (and thus, a continuous field) to create a reference line. Also, Tableau will only connect lines at the lowest level of row or column headers. Using a continuous date value instead of multiple discrete date parts will allow you to connect lines across multiple years, quarters, and months. Variations in date and time visualizations The ability to use various parts and values of dates and even mix-and-match them gives you a lot of flexibility to create unique and useful visualizations. For example, using the month date part for columns and the year date part for color gives a time series that makes the year-over-year analysis quite easy. The year date part has been copied to Label so that the lines could be labeled. Clicking on any of the shelves on the Marks card will give you a menu of options. Here, Label has been clicked and the label was adjusted so that it is displayed only at the start of each line. Here is another example of using date parts on different shelves to achieve useful analysis. This kind of visualization can be quite useful when looking at patterns across different parts of time, such as hours in a day or weeks in a month. This view shows you the sum of sales for the intersection of each day and each month. Year has not been included in the view, so this is an analysis of all years in the data and allows us to see whether there are any seasonal patterns or "hot spots". Observe that placing a continuous field on the Color shelf resulted in Tableau completely filling each intersection of row and column with the shade of color that encoded the sum of sales. Clicking on the Color shelf gives some fine-tuning options. Here, a white border has been added to help distinguish each cell. Gantt charts Gantt charts can be incredibly useful to understand any series of events with duration, especially if these events have some kind of relationship. Visually, they are very useful to determine whether certain events overlap, have dependency, or are longer or shorter than other events. For example, here is a Gantt chart that shows a series of processes, some of which are clearly dependent on others: Gantt charts can be created fairly easily in Tableau. Tableau uses the Gantt mark type that places a Gantt bar starting at the value defined by the field defining the axis. The length of the Gantt bar is set by the field on the Size card. Let's say you want to visualize the time it takes from an order being placed to the time the order is shipped. You might follow steps similar to these: Place Order Date on Columns as Exact Date or as a Day value. Note that Tableau defaults the marks to Gantt bars. Place Order ID on Rows. If you receive a warning that there are many members of the dimension, select Add all Members. The result is a row for each order. The Gantt bar shows you the date of the order. When creating Gantt charts, you will want to include dimensions in the view that give you a meaningful level of detail so that you can see each event of interest. If you are not careful, you could aggregate durations improperly or overlap Gantt marks, resulting in a false representation of data. Filter the view for December 2013. Accomplish this by dragging and dropping the Order Date field on the Filters shelf. Select the Month / Year option and then choose the single month and year from the list. The length of the Gantt bar is set by placing a field with a value of duration on the Size shelf. There is no such field in this dataset. However, we have the Ship Date option and we can create a calculated field for the duration. For now, select Analysis from the menu and click on Create Calculated Field…. Name the field Time to Ship and enter the following code: DATEDIFF('day', [Order Date], [Ship Date]) When using a date axis, the length of Gantt bars always needs to be in terms of days. If you want to visualize events with durations that are measured in hours or seconds, avoid using the 'day' argument for DATEDIFF because it computes whole days and loses precision in hours and seconds. Instead, calculate the difference in hours or seconds and then convert it to days. The following code converts the number of seconds between a start and end date and then divides it by 86,400 to convert the result into days (including fractional parts of the day): DATEDIFF('second', [Start Date], [End Date]) / 86400 The new calculated field should appear under Measures in the Data window. Drag and drop the field onto the Size shelf. You now have a Gantt chart showing when orders were placed. There is, however, one problem. Some orders include more than one item and you are showing the sum of days to ship. This means that if one item took 5 days to ship and another item in the same order took 7 days, the length of the bar shows 12 days for the order. If both items took 5 days and were shipped at the exact same time, the length of the bar indicates 10 even though the order really only took 5 days. To correct this, decide whether you want to show the minimum number of days or the maximum number of days for each order, right-click on the Days to Ship field on the Marks card, or use the drop-down menu and navigate to Measure | Minimum or Measure | Maximum. Alternately, you might decide to add Item to the Detail card of the Marks card. Your final view should look something like this: Often, you'll want to sort a Gantt chart so that the earliest start dates appear first. Do this via the drop-down menu of the dimension on Rows and select Sort. Sort it in ascending order by the minimum of the date field. Relating parts of the data to the whole As you explore and analyze data, you'll often want to understand how various parts add up to a whole. For example, you'll ask questions like these: How many patients with different admission statuses (in-patient, out-patient, observation, or ER) make up the entire population of patients in the hospital? What is the percentage of total national sales made in each state? How much space does each file, subdirectory, and directory take on my hard disk? These types of questions ask about the relationship between the part (patient type, state, or file/directory) and the whole (the entire patient population, national sales, and hard disk). There are several types of visualizations and variations that can aid you in your analysis. Stacked bars It is difficult to compare values across categories for any but the bottom-most bar (for vertical bars) or the left-most bar (for horizontal bars). The other bar segments have different starting points, so lengths are much more difficult to compare. In this case, however, we are using stacked bars to visually understand the makeup of the whole. We are less concerned with a visual comparison across categories. Say a bank manager wants to understand the makeup of her lending portfolios. She might start with a visualization like this: This gives a decent view of the makeup of each portfolio. However, in this case, the bank manager already knows that the bank has more balance in first-mortgage loans than fixed second loans. However, she wants to understand whether the relative makeup of the portfolios is similar; specifically, do the High Risk balances constitute a higher percentage of balances in any portfolio? Consider this alternative: None of the data has changed, but the bars now represent the percent age of the total of each portfolio. You can no longer compare the absolute values, but comparing the relative breakdown of each portfolio has been made much easier. The bank manager may find it alarming that nearly 25 percent of the balance of HELOC loans is in the high-risk category when the bar segment looked fairly small in the first visualization. Creating this kind of visualization is relatively easy in Tableau. It involves using quick table calculations, but it only takes a few clicks to implement. Continuing with the Advanced Visualizations workbook, follow these steps: Create a stacked bar chart like what is shown in the following screenshot with Department on Rows, Shipping Cost on Columns, and Ship Mode on Color. Duplicate the Shipping Cost field on Columns either by holding Ctrl while dragging the Shipping Cost field from Columns to Columns, immediately to the right of its current location, or by dragging and dropping it from the Data window to Columns. At this point, you have two Shipping Cost axes that, in effect, duplicate the view. Using the drop-down menu of the second Shipping Cost field, navigate to Quick Table Calculation | Percent of Total. This table calculation runs a secondary calculation on the values returned from the data source to compute a percent of the total. You will need to further specify how that total should be computed. Using the same drop-down menu, navigate to Compute Using | Table (Across). This tells Tableau to compute the table calculation across the table, which in this case means that the values will add up to 100 percent for each department. Turn on labels by clicking on the Abc button on the top toolbar. This turns on default labels for each mark. As you've already seen, you can customize labels by dropping a field on the Label shelf and fine-tune it further by clicking on the shelf. Right-click on the second axis, which is now labeled % of Total Shipping Cost and select Edit Axis…. Then, set Range as Fixed from 0 to 1. In this case, you know the total will always be 100%, so fixing the axis from 0 to 1 allows Tableau to draw the bars all the way across. Treemaps Treemaps use a series of nested rectangles to represent hierarchical relationships of parts to whole. Treemaps are particularly useful when you have hierarchies and dimensions with high cardinality (a high number of distinct values). Here is an example of a treemap that shows you how the sales of each item add up to give the total sales by category, then department, and finally, the total sales overall. Profit has been encoded by color to add additional analytical value to the visualization. It is now easy to pick out items with negative profit that have relatively high sales when placed in the context of the whole: Treemaps, along with packed bubbles, word clouds, and a few other chart types, are called non-Cartesian chart types. This means that they are drawn without an x or y axis and do not even require row or column headers. To create a treemap, you simply need to place a measure on the Size shelf and a dimension on the Detail shelf. You can add additional dimensions to the level of detail to increase the detail of the view. You can quickly change a treemap into a word cloud or a packed bubble chart by changing the mark type from Automatic (which is Square) to Circle (for packed bubbles) or Text (for word clouds). The order of the dimensions on the Marks card defines the way the treemap groups the rectangles. Additionally, you can add dimensions to rows or columns to slice the treemap into multiple treemaps. Effectively, the end result is a bar chart of treemaps! The following is an example: The treemap in the preceding screenshot not only demonstrates the ability to have multiple rows (or columns) of treemaps, but it also demonstrates the technique of placing multiple fields on the Color shelf. This can only be done with discrete fields. You can assign two or more colors by holding the Shift key while dropping the second field on the color. Alternately, the icon or space to the left of each field on the Marks card can be clicked on to change which shelf is used for the field. Area charts You might think of an area chart as a line chart in which one line is drawn with the area under it filled. Subsequent areas are stacked on top. As an example, consider a visualization of delinquent loan balances being analyzed by the bank manager: This area chart shows you the delinquent balance over time. Each band represents a different severity of delinquency. In many ways, the view is aesthetically pleasing, but it suffers from some of the same weaknesses as the stacked bar chart. As all but the bottom band have different starting locations month to month, it is difficult to compare the bands between months. For example, it is obvious that there is a spike in delinquent balances in September. But is it in all bands? Or is one of the lower bands pushing the higher bands up? Which band has the most significant spike? Now, consider this similar view: This view uses a quick table calculation similar to the stacked bars. It makes it clearer that the percent age of balance within the 31 to 60 days delinquent range increased in September. However, it is no longer clear that September represents a spike in balances. If you were telling a story with this data, you would want to carefully consider what either visualization might represent or misrepresent. Creating an area chart is fairly simple. Simply create a line chart or time series as you did previously, and then change the mark type on the Marks card to Area. Any dimensions on the Color, Label, or Detail shelves will create slices of area that will be stacked on top of each other. The Size shelf is not applicable to an area chart. You can define the order in which the areas are stacked by changing the sort order of the dimensions on the shelves of the Marks card. If you have multiple dimensions defining slices of area, you can also rearrange them on the Marks card to further adjust the order. Pie charts Pie is actually a mark type in Tableau. This gives you some additional flexibility with pie charts that is not available for other chart types, such as the ability to place them on maps. Creating a pie chart is not difficult. Simply change the mark type to Pie. This will give you an Angle shelf that you can use to encode a measure. Whatever dimension(s) you place on the Marks card (typically on the Color shelf) will define the slices of the pie. The following is an example of a pie chart in Tableau: You'll notice that the pie chart here uses Sales to define the angle of each slice; the higher the sum of sales, the wider the slice. The Department dimension slices the measure and defining slices of the pie. This view also demonstrates the ability to place multiple fields on the Label shelf. The second SUM(Sales) field is the percent age of the total table calculation you saw previously. Be careful when using pie charts. Most visualization experts will affirm that it is far more difficult for the human eye to differentiate differences in angles than it is to differentiate differences in length or position. For example, without the labels in the preceding chart, would you really be able to tell whether one slice was really 25 percent instead of 30 percent? A bar chart showing sales for the three departments would be more readable. Visualizing distributions Often, simply understanding totals, sums, and even the breakdown of part-to-whole only gives you a piece of the overall picture. Many times, you'll want to understand where individual items fall within a distribution of all similar items. You might find yourself asking questions like these: How long do most of our patients stay in the hospital? Which patients fall outside the normal range? What's the average life expectancy for components in a machine and which components fall above or below that average? Are there any components with extremely long or extremely short lives? How far above or below "passing" were most students' test scores? These questions all have similarities. In each case, you are asking for an understanding of how individuals (patients, components, and students) compared with each other. In each case, you most likely have a relatively high number of individuals. In data terms, you have a dimension (Patient, Component, and Student) with high cardinality (a high number of distinct individual values) and some measures (Length of Stay, Life Expectancy, and Test Score) you'd like to compare. Using one or more of the upcoming visualizations might be a good way to do this. Circle charts Circle charts are one way to visualize a distribution. Consider the following view, which shows you how each state compares to other states within the same region in terms of total profit: Here, you can easily see that certain states do far better or far worse than others in terms of profit. More than that, you can see whether the state has made or lost money and how much above or below the regional average the state was. Creating the view is not difficult. After placing the fields on shelves as shown in the preceding screenshot, simply change the mark type from Automatic (Bar) to Circle. Region defines the rows and each circle is drawn at the level of state that is in the level of Detail on the Marks card. Finally, to add the average lines, simply right-click on the Profit axis and select Add a Reference Line, Band, or Box…. In the resulting options window, add a line, Per Cell, for the average of SUM(Profit). You can adjust the label and formatting of the reference line as desired. Jittering When using views such as circle plots, you'll often see that marks overlap, which can lead to obscuring of the true story. Do you know for certain, just by looking, that there is only one state in the west region that is unprofitable? Or could there be two circles exactly overlapping? One way to minimize this is to click on the Color shelf and add some transparency and a border to each circle. Another approach is a technique called jittering. Jittering is a common technique in data visualization that involves adding a bit of intentional noise to a visualization to avoid overlap without harming the integrity of what is communicated. Alan Eldridge and Steve Wexler are among those who pioneered techniques for jittering in Tableau. Other jittering techniques can be found by searching for jittering on the Tableau forums or Tableau jittering using a search engine. Here is one approach to add a jitter: Start by duplicating the view created earlier and create a calculated field named Index with the Index() code. Index is a table calculation that starts with a value of 1 and increments for each intersection of dimension values within a partition of the view. Place the newly created Index field on Rows to the right of Region. Using the drop-down menu for Index, navigate to Compute Using | State. Using the drop-down menu for Index, uncheck Show Header to hide the axis. The values do not carry any meaning that needs to be conveyed to your audience. The faint horizontal grid lines do not add anything to the visualization. From the menu, navigate to Format | Lines and then set Grid Lines to None. Alternately, you may choose to keep the vertical lines, so instead, set Grid Lines to None under the Rows tab only. The following will be the result: What you've done is index each state within each region. As Index is continuous (green), it defines an axis and causes the circles to spread out vertically. Now you can more clearly see each individual mark and have higher confidence that overlap is not obscuring the true picture of the data. You can use jittering techniques on many different kinds of visualizations. Box and whisker plots Box and whisker plots add additional information and context to distributions. They show the upper and lower quartile and whiskers, which extend to either 1.5 times the upper/lower quartile or to the maximum/minimum values in the data. This allows you to see which data points are close to normal and which are outliers. The following is the circle chart from the previous example, with the addition of boxes and whiskers: To add box and whisker plots, right-click on an axis and select Add a Reference Line, Band, or Box…. Select Box Plot and set the desired options and formatting. Histograms Another possibility to show a distribution is to use a histogram. A histogram looks similar to a bar chart, but the bars show the count of occurrences of a value. For example, standardized test auditors looking for evidence of grade tampering might construct a histogram of student test scores. Typically, a distribution might look like this: The test scores are shown on the x axis and the height of each bar shows the number of students who had that particular score. A typical distribution should have a fairly recognizable curve with some students doing poorly, some doing extremely well, and most falling somewhere in the middle. Consider the implications if auditors observed the following visualization: Something is clearly wrong. It appears that graders bumped up students who were just shy of passing to barely passing. Histograms are very useful in catching anomalies like this. You can create a histogram in Tableau by following steps similar to these: Create a bin for a numeric field (typically, a measure) by right-clicking on the field in the Data window and selecting Create Bins…. A bin is a grouping of measure values by range. You can define the size of each bin. The bin will be displayed as a new Dimension field in the Data window. For this example, create bins of 100 for the Sales measure. Based on your data and questions, decide what you want to count. Do you want to count the number of records that occur in each sales bin? Use the Number of Records field. Do you want to count the number of distinct customers that fall into each bin? Right-click plus drag the Customer ID field onto Rows and select CNTD. Histograms can also be created very easily using Show Me. Simply select a single measure and then select Histogram from Show Me. It will create the bin and place the required fields on the view. You can adjust the size of a bin by right-clicking on it in the Data window. Here is an example of a histogram of the number of distinct customers for each sales bin. More customers purchased between $0 and $100 than any other range. Just like dates, the bin field drop-down includes an option for Show Missing Values. This can be very useful to avoid distorting the visualization and to identify what values don't occur in the data. Visualizing multiple axes to compare different measures Often, you'll need to use more than one axis to compare different measures, understand correlation, or analyze the same measure at different levels of detail. In these cases, you'll use visualizations with more than one axis. Scatterplots A scatterplot is an essential visualization type to understand the relationship between two measures. Consider a scatterplot when you find yourself asking questions like these: Does how much I spend on marketing really make a difference to sales? How much does power consumption go up with each degree of heating/cooling? Is there any correlation between rental price and the length of contract? Each of these questions seeks to understand the correlation (if any) between two measures. Scatterplots are great to see these relationships and also to locate outliers. Consider the following scatterplot, which looks at the relationship between the measures of the sum of Sales (on the x axis) and the sum of Profit (on the y axis): The dimensions of Department and Category on the Marks card define the level of detail. Color has been used to make it easy to see which department the category belongs to. Each mark in the view represents the total sales and total profit for a particular category in a particular department. The size of each circle indicates the number of distinct items sold in the category/department. The scatterplot points out an issue with tables. They have high sales but are unprofitable. Telephones, on the other hand, have high sales and high profit. Dual Axis One very important features of Tableau is Dual Axis. Scatterplots use two axes, and they are x and y. You've already seen how to use Measure Names and Measure Values to show more than one measure on a single axis. You saw in the stacked bar example that placing multiple continuous (green) fields next to each other on Rows or Columns results in multiple side-by-side axes. Dual axis, on the other hand, means that a view is using two axes that are opposite to each other with a common pane. For example, this view uses a dual axis for Sales and Profit: You can observe several key features of the view: The Sales and Profit fields on Rows indicate that they have a dual axis by sharing a flattened side. The Marks card is now an accordion-like control with an All section and a section for Sales and Profit. You can use this to customize marks for all measures or specifically customize marks for either Sales or Profit. Sales and Profit both define y axes that are on opposite sides of the view. Note that the peaks of the lines might lead you to believe that Sales and Profit were roughly equal in value at certain points. This is unlikely to be the case. Indeed, it is not. Instead, the axes are not in sync. Sales of $1,000,000 align with profit of just over $200,000. To fix this, right-click on the Profit axis and select Synchronize Axis. You must set the synchronize option using the secondary axis (Profit in the example). If the Synchronize Axis option is ever disabled on the secondary axis, it is likely that the two fields defining the axes are different numeric types. For example, one may be an integer, while the other may be a decimal. To enable the synchronize option, you'll need to force a match of the types by either changing the data type of one of the fields in the metadata or by creating a calculated field that specifically casts one of the fields to the matching type (for example, INT or FLOAT). Creating a dual axis is relatively easy. Simply drag and drop two continuous (green) fields next to each other on Rows or Columns, and then use the drop-down menu on the second and select Dual Axis. Alternately, you can drop the second field onto the canvas opposite the existing axis. Dual axes can be used with any field that defines an axis. This includes continuous numeric fields, continuous date fields, and latitude or longitude fields that define a geographic visualization. In the case of latitude or longitude, simply copy the field, place it immediately next to itself on Rows or Columns, and select Dual Axis. Combination charts Combination charts extend the use of dual axes to overlay different mark types. This is possible because the Marks card will give options to edit all marks or customize marks for each individual axis. Multiple mark types are available any time two or more continuous fields are located beside each other on Rows or Columns. This means that you can create views with multiple mark types even when you are not using a dual axis. Consider the following visualization: This chart uses a combination of bars and lines to show the total sales over time (using bars) and the breakdown of sales by department over time (using lines). This kind of visualization can be quite effective at giving additional context to detail. There are several things to note about this view: The field on the Color shelf is listed as Multiple Fields and is gray on the Marks card. This indicates that different fields have been used for Color for each axis on the Marks card (no field for the first Sales axis and Department for the second). The view demonstrates the ability to mix levels of detail in the same view. The bars are drawn at the highest level, while the lines are drawn at the level of Department. The view demonstrates the ability to use the same field (Sales, in this case) multiple times on the same shelf (Rows, in this case). The second axis (the Sales field on the right-hand side) has the header hidden to remove redundancy from the view. The months have been formatted to show abbreviations. This was done via the drop-down menu of the Order Date field on Columns, selecting Format, and selecting the desired format of the field for headers. Dual axis and combination charts open a wide range of possibilities for mixing mark types and levels of detail. Summary We covered quite a bit of ground in this article! You should now have a good grasp of when to use certain types of visualizations. The types of questions you ask of the data will often lead you to a certain type of view. You explored how to create these various types and how to extend basic visualizations using a variety of advanced techniques, such as calculated fields, jittering, multiple mark types, and dual axis. Along the way, we also covered some details on how dates work in Tableau using the special Measure Names / Measure Values fields. Hopefully, the examples using calculations have made you eager to learn more about creating calculated fields. The ability to create calculations in Tableau opens up endless possibilities for extending data, calculating results, customizing visualizations, and creating rich user interactivity. Resources for Article: Further resources on this subject: Creating Multivariate Charts [Article] Integrating with other Frameworks [Article] Using Canvas and D3 [Article]
Read more
  • 0
  • 0
  • 7101

article-image-isolated-mediawiki-setup-raspberry-pi-using-docker-part-1
Felix Rabe
18 May 2015
4 min read
Save for later

Isolated MediaWiki Setup on the Raspberry Pi using Docker, Part 1

Felix Rabe
18 May 2015
4 min read
This blog series shows you how to use Docker on the favorite Raspberry Pi distribution, Raspbian, to get MediaWiki set up and running. Raspberry Pi is a great little platform for hardware experimentation. Docker is a virtualization platform that runs Linux containers instead of VM images, and thus is small and fast – just the right size and speed for a Raspberry Pi. Combining the two is great for throw-away experiments and application setups consisting of multiple parts that are better kept apart ("multi-tier" applications). Whereas without Docker, these experiments and setups would require a complete re-installation of the operating system before and/or after each experiment, with Docker, each experiment starts from a pristine state every time. What you need It does not take much to follow along: A Raspberry Pi, Model B or B+ and some accessories: Ethernet cable USB cable (attached to a 5V power source) An SD card (at least 2 GB are required for the steps shown here) and a device to write to it An Internet connection accessible via Ethernet, such as your Wi-Fi router Raspbian with Docker A Raspberry Pi runs its operating system from its SD card. Usually, this is provided as a big image file that must be downloaded upfront, but the wonderful raspbian-ua-netinst project provides an alternative, where a small up-front image download makes the Raspberry Pi automatically download and install an up-to-date Raspbian system. I've forked the net installer to include Docker 1.2.0 so it is ready to go after the unattended installation. You can download a pre-built image file from here, or build the image manually in the following section. Build the image file manually The source code is available on GitHub. If you have Docker and Git (and Bash) installed on your computer, you can build the image using the following code: git clone https://github.com/felixrabe/raspbian-ua-netinst.git cd raspbian-ua-netinst git checkout packt ./autobuild-docker.sh tar -xf raspbian-ua-netinst-output.tar The image is in raspbian-ua-netinst-output/, and the various formats are equivalent. How to put the image on the SD card The Raspberry Pi Documentation website has fine guides on how to write the image to an SD card. It boils down to something like the following (on Linux): lsblk # find the device bzcat raspbian-ua-netinst*.img.bz2 > /dev/mmcblk0 Of course, be very careful that you target the right device and that it does not contain any valuable data, as this command will erase everything. Boot Once you have the image on the card, plug it into your Raspberry Pi, attach the Ethernet cable, and power it up by plugging in the USB cable. If all goes well, you will have a small working Raspbian distribution about 20 to 25 minutes later. (These were the times I observed on a 10 MBit/s connection.) Where is my Pi? To find the address of your Raspberry Pi, you can run nmap:    sudo nmap -sn 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}' In this command, you might have to change the 192.168.1.0/24 part, which describes the network to scan. The awk command will then print the IP address that belongs to a Raspberry Pi MAC address, as all Raspberry Pi MACs start with the vendor identification B8:27:EB. Log in to the Raspberry Pi Using the address found above now allows you to log into the Raspberry Pi: ssh -l root <ip_of_raspberry_pi> # Password: raspbian Once you've reached the root@pi:~# prompt, enter the Docker version to validate that the Docker client and server are running properly. This should give you something like the following output: root@pi:~# docker version Client version: 1.2.0 Client API version: 1.14 Go version (client): go1.3.1 Git commit (client): fa7b24f OS/Arch (client): linux/arm Server version: 1.2.0 Server API version: 1.14 Go version (server): go1.3.1 Git commit (server): fa7b24f By the way, if you ever want to properly shut down the Raspberry Pi, you can do so by using: systemctl powerof Don't do it now though, since we are not done yet! Summary Now that we have Docker working on our Raspberry Pi, let’s see what we can do with it in Part 2. Want more Docker content? Find more tutorials and insight on our dedicated page.  About the author Felix Rabe has been programming and working with different technologies and companies at different levels since 1993. Currently he is researching and promoting Named Data Networking, an evolution of the Internet architecture that currently relies on the host-bound Internet Protocol.
Read more
  • 0
  • 0
  • 5439

article-image-this-week-on-packt-hub-27-april-2018
Aarthi Kumaraswamy
27 Apr 2018
4 min read
Save for later

This week on Packt Hub – 27 April 2018

Aarthi Kumaraswamy
27 Apr 2018
4 min read
  This week continues to see discussions around GDPR, major updates for Tableau, MySQL, Bootstrap and Salesforce in tech news this week. See why Hadoop is dying, learn about Mob programming, Hybrid apps, Progressive web apps, and more from this week’s insights. Build an ARCore app in Android, learn advanced Rust programming, see how data scientists test hypothesis, and more in this week’s tutorials. Here’s what you may have missed in the last 7 days – Tech news, insights and tutorials… Featured Interview “Pandas is an effective tool to explore and analyze data”: An interview with Theodore Petrou In this exciting interview, Ted Petrou, author of Pandas Cookbook, takes us through an insightful journey into pandas – Python’s premier library for exploratory data analysis and tells us why it is the go-to library for many data scientists to discover new insights from their data. Ted is a data scientist and the founder of Dunder Data, a professional educational company focusing on exploratory data analysis. Tech news Bulletins Data science news bulletin – Monday 23 April Web Development news bulletin – Tuesday 24 April Cybersecurity news bulletin – Wednesday 25 April Programming news bulletin – Thursday 26 April Data news in depth Microsoft Cloud Services get GDPR Enhancements Tableau 2018.1 brings new features to help organizations easily scale analytics [Editor’s Pick] MySQL 8.0 is generally available with added features Development & programming news in depth Salesforce Spring 18 – New features to be excited about in this release! JetBrains ReSharper Ultimate 2018.1 is readily available for download Get ready for Bootstrap v4.1; Web developers to strap up their boots Cloud & networking news in depth Google’s kaniko – An open-source build tool for Docker Images in Kubernetes, without a root access AWS SAM (AWS Serverless Application Model) is now open source Everything you need to know about Jenkins X, the new cloud-native CI/CD solution on Kubernetes [Editor’s Pick] Tutorials Interested in becoming a data scientist? This week’s tutorials focus on getting you started in this field using some of the most popular tools like TensorFlow and R. Interested in Web development? Learn to Build a real-time dashboard with Vue.js, master data bindings with Knockout.js and more this week. Perhaps, you’re into mobile and game development. Now is a good time to know how to build an ARCore app on Android. Data tutorials How to Debug an application using Qt Creator [Editor’s Pick] Setting up Logistic Regression model using TensorFlow How data scientists test hypotheses and probability [Editor’s Pick] Using R6 classes in R to retrieve live data for markets and wallets  Development & programming tutorials Web development tutorials How to build a chatbot with Microsoft Bot framework How to deploy a Node.js application to the web using Heroku Building a real-time dashboard with Meteor and Vue.js Building a Web Service with Laravel 5 Data bindings with Knockout.js [Editor’s Pick] Game and Mobile development tutorials How to create non-player Characters (NPC) with Unity 2018 Build a Virtual Reality Solar System in Unity for Google Cardboard Getting started with building an ARCore application for Android [Editor's Pick] Programming tutorials How to dockerize an ASP.NET Core application Perform Advanced Programming with Rust [Editor’s Pick] Other Tutorials How to run Lambda functions on AWS Greengrass Creating and deploying an Amazon Redshift cluster How to run and configure an IoT Gateway This week’s opinions, analysis, and insights Learn all about MYSQL performance benchmarks, what is active learning, what are hybrid apps, what is mob programming and more in this week’s insights. Data Insights Top 10 MySQL 8 performance benchmarking aspects to know [Editor’s Pick] Why is data science important? Why is Hadoop dying? [Editor’s Pick] Active Learning: An approach to training machine learning models efficiently Development & Programming Insights Google ARCore is pushing immersive computing forward Hybrid Mobile apps: What you need to know 20 ways to describe programming in 5 words [Just for laughs] What is Mob Programming? [Editor’s Pick] 5 reasons why your next app should be a PWA (progressive web app) [Editor’s Pick] Other Insights Top 7 DevOps tools in 2018 Top 5 penetration testing tools for ethical hackers  
Read more
  • 0
  • 0
  • 4551

article-image-this-week-on-packt-hub-25-may-2018
Aarthi Kumaraswamy
25 May 2018
3 min read
Save for later

This week on Packt Hub – 25 May 2018

Aarthi Kumaraswamy
25 May 2018
3 min read
Here is this week's newsletter showcasing a select set of news stories, interviews, analyses and tutorials along with special content curated from the web. If you like what you see, make sure to subscribe and tell others too. Here’s what you may have missed in the last 7 days – Tech news, insights and tutorials… Featured interview “Tableau is the most powerful and secure end-to-end analytics platform” - Joshua Milligan This week we interviewed Joshua Milligan, Tableau Zen Master and the best selling author of the book, Learning Tableau. In this insightful interview, Joshua explains why Tableau is the Google of data visualization. He explores what's possible in Tableau like Geospatial analysis and automating workflows, what the exciting new features such as Hyper, Tableau Prep mean for BI developers, among other topics. Tech news Conferences/Events in focus this week What the PSF & Jetbrains 2017 Python Developer Survey reveals Five developer centric sessions at IoT World 2018 F8 AR Announcements What we learned at the ICRA 2018 conference for robotics & automation Data news in depth Amazon is selling facial recognition technology to police PostgreSQL 11 Beta 1 is out! Google announces Cloud TPUs on the Cloud Machine Learning Engine (ML Engine) TensorFlow.js 0.11.1 releases! Development & programming news in depth Microsoft introduces SharePoint Spaces, adds virtual reality support to SharePoint Qt 5.11 has arrived! Adobe is going to acquire Magento for $1.68 Billion Typescript 2.9 release candidate is here CRYENGINE 5.5 preview 3 goes live! Cloud & networking news in depth Kubernetes Containerd 1.1 Integration is now generally available Introducing OpenStack Foundation’s Kata Containers 1.0 Other News What matters on an engineering resume? Hacker Rank report says skills, not certifications Partnership alliances of Kontakt.io and IOTA Foundation for IoT and Blockchain Tutorials Data tutorials How to use M functions within Microsoft Power BI for querying data Development & programming tutorials Development tutorials Testing Single Page Applications (SPAs) using Vue.js developer tools How to Scaffold a New module in Odoo 11 Build powerful progressive web apps with Firebase How to integrate Firebase with NativeScript for cross-platform app development Build an ARCore app with Unity from scratch Working with Unity Variables to script powerful Unity 2017 games How to use Bootstrap grid system for responsive website design? Programming tutorials Documenting RESTful Java Web Services using Swagger Regular expressions in AWK programming: What, Why, and How Other tutorials How to create and configure an Azure Virtual Machine Getting started with Digital forensics using Autopsy How to build an Arduino based ‘follow me’ drone This week’s opinions, analysis, and insights Data Insights Top 7 libraries for geospatial analysis Introducing Dask: The library that makes scalable analytics in Python easier Facebook’s Wit.ai: Why we need yet another chatbot development framework? Top 5 tools for reinforcement learning Development & Programming Insights Is web development dying? Top 5 open source static site generators AI for game developers: 7 ways AI can take your game to the next level   Other Insights Abandoning Agile SDLC puts process at the center of software engineering ERP tool in focus: Odoo 11 12 common malware types you should know Anatomy of a Crypto Ransomware What else happened in May? Last Week on Packt Hub - 18 May 2018 That week on Packt Hub – 11 May 2018 That week on Packt Hub – 4 May 2018  
Read more
  • 0
  • 0
  • 3720
Modal Close icon
Modal Close icon