Germany is a country that everyone has an opinion about, and for many their view of Germany is still colored by the Nazi era. Whilst Germans would argue that their country has long put its past behind it echoes can still be heard from time to time, when right-wing thugs attack foreign workers, or in the continuation of disputes with its eastern neighbors concerning the expulsion of Germans from Poland and the Czech Republic in 1945. The Daily Telegraph reported 26 June 2002 that "Edmund Stoiber, the conservative candidate for German chancellor, caused a diplomatic row with Poland yesterday after suggesting that Warsaw should allow the return of Germans expelled from the country after the Second World War." Stoiber has also caused the Czech Republic concern by bringing up the issue of the Sudeten Germans who inhabited Czechoslovakia's border lands until 1947, Daily Telegraph 14 June 2002.
Germany is still the largest member of the European Union by population and GDP, but its population is falling and ageing (see graph of population changes 2000-2020) the predictions are a fall in total population to 80.3 million from a figure of 82 million in 2002, with a loss of 5.5 million in the age group 31-50 and an increase of nearly 4 million in the age group 50 to 65; an acing population will impact economic growth as the work force falls and consumer expenditure decreases, irrespective of other policies. Social changes, in particular the increase in single person households, are partly the cause of the decline in the birth-rate. In 1950, 7% of German households were single households whereas in 1999 the number increased to 36% and is expected to increase to 37% of the total by 2015; 46% of the German population is married and 13% divorced/widowed � the remaining 41% is single. The Rand Corporation in a paper published in 2000 noted that "By 2025, for example, the median age of the US population will rise from 34 to 43 years. In Germany, it will increase from 39 to 50 years. One-quarter of the German population will be over 65, and the number of new labor-force entrants will decline by one-third. This phenomenon raises crucial questions about how such societies will support increasing numbers of older people with fewer younger workers and where they will find new entrants into the labor force."
The Economist 2 January 2003 reported that "As yet, though, neither Mr Schr�der nor many Germans seem to have fully grasped the extent of the changes the country must make if the prosperity of the post-war years is to be preserved. .... data show[s] a further decline in German manufacturing, with output and order books contracting. Even export prospects appear to have weakened, partly in response to the rise in the value of the euro, which has made German products less competitive on world markets."
Unemployment is currently above 4 million [Jan. 2003].
The Economist also said, "many economists are in despair at Germany�s inability to formulate sensible, coherent economic policies. The absence of political leadership in the debate about reform has led to fears that Germany could become Europe�s Japan: in persistent and seemingly irreversible decline."
German economic performance is now a far cry from the wonders of the immediate post-war era. The Daily Telegraph reported 4 May 2002 that "Germany - the supposed powerhouse of Europe - has the lowest rate of economic growth of any European Union nation according to the European Commission. Four million people are unemployed. The public deficit is hovering perilously close to the limits set down in the Maastricht Treaty for members of the euro area." The same report added, "Most Germans, acutely aware of their country's past, do not care too much if their economy dips down the international league table. They are not bothered if they lag a little behind the British or American growth rates, so long as German society remains stable."
Many commentators have linked its ailing economy to the vast investment that it has made in the former East Germany and the over generous exchange rate agreed for the old East German mark against the DMark. Others has pointed to the fact that Germany still retains a higher proportion of its output in the form of manufacturing, at a time when the US and other advanced economies have moved more and more into the service sector. This has caused increasing problems as the cost difference between German costs, which carry a heavy burden of tax and related costs, and the emergent economies of Eastern Europe has continued to be large.
The Economist reported 22 August 2002 that "The costs and political consequences of the great flood, especially for Germany and its chancellor, Gerhard Schr�der, could be immense." The report concludes that "Much depends on whether Mr Schr�der has genuinely impressed Germans with his handling of the crisis or merely done what they expect of those in charge. For a few days, the dire state of the German economy, hitherto the dominant theme of the election, has scarcely been discussed. Mr Stoiber will be trying to ensure that the respite does not last."
The Eastern European economies, which are preparing for entry into the European Union, have also become far more competitive as they adopt western standards and skills. As a result German auto manufacturers have moved production into countries like The Czech Republic, and also into Spain. One effect of the adoption of the Euro by much of continental Europe has been to remove previous concerns about interest and exchange rate variations, thus encouraging the movement of manufacturing work from high cost economies like Germany into Eastern and Southern Europe. The International Herald Tribute reported 25 March 2002 that "The euro now lays bare comparative wage costs across Europe, which will inevitably lead to greater competition among workers, economists say. Already German manufacturing jobs have migrated to Portugal, where metal-industry workers work longer hours and are paid less than a third of what their rivals get in Germany, according to the West European Metal Trades Employers Organization."
The Daily Telegraph 10 October 2002 reported that, "The German economy went into red alert yesterday as investors again sold out of the stock market, sending the Dax to a fresh six-year low."
"'There is still no sign of the much hoped for upswing in the economy in the next year,'said Professor Wolfgang Franz of the ZEW, or Centre for European Economic Research. 'The risks for a renewed downturn have increased'".
Neil Collins also reported in The Daily Telegraph 10 October 2002 that the "Euro looks too heavy a burden for even the great German engine to bear". The report notes that "Last week the country's second-biggest bank, Dresdner, revealed plans to split itself into a "good bank" and a "bad bank", with all its non-performing loans dumped in the latter, to see what can be salvaged from the wreckage." and that, "Underlying all this is the political stalemate which makes the reform of its constipated labour market unlikely, and the possibility (to put it no higher) that Germany will breach the Stability and Growth Pact, which is designed to protect the euro."
The Daily Telegraph 12 October 2002 reported that, "The solid belief that the German economy could easily survive a crisis has gone, replaced by deep-seated uncertainty and fear. Germans had accepted that many certainties associated with the Mighty Mark were to depart along with the change to the euro. But the figleaf of confidence has slipped, revealing the huge burden of rebuilding the east, a failed construction industry and a labour market often described by commentators as 'constipated'".
"The many problematic strands of the economy came together in the recent closure of its Neuer Markt, a new technologies stock exchange described as Germany's answer to the Nasdaq."
See also a discussion of the Euro Stability Pact on the Portugal page.
German technology companies have been successful in some industries, such as software, but they have yet to achieve sufficient sales to outweigh jobs losses in other sectors of the economy. There are surprising success stories and that the International Herald Tribute [IHT] reported 25 June 2002 that "Dresden's technology companies, the backbone of the local economy, added jobs by the hundreds and lured fresh investment throughout a downturn". The IHT also reported on the same day [25 June] that the Rhine-Neckar region, in the northwestern corner of Baden-W�rttemberg, "is home to European-league life science and IT clusters." and " ranks first in the world in the imaging industry, which creates the systems creating everything read in print." SAP (Walldorf) and Lion Bioscience AG (Heidelberg) are located in the region as is Mannheim-based Febit AG which was named Germany�s �start-up of the year� by WirtschaftsWoche, the business weekly in February 2002.
I know from experience that setting up a business in Germany is extremely bureaucratic, and that the process involves many documents witnessed by public notaries, a profession that thrives in Germany. Some of the more obvious follies have been removed, I understand that it is no longer the case that you have to spend hundreds of Euros/Dollars having someone check your phone line before you can install a fax machine. German is also a country that loves rules and regulations (the US can also be rather like this for a foreign visitor, especially when dealing with the police). When you jay-walk the German public will try to stop you. Rules govern many aspects of people's lives, in ways that foreigners rarely understand. Your neighbors are more than capable of reporting your failures to comply with regulations to the authorities. There is a bureaucratic attitude in many central European countries which is reflected in Kafka's novels, the individual has historically been a subject of the state, the rights of individuals to be governed by their own representatives is a relatively recent phenomena. It could be argued that the influence of Napoleon can still be found today in the countries governed by the French during the Napoleonic Wars. The European Union exhibits many of the characteristics of the central European bureaucratic tradition, where the exercise of power is not immediately accountable to democratic institutions, and it is this which is partly responsible for it being distrusted by many people in Britain and Scandinavia. Democracy in Europe by Larry Siedentop sets out the arguments for liberal democracy in Europe.
The International Herald Tribune reported 10 September 2002 that "the performance rankings suggest that Germany's most specific problems - one of the European Union's lowest rates of economic growth, high debt and deficit, and a bottom rung in the EU for unemployment - are ultimately difficult to solve because they have their roots in a society that is uncomfortable with and resistant to change." "In the 2002 World Competitiveness ratings, compiled by the Lausanne-based Institute for International Management Development, Germany ranked 47th out of 49 major countries when it came to flexibility and adaptability. It placed 15th in overall competitiveness, but in terms of the business community's trust in any German government's capacity to adapt to economic developments, it was 46th." "Without growth (Germany's expansion is estimated by the Bundesbank at 0.5 percent for 2002) and new jobs, the country cannot sustain its already deeply indebted health, pension and social services system. Because of Germany's low birth rate, one projection for the year 2040 puts an implosion of the system in sight with more than half the population at over age 55."
Modern Germany is of course a Federal State, and delegates real power to its local institutions, but the traditions of power in any country are deeply rooted in its culture. Germany consists of 16 Bundesl�nder (federal states), each of which has its own sovereign powers and Constitution, although the latter must be consistent with the principles set out in the Basic Law (1949). The division of Germany into four zones of occupation in 1945 was reversed in two stages, firstly the American, British and French zones were merged to form the new country of West Germany (The Federal Republic of Germany) in 1949, and finally the old Russian zone, which became East Germany (the German Democratic Republic), rejoined the rest of Germany in 1990. The Allies undertook a massive program of reeducation of ex-Nazis after World War II and German institutions were completely remodelled by the Allies. The British, who elected a Labour Government in 1945, had a lasting influence on matters like the role of labor unions.
Germany surrendered unconditionally in 1945 and the remodelling of Germany by the Western Allies was designed to introduce democratic accountability into the German political system and to make it impossible for another Nazi regime to ever come to power. The Allies were so concerned about the potential danger of Germany that for a time the reduction of Germany to a rural State with no industry was considered during the Second World War. The rise of the Iron Curtain and the start of the Cold War did much to ensure the reintegration of West Germany into international institutions, including its membership of NATO. The generosity of the US Government in creating the Marshall Plan did much to enable the reconstruction of West Germany after the War. Germany is extremely interesting to the student of modern history, not only because of the lessons of the Nazi era, but because Germany is a society which was "remodelled" in an enormous social experiment. The interaction of the "New Germany" with German culture is therefore fascinating. It is also clear that the experiment has worked.
Germany was a founder member of the EEC, now the European Union and has been a strong supporter of the growth of European institutions, Germany has also been the greatest contributor to the EU budget, although there is now a reluctance to increase its financial burdens. Germany has traditonally favored a Federal system for Europe, a Super-State, which mirrors the German constitution. The German public has also historically been very pro-Europe. Germany has now adopted the Euro currency, giving up its strong DMark. In 2002 problems with the European Stability Pact between Euro members and price rises associated with the introduction of Euro notes and coins have given rise to some concerns in Germany. The east-ward expansion of the European Union, with the addition of low-wage economies like Poland have also caused concerns within the country. The European Union is critical for Germany in a way that it is not for countries like the UK, France and Spain, who are still focused on their own countries' role in the World, in many ways Germany has tried instead to work through the EU. In the same way German citizens have been more ready than people from some other EU countries to identify themselves with "Europe" and European ideals; this differs greatly from the British view of the EU, for example, the British still talk of "going to Europe", as if it were three thousand miles away. The German Foreign Office Web Site, states that, "Following centuries of bloody conflicts between neighbours, overcoming nationalism by integrating states and interests has given Europe an unprecedented period of peace, prosperity and stability. That is why the completion of European integration remains the main focus of German foreign policy."
Germany is now facing a period of change in its relationship with the World (the deployment of troops in Afghanistan and Kosovo on active service marks a major change in Germany's role in the world) and a realignment of political forces within Europe; for a country that is so attached to stability this is potentially troublesome. The expansion of the EU may make that organization even more difficult to control and the threat of a bureaucratic Europe will alienate electors in the EU. The Euro currency remains an experiment which may still fail, there is no strong authority at the center with the power to regulate all the economies of the Euro-Zone, problems in Portugal may be the forerunner of larger issues. The Arab (or Chinese) curse, "May you live in interesting times", may be Germany's future.
The Guardian 19 September 2002 reported that "Justice Minister Herta Daeubler-Gmelin told a small group of labor union members on Wednesday that Bush was going after Iraq to divert attention from domestic problems. ``That's a popular method. Even Hitler did that,'' the German newspaper, Schwaebisches Tagblatt, quoted her as saying. The minister called the report misleading but did not deny the remarks."
The New York Times 21 September 2002 reported that, "Justice Minister Herta Daeubler-Gmelin still faces calls to quit and charges from Bush's national security adviser Condoleezza Rice that U.S.-German relations have been "poisoned.'' The row over relations with Washington sidelined other election issues such as high unemployment and the state of what is Europe's largest economy."
Germany is, in the main, a rich and attractive country. There is a wealth of interesting small towns, which are clean and well-looked after; but there are often seedy areas. Public transport works well, is reliable and frequent, the highway system is excellent, but the lack of a speed limit on autobahns can cause panic in foreign drivers, who do not expect to be nearly rammed by a Mercedes traveling at 150 mph. Food is excellent, but often not good for your diet-plan; the beers and wine are first class. Shops keep restricted hours by law, though there has been some relaxation. Most stores do not open late, and weekend opening is limited.
Western Germans still tend to look down on East Germans. There are also many Turks living in Germany and most do not have German citizenship, they are "guest workers" bought in from the 1950s to work in industry.
In business matters the Germans are very polite, but formalities are very important, as is status, they may expect deference as a result of their status. Be careful to use surnames, and show them respect, don't be too friendly, in contrast to the States. Their cards will list all their qualifications. German organizations are also normally strictly hierarchical, keep this in mind and don't tread on any toes. Humor is not the ice-breaker that it is in the UK and US, you will hear their stories after business over a beer. Germans are very proud of their country, unlike some nations (e.g. the Brits) they do not go in for critical comments about the way things are run. It's a good idea to remark on the quality of German products and the other things you like about the country, in the words of John Cleese, "don't mention the war." Don't be casual in your dealings, be serious and well-prepared, be thorough and explain everything in detail, make sure that you are well-prepared before your trip. Apologise if you make a mistake.
Although Berlin is the only really large city in Germany most Germans live in towns, often in apartments rather than in houses, and many still rent their homes, rather than buy. Cars are therefore important status symbols.
If invited to a German home remember to take flowers, this will be expected. Most Germans understand some English and most business people speak excellent English, however politeness means that you should at least attempt some German. Germans hate being kept waiting, they have strict views of time-keeping and this can be a problem for them when dealing with other cultures, particularly in the Middle East. Germans are normally excellent people to do business with, they value clarity and are happy to define exactly what is to be delivered, and they will normally take time to examine matters in sufficient detail. German businessmen can also be too blunt for their own good, diplomacy is not always their strongest card; this can result in problems for those from different cultures, who may see this as rudeness, but avoid being equally blunt if at all possible.
Finally don't ignore the Green element in German life. Recycling is an important issue for Germans, there are separate waste bins for different types of trash, the Green Party is a real political force, the Germans are really concerned about the environment. The paradox is that this is a country with no speed limits on autobahns and where much of the carefully graded trash is still not recycled. The concerns are rooted in traditional German concerns for the countryside and love of the mountains and nature, it is also an area which is not linked to other political issues. Protests over issues like nuclear power have seen violent protests in Germany. If your company has any environmental concerns, or may be be seen as a polluter, exercise great care, Shell Oil has had real problems over the issue of disposal of North Sea oil platforms, for example and German Greenpeace is currently attacking Esso (ExxonMobil). ExxonMobil, is suing Greenpeace over this issue. There is currently no information on ExxonMobil's Web Site concerning this action.
GM crops are also a big issue, as they are across Northern Europe. Lycos reported 11 June 2002 that "The German Government has unveiled plans for massive development of offshore wind power to help the country reconcile its climate protection goals with its nuclear phaseout policy."


PC-09: The Wizard of Cos placed 3rd in the PC Demo competition at Revision 2014.
The first ideas for the latest PandaCube Demo were bounced forth and back in the fall of 2013. But the actual Storyboard only got created in the end of January 2014. Proper production started mid-February 2014 and the bulk of the Demo was created in about 10 weeks. Like in the previous years we ran massively out of time and ended up working on the demo right up to the deadline at the Revision party.
The first idea for this demo was a very different one to the one we went with: originally we were going for a metallic and shiny demo with a completely different atmosphere. However, we were concerned as some core tech we would need, was not present when we started (for example in engine cube map generation). This and the other effects we wanted to do, would mean a lot of required code work for GRX. So instead, we decided to do something we had not really done yet: a fantasy style wizard's tower (we moved away from the "tower" aspect quickly in the process).
By the end of January Zonbie had built a storyboard and we decided on initial timings for Response to use for the music sync. We had met Response of Darklite a couple of years back, but at Solskogen 2013 Response offered to make the soundtrack for our next demo. As we really liked his music we were happy to have him contribute to this year's PandaCube demo. A few weeks after we sent the storyboard to Response, he gave us an early version of the soundtrack. This allowed us to nail down the timings of the scene transitions so that they fit to the music. The first iteration of the music for scene 5 (credits) was a bit too dark and depressing and got replaced by the music that made it into the final version. Response was polishing the music right up to the Easter weekend. The Soundtrack was made using FLStudio with a combination of samples and VST's. Using a macro, Response exported out a midi version of the tune with each rendering. This was very useful for exact timings (for sync) and the integration of the tune into the demo. By the end of the production the tune had been exported 59 times with both midi and mp3.
The storyboard was built on a simple idea involving a wizard who miscast a spell. There were some elements that changed during production, notably scene 4, which was rebuilt as the original idea did not really work. Scene 4 went from floating tiles to a floating platform with chains, as the floating tiles ended up looking too sparse and uninteresting.
Both, scene 1 and 5, were originally planned to only contain the book, but needed some more work as they were too boring by themselves. So scene 1 got its own room and scene 5 got a floating platform chamber.
For every big PandaCube demo we go back to the production of the last demo and look at framework deficits that became apparent. We identified that our framework is fairly flexible but the iteration times were pretty slow. For PC-09 we wanted to decrease loading times and make in-engine changes instantaneous. Up to this point all PandaCube demos had been single threaded. This was not a huge deal, as we were most of the time GPU bound and any parallelization on the CPU side would lead to little performance gain. With the addition of Hugin as a second Programmer to the PandaCube group, we had some additional code resources to spend on framework improvements. Hugin implemented the threading abstraction layer, which was then used to multi thread all texture and model loading. This improved the loading times from 60 seconds to 20 seconds in Debug. For further improvements we decided to dodge the expensive xml parsing code from our Collada loader by implementing a serialization / deserialization scheme for model resources. On first load we serialize down to the hard drive the loaded Collada model. Any subsequent load would directly load the serialized binary. This made it possible to reduce the final loading times to less than 2 seconds.
From the very beginning the PandaCube framework supported to automatically load text based interpolation files that represent cubic b splines or linear interpolations. These files had to be edited by hand in a text editor and then reloaded by pressing a button while running the demo. This made adjusting values like the Depth of Field focus plane a time intensive and error prone task. To improve our iteration times we decided to implement a 2D interpolation editor that would reside in a second window on screen.
For this to work, the rendering window needed to support ad-hoc resizing. The added benefit we got out of this change was the support of high resolution screenshots that upscale the rendering device to resolutions higher than the current screen resolution, rendering one frame of the demo and then saving the back buffer to a png file on disk. The maximum resolution is theoretically 16K x 16K but the limiting factor will in most cases be the available GPU memory. Currently our high res Screenshots are saved out in 8K x 4K resolution.
The 2D Interpolation Editor allows us to change any interpolation currently loaded in an immediate way: the change to the spline in the editor directly affects the rendering of the Demo in the primary window. Adding and removing points to the Interpolation by simply clicking in the display part of the Editor improved spline creation times dramatically. We added some extra support for the creation of new cameras from scratch. It allowed to create a camera on a linear path from a start to an end point. In a second step we would move the pre-positioned points into a nice curve using our in-engine positioning tools. The initial pass on creating all the cameras for PC-09 took only one afternoon. This is down from about 2 days for the PC-07 demo.
In addition to the load time improvements, the addition of the 2D Spline Editor was the biggest workflow improvement. What took way too long during the production of PC-07 and PC-08 (animating lights, object position animation, lighting) took no time in comparison for this demo. In fact, without the spline tool we would not have been able to release this demo in time. Depth of field was something that took a long time before, now a pass on the whole demo took about an hour.
The spline editor allowed moving through the scene fast and finding the exact time when to change a certain value. Time stamps can be easily added and removed to our interpolations, making it fast to do anything from animating lights and FX to changing fog and tweaking the positions of props. The Editor allowed for experimentation, something that in previous demos was very time consuming.
One of the main requirements from the art side was a lot of books. In the first three scenes they are a frequent prop. To build them, a mask shader was used to mask in the etchings and any text on them. This meant adding a few more triangles per book, but we were able to reduce the draw calls to only two – one for the "paper sides" of the book pages and another for the hardcover.
Four book types were made, including a higher poly book for the page turning prop. This was built and textured by Zonbie, then skinned and animated by Tarcus. The high poly prop used the same shader setup as the other books. Geekchicalex made the illustrations to accompany the text in scene 1 and 5. Illustrations and text use the same mask texture.
A fun part was coming up with suitable book titles and "authors" for the greetings scene in the library. Because of the mask technique it was very easy to change and modify the book titles. Memory wise it was not too expensive either. For most textures we use the PNG texture format. The engine uses DirectX loading routines and therefore supports all the standard texture formats including DXT compressed DDS textures. For textures with little variation in them the PNG textures tend to be smaller than the DXT compressed equivalents. In regards to textures we are normally more concerned about the disk footprint than the allocated memory as we target primarily the high end compo machines as platform. A handful of small features have been added to the rendering framework for this production. We changed our specular lighting model to Blinn-Phong, which results in more ellipse formed specular lobes. We replaced the old DirectX 10 Math library with the SIMD optimized DirectX Math library that ships with DirectX 11. The transition took way more time than expected, as it was not a straight forward search and replace. A couple of new errors got introduced during the replacement that broke for example the skinned animation pipeline. Overall the replacement took over a week (including the bug fixes) but resulted in a small performance gain. Another smaller addition is the possibility to place markers within the Demo that allow the creation of cube maps rendered out from the Demo. This way, many cube maps with different resolutions can be placed around the scene. Each cube map has its own life time and radius of influence. Up to 8 cube maps can be active at the same time. When a shader wants to sample the environment map, it evaluates, which of the up to 8 cube maps influence spheres cover the current world position. The closest cube map will then be sampled. One of the 8 cube maps serves as default cube map, which will be used, if none of the other covers the current position. This allowed Zonbie to use reflective materials where appropriate. As the cube maps were rendered by the engine, they were very accurate. They could be switched out during playback, when for example the lighting had changed dramatically. All materials of PC-09 had some degree of reflectivity.
It took Zonbie a week to have all scene geometry built and another week to get most of the modelling work done. Most time is usually spent on polish, however all the scenes were up and running quickly. He then does texturing, material setup and mask blending after the basic setup is done. Any Ambient Occlusion baking happens near the end of the deadline, when the geometry will not change anymore.
Building the scene is a quite quick process now, with low-poly placeholder geometry in the correct size and layout coming in early. These placeholders then get replaced with final geometry one after the other. This allows for other demo elements (like camera paths) to be built in parallel.
TWL built a set of nice dribbly candles that were used in every scene besides scene 4. Each candle was built as a high poly model that was used to bake down a normal map for a lower poly version used in the demo. For the candle flame TTT created an animated texture effect. Two textures with 64 animation steps each were used: One for the ignition sequence in scene 1 and a looping texture that was used for every candle flame. We used different starting offsets for each flame to make the reuse less apparent.
The portrait painting in scene 2 was speed painted by Zonbie in a fairly low resolution. A second "evil" version was then made and we used a mask to blend them over time. The mask defines which areas get blended first and which areas switch at the end of the transition period.
We have had color grading before in our demos (it was first implemented for PC-06), however it has been underused since then. So for PC-09 we used the color grading to push the dynamic range up (as well as gamma) to help show darker parts of a scene better on a projector. For Scene 5 and even Scene 4, the color grading was also used to great effect to tint the scene with a slight color bias, green for example in Scene 5.
One of the main new rendering effects for PC-09 is an order independent transparency effect. It allows for up to 32 overlapping alpha transparent triangles that do not need to be sorted before rendering. The algorithm is based on per pixel linked lists that use Structured Unordered Access Buffers. Each of the per-pixel linked lists get sorted in a final full screen pass and then normally alpha blended back-to-front. These new structured buffers allow scatter writes between the different thread groups that work on the rasterized fragments.
Unfortunately this new feature of DirectX 11 is not very well supported by tools like AMD's GPUPerfStudio or Intel's GPA, which makes debugging of effects based on it quite difficult (writing to these buffers is not as easy to debug as normal render target writes). All glitches and graphical corruptions of the party version seem to be caused by a buggy implementation (by GRX) of these per pixel linked lists.
The second big rendering effect is a (theoretically) pixel perfect meta ball effect that can render huge amounts of meta balls at the same time. Similarly to the order independent transparency effect, it is based on per pixel linked lists. It is based on the paper "Real-Time Metaball Ray Casting with Fragment Lists" by "L. Szécsi and D. Illés" from 2012. Each meta ball is represented by a position and a radius of maximum influence. For each meta ball a quad is rendered to the screen. The applied shader writes out a depth value that adjusts it to a sphere, discarding any pixels that do not intersect with the influence sphere. Any pixels that do not get discarded, calculate their distances along the ray from the camera position to the fragment getting rendered: entry point, mid-point (highest influence) and exit point of the influence sphere. These triplets are stored in the per-pixel linked lists. In the final full screen quad pass, the individual values from the triplets of the per-pixel linked lists get sorted along the view ray. The values effectively segment the view ray. For each of the segments a cubic function is defined and solved, to check if an intersection with the meta ball has been found. This description is only a simplified version of the full algorithm; check the paper, if you want to find out more about it. It turned out, that GRX had underestimated the amount of work that goes into the implementation of this effect. It took 9 days to implement this algorithm and we only got it working (with glitches) one day before the Revision party started.
Because the iteration times are quite huge for shader changes, we were not able to debug these effects during the Revision party (on our less powerful Laptops). This seems to be the most pressing deficit of the PandaCube framework at the current time. We plan to implement a new shader system in the near future.
For the 4th scene of the PC-09 demo, we wanted to have a flock simulation to drive the black meta balls that are flying around in the background. A simple boids simulation was implemented that makes each individual flock follow a target that is animated by a spline. The simulation is run at an update rate of 120 steps / second to prevent a low rendering frame rate to affect the visual end result. The whole simulation only got added to the demo during the extensive party hacking at Revision. Unfortunately we were running out of time and the boids simulation did not get the proper tweaking of all the variables. This resulted in too fast moving meta balls that look like bouncing around a moving target. I hope to improve this for the final version that we want to release a couple of weeks after Revision.


text:
July 2, 2018 ternopilinkling
Wimbledon snubs Evert push for women's final to top bill
Wimbledon on Monday slapped down Chris Evert's suggestion that the women's final should replace the men's title match in closing the championships.
Evert, 63, who won 18 Grand Slam singles titles, including three at Wimbledon, said the women's final could close the show at the All England Club, saying the current set-up, with the men's final always on the last day, was "definitely not equal".
But Wimbledon chief executive Richard Lewis said the schedule was not about to budge.
The men's champion opens proceedings on Centre Court on the first Monday, with the women's champion up first on the 15,000-seater showcourt on Tuesday.
The women's final is played on the second Saturday, with the men's final on the second Sunday.
Evert told The Times newspaper that the tradition of having the men's final close the championships was a throwback to a time when women were "second-class citizens".
"I think it could change. In a lot of ways, it's a mirror of the world. It's still a man's world," the American said.
"It's definitely not equal right now and this is the time that we are having more and more conversations about equality.
"Wimbledon are very traditional and historical. They are not going to make any radical change at this point and put the men on Saturday and the women on Sunday."
But Lewis highlighted that women have their own dedicated days from the last eight onwards at the All England Club.
"There's a long history and tradition of the men's singles champion opening at 1:00pm on Centre Court on Monday and the focus on the ladies' singles champion starting on Tuesday. We think it works very well," he told reporters.
"We've always been very proud of having standalone quarter-finals, semi-finals and finals in the ladies' singles. We think that gives a great focus on the ladies' singles."
All four Grand Slams — Wimbledon and the Australian, French and US Opens — have pay parity for men and women and end with the women's final on a Saturday and the men's on a Sunday.
Previous Govt imposes tax for using Facebook, WhatsApp, others
Next All oil exports suspended from Libya's east –National firm
Co2 welding,mig weldining,boiler maker training in Germiston high road
Govt imposes tax for using Facebook, WhatsApp, others
Many Ugandans were on Sunday unable to access social media…

redpajama_set_name: RedPajamaCommonCrawl


only when we thought we had shed adequate light on the topic of renting a vehicle in Costa Rica to avoid travellers' panic and regret (via our related blogs, or, blogging books instead: if you Rent A Car For Your Costa Rica Trip and ), an increase when you look at the number of emails we have gotten lately that concern the act of decreasing component CDW insurance reveals confusion and issue throughout the vacation neighborhood of a whole new type. Ah, auto insurance. Enjoy right back. We (have certainly maybe not) missed you.
Travellers, when you yourself have made your way to the page looking information regarding the different kinds of automobile leasing insurance coverage available alongside a motor vehicle leasing in Costa Rica including an in depth explanation of "mandatory" tenant insurance please begin to see the "just take An Aspirin the unavoidable Headache you may be planning to Get, Then Study Up On your automobile Rental Insurance Material" portion of our blog post when it comes to response(s) you're in search of. For anyone that are seeking information particularly regarding the work of decreasing part CDW required insurance coverage in favour of credit card insurance plan, you've visited the proper location.
Suggestion: If you plan to decrease part insurance through your plumped for car rental agency (assuming this might be possible along with the proof to achieve this), be sure you plainly comprehend the repercussions for this option. Many travellers will leap at the opportunity to decrease part insurance to conserve a few dollars per leasing day (cash could be maleficent!), though the decision could transform other details related to the rental, like the local rental contract's fine print (ie. the kind and level of coverage offered), use of local rental discounts, vehicle rental deposit amounts, needed action(s) to be taken upon accident/theft, and/or the documents and procedure expected to make a claim.
Today let me ask you to answer this: if we supplied you one of two options, either A) a 10-day visit to Costa Rica for $1000 at a 5percent rebate, or B) a 10-day trip for $2000 at a 15percent discount, which would you select if you were wanting to spend least sum of money on a vacation? The clear answer is obvious, right? Despite the better rebate portion supplied via option B, choice A is the lowest priced travel overall. It's a relief that you think so also, because we could just believe that the majority of travellers who give consideration to declining part CDW insurance whenever leasing a car in Costa Rica disagree, because most find yourself investing more cash overall as they are swept off their particular feet because of the appeal of a significantly better offer. We cannot say we blame these types of travellers however, as we maintain (once we have touched in throughout our related Costa Rica car leasing blog posts) that the area of automobile rentals, within the better world of Costa Rica travel preparation, is an ambiguous the one that travellers most useful tread through gently. Numerous car rental "deals" tend to be since booby-trapped as a scene from Indiana Jones.
To reduce to the chase, about Costa Rica automobile rentals, what we also assume usually many travellers merely desire to avoid getting scammed, in addition to saving money when and nonetheless they can. Basically. Understanding our recommendation to achieve this? Opt not to decrease component CDW insurance if/when you decide to hire your vehicle right here. Why? In order to prevent falling for discounts provided by other businesses much like choice B described when you look at the instance above. Just because an offer is apparently a beneficial one doesn't mean it can benefit you save your self much more ultimately.
Is-it Economical Overall To Decrease Role CDW Insurance?
In Costa Rica (and based on our favored vehicle leasing company), the portion of the CDW insurance which "not required" is necessary inside sense that a renter will need to have it so that you can rent a vehicle in the united kingdom, nonetheless it is not needed to-be purchased through a Costa Rican vehicle rental company provided that the renter can show proof of protection obtained elsewhere. This is exactly why, some will believe the insurance coverage is necessary in sense that someone need it being lease a car (this is certainly proper) although other people will believe its purchase is mandatory through a Costa Rican car rental agency (this really is incorrect). The part of CDW insurance that's "not required" is typically supplied by travellers' bank card insurance (most travellers have this insurance unconsciously) if not through other insurance plan bought from home. Whenever travellers get a copy of proof of this insurance plan from their insurance/credit card provider (usually by means of a letter), which proof is then provided to an automobile rental company in Costa Rica, the traveller can choose from the portion of CDW insurance which "not mandatory" (in effect, even though the insurance is necessary to possess, it's not necessary to be purchased through vehicle rental agency in Costa Rica because it has already been presumed elsewhere). When travellers elect to take action, only the continuing to be "mandatory" portion of the CDW insurance coverage is needed to be purchased in Costa Rica.
You have to bring a document on headed report from your charge card lender as an evidence for insurance declination: coverage amount, types of cars, period of coverage, etc.
Spend special awareness of the 3rd point above. When travellers choose to lease their particular car here (as we recommend they are doing), if/when they choose to decline component CDW insurance they also forfeit their usage of reduced vehicle leasing prices. This pressures travellers into choosing 1 of 2 options: A) they could lease a vehicle for their trip at a discounted local rental rate plus the cost of CDW insurance coverage, or B) they are able to rent a vehicle with their trip at an everyday (non-discounted) local rental rate and decrease component CDW insurance coverage. If we asked you, once again, which alternative you'd choose if you were wanting to spend minimum amount of money on a holiday, how would you respond? Can you desire the option that appears to be the greatest bargain and/or choice providing you with you with the most affordable travel overall?
Getting back once again to the figures that evidence our claims, presuming a traveller would be to rent a BeGo 4X4 car for seven days during Costa Rica's high/dry/summer period, she or he could save yourself $85 by simply picking to not drop part CDW insurance. It's strictly mathematics.


