Month: September 2018

Attend Meeting C++ 2013

Boost Dependency Analyzer

I have something special to announce today. A tool I’ve build over the last 2 weeks, which allows to analyze the dependencies in boost. With boost 1.53 this spring, I had the idea to build this, but not the time, as I was busy writing a series over the Papers for Bristol. Back then I realized, how easy it could be to build such a tool, as the dependencies could be read & listed by boosts bcp tool. I already had a prototype for the graphpart from 2010. But lets have a look at the tool:

The tool is very easy to handle, it is based on the out of bcp, which is a tool coming with boost. Actually bcp can help you with ripping libraries out of boost, so that you don’t have to add all of boost to your repository when you would like to use smartpointers. But bcp also has a listing mode, where it only shows the dependencies thats whats my tool build up upon. Lets have a short look at the results, the dependencies of boost 1.54:

A few words on how to read this graph. The libraries in the middle of the “starshape” are the ones with the most dependencies, each line between the nodes is a dependency. A dependency can be one or multiple files. The graphlayout is not weighted.

How to

A short introduction on what you need to get this tool to run. First boost, as this tool is build to analyze boost. I’ve tested with some versions (1.49 – 1.54) of boost. You also need a version of bcp, which is quite easy to build (b2 tools/bcp). Then you simply need to start the tool, if BOOST_ROOT is set, the tool will try to read it, other wise you will be asked to choose the location of boost when clicking on Read dependencies. Next thing is selecting the location of bcp. That is the setup, and the tool will now run for some time. On my machine its 90 seconds to 2 minutes the analysis takes, it might be lot longer on yours, depending on how much cores you got. The tool will spawn for each boost library (~112) a bcp process, and analyze this output in a thread pool. After this is done, the data is loaded into the tool, and then saved to a SQLITE database, which will be used if you start the tool a second time and select this version of boost. Loading from the database is far faster.

A screenshot to illustrate this:

tl_files/blog/bda/bda.png

To the left are all the boost libraries, the number of dependencies is shown in the braces. To the right is a Tabwidget showing all the dependencies, the graph is layouted with boost graph. When you click on show all you’ll get the full view of all dependencies in boost. The layouting is done in the background, so this will take some time to calculate, and is animated when its done. The results of the layouting are good, but not perfect, so that you might have to move some nodes. Exporting supports images, which are transparent PNGs, not all services/tools are happy with that (f.e. facebook, twitter nor G+ could handle the perfectly fine images), this can be fixed by postprocessing the images and adding a white background.

Inner workings

I’ve already written a little about the tools inside, its build with Qt5.1 and boost. Where boost is mostly used for the graph layouting. As I choose to work with Qt5, it has a few more dependencies, for windows this sums up to a 18 mb download, which you’ll find at the end. The tool depends on 3 libraries from my company Code Node: ProcessingSink, a small wrapper around QProcess, that allows to just start a bunch of processes, and lets you connect to the finished and error slot. This was necessary, as I could only spawn 62 parallel processes under windows, so this library does take care of spawning the parallel processes now. Which are currently 50 at a time. GraphLayout is the code that wraps the innerworkings of boost::graph, its a bit dirty, but lets me easily process the graphlayouting. The 3rd library is NodeGraph, which is the Graph UI, based on Qts GraphicsView Framework.
I plan to release the tool and its libraries under GPL later on github, for now I don’t have the time to polish everything.

Problems

One of the earliest questions I had when thinking about building such a tool, was where to get a list of the boost libraries? This sounds easy. But I need to have this readable by machine, not human, so HTML is a great format, but I refused to write a parser for this list yet. I talked to some people about this at C++Now, and most agreed, that the second option would be best: maintainers.txt. Thats what the tool reads currently to find the boost libraries. Unfortunately at least lexical_cast is missing in this list. So, the tool isn’t perfect yet, while lexical_cast is already patched, I’m not sure if anything else is missing. A candidate could be signals, as its not maintained anymore. Currently the tool analyzes for 1.54 112 libraries.

boost dependencies

Working for 2 weeks on this tool has given me some inside knowledge about the dependencies in boost. First, the way it is shown in the tool, is the view of bcp. Some dependencies will not affect the user, as they are internal. f.e. a lot of libraries have a dependency to boost::test, simply because they provide their tests with it. The bcp tool really gets you ALL the dependencies. Also most (or was it all?) libraries depend on boost::config. I plan to add filtering later, so that the user has the ability to filter some of the libraries in the GraphView.

The tool

