• February 19, 2017 /  Computer Technology, Hardware

    Asus is reportedly now taking pre-orders for its 31.5 inch monitor (PQ321Q) featuring Sharp’s anti-glare LED-backlit IGZO technology. It sports a screen resolution of 3840 x 2160, 140 pixels per inch, and not only cuts down on energy consumption but features an extremely long durability given that Sharp’s tech doesn’t constantly refresh the images. It’s all static until something moves on-screen.

    The company introduced the new monitor last month, reporting that Sharp’s IGZO tech supports smaller transistors than amorphous silicon thanks to significantly higher electron mobility. It also not only reduces energy consumption, but reduces the monitor’s overall bulk as well: at 35 mm at its thickest point, the PQ321 is the thinnest 4K UHD monitor available today, the company said.

    A Sharp rep said during CES 2013 in January that the 31.5 inch panel will be marketed to professionals first given the end-price. The prototype also had ten-point touch input which apparently didn’t make it into the company’s own PN-K321 31.5 inch IGZO monitor selling for $5,000 USD. The Asus model also doesn’t support touch.

    The upcoming PQ321Q supports wide 176° horizontal and vertical viewing angles, 10 bit RGB “deep” color, and an 8 millisecond gray-to-gray response time. Other features include a 0.182 mm pixel pitch, a max brightness of 350 cd/m2, a max contrast ratio of 800:1, picture-by-picture support and HDCP support. The monitor’s typical power consumption is 93 watts.

    On the connectivity front, the I/O panel has two HDMI ports, a DisplayPort, and an RS-232C port for old-school VGA connections. There’s also a 3.5 mm mini-jack for PC audio input, a 3.5 mm mini-jack for AV audio input, and a 3.5 mm mini-jack for earphones (for HDMI and DisplayPort).

    Last month the company said that the new display is the “equivalent to four Full HD displays stacked side-by-side.” It can now be pre-ordered on Amazon here, and on Newegg here, both requesting $3,499.99 USD. The monitor is slated to arrive on July 16, 2013.

    Tags: , , , ,

  • February 17, 2017 /  Computer Technology, Programming

    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

    Tags: , , , ,

  • February 16, 2017 /  Photography

    Take a scenario where you have arranged an amazing overall look for your wedding venue. The venue has amazing views and locations and the service staff is efficiently engaged in taking care of your guests. You have planned your wedding to give it an out of the world atmosphere. In short everything is just perfect. And unfortunately you hired a sub-standard photographer for clicks. Guess what happens next?? After the event you are made to repent all your life for not making a right decision.

    The story above has many such examples in real life and couples regret for not making right decision to hire expert photographer for their wedding. They will realize the importance hiring a capable photographer only later. Nobody will ever want in their life to fall prey to such ruing scenario. It is not advised here to hire a photographer to spend a fortune on photography. It is just advised to hire a photographer who is experienced enough to get you best shot for your wedding photographs. Talented and well experienced photographers dont come cheap. Just make a right decision, get help from your friends and family on selecting from available wedding photography in Surrey and make your wedding most special.

    Some people opt to get their wedding photos shot by their friends and family members. This is a messy decision. The work of photography is no less than any art. It requires lots of expertise, experience and a good knowledge to click right photographs to be cherished lifelong. Only an expert in photographer will help you to click the right photographs. An expert wedding photographer will also have various wedding rituals and customs so he will right pictures for you in right time. You have wide range option available for wedding photography in Surrey.

    Wedding photography in Surrey is a fast growing business. There are many options available for you to make your day special by capturing your special wedding moments in camera. From these wide ranges of photographers selecting one that is ideal for your needs is a little difficult. Their quality of work varies significantly. This becomes so very important to consider one choice for wedding photographers carefully. You look for photographers who have good experience in past of shooting for such occasions. They will also be experienced with photo shoots outdoors at various locations. It is a crucial decision to make choice for your wedding photographer so be smart while you choose one.

  • Hunger Games themed semi-iterated prisoner’s dilemma tournament

    Comments Off on Hunger Games themed semi-iterated prisoner’s dilemma tournament
    February 15, 2017 /  Computer Technology, Programming

    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

    Tags: , , , ,

  • February 14, 2017 /  Computer Technology, Programming

    The OpenMP 4.0 API Specification is released with Significant New Standard Features

    The OpenMP 4.0 API supports the programming of accelerators, SIMD programming, and better optimization using thread affinity

    The OpenMP Consortium has released OpenMP API 4.0, a major upgrade of the OpenMP API standard language specifications. Besides several major enhancements, this release provides a new mechanism to describe regions of code where data and/or computation should be moved to another computing device.

    Bronis R. de Supinski, Chair of the OpenMP Language Committee, stated that “OpenMP 4.0 API is a major advance that adds two new forms of parallelism in the form of device constructs and SIMD constructs. It also includes several significant extensions for the loop-based and task-based forms of parallelism already supported in the OpenMP 3.1 API.

    The 4.0 specification is now available on the 

    Standard for parallel programming extends its reach

    With this release, the OpenMP API specifications, the de-facto standard for parallel programming on shared memory systems, continues to extend its reach beyond pure HPC to include DSPs, real time systems, and accelerators. The OpenMP API aims to provide high-level parallel language support for a wide range of applications, from automotive and aeronautics to biotech, automation, robotics and financial analysis.

    New features in the OpenMP 4.0 API include:

    · Support for accelerators. The OpenMP 4.0 API specification effort included significant participation by all the major vendors in order to support a wide variety of compute devices. OpenMP API provides mechanisms to describe regions of code where data and/or computation should be moved to another computing device. Several prototypes for the accelerator proposal have already been implemented.

    · SIMD constructs to vectorize both serial as well as parallelized loops. With the advent of SIMD units in all major processor chips, portable support for accessing them is essential. OpenMP 4.0 API provides mechanisms to describe when multiple iterations of the loop can be executed concurrently using SIMD instructions and to describe how to create versions of functions that can be invoked across SIMD lanes.

    · Error handling. OpenMP 4.0 API defines error handling capabilities to improve the resiliency and stability of OpenMP applications in the presence of system-level, runtime-level, and user-defined errors. Features to abort parallel OpenMP execution cleanly have been defined, based on conditional cancellation and user-defined cancellation points.

    · Thread affinity. OpenMP 4.0 API provides mechanisms to define where to execute OpenMP threads. Platform-specific data and algorithm-specific properties are separated, offering a deterministic behavior and simplicity in use. The advantages for the user are better locality, less false sharing and more memory bandwidth.

    · Tasking extensions. OpenMP 4.0 API provides several extensions to its task-based parallelism support. Tasks can be grouped to support deep task synchronization and task groups can be aborted to reflect completion of cooperative tasking activities such as search. Task-to-task synchronization is now supported through the specification of task dependency.

    · Support for Fortran 2003. The Fortran 2003 standard adds many modern computer language features. Having these features in the specification allows users to parallelize Fortran 2003 compliant programs. This includes interoperability of Fortran and C, which is one of the most popular features in Fortran 2003.

    · User-defined reductions. Previously, OpenMP API only supported reductions with base language operators and intrinsic procedures. With OpenMP 4.0 API, user-defined reductions are now also supported.

    · Sequentially consistent atomics. A clause has been added to allow a programmer to enforce sequential consistency when a specific storage

    Tags: , , , ,