text:
\section{System and problem definition} \label{sec:intro}

We consider a distributed antenna system (DAS) with $K$ user terminals (UTs) and  $L$ ``antenna terminals" (ATs).
All UTs and ATs have a single antenna each.
The ATs are connected with a central processor (CP) via wired links of fixed rate $R_{0}$.
We study the downlink scenario, where the CP wishes to deliver independent messages to the UTs.
This is a simple instance of a broadcast relay network, where the ATs operate as relays.
In this work we focus on the symmetric rate, i.e., all messages have the same rate
and assume that the CP and all UTs have perfect channel state information (more general results are provided in \cite{songnam2011DAS}).
If $R_{0} \rightarrow \infty$, the problem reduces to the well-known vector Gaussian broadcast channel, the capacity region of which is achieved by
Dirty Paper Coding (DPC). However, for fixed finite $R_{0}$, DPC and other widely considered linear precoding schemes cannot be applied
in a straightforward manner. A simple DAS system, the so-called Soft-Handoff model, was investigated in \cite{simeone2009downlink},
by introducing a ``compressed" version of DPC (CDPC), where the CP performs joint DPC under per-antenna power constraint and then sends
the compressed (or quantized) codewords to the corresponding ATs via the wired links. While this scheme is expected to be near-optimal
for very large $R_{0}$, it is generally suboptimal at finite (possibly small) $R_{0}$. Also, DPC is notoriously difficult to be implemented in practice,
due to the nested lattice coding construction and lattice quantization steps involved (See for example \cite{Erez2005,bennatan2006superposition}).