Here is how to get the tool for now: there is a download for the binaries for windows and linux. I’ll try to get you a deb package as soon as I have time, but for now its only the binaries for linux, you’ll have to make sure to have Qt5.1 etc. on linux too, as I do not provide them. For Windows, its 2 archives you’ll need to download: the programm itself, and needed dlls for Qt5.1 if you don’t have the SDK installed ( in this case you also could copy them from the bin directory)

Note on linux: this is a one day old beta version. Will update this later.

Short Course on Tips – What You Need To Know

Things that You Must Know About Google Expanding the People Also Ask Feature

The People Also Ask feature is a series of such dynamically loading questions that are actually related to the first searched query that shows in the search results on the desktop and mobile. If a user would click on a certain question in such PAA feature, such drop-down would appear with those featured snippets known as the quick answers from a different search result.

For various PAA results, each time the user clicks an extra PAA question, then such new dynamically loading question is going to appear below. There have been some instances of infinite PAAs but a lot would stop after several new questions. The PAA feature is initially showed in search results in 2015. Be aware that the organic search feature is essentially a part of the ongoing efforts of Google to be able to improve such search experience as well as to keep the searches in such Google interface much longer.

Unlike those featured snippets, the People Also Ask feature now is moving around the first page of those search results. But, the majority of such PAAs showed at the bottom on that first search result page.

What you must know is that the People Also Ask feature has really grown in popularity at the time that Google first debuted this in 2015. You should learn that the PAA is actually one of the fastest growing search result page features and is also much faster even those featured snippets also called the quick answers.

What you should know is that such PAAs actually show in 70 percent of the search results that show snippet and this seems to be using the same source for answering the featured snippets and the different PAA questions. Such actually means that ranking the answer to that featured snippet as well as PAA question may result in many instances of exposure. You have to know that one PAA can actually appear in over 20 search result pages.

If you are going to try ranking for as the answer in the People Also Ask question, you have to optimize such like you would for that featured snippet. It is really essential that you answer the question in that concise, clear, authoritative manner. With the question or answer approaching to the content would have a better user experience by making sure that the user intent is aligned with the content.

It would be a fantastic thing that you really checkout the website for you to have more info on the advantages of such Google expanding the People Also Ask feature. In doing so, you will be able to learn more on the advantages of using the PAA.

SuVolta’s transistor technology speed-power benefits are validated in ARM processor

The ARM Cortex-M series processor was manufactured with SuVolta’s Deeply Depleted Channel (DDC) technology on a 65 nm bulk planar CMOS DDC process. With SuVolta’s transistor technology, designers are able to reduce power or improve performance, depending upon design requirements.

“ARM’s heritage is based on low power, so technologies that can further improve power consumption, such as DDC technology from SuVolta, will always be welcomed by ARM and our Partners,” said Noel Hurley, vice president, Strategy and Marketing, Processor Division, ARM. “SuVolta has shown that the DDC technology, when incorporated into an ARM processor, can provide additional power reductions or a significant performance boost. As the Internet of Things continues to expand, innovative ultra-low power technology for Sensors and other devices will be vital to ensure that ARM remains at the forefront of this opportunity.”

When compared to an identical ARM Cortex-M0 processor manufactured in the conventional 65 nm process, with a 1.2 V supply voltage, the DDC transistor-based ARM implementation operating at 0.9 V demonstrates a 50 percent lower total power consumption at matched 350 MHz operating speed. There is also a 35 percent increased operating speed (performance) at matched power. In addition there is a 55 percent increased operating speed when operated at matched supply voltage.

“We’ve now validated the benefits of the DDC technology in a complex SoC, by combining the ARM Cortex-M0 CPUs with SRAM instances and various analog components,” explained David Kidd, senior director, digital design at SuVolta. “The results speak for themselves – power-performance optimized CPU cores, with results that hold across process corners and temperature, plus, SRAMs with 150 mV lower minimum operating voltage, 50 percent less leakage power at matched SRAM read current, and more than 5x less leakage power in retention mode.”

“Reducing power consumption and enhancing performance are key to providing next-generation capabilities for a variety of advanced digital products,” said Bruce McWilliams, president and CEO at SuVolta. “By validating the speed-power advantages of the DDC technology in a SoC that includes ARM processors, we’ve reached another significant milestone in demonstrating the value of our technology in a system.”

Take-Two Interactive Software, Inc. Announces Underwriters’ Exercise of Over-Allotment Option to Purchase $37.5 Million of Company’s Notes