Motivated by Compute-and-Forward (CoF) \cite{nazer2011compute} (or quantized compute-and-forward (QCoF) \cite{songnam2011compute}),
we propose a novel coding strategy named Reverse QCoF (RQCoF) for the DAS downlink with finite backhaul link capacity $R_{0}$.
In QCoF and RQCoF the coding block length $n$ can be arbitrarily large but
the shaping block length is restricted to 1 (scalar quantization \cite{songnam2011compute}).
However, we would like to point out that the same approach can be straightforwardly applied to
CoF based schemes, where also the shaping dimension becomes large (in this case, we would refer to the scheme as Reverse CoF (RCoF)).

\subsection{Overview of QCoF}\label{sec:QCoF}

Let $\mbox{\bb Z}_{p} = \mbox{\bb Z} \mod p\mbox{\bb Z}$ denote the finite field of size $p$, with $p$ a prime number, $\oplus$ denote addition
over $\mbox{\bb Z}_p$, and $g : \mbox{\bb Z}_p \rightarrow \mbox{\bb R}$ be the natural mapping of the elements of $\mbox{\bb Z}_p$ onto $\{0,1,...,p-1\} \subset \mbox{\bb R}$.
For a lattice $\Lambda$, let $Q_{\Lambda}({\bf x}) = {\rm argmin}_{\hbox{\boldmath$\lambda$} \in \Lambda} \{  \| {\bf x} - \hbox{\boldmath$\lambda$}\| \}$ denote the associated lattice quantizer,
${\cal V} = \{ {\bf x} \in \mbox{\bb R}^n : Q_\Lambda({\bf x}) = {\bf 0}\}$ the Voronoi region and define
$[{\bf x} ] \mod \Lambda =  {\bf x} - Q_{\Lambda}({\bf x})$.
For $\kappa \in \mbox{\bb R}$, consider the two nested one-dimensional lattices
$\Lambda_s  =  \{x = \kappa p z: z \in \mbox{\bb Z}\}$ and $\Lambda_c   =  \{x = \kappa z: z \in \mbox{\bb Z}\}$,
and define the {\em constellation set} ${\cal S} \triangleq \Lambda_c \cap {\cal V}_s$,
where ${\cal V}_s$ is the {\em Voronoi region} of $\Lambda_s$, i.e., the interval $[-\kappa p/2, \kappa p/2)$.
The {\em modulation mapping} $m : \mbox{\bb Z}_p \rightarrow {\cal S}$ is defined by
$v = m(u) \triangleq [\kappa g(u)] \mod \Lambda_s$. The inverse function $m^{-1}(\cdot)$ is referred to as the {\em demodulation mapping},
and it is given by  $u = m^{-1}(v) \triangleq g^{-1}( [ v/\kappa ]  \mod p \mbox{\bb Z})$ with $v \in {\cal S}$.

Consider the (real-valued) $L$-user Gaussian multiple access channel  with inputs $\{x_{\ell,i}: i=1,...,n\}$ for $\ell=1,...,L$, output $\{y_{i}:i=1,...,n\}$
and coefficients ${\bf h}=(h_{1},...,h_{L})^{{\sf T}} \in \mbox{\bb R}^{L}$, defined by
\begin{equation}
y_{i} = \sum_{i=1}^{L} h_{\ell}x_{\ell,i} + z_{i}, \;\; \hbox{ for } \;\; i=1,\ldots,n,
\end{equation}
where the $z_{i}$'s are i.i.d. $\sim {\cal N}(0,1)$. All users encode their information messages $\{{\bf w}_{\ell} \in \mbox{\bb Z}_{p}^{k}: \ell=1,\ldots,L\}$
using the same linear code ${\cal C}$ over $\mbox{\bb Z}_{p}$ (i.e., denoting information sequences and codewords by row vectors,
we have ${\bf c}_{\ell}= {\bf w}_{\ell} {\bf G}$ where ${\bf G}$ is a generator matrix for ${\cal C}$),
and produce their channel inputs according to
\begin{equation}\label{eq:channelinput}
x_{\ell,i} = [m(c_{\ell,i}) + d_{\ell,i}] \mod \Lambda_{s}, \;\;  i=1,\ldots,n,
\end{equation}
where $c_{\ell,i}$ is the $i$-th symbol of ${\bf c}_\ell$ and $d_{\ell,i}$'s are i.i.d. dithering symbols
$\sim \mbox{Uniform}({\cal V}_s)$, known at the receiver.
The channel inputs $x_{\ell,i}$ are uniformly distributed over ${\cal V}_s$ and have second moment
${\sf SNR} \triangleq \mbox{\bb E}[|x_{\ell,i}|^{2}] = \kappa^2 p^2 / 12$.
The receiver's goal is to recover a linear combination ${\bf c} = \bigoplus q_{\ell}{\bf c}_{\ell}$ of the transmitted users' codewords,
for some coefficients $q_{\ell} \in \mbox{\bb Z}_{p}$.
For this purpose, the receiver selects the \emph{integer coefficients vector} ${\bf a}= (a_{1},...,a_{L})^{{\sf T}} \in \mbox{\bb Z}^{L}$
and produces the sequence of quantized observations
\begin{equation}\label{eq:demo}
u_{i} =   m^{-1} \left ( \left [Q_{\Lambda_c} \left (\alpha y_{i} - {\bf a}^{{\sf T}}{\bf d}_{i} \right ) \right ] \mod \Lambda_s \right ),
\end{equation}
for $i=1, \ldots ,n$. It easy to show \cite{songnam2011compute} that (\ref{eq:demo}) is equivalent to
\begin{equation}\label{eq:model}
u_{i} = \Big( \bigoplus_{\ell=1}^{L} q_{\ell} c_{\ell,i} \Big) \oplus \tilde{z_{i}},
\end{equation}
with $q_{\ell} = g^{-1}([a_{\ell}] \mod p\mbox{\bb Z})$. Here, $\tilde{z_{i}} = m^{-1}([Q_{\Lambda_c}(\varepsilon)] \mod \Lambda_{s})$ where $\varepsilon$ denotes the effective noise, capturing a Gaussian additive noise and \emph{non-integer penalty},
and its variance \cite{songnam2011compute} is
\begin{equation}\label{eq:eff-variance}
\sigma_{\varepsilon}^2 = {\bf a}^{{\sf T}}({\sf SNR}^{-1}{\bf I} + {\bf h}\hv^{{\sf T}})^{-1}{\bf a}.
\end{equation}
By \cite[Th. 1]{songnam2011compute}, the achievable computation rate of QCoF is given by
\begin{equation}\label{QCoFrate}
R_{\texttt{\textrm{\tiny QCoF}}} = \log{p} - H(\tilde{z}).
\end{equation}
Also, by \cite[Th. 4]{nazer2011compute}, the achievable computation rate of CoF is given by
\begin{equation}\label{CoFrate}
R_{\texttt{\textrm{\tiny CoF}}}(\sigma_{\varepsilon}^2) = \frac{1}{2}\log({\sf SNR}/\sigma_{\varepsilon}^2).
\end{equation}
We showed in \cite{songnam2011compute} that, for fixed large ${\sf SNR} \gg 1$ and sufficiently large $p$ (e.g., $p \geq 251$), the
(\ref{QCoFrate}) and (\ref{CoFrate}) differ approximately by the shaping gain, i.e., $\approx 0.25$ bits per real dimension.

\begin{remark}
In order to achieve the CoF rate, $p$ must grow to infinity in the lattice construction and the rank of the system matrix ${\bf Q}$
is the same as the rank of ${\bf A}$ over $\mbox{\bb R}$, by \cite[Th. 11]{nazer2011compute}.
\end{remark}

\section{Reverse Quantized Compute-and-Forward}\label{sec:RQCoF}