Take-Two Interactive Software, Inc. (TTWO) (the “Company”) announced today that the underwriters for the recently completed public offering of the Company’s 1.00% Convertible Senior Notes due 2018 (the “Notes”) exercised in full their option to purchase an additional $37.5 million principal amount of the Company’s Notes on July 12, 2013. The sale of these additional Notes closed today, which increases the total principal amount of the Notes sold by the Company in this offering to $287.5 million.

J.P. Morgan Securities LLC, Barclays Capital Inc. and Wells Fargo Securities, LLC were the underwriters for the offering.

This press release does not constitute an offer to sell or a solicitation of an offer to buy the securities described herein, nor shall there be any sale of these securities in any jurisdiction in which such an offer, solicitation, or sale would be unlawful prior to registration or qualification under the securities laws of any such jurisdiction.

About Take-Two Interactive Software

Headquartered in New York City, Take-Two Interactive Software, Inc. is a leading developer, marketer and publisher of interactive entertainment for consumers around the globe. The Company develops and publishes products through its two wholly-owned labels Rockstar Games and 2K. Our products are designed for console systems, handheld gaming systems and personal computers, including smartphones and tablets, and are delivered through physical retail, digital download, online platforms and cloud streaming services. The Company’s common stock is publicly traded on NASDAQ under the symbol TTWO. For more corporate and product information please visit our website athttp://www.take2games.com.

All trademarks and copyrights contained herein are the property of their respective holders.

Cautionary Note Regarding Forward-Looking Statements

The statements contained herein which are not historical facts are considered forward-looking statements under federal securities laws and may be identified by words such as “anticipates,” “believes,” “estimates,” “expects,” “intends,” “plans,” “potential,” “predicts,” “projects,” “seeks,” “will,” or words of similar meaning and include, but are not limited to, statements regarding the outlook for the Company’s future business and financial performance. Such forward-looking statements are based on the current beliefs of our management as well as assumptions made by and information currently available to them, which are subject to inherent uncertainties, risks and changes in circumstances that are difficult to predict. Actual outcomes and results may vary materially from these forward-looking statements based on a variety of risks and uncertainties including: our dependence on key management and product development personnel, our dependence on our Grand Theft Auto products and our ability to develop other hit titles for current and next-generation platforms, the timely release and significant market acceptance of our games, the ability to maintain acceptable pricing levels on our games, our ability to raise capital if needed and risks associated with international operations. Other important factors and information are contained in the Company’s Annual Report on Form 10-K for the fiscal year ended March 31, 2013, in the section entitled “Risk Factors,” the Company’s Registration Statement on Form S-3 filed with the SEC on June 12, 2013 and the Company’s other periodic filings with the SEC, which can be accessed at www.sec.gov. All forward-looking statements are qualified by these cautionary statements and apply only as of the date they are made. The Company undertakes no obligation to update any forward-looking statement, whether as a result of new information, future events or otherwise.

Windows 8.1 Uninstall Facebook and Flickr

Washington – One of the selling points of Windows Phone is a powerful social media integration and the ability to download photos from Facebook directly into the photo apps already available on Windows Phone. Microsoft implemented this functionality in Windows 8. But, it seems the company led by Steve Ballmer that will remove some of the functionality in Windows 8.1.
Although the photo in Windows 8.1 application has been improvised with editing functions, the application has been releasing its integration with Facebook and Flickr as well as supporting delete pictures / photos on the network.
Microsoft spokesman said the software manufacturer introduces Facebook and Flickr integration in Windows 8 because when it was only a few similar apps available. “But now there are many applications available and offers the feature to view photos on other services,” he said.
Separation Windows 8.1 integration with Facebook and Flickr in fact reap disappointment. You see, Facebook has recently committed to build specialized applications Windows 8.

Monitor Asus MX279H

Tempting appearance u6-436-AsusAsus MX279H is one variant of the monitor into the first ranks of Designo MX Series.Hal that steal the show are performances that are the focus of this series.

Rely on the screen with a thin bezel, this LCD monitor performed beautifully accented with metal bar which also serves as the setting panel on the bottom right side. Circular buffer is designed as though the actual form of metal plastic.

The buttons are there on the Asus MX279H, although there are physical, but it just needs to be touched. True, Asus chose to use the touch buttons on the LCD monitor with a diagonal screen size of 27 ˝ this. The arrangement itself is quite comprehensive, ranging from the standard setting brightness, contrast, until saturation. There is also the selection of presets like Scenery, Theater, Game, Night View, and in which each of these presets you can still set it again.