The main idea is that each UT decodes a linear combination (over the finite field) of the messages sent by the ATs using QCoF.
In short, we exchange the role of the ATs and UTs and use QCoF in the reverse direction.
However, decoding linear combination of the information messages is useful only when these combinations can be shared such
that the individual messages can be recovered, provided that the resulting system of linear equations is invertible over $\mbox{\bb Z}_{p}$.
Since the UTs do not cooperate, sharing the decoded linear combinations is impossible in the downlink.
Nevertheless, thanks to algebraic structure of QCoF (or CoF), the messages from the ATs can be the precoded versions of the original information
messages and hence, using an appropriate invertible precoding over $\mbox{\bb Z}_{p}$ at the CP, the effect of the linear combination can be undone
at the transmitter, so that every UT obtains just its own desired message.
We present coding strategies considered in this work, assuming the $K = L$ and (real-valued) channel matrix
${\bf H} \in \mbox{\bb R}^{L \times L}$.
Let ${\bf Q}$ denote the system matrix whose elements in the $\ell$-th row, denoted by ${\bf q}_{\ell}^{{\sf T}}=(q_{\ell,1},...,q_{\ell,L})$,
indicate the coefficients of the linear combination decoded at the $\ell$-th UT as given in (\ref{eq:model}).
For the time being we assume that these matrices are full rank over $\mbox{\bb Z}_{p}$, although they may be rank deficient since each UT chooses
its own linear combination coefficients independently of the other nodes.
The case of rank deficiency will be handled later.
Let $\tilde{z}_{\ell}$ be the discrete additive noise (over $\mbox{\bb Z}_{p}$) at the $\ell$-th UT.
The detailed description of ``reverse" QCoF (RQCoF) is as follows.
\begin{itemize}
\item
For the given ${\bf Q}$, the CP precodes the user information messages $\{{\bf w}_{\ell} \in \mbox{\bb Z}_{p}^{k}:\ell=1,...,L\}$ using the inverse system
matrix ${\bf Q}^{-1}$. The precoded $L$-dimensional vectors of information symbols to be transmitted by the ATs are given by
\begin{equation} \label{precoded-messages}
(\mu_{1,i},...,\mu_{L,i})^{{\sf T}} = {\bf Q}^{-1}(w_{1,i},...,w_{L,i})^{{\sf T}}, \;\; \mbox{for} \;\; i=1,\ldots,k.
\end{equation}
\item The CP forwards each block $\hbox{\boldmath$\mu$}_{\ell}=(\mu_{\ell,1},...,\mu_{\ell,k})$ to the $\ell$-th AT, during $n$ time slots, corresponding
to the duration of a codeword sent on the wireless channel. Therefore, we have the rate constraint $(k/n) \log{p} \leq R_{0}$.
\item After receiving $k$ symbols, the $\ell$-th AT locally encodes its information symbols $\hbox{\boldmath$\mu$}_{\ell}$ using the same linear
code ${\cal C}$ over $\mbox{\bb Z}_{p}$ (i.e., ${\bf c}_{\ell} = \hbox{\boldmath$\mu$}_{\ell}{\bf G}$), and produces its channel input according to
\begin{equation}\label{eq:channelinput2}
x_{\ell,i} = [m(c_{\ell,i}) + d_{\ell,i}] \mod \Lambda_{s}, \;\; \hbox{ for } \;\; i=1,\ldots,n.
\end{equation}
\item By \cite[Th. 1]{songnam2011compute}, the $\ell$-th UT can recover a noiseless linear combination of \emph{ATs' information symbols} if $R \leq \log{p} - \max_{\ell}\{H(\tilde{z}_{\ell})\}$. This is given by
\begin{eqnarray}
{\bf q}_{\ell}^{{\sf T}}(\mu_{1,i},...,\mu_{L,i})^{{\sf T}} &=& {\bf q}_{\ell}^{{\sf T}}{\bf Q}^{-1}(w_{1,i},...,w_{L,i})^{{\sf T}} \nonumber \\
&=& w_{\ell,i}, \hbox{ for }\;\; i=1,\ldots,k. \nonumber \\
& & \label{eq:undone2}
\end{eqnarray}
Hence, the $\ell$-th UT can successfully recover its desired message.
\end{itemize}
The following rate is achievable by RQCoF:
\begin{equation}\label{eq:rateRQCoF}
R_{\texttt{\textrm{\tiny RQCoF}}} = \min\{R_{0},\log{p} - \max_{\ell}\{H(\tilde{z}_{\ell})\}.
\end{equation}
Similarly, from (\ref{CoFrate}), we can get an achievable rate per user of RCoF
\begin{equation}\label{eq:rateRCoF}
R_{\texttt{\textrm{\tiny RCoF}}} = \min\{R_{0},\min_{\ell}\{R_{\texttt{\textrm{\tiny CoF}}}(\sigma_{\varepsilon_{\ell}}^2)\}\}.
\end{equation} Finally, the achievable rate of RQCoF (or RCoF) is maximized by minimizing the variance of effective noise in (\ref{eq:eff-variance}) with respect to ${\bf A}$ subject to the system matrix ${\bf Q}$ is full rank over $\mbox{\bb Z}_{p}$. This problem was solved in \cite{songnam2011compute} using  the LLL algorithm\cite{lenstra1982factoring}, possibly followed by Phost or Schnorr-Euchner enumeration (See  \cite{schnorr1994lattice}) of the non-zero lattice points in a sphere centered at the origin, with radius equal to the shortest vector found by LLL.

\section{Compressed Integer-Forcing Beamforming}

In short, the idea underlying RQCoF is that each UT converts  its own downlink channel into a discrete additive-noise multiple access  channel
over $\mbox{\bb Z}_p$. Since each UT is interested only in its own message, the CP can precode the messages using zero-forcing linear precoding
over $\mbox{\bb Z}_p$, at no transmit power additional cost (unlike linear zero-forcing over $\mbox{\bb R}$).
It is known that the performance of CoF (and therefore QCoF) is quite sensitive to the channel coefficients,
due to the non-integer penalty, since the channel coefficients are not exactly matched to the integer coefficients of linear
combinations \cite{nazer2011compute,songnam2011compute}.
The same problem arises in RQCoF (or RCoF), due to their formal equivalence.
In \cite{Zhan2011IFLR}, it was shown that integer-forcing linear receiver (IFLR) can eliminate this penalty by forcing the effective
channel matrix to be integer. Here, we propose a new beamforming strategy named Integer-Forcing Beamforming (IFBF),
that produces a similar effect for the downlink.

We present the IFBF idea assuming $R_{0} = \infty$, as the dual scheme of IFLR, and consider finite $R_0$ later.
In IFBF, the beamforming vectors ${\bf W} = [{\bf w}_{1},...,{\bf w}_{L}]$ are chosen such that the effective channel matrix $\tilde{{\bf H}} = {\bf H}{\bf W}$ is integer-valued.
Then, the channel matrix is inverted over $\mbox{\bb Z}_q$ by using RQCoF, as previously presented. In this case, since
$\tilde{{\bf H}} \in \mbox{\bb Z}^{L \times L}$, RQCoF  does not suffer from the non-integer penalty.
Further, we extend IFBF to the case of finite $R_{0}$ by using quantization, as in done in \cite{simeone2009downlink},
where CP forwards the quantized sequences to the ATs for which the quantization noise is determined from standard rate-distortion theory bounds.
It is assumed that ${\bf H} \in \mbox{\bb R}^{L \times L}$ is full rank and the detailed description of IFBF is as follows.
For a given ${\bf A} \in \mbox{\bb Z}^{L \times L}$ (optimized later),  the CP uses the beamforming matrix ${\bf W} = {\bf H}^{-1}{\bf A}$
and the system matrix ${\bf Q} = [{\bf A}] \mbox{ mod } p\mbox{\bb Z}$ as in Section \ref{sec:QCoF}.

Assuming that ${\bf Q}$ is full rank over $\mbox{\bb Z}_{p}$,  the CP produces the downlink streams ${\bf x}_\ell=\{x_{\ell,i}:i=1,\ldots,n\}$, for $\ell = 1,\ldots, L$ as follows.
\begin{itemize}
\item
The CP precodes the user information messages $\{{\bf w}_{\ell} \in \mbox{\bb Z}_{p}^{k}:\ell=1,...,L\}$ using the inverse system
matrix ${\bf Q}^{-1}$:
\begin{equation} \label{precoded-messages2}
(\mu_{1,i},...,\mu_{L,i})^{{\sf T}} = {\bf Q}^{-1}(w_{1,i},...,w_{L,i})^{{\sf T}},
\end{equation} $\;\; \mbox{for} \;\; i=1,\ldots,k.$
\item The CP encodes the precoded information messages using the same linear code ${\cal C}$ over $\mbox{\bb Z}_{p}$  (i.e., ${\bf c}_{\ell} = \hbox{\boldmath$\mu$}_{\ell}{\bf G}$) and produces the downlink stream according to
\begin{equation}\label{eq:channelinput3}
x_{\ell,i} = [m(c_{\ell,i}) + d_{\ell,i}] \mod \Lambda_{s}, \;\; \hbox{ for } \;\; i=1,\ldots,n.
\end{equation}
\end{itemize}
Using the predefined ${\bf W}$, the CP produces the precoded channel inputs $\{v_{\ell,i}:i=1,\ldots,n\}$ using
\[  (v_{1,i}, \ldots, v_{L,i})^{\sf T} = {\bf W} (x_{1,i}, \ldots, x_{L,i})^{\sf T}, \;\; \mbox{for} \;\; i = 1,\ldots, n, \]
and forwards them to the ATs via the wired links.
Consistently with our system definition, we impose a per-antenna power constraint equal to ${\sf SNR}$ (with suitable normalization).
Hence, the second moment of $x_{\ell,i}$ is determined as
\begin{equation}
\mbox{\bb E}[|x_{\ell,i}|^{2}] = {\sf SNR}/\max_{\ell}\{\|{\bf H}^{-1}{\bf a}_{\ell}\|^2\},
\end{equation}
which guarantees that the power of the signal transmitted from the $\ell$-th AT has the required power
$\mbox{\bb E}[|v_{\ell,i}|^2] = {\sf SNR}$.  The received signal at the $\ell$-th UT is given by
\begin{equation}
y_{\ell,i} = {\bf a}_{\ell}^{{\sf T}} x_{\ell,i} + z_{\ell,i}, \;\; \mbox{for} \;\; i = 1, \ldots, n.
\end{equation}
Notice that thanks to the IFBF the non-integer penalty is equal to zero.
So, every UT can recover its desired messages by decoding the linear combination of ATs' messages with integer
coefficients ${\bf a}_{\ell}$ as shown in (\ref{eq:undone2}).
Finally, the achievable rate of IFBF with RQCoF can be obtained by numerically computing the entropy of discrete additive
noise over $\mbox{\bb Z}_{p}$ corresponding to effective noise $\varepsilon_{\ell} \sim {\cal N}(0,\max_{\ell}\{||{\bf H}^{-1}{\bf a}_{\ell}||^2\})$ where the
impact of power constraint is included in the effective noise. The following rate is achievable by IFBF with RQCoF:
\begin{equation}\label{rate:IFBF}
R_{\texttt{\textrm{\tiny IFBF}}}=\log{p} - \max_{\ell}\{H(\tilde{z}_{\ell})\}
\end{equation}for any full-rank matrix ${\bf Q}$, where $\tilde{z}_{\ell}=m^{-1}([Q_{\Lambda_c}(\varepsilon_{\ell})] \mod \Lambda_{s})$.
From (\ref{CoFrate}), the following rate is achievable by IFBF with RCoF:
\begin{equation}\label{rate:IFBF}
R_{\texttt{\textrm{\tiny IFBF}}}=\frac{1}{2} \log({\sf SNR}/\max_{\ell}\{||{\bf H}^{-1}{\bf a}_{\ell}||^2\})
\end{equation}for any full-rank integer matrix ${\bf A}$.

For the case of finite $R_{0}$, we propose a ``compressed" IFBF (CIFBF) where
the CP forwards the quantized channel inputs $\hat{v}_{\ell,i} = v_{\ell,i} + \hat{z}_{\ell,i}$ for $i=1,\ldots,n$, to the $\ell$-th AT,
where $\{\hat{z}_{\ell,i}:i=1,\ldots,n\}$ denotes the quantization noise sequence, with variance (quantization mean-square error) equal to
$\sigma_{\hat{z}}^{2}$.  From the standard rate-distortion theory, the CP can forward the $\{\hat{v}_{\ell,i}:i=1,...,n\}$ to the $\ell$-th AT if
\begin{equation}\label{eq:cond}
R_{0} \geq I(v_{\ell};\hat{v}_{\ell}),
\end{equation}
where the index $i$ is omitted for brevity.
Using the well-known maximum entropy argument on (\ref{eq:cond}) we have the bound
\begin{equation}\label{eq:bound}
I(v_{\ell};\hat{v}_{\ell}) \leq \frac{1}{2}\log({\sf SNR}/\sigma_{\hat{z}}^{2}).
\end{equation}
From (\ref{eq:cond}) and (\ref{eq:bound}), we obtain $\sigma_{\hat{z}}^2 = {\sf SNR}/2^{2R_{0}}$ and $\mbox{\bb E}[|v_{\ell,i}|^2] = {\sf SNR}/(1+1/(2^{2R_{0}}-1))$,
due to the power constraint.  Accordingly, we have
\begin{equation}
\mbox{\bb E}[|x_{\ell,i}|^2]={\sf SNR}/\max_{\ell}\{||{\bf H}^{-1}{\bf a}_{\ell}||^2\}(1+1/(2^{2R_{0}}-1)).
\end{equation}
Also, the effective noise at the $\ell$-th UT is given by
\begin{equation}
\varepsilon_{\ell,i} = z_{\ell,i} + \sum_{k=1}^{L}h_{\ell,k}\hat{z}_{k,i},
\end{equation}
where the second term captures the impact of quantization noise and its variance is
\begin{equation}
\sigma_{\varepsilon_{\ell}}^2 = 1+||{\bf h}_{\ell}||^2{\sf SNR}/2^{2R_{0}}.
\end{equation} Finally, the achievable rate of CIFBF with RQCoF can be obtained numerically computing the entropy of discrete additive noise over $\mbox{\bb Z}_{p}$ corresponding to the  effective noise $\varepsilon_{\ell}' \sim {\cal N}(0,\sigma_{\varepsilon_{\ell}'}^{2})$ where the impact of power constraint and quantization noise are included in the effective noise:
\begin{equation}
\sigma_{\varepsilon_{\ell}'}^{2} = \max_{\ell}\{||{\bf H}^{-1}{\bf a}_{\ell}||^2\}(1+(1+||{\bf h}_{\ell}||^2{\sf SNR})/(2^{2R_{0}}-1)).
\end{equation}  The following rate is achievable by CIFBF with RQCoF:
\begin{equation}\label{rate:IFBF}
R_{\texttt{\textrm{\tiny CIFBF}}}=\log{p} - \max_{\ell}\{H(\tilde{z}_{\ell})\}
\end{equation}for any full-rank matrix ${\bf Q}$, where $\tilde{z}_{\ell}=m^{-1}([Q_{\Lambda_c}(\varepsilon_{\ell}')] \mod \Lambda_{s})$. From the (\ref{CoFrate}), the following rate is achievable by CIFBF with RCoF:
\begin{equation*}
R_{\texttt{\textrm{\tiny CIFBF}}}= R_{\texttt{\textrm{\tiny IFBF}}} - \frac{1}{2}\max_{\ell}\{\log(1+(1+||{\bf h}_{\ell}||^2{\sf SNR})/(2^{2R_{0}}-1))\}
\end{equation*}
for any full-rank integer matrix ${\bf A}$.
Finally, the achievable rate is maximized by minimizing the $\max_{\ell}\{||{\bf H}^{-1}{\bf a}_{\ell}||^2\}$ subject to full-rank constraint. This problem can be thought of as finding  the $L$ linearly independent ``shortest lattice points" of the $L$-dimensional lattice generated by ${\bf H}^{-1}$. This can be efficiently obtained using the LLL algorithm \cite{lenstra1982factoring}. Specifically, for a given lattice $\Lambda$ defined by $\Lambda=\{x={\bf H}^{-1}{\bf z}: {\bf z} \in \mbox{\bb Z}^{L}\}$, a reduced basis of lattice is obtained through a unimodular matrix ${\bf U}$ such that $\Lambda=\{x={\bf H}^{-1}{\bf U}{\bf z}: {\bf z} \in \mbox{\bb Z}^{L}\}$. Let ${\bf F} = {\bf H}^{-1}{\bf U}$ generates the same lattice but has ``reduced" columns, i.e., the columns of ${\bf F}$ have small $2$-norm. The solution of the original problem can be chosen as ${\bf a}_{\ell} ={\bf u}_{\ell}$ where ${\bf u}_{\ell}$ denotes the $\ell$-th column of ${\bf U}$. While finding the optimal reduced basis for a lattice (e.g., finding the optimal ${\bf U}$) is an NP-hard problem, the LLL algorithm finds a good reduced basis with low-complexity \cite{lenstra1982factoring}.

\begin{remark} In CIFBF, relays (i.e., the distributed antenna elements) have very low-complexity and are oblivious
to codebooks since they just forward the received signals from CP, not requiring modulation and  encoding.
\end{remark}

\begin{remark} In terms of performance, it is worthwhile understand the impact of \emph{non-integer penalty} and \emph{quantization noise}
depending on parameters $R_{0}$, ${\sf SNR}$, and so on.
As $R_{0} \rightarrow \infty$, the effect of quantization noise vanishes and thus, CIFBF would be better than RCoF.
However, when $R_{0}$ is small, RCoF without beamforming may perform better than CIFBF since quantization noise would
be severe in this case.  A numerical result in a particular case is  provided in Fig.~\ref{simulation_downlink}.
\end{remark}

\section{Scheduling and Numerical Results}

For the sake of comparison with CDPC we consider the same Soft-Handoff model of \cite{simeone2009downlink},
with $L$ ATs and $L$ UTs for which the received signal at the $\ell$-th UT is given by
\begin{equation}
y_{\ell,i} = x_{\ell,i} + \gamma x_{\ell-1,i} + z_{\ell,i},
\end{equation}
where $\gamma \in [0,1]$ represents the inter-cell interference level and $z_{\ell,i} \sim {\cal C}{\cal N}(0,1)$.  The extension of results in previous sections to the (complex-valued) Soft-Handoff model is easy  and done in the usual way \cite{songnam2011DAS}.  In this example, thanks to the dual-diagonal structure of the channel matrix, the system matrix is guaranteed to have rank $L$.
In Fig.~\ref{simulation_downlink}, we compare various coding strategies where the upper bound and achievable rates for CDPC
are provided by \cite{simeone2009downlink}. It is remarkable that RCoF can achieve the upper bound when $R_{0} \leq 4$ bits and
outperforms the other schemes up to $R_{0} \approx 6$ bits.
Notice that when $\gamma=1$ (e.g., integer channel matrix), RCoF almost achieves the upper bound, showing better performance than other schemes.
Also, from the Fig.~\ref{simulation_DL}, we can see that RCoF is a good scheme when $R_{0}$ is small and SNR is high, i.e., small cell networks
with finite-backhaul capacity. Not surprisingly, RQCoF approaches the performance of RCoF
within the shaping loss of $\approx 0.25$ bits/symbol, as already noticed in the uplink case \cite{songnam2011compute}.

\begin{figure}
\centerline{\includegraphics[width=9cm]{simulation_downlinkf}}
\caption{${\sf SNR} = 20$dB. Achievable rates per user as a function of finite capacity $R_{0}$, for inter-cell interference
$\gamma \sim \mbox{Uniform}(0.5,1)$.}
\label{simulation_downlink}
\end{figure}

\begin{figure}
\centerline{\includegraphics[width=9cm]{simulation_wynerdl07}}
\caption{Achievable rates per user as a function of SNRs,
for finite capacity $R_{0}=2$ or $4$ bits, inter-cell interference level $\gamma = 0.7$, and $p=251$ for RQCoF.}
\label{simulation_DL}
\end{figure}

For the RQCoF, there would be a concern on rank-deficiency of system matrices ${\bf Q}$ in particular when $p$ is small,
since every UT selects its own linear combination coefficients independently of the other nodes.
This problem can be avoid by scheduling since it can select a group of UTs (or ATs) for which the system matrix is invertible.
In fact, this is a complex combinatorial optimization problem, which in some cases, can be formulated as the maximization of linear function
over matroid constraint \cite{edmonds1971matroids} and thus, greedy algorithm yields provably good performance.
The following is the example that greedy algorithm is optimal.
Consider a DAS system with  $K$ UTs and $L$ ATs where $K \geq L$ and we consider the user selection that finds the subset
of UTs to maximize the symmetric rate subject to full-rank constraint of system matrix.
Independently of the user selection algorithm, we can obtain the coefficients of the linear combination of the $k$-th UT
(e.g.,  $k$-th row of ${\bf Q}$) and  the variance of effective noise (i.e., $\sigma_{\varepsilon_{k}}^2$ for $k=1,\ldots,K$) that determines
the achievable rate, for the given ${\bf H} \in \mbox{\bb R}^{K \times L}$.
Let ${\cal K}$ be the subset of row indices $[1:K]$.
Also, let ${\bf Q}({\cal K})$ denote the submatrix of ${\bf Q}$ consisting of $k$-th rows for $k \in {\cal K}$.
Assuming that ${\bf Q}$ has rank $L$, the user selection problem of finding $L$ UTs  can be formulated as
\begin{eqnarray}
\underset{{\cal K} \subset [1:K]}{\operatornamewithlimits{arg\,min } } && \max\{\sigma_{\varepsilon_{k}}^2: k \in {\cal K}\}\label{eq:object}\\
\hbox{subject to}&& \hbox{Rank}_{p}({\bf Q}({\cal K})) = L\label{constraint}
\end{eqnarray}  We first give the definition of matroid and subsequently, show that the above problem  is equivalent to the maximization of linear function over matroid constraint. Matroids are structures that generalize the concept of linear independence for general sets. Formally, we have \cite{edmonds1971matroids}:
\begin{definition}\label{def:matroid} A matroid ${\cal M}$ is a tuple ${\cal M}=(\Omega,{\cal I})$,
where $\Omega$ is a finite ground set and ${\cal I} \subseteq 2^{\Omega}$ (the power set of $\Omega$)
is a collection of independent sets, such that:
\begin{enumerate}
\item ${\cal I}$ is nonempty, in particular, $\phi \in {\cal I}$
\item ${\cal I}$ is downward closed; i.e., if ${\cal Y} \in {\cal I}$ and ${\cal X} \subseteq {\cal Y}$, then ${\cal X} \in {\cal I}$
\item if ${\cal X},{\cal Y} \in {\cal I}$, and $|{\cal X}| < |{\cal Y}|$, then $\exists y \in {\cal Y}\setminus {\cal X}$ such that ${\cal X} \cup \{y\} \in {\cal I}$.
\end{enumerate}
\end{definition}
Let $\Omega=[1:K]$ and ${\cal I} =\{{\cal K} \subset [1:K] :{\bf Q}({\cal K}) \hbox{ has linearly independent rows}\}$.
From Definition \ref{def:matroid}, ${\cal M}=(\Omega,{\cal I})$ forms a so-called linear matroid. Then, the optimization problem (\ref{eq:object})-(\ref{constraint}) is equivalent to
\begin{eqnarray}
\underset{{\cal K} \subset [1:K]}{\operatornamewithlimits{arg\,max } } && \sum_{k \in {\cal K}} 1/\sigma_{\varepsilon_{k}}^2\\
\hbox{subject to}&& {\cal K} \in {\cal I}
\end{eqnarray}   This can be easily proved by the fact that ${\bf Q}$ has rank $L$ and constraint is matroid.  Rado and Edmonds proved that the Best-In-Greedy algorithm (See Algorithm $1$) finds an optimal solution  \cite{edmonds1971matroids}.   Detailed scheduling algorithms for various scenarios are omitted because of space limitation (See \cite{songnam2011DAS}).

\begin{algorithm}
\caption{Best-In-Greedy Algorithm}
\begin{description}
\item[Input: ] ${\cal M}=(\Omega,{\cal I})$ and $w_{k}=1/\sigma_{\varepsilon_{k}}^2$ for $k \in [1:K]$
\item[step 0. ] Sort $[1:K]$ such that $w_{1} \geq w_{2} \geq \cdots \geq w_{K}$
\item[] Initially $k=1$ and ${\cal K} = \phi$
\item[step 1. ] If $\mbox{Rank}_{p}({\bf Q}({\cal K} \cup \{k\})) > \mbox{Rank}_{p}({\bf Q}({\cal K}))$, then ${\cal K} \leftarrow {\cal K} \cup \{k\}$
\item[step 2. ] Set $k=k+1$
\item[step 3. ] Repeat until $\mbox{Rank}_{p}({\bf Q}({\cal K} )) = L$
\end{description}
\end{algorithm}

In Fig.~\ref{simulation_scheduling}, we consider a DAS with channel matrix ${\bf H} \in \mbox{\bb R}^{20 \times 5}$,  with i.i.d. Gaussian distributed elements $\sim {\cal N}(0,1)$.  In our simulation we assumed that if the resulting system matrix after greedy selection is rank deficient then the achieved symmetric rate of all users is zero, for that specific channel realization. Then, we computed the average achievable rate with user selection, by Monte Carlo averaging with respect to the  random channel matrix.
Random selection indicates that $5$ UTs are randomly and uniformly chosen out of the $20$ UTs.
As shown in Fig.~\ref{simulation_scheduling}, RCoF has the rank-deficiency when using random selection, although the rank of the
resulting $5 \times 5$ matrix  over $\mbox{\bb R}$ is equal to 5 with probability 1.
However, it is remarkable that RQCoF with greedy user selection does not suffer from the rank-deficiency problem, even for
relatively small values of $p$ (e.g., $p=17$). This is indicated by the fact that the gap from the RCoF is essentially equal to the
the shaping loss, as in the case where the full-rank system matrix is guaranteed by assumption.

\begin{figure}
\centerline{\includegraphics[width=9cm]{simulation_scheduling}}
\caption{Achievable rates per user as a function of SNRs, for finite capacity $R_{0}=3$ bits and $p=17$ for RQCoF.}
\label{simulation_scheduling}
\end{figure}

redpajama_set_name: RedPajamaArXiv


text:
using boost::as_literal;
using hittop::parser::Opt;
using hittop::parser::Parse;
using hittop::parser::ParseError;

namespace {

namespace tokens {

DEFINE_TOKEN(hello);

} // namespace tokens

const char *kEmpty = "";
const char *kHello = "hello";
const char *kHelloHello = "hellohello";
const char *kHell = "hell";
const char *kAloha = "aloha";
const char *kHola = "hola";

auto RunParser(const char *input)
    -> decltype(Parse<Opt<tokens::hello>>(as_literal(input))) {
  return Parse<Opt<tokens::hello>>(as_literal(input));
}

} // namespace

TEST(TestOpt, OkConsumeAll) {
  auto result = RunParser(kHello);
  EXPECT_TRUE(result.ok());
  EXPECT_EQ(result.get(), &kHello[5]);
}

TEST(TestOpt, OkConsumePartial) {
  auto result = RunParser(kHelloHello);
  EXPECT_TRUE(result.ok());
  EXPECT_EQ(result.get(), &kHelloHello[5]);
}

TEST(TestOpt, IncompleteEmpty) {
  auto result = RunParser(kEmpty);
  EXPECT_EQ(result.error(), ParseError::INCOMPLETE);
  EXPECT_EQ(result.get(), &kEmpty[0]);
}

TEST(TestOpt, IncompletePartial) {
  auto result = RunParser(kHell);
  EXPECT_EQ(result.error(), ParseError::INCOMPLETE);
  EXPECT_EQ(result.get(), &kHell[4]);
}

TEST(TestOpt, OkFailFirstChar) {
  auto result = RunParser(kAloha);
  EXPECT_TRUE(result.ok());
  EXPECT_EQ(result.get(), &kAloha[0]);
}

TEST(TestOpt, OkFailMidWay) {
  auto result = RunParser(kHola);
  EXPECT_TRUE(result.ok());
  EXPECT_EQ(result.get(), &kHola[0]);
}

redpajama_set_name: RedPajamaGithub


On the front of this tee, the flowerpwr emblem is placed on the upper left side of the shirt. On the back, the flowerpwr emblem and title is imprinted on the upper part. This tee is low-key, but for those of you who prefer to express your true love for BC crafted cannabis, this one is discreet, but definitely turns up your stylistic heat.
A white and black design is rigged with our iconic rose logo, along with flowerpwr text spelled out across the mug. Learn to represent cannabis as it is truly a holistic godsend; meant to mend.
The front of the hoodie includes small praying hands and a lit up joint, located on the upper left. Wearing this hoodie will prove a point. Fill your wardrobe with this cuddly cotton hoodie that wraps comfort around your entire body, then take a hit of flowerpwr green goodness—blessed.
On the front of the Third-Eye Tee, an eye pops out of a strategically centered triangle—outlined in black, while a cannabis flower surges from the top. The back of this tee includes a the flowerpwr emblem and title running straight across the upper back portion. Let your wardrobe pop!


The Black Eyed Peas - The Time, watch music videos from youtube for the song The Black Eyed Peas - The Time.
The chorus of "The Time (Dirty Bit)" samples and interpolates "(I've Had) The Time of My Life", originally performed by Bill Medley and Jennifer Warnes in the 1987 film Dirty Dancing. In the chorus, the line "Yes I swear it's the truth" was changed to "And I swear this is true". The song features group members will.i.am, apl.de.ap, Taboo, and Fergie singing and rapping over a dance and techno beat. The song's beat is very similar to that used in Canadian house music producer deadmau5's work.
After will.i.am tweeted: "Who wants me to drop the new Black Eyed Peas single from The Beginning earlier than we should???" he posted the song on dipdive.com. Group member Fergie noted the song's coincidental relation to Dirty Dancing actress Jennifer Grey's appearance on Dancing with the Stars: "... that song reminds me of [Grey] and Dirty Dancing and that whole time".
Despite the obvious double entendre, the stochastic interjections of the phrase dirty bit seem to refer to the computer engineering use of this term (cache data that needs to be written back to primary store) especially in light of the tech-themed music video.


text:
Stranger Things Gets Its Weirdness Right
The middle-school heroes of Stranger Things
Stranger Things, Netflix's latest series, launched its first eight episode season on July 15. I had to drag myself away after the first three episodes to write this review, because it is simply that good. Created by Ross and Matt Duffer, Stranger Things uses pop culture familiarity as its hook, and then moves the story along rapidly while still paying a huge amount of attention to detail and character development. I'll be watching the rest in one long gulp very soon.
Set in the small rural town of Hawkins, Indiana, Stranger Things begins its tale on November 6, 1983 with the mysterious disappearance of a young boy. From there things really do only get stranger.
Titled "Chapter One: The Vanishing of Will Byers", the first episode plays like a mash-up of all the classic horror and fantasy films of the 1980s—there are elements that remind me of Aliens, The Shining, Silver Bullet, E.T., Firestarter, Halloween, Poltergeist, The Goonies…even the town center is reminiscent of Back to the Future, and the missing boy's house looks an awful lot like the cabin from Evil Dead. In addition to tidy downtown Hawkins, the action ranges through woods, fields, a deep quarry, and a convenient government-run laboratory. It all looks familiar. We've been scared here before. But Stranger Things is not just a derivative of all these touchstones and references. It manages to be something original and disturbing in its own right.
Things are getting strange
Winona Ryder is back as Joyce Byers, the missing boy's mother. She plays the character as worn thin and harried and histrionic, and she smokes with the same intensity she did in Heathers. Her attempts to find her son look a great deal like a descent into insanity.
Matthew Modine is cool and slick as the primary bad guy, Dr. Brenner. He works at Hawkins National Laboratory for the Department of Energy and is aligned with government agents and the CIA, among darker things.
David Harbour is the hard drinking local police chief, Hopper. In only three episodes he has already been given a colorful backstory and fascinating growth, and a deep well of personal tragedy to draw from.
Even with the adult star power, the juvenile characters are the main focus—especially since the missing boy was part of their group. With the exception of a couple of older siblings, the kids are in the 11 and 12 year old age range that Stephen King is so fond of. It ties neatly to the many King-like plot details.
The group of boys are introduced as Dungeons and Dragons players, then as now shorthand for a certain kind of nerd. Finn Wolfhard is Mike, the leader of the gang and someone who looks quite a bit like the brother in Poltergeist. Gaten Matarazzo is Dustin, very much playing him as Chunk from The Goonies. Caleb McLaughlin rounds out the group as smart-mouthed, skeptical, and practical Lucas. To add to the mix there is the high school crowd, with Charlie Heaton as the missing boy's older brother, Johnathan, and Natalia Dyer as Mike's older sister Nancy. And there is also a mysterious, semi-verbal little girl named Eleven (played by Millie Brown), who is connected to both Brenner and the missing boy.
Teenage wasteland
A theme of communication is dominant, so far. The initial episodes are heavy with ham radio, walkie talkies, wiretapping, ghostly phone calls, psychic powers, and weird electrical disturbances harnessed as a rough Ouija board. There is a lot going on, much of it messy, but it is just controlled enough to be engrossing. The only complaint I can make is that the periodic flashbacks are too blunt, and move things along with backstory info dumps.
Stranger Things is at once creepy, sentimental, realistic and action-driven. The Duffer brothers have a great eye for family dynamics and a clear affection for the cinematic 1980s. The combination of powerful storytelling, exceptional acting, and well-done nostalgia is totally worth the look back.
E.A. Ruppert contributes book and media reviews for NerdGoblin.com. Thanks for checking this out. To keep up with the latest NerdGoblin developments, please like us on Facebook , follow us on Twitter, and sign up for the NerdGoblin Newsletter.
Posted	in Media, Television	| Tagged 1980s, horror TV series, Netflix, Stranger Things, Winona Ryder	| Leave a comment
Read This: The Weird
The Weird is a far-ranging 2012 anthology compiled by Ann and Jeff VanderMeer, both of whom have stellar weird credentials—Ann was an editor at the legendary Weird Tales magazine before it fell into limbo, and Jeff is an established novelist of the New Weird known for his Southern Reach trilogy. Together, they have identified many stellar, foundational, and surprising examples of the genre. For this volume, the VanderMeers assembled one hundred and ten stories that fill more than a thousand pages and that demonstrate a spectrum from the most traditional of weird tales to the post-modern new weird.
As Michael Moorcock observes in his "forweird", "There are no rules for the weird tale, which is at least part of the attraction if the story an author wants to tell can't readily be told in an established form," at a stroke releasing the idea of weird fiction from the usual genre constraints. And, he adds, "the best writers write the best weird stories".
In this ambitious a collection, with stories ranging in time from the early years of the twentieth century to present day, there are of course many familiar authors we are used to considering 'the best'. The VanderMeers do give us Lovecraft, Ligotti, and Clark Ashton Smith. But there are even more unexpected additions to the ever-widening gyre of weird lit such as Kafka, King, and William Gibson—all of whom are also in here. Ryūnosuke Akutagawa, the author of Rashōmon, appears with the inflected and disturbing "The Hell Screen", and the remarkable but often overlooked Daphne du Maurier is well represented by the grotesque "Don't Look Now". And there are so many more surprises. Among my favorites are:
"The Willows" (1907) by Algernon Blackwood, which is what I would describe as classically weird. It is a slow, repetitious, corrosively told tale that keeps its true horrors almost entirely hidden. Its length seems at first excessive, but the undefined dread feeds off it.
"The Man Who Sold Rope to the Gnoles" (1951) by Margaret St. Clair is a story I first encountered as a child in an old Alfred Hitchcock Presents anthology. It is a short example of capitalism and avarice gone horribly wrong, as inspired by Dunsany.
"It Only Comes Out at Night" (1976) by Dennis Etchison, a story I first encountered in The Year's Best Horror Stories series, is bleak and creepy and inexplicable as the best of the weird always is. This one always comes to mind on long car trips, and makes it clear why Etchison is a legend in the horror community.
"Angels In Love" (1991) by Kathe Koja is almost poetic in its descent, tracing the last days of an unimaginative party girl who wants something she can't even conceive of. There is an odd, punky, Southern Gothic quality to the story that makes the sudden brief weirdness of the conclusion its only natural outgrowth.
"The People on the Island" (2005) by T.M. Wright is an unsettling surrealist vignette in which none of the characters understands why their world is changing or how to deal with it. Wright's familiar themes of loss, loneliness, and alienation are all here in one mournful package.
Tentacles are always weird
Since The Weird is arranged chronologically, it is easy to see the progressive development of the weird tale. I found in many of the earlier stories the weird quality is not fully realized, existing as a blurry suggestion rather than a fully integral component. Some of the stories included do not have the sense of cosmic nihilism I usually associate with weird fiction, falling more into the purely horror or surreal category for me. A few are trapped by their author's prejudices, such as the remarkably dated "Unseen-Unfeared" by Francis Stevens, which I think perhaps the weakest addition to the collection.
However, the sheer number and international scope of the selections forces one to reconsider dismissing any of these strories or putting them into an easier category. Taken as a whole, the stories make a reader look at what qualities would bring them into the weird fiction fold. They force the question, 'What is Weird?' —a question that is re-examined in China Mieville's artful "afterweird". In it he demonstrates his expression of the weird as well as summarizes the subject both richly and well: "This collection is not (just) an act of cannon. It does not, nor could it, enshrine one set of texts. Without motion—of the crawling and wriggling kind—there is no Weird".
And it is hard to argue with that.
Posted	in Books, Media	| Tagged horror anthologies, Lovecraft, Weird, William Gibson	| Leave a comment


Until now we have been discussing the benefits of using Glass in doors, furniture, partitions mirrors and windows. No doubt Glass provides an illusion of space, is easy to maintain and also lowers your energy bills; however, does it provide you with privacy?
And when it does; like in the case of frosted and sandblasted Glass, it does not give you the complete package of Glass.
But did you know that advancement in technology has not only invented Smart Phones but Smart Glass as well?
Smart glass also known as Switchable Glass, is a type of glass that works on an electrical principle switching from frosted to clear when power is applied. Switchable Glass offers a next generation alternative to blinds or privacy glass making it the ideal choice for commercial or residential installations.
It is a glass whose light transmission properties are altered when voltage, light or heat is applied. Generally, the glass changes from translucent to transparent, changing from blocking some or all wavelengths of light to letting light pass through.
It is way easier to maintain Smart glass than ordinary ones as there are no worries of handling the maintenance curtains and blinds. All you have to do is wipe them to keep them away from dust and dirt.
Windows may also provide a beautiful view, but they raise the temperature in your house if you are not blocking out all the light coming through your windows. This will need you to use the Air Conditioner which will ultimately increase your electricity bills.
Now this is where switchable glass windows come in since you don't have to cover them to block out light and to prevent heat from coming into your home. Smart glass windows are able to prevent light from coming into a home with just a flick of a switch. The less light that is getting inside your home, the lower the temperature is going to be inside your home. This means you will be running your air conditioner less and will be saving money.
Switchable glass advances privacy in the case of boardrooms and office partition. When privacy is not required, the partitions may be left clear and switched to opaque glass when in use for private meetings therefore creating an easy way to know when a room is in use or not without interrupting the goings on.
But do you know the best part of it? You can use the technology to turn your home into a theatre! Smart glass does that when it is in its privacy state, it can be used as a projection screen.
It all comes down to the quality of the Smart Glass. Impala Glass, one of the Kenya's leading Glass Company supplies supreme quality smart glass.
Contact Impala now on www.impala.co.ke and get them installed to experience the full benefits!


Invaluable mobile moments for everyone in one click.
We dedicate our work to create dynamic mobile experiences that are simple and meaningful, with uniquely curated content.
We dream big, have high aspirations with a strong desire and determination to succeed.
We are bold, entrepreneurial and take risks, reach beyond boundaries and experiment.
We believe fun should be a part of everything we do.
We strive to excel in every aspect of our business be it quality or performance.
We provide comprehensive Medical and health Insurance coverage for our employees and their dependents (spouse, children and parents) from day one, without any waiting periods for maternity claims, age-related treatments, etc.
We care about OnMobilians and their families. All employees are provided with a lump sum Life & Accidental insurance.
We provide transport to our employees across Bangalore for free or very low cost. Free refreshment facilities, gym facility, wellness and sports facilities are among others advantages offered.
In addition, we also support OnMobilians in their financial needs by offering various kinds of loans.
International relationship with coworkers and business is what I like the most about working at OnMobile. Every morning when I come to the office, I love the everyday challenges, the high energy, the amazing mobile technology that we use is so fast paced and our products are so unique. I love that my cell phone has all the world clocks from around the world because I connect with people around the world every day, fascinating! I get to experience other cultures and learning experiences. It is so dynamic working at OnMobile. The consideration that managers and coworkers have, working around the clock to make all things possible for the company growth. OnMobile offers superb benefits. I am proud to be part of the OnMobilians committed family, mobilising every day!!
OnMobile is my first Job. I joined as a management trainee and it's been almost 8 years now, my journey has been fantastic. OnMobile has provided me with a strong, stable opportunity for growth at each level providing the right platform and environment for work-life balance. Every day has been a new learning doing business with customers from different countries which has helped me evolve and adjust to all aspects of business management. I am very happy to be associated from a long time with OnMobile. Proud OnMobilian!!!
Working at OM is very exciting and challenging. I like the idea of being part of a big company, with operations across the world, at the same time, be part of a regional compact group where each person makes a difference and directly contributes to the achievement of the company's goals. Working in a multinational company brings me the opportunity of exchanging knowledge, learning from experiences from other markets and contribute to new developments and initiatives. The most important aspect is dealing with different cultures, habits and rules, which enriches me professionally and personally. And how can I forget to mention the workplace! It's a dynamic workplace, where I have the pleasure to work with very talented, friendly and inspiring people!
What I like the most about working in OnMobile is the opportunity to work with different people from around the world. I really enjoy working here because it is a very dynamic place, where I can be creative and also it gives me the chance to bring new ideas to discuss. I like the good working atmosphere and teamwork.


Enjoy 24 hours of expert training, delivered to the comfort of your home or office.
24 Hours of PASS (24HOP) are unique online events that provide free training on the Microsoft Data Platform and related technologies.
Presented by some of the most knowledgeable and top-rated speakers in the world, sessions are delivered directly to your computer, either in 24 back-to-back hours or across two 12-hour days. The program also has foreign language editions.
Learn how to sponsor a virtual event.


Take just 30 minutes during your break to participate in this "power lunch" session where you' ll learn how to create a successful partnership with vendors for professional services. Regular price is $179 but you'll pay just $99 for this hard-hitting session and you'll leave with practical solutions on how to manage successful partnerships with your vendors.
- Discuss the benefits of having vendors present in the OR.
- Review the challenges and limitations of having vendors in the OR.
- Explore strategies to develop a "win-win" program for managing vendors in the OR.
In the past, vendors had full and unlimited access to the operating room. Over the past 5 years, this has changed significantly because of government regulations and facility policies that limit vendor access. While some of the limitation of access has been beneficial, it has also created challenges for facilities and vendors alike. With new equipment and technology being introduced into the OR on a daily basis, vendors can and do add value in supporting education of nurses and physicians. However, vendors also can and do present challenges as perioperative nurses strive to limit personnel in the OR to maintain patient confidentiality and reduce the risk of preventable surgical site infections. This program will provide specific strategies on how perioperative leaders and staff can develop a plan to optimize vendor access to the OR while maintaining an optimal environment for their patients.
Discuss the benefits of having vendors present in the OR.
Review the challenges and limitations of having vendors in the OR.
Explore strategies to develop a "win-win" program for managing vendors in the OR.
Margaret "Peggy" Camp, MSN, RN, is an independent consultant who is teaching PeriOp 101 for HealthOne and Metro State University, Denver. She has consulted with vendors to educate them on their interactions with healthcare organizations. Prior to retiring, Peggy was the clinical resource director for the Continental Division of HCA, a healthcare company, where she was responsible for providing clinical support and expertise to the division facilities in identifying and implementing supply cost-saving initiatives. Previously she was director of surgical services at North Suburban Medical Center, Thornton, Colorado.
An AORN member since 1980, Peggy has spoken at conferences locally, regionally, and nationally on various perioperative nursing topics, including hemostasis, ambulatory surgery, reimbursement, perioperative PI, patient education, and preparing for The Joint Commission. She has published many articles on perioperative nursing and has been a contributing author for several nursing texts on perioperative nursing.
Contact Hours: Access Intelligence is approved as a provider of continuing education by the California Board of Registered Nursing, provider #15831. CEUs: 0.5 contact hour.