In terms of connectivity, this Asus monitor provides two HDMI ports, a single D-Sub 15pin port, and two audio ports (Headphone Out and Line In). Asus nullify the decision and choose the DVI connector HDMI connector types may recall this now more popular and is found in many devices. Interesting features contained in this MX279H Asus Asus SonicMaster is in charge of presenting the best sound for the class of integrated speakers on the monitor.

At PCplus testing for the audio quality, speaker Bang and Olufsen ICEpower sound produces above average speaker monitor in general. The audio system can not replace a desktop audio system, especially if you expect thumping bass. Power output or volume is enough to fill the room. So for everyday use such as watching streaming video or simply listen to soft music, the sound produced by Asus PCplus MX279H sufficient.

Asus uses AH-IPS panel type on MX279H to provide a good quality display. Panel is fairly dark frame design make it blend with the screen so that the state of death, this LCD monitor looks completely frameless. Facilitate the availability of several presets that you do not want to mess around with these settings and it. In general appearance was good, with the brightness and contrast level is fairly good. However, PCplus found that the saturation level of the monitor is a bit high, so as to obtain the best view, PCplus suggest to keep it set.

JW-11, with the Latest Android Based Computer Processor Option ARM with a 2.5-inch HDD Addition

A new Android computer has just been rolled into the market. Computer named the JW-11 also comes with an ARM Cortex A9 Amlogic AMl8726 single-M3 core. In addition, this computer software also supports Android 4.0 or 4.1.

JW-11 is equipped with 1GB of RAM and a built-in internal memory. In addition, the computer also has a 2.5-inch drive bay that allows users to add storage capacity to a large number.

Although marketed with Android OS, the computer also was able to easily use the Linux OS. According to reports, there have been several user’s computer that includes a Linux OS on the JW-11.

Other features available on these computers include an HDMI port, built-in WiFi and USB 2.0 ports. There is also a SDHC card reader on the computer. Regarding prices, the JW-11 priced at 68 USD.

Discovering The Truth About Investment

How You Can Gain From Magento

In case you are starting a new investment, you will see a distinction in how individuals lead their business.Most investors are taking their business to the next level because of marketing plans noted today. This is the site e-commerce is taking center stage to most investors.This is where the idea of Magento software is taking over the marketing needs of the company. This is an innovation that is important to the industry and the customers also. There are countless reasons why people tend to make use of these services. The accompanying is a portion of these advantages to gain from this.

When customers choose to use online services to buy goods or services, they want to find efficiency there.This is not something hard to achieve because the correct software will enable this. There are incredible highlights set up for clients to appreciate utilize these administrations. This is supposed to provide them with easiness whenever they want to connect with your services. They are additionally ready to discover diverse things without leaving their offices or residential places. With this in mind, you will notice some new revenues from these customers. Do not forget that this is the new means of dealing with clients.

When you want to market a certain product to new people, it might take more costs than expected. This is mostly if you need to track every move of your salesmen.With the said platform, this ought to be very cost effective.There is no need of moving from one place to another in order to do this. There is no requirement of moving around to monitor their work. Your job is to install the most suitable applications to do the monitoring services for you. You will avoid hiring IT gurus to handle this job and this will benefit your investment greatly. This ought to be a good move in saving more resource in your firm.

When people ask for your items, it is your duty to ensure they acquire anything right away. To make this conceivable, it is right to protect your transportation administrations. It is now the prospect of obtaining these administrations will be critical.The intended software is meant to upgrade and offer reliable services to your shipping needs.You can also trust the service providers to find other shipping services to meet your client’s demand. This will enhance more business reliability with the clients.This will continue to help the business grow as well as expected.

You can gain more insights when you visit the company’s website set today. From this, you should be ready to tell if they are to be included or not.

Official feedback on OpenGL 4.4 thread

 SIGGRAPH – Anaheim, CA – The Khronos™ Group today announced the immediate release of the OpenGL® 4.4 specification,bringing the very latest graphics functionality to the most advanced and widely adopted cross-platform 2D and 3D graphics API (application programming interface). OpenGL 4.4 unlocks capabilities of today’s leading-edge graphics hardware while maintaining full backwards compatibility, enabling applications to incrementally use new features while portably accessing state-of-the-art graphics processing units (GPUs) across diverse operating systems and platforms. Also, OpenGL 4.4 defines new functionality to streamline the porting of applications and titles from other platforms and APIs. The full specification and reference materials are available for immediate download at http://www.opengl.org/registry.

In addition to the OpenGL 4.4 specification, the OpenGL ARB (Architecture Review Board) Working Group at Khronos has created the first set of formal OpenGL conformance tests since OpenGL 2.0. Khronos will offer certification of drivers from version 3.3, and full certification is mandatory for OpenGL 4.4 and onwards. This will help reduce differences between multiple vendors’ OpenGL drivers, resulting in enhanced portability for developers.

New functionality in the OpenGL 4.4 specification includes:

Buffer Placement Control (GL_ARB_buffer_storage)
Significantly enhances memory flexibility and efficiency through explicit control over the position of buffers in the graphics and system memory, together with cache behavior control – including the ability of the CPU to map a buffer for direct use by a GPU.

Efficient Asynchronous Queries
(GL_ARB_query_buffer_object)
Buffer objects can be the direct target of a query to avoid the CPU waiting for the result and stalling the graphics pipeline. This provides significantly boosted performance for applications that intend to subsequently use the results of queries on the GPU, such as dynamic quality reduction strategies based on performance metrics.

Shader Variable Layout (GL_ARB_enhanced_layouts)
Detailed control over placement of shader interface variables, including the ability to pack vectors efficiently with scalar types. Includes full control over variable layout inside uniform blocks and enables shaders to specify transform feedback variables and buffer layout.

Efficient Multiple Object Binding (GL_ARB_multi_bind)
New commands which enable an application to bind or unbind sets of objects with one API call instead of separate commands for each bind operation, amortizing the function call, name space lookup, and potential locking overhead. The core rendering loop of many graphics applications frequently bind different sets of textures, samplers, images, vertex buffers, and uniform buffers and so this can significantly reduce CPU overhead and improve performance.

Streamlined Porting of Direct3D applications

A number of core functions contribute to easier porting of applications and games written in Direct3D including GL_ARB_buffer_storage for buffer placement control, GL_ARB_vertex_type_10f_11f_11f_rev which creates a vertex data type that packs three components in a 32 bit value that provides a performance improvement for lower precision vertices and is a format used by Direct3D, and GL_ARB_texture_mirror_clamp_to_edge that provides a texture clamping mode also used by Direct3D.Extensions released alongside the OpenGL 4.4 specification include:

Bindless Texture Extension (GL_ARB_bindless_texture)
Shaders can now access an effectively unlimited number of texture and image resources directly by virtual addresses. This bindless texture approach avoids the application overhead due to explicitly binding a small window of accessible textures. Ray tracing and global illumination algorithms are faster and simpler with unfettered access to a virtual world’s entire texture set.

Sparse Texture Extension (GL_ARB_sparse_texture)
Enables handling of huge textures that are much larger than the GPUs physical memory by allowing an application to select which regions of the texture are resident for ‘mega-texture’ algorithms and very large data-set visualizations.

OpenGL BOF at SIGGRAPH, Anaheim, CA July 24th 2013
There is an OpenGL BOF “Birds of a Feather” Meeting on Wednesday July 24th at 7-8PM at the Hilton Anaheim, California Ballroom A & B, where attendees are invited to meet OpenGL implementers and developers and learn more about the new OpenGL 4.4 specification.

Hunger Games themed semi-iterated prisoner’s dilemma tournament

With all the talk surrounding it, crowdsourcing science might seem like a new concept and it might be true for citizen science efforts, but it is definitely an old trick to source your research to other researchers. In fact, evolutionary game theory was born (or at least popularized) by one such crowdsourcing exercise; in 1980, Robert Axelrod wanted to find out the best strategy for iterated prisoner’s dilemma and reached out to prominent researchers for strategy submissions to around-robin tournmanet. Tit-for-tat was the winning strategy, but the real victor was Axelrod. His 1981 paper with Hamilton analyzing the result went on to become a standard reference in applications of game theory to social questions (at least outside of economics), agent-based modeling, and — of course — evolutionary game theory. Of Axelrod’s sizeable 47,222 (at time of writing) citations, almost half (23,370) come from this single paper. The tradition of tournaments continues among researchers, I’ve even discussed an imitation tournament on imitation previously.

The cynical moral of the tale: if you want to be noticed then run a game theory tournament. The folks at Brilliant.org— a website offering weekly olympiad-style challange problems in math and physics — took this message to heart, coupled it to the tried-and-true marketing technique of linking to a popular movie/book franchise, and decided to run a Hunger Games themed semi-iterated Prisoner’s dillema tournament. Submit a quick explanation of your strategy and Python script to play the game, and you could be one of the 5 winners of the $1,000 grand prize. Hooray! The submission deadline is August 18th, 2013 and all you need is a Brilliant account and it seems that these are free. If you are a reader of TheEGG blog then I recommend submitting a strategy, and discussing it in the comments (either before or after the deadline); I am interested to see what you come up with.

I will present the rules in m