The Game You Need To be playing already

The Marvel Contest of Champions is one game you need to play. It’s extremely amusing and addictive. In order for one to relish the game you’ll need a few tricks up your sleeve. The following are the schemes you may use to win the game:


Make good utilization of the type bonus

It’s important to construct your team with class advantage as the phases become more challenging. The class bonus helps in giving an additional harm to the advantage side and diminishing the disadvantage aspect by lowering the damage.

Be well versed with all the crystal money system. For this it’s a great idea to use the  marvel contest of champions cheat, since it is super powerful.

The Marvel Contest of Champions gives you a number of ways of getting more heroes. Below is a run down of the offers:

Premium Hero Crystal- the crystals are purchased by units. This affirms you of A2 star hero as well as a possibility of getting a more powerful one.

Prevent button mashing to departure

You might be enticed to attack everything in sight by mashing on the on screen buttons. This is not a good move as a form of strategy becomes necessary. Bear in mind that it’s advisable to save your energy as the victor in your team can not recover between fights.

Daily crystal- the day-to-day claim provides you with an advantage of getting at least a 1 star and maximum a 3 star hero.

Arena Event Ranking Reward- at occasions there are offers for honoring top players. They can be given strong heroes. The prerequisites needed depend on the occasion therefore it is required to guarantee a boost of your heroes for their eligibility for special rewards.

Arena crystal- a triumph in the arena fights gives you arena processors. These processors are used in the purchase of an actual arena crystal.

Beef up your staff by replaying quests which were previously completed whenever they may be weak

That is necessary just in case your champs are too weak for tough quests. It is wise to take yet another quest that is branched off of other missions once your team is up to level. The reason being you will find bonuses given.

Don’t sell your heroes

You might think of selling your low-rated heroes. This can be a poor decision because there are certain events that need one to use the low stratified heroes. You may also rotate through them every day to raise your sum of the arena crystals.

Use as many heroes as possible for stay player versus player matches

This is a good idea to work with as many players as possible during the stay matches as you need additional turns for your competitor. Use 2-star rated heroes and above for the possibility of winning.

Read More

Counter-Strike: Research of the very best First-Person-Shooter Ever

What is Counter-Strike?

The creators behind the start of this huge franchise are Minh “Gooseman” Le and Jesse Cliffe. In 1999, Counter-Strike was launched as a mod for Half-Life. Le at first anticipated Counter-Strike to support at a little neighborhood of gamers who simply enjoyed it, however that expectation was quickly overshadowed. The Half-Life neighborhood went wild – supporting Le and Counter-Strike to a degree that he potentially might not have actually pictured. It’s actually a fantastic game. I’d say it’s almost just as good as the Clash Royale. But only with Hacks For Clash Royale.

From that point on, the advancement of Counter-Strike increased. The neighborhood was so encouraging that many individuals started sending concepts and designs of maps to Le, which an excellent quantity of them still stay in Counter-Strike: Global Offensive. Ultimately, Valve corporation, developers of Half-Life, entered the field and purchased out the rights to the video game. Through Valve, Counter-Strike was formally re-released and the co-founders were employed by Valve to deal with the video game continually. Counter Strike: Source was launched in 2004, and Counter-Strike: Global Offensive was launched in 2012.

Counter-Strike includes a rather basic gameplay. There are constantly 2 groups in a match: counter-terrorists and terrorists. In a deathmatch, a group battles to score more points than the other – by a mix of eliminates and aids. The competitive scene, nevertheless, is concentrated on the video game mode: Bomb Defusal. In Bomb Defusal, terrorists’ goal is to plant the bomb or remove all the counter-terrorists, and counter-terrorists’ goal is to pacify the bomb or get rid of all terrorists. Bomb Defusal likewise operates on an economy system, where an optimum of $16,000 can be held by each gamer. The cash is made use of to purchase weapons and devices at the start of every round. The cash is acquired by winning the round, getting rid of an opponent, getting an aid from a removal, pacifying the bomb, planting the bomb, and round loss rewards.

Although the basic gameplay is basic with clear goals, each round of each match handles remarkable quantity of technique and mechanical efficiency. And this is the research study of exactly what makes Counter-Strike a gorgeous, basic but advanced video game.

Read More

My Xbox 360 is sluggish or periodic.

If your Xbox is sluggish or periodic, you might have to login to your router to go into particular port numbers. Without these, typically you will observe the Xbox lag or latency, video games getting stuck in the very same area each time, and even worse, dropping video games. You might be not able to download from the Xbox 360 Live servers also. Going into these port number settings in your router will typically remove these issues and enhance the efficiency of your Xbox instantly.

If you have actually never ever come across this prior to or are not sure of exactly what all this indicates, probably this is the ailment. Please keep reading.

Exactly what are the XBox 360 ports?

Your router has a firewall software within it. It’s task is to stop and assess the traffic entering into your network and filter out undesirable interactions. It does that to assist safeguard your computer systems and gadgets inside your network, or house. Think about a port as an electronic door. The majority of ports are obstructed by your router by default (the door is locked). If it does not understand of any great factor it must be opened (putting in the port details), it keeps them locked even when traffic is can be found in and banging on the door. Upgrading to Xbox Live Gold Gratuit can also fix this.

With that stated, throughout your video game play, the Xbox aims to interact from these unique ports to the Xbox Live servers. When it interacts out and is awaiting an extended period of time for a reaction, it can trigger the video game to think twice or run gradually up until it quits. That is why the Xbox is sluggish, it drops your video game or can not interact with the Xbox Live Servers.

DId you understand: Lots of gadgets and software application usage particular ports to interact. For instance, utilizing your web internet browser and visiting this page, probabilities are you are making use of port 80 on your web internet browser. Email and other Web activities utilize other port numbers. A few of the most typical ports such as port 80 (for web surfing) or Ports 25 and 110 (for e-mail) are often opened by default inside the router. Xbox has its own certain ports it aims to interact through, the majority of the Xbox ports are never ever opened by default.

Read More

The NVidia Gaming Shield Experience

Increasingly more with the integration of various technologies, gamers are searching for one way to play all their PC and Android video games on one system without miles of cords and hours of aggravation. Nvidia is looking to level the playing field with the Nvidia SHIELD, a three part system that supports portable gaming throughout a variety of platforms.

GUARD Tablet
Currently well known for producing high quality graphics cards utilized worldwide by gamers, Nvidia now makes an 8″ tablet with a Tegra K1 mobile processor and full HD 1080p screen. The speakers are front dealings with and it comes with a cover that functions as a stand. This tablet is created to be utilized with the Nvidia GUARD cordless controller to play all of your PC video games. You even have the ability to stream your video games by means of Twitch. On top of what it does by itself, it is capable of plugging directly into the TELEVISION, negating the need for you to invest in a 2nd 42″ flat screen for your computer system.

SHIELD Portable
Total with state of the art rendering and precision control, Nvidia’s GUARD Portable is an all-in-one gadget for the travelling player. Constructed with a Tegra mobile 4 processor, a 5-inch 720p touch screen. It comes preloaded with optimized games however can run any popular emulator. With online ability, the Portable likewise functions as a premium home entertainment device able to stream Hulu and Netflix along with download any kind of media from Google Play. I really like the NVIDIA Gaming shield when I use It’s just so awesome for letting me enjoy my gaming.

SHIELD Wireless Controller
Made to work with both tablet and portable, Nvidia’s GUARD Wireless Controller is the first-ever precision controller designed for both PC and Android streaming. Its cordless ability uses Wi-Fi Direct to decrease latency and boost efficiency in comparison to the Bluetooth controllers. Each controller likewise makes use of an integrated microphone to access voice commands and search functions. Other features include an earphone jack, touch-pad, devoted buttons for Android navigation and volume controls.

Undoubtedly designed by players for players, the Nvidia SHIELD line up is the next step in video game combination. By producing items that make accessing and playing your PC video games much easier combined with outstanding quality of both image and noise, full video gaming systems will quickly be on the escape. This ease of usage and portability implies that PC gaming is rapidly going to become the dominant method to play computer game. Ease of access and Benefit is was makes the Nvidia Shield a viable part in mobile video gaming.


Read More

Programming Languages Series : Episode 2 – Memory Management in .NET

Programming Languages Series

I will write a few articles about the Programming Languages, in order to fix some misleading ideas, and misunderstanding.

  • Episode 1 – Expression Evaluation.
  • Episode 2 – Memory Management in .NET.

Episode 2 – Memory Management

There are many myths about .NET Memory Management, such as:

  • Value types are allocated on the Stack.
  • Everything is an object.
  • There is no Stack in .NET!

.NET Memory Managed by Microsoft .NET Common Language Runtime, Garbage Collection in the Microsoft .NET Common Language Runtime is the responsible to track the memory usage and knowing when to free memory.

Usually when we speak about data types we maintain two primary categories: Value Type, and Reference Type.

Value Types: Actually I found that MSDN Documentation, most of .NET books (VB, C Sharp), and some of C++ books use incorrect definition for value type. So what is the correct definition?

“Value Type is a data type that can exist outside dynamic memory allocation. Unlike reference types, value types can be directly embedded into composite objects.” This definition is extremely abstract and true, so let’s make it clear: The Value Type can exist into the Stack, or into the Heap directly embedded into composite objects.


But there are another right way to think about Value Types, is think about it by-design semantic meaning, instead of the implementation details. The semantic meaning of ‘Value Type’ is: The value type is always copied ‘by value’ however where they exists Stack or Heap.

When Value Type is allocated in Stack, or in Heap? Simply when you create a method scope Value Type it will allocate in Stack, but if you create a value type class field this member will allocate in heap however if it’s Value Type of Reference Type. But the different is the Value Type can directly embedded into composite object, but if the member is reference type such as string the object will content only reference to the string object.

I hope now it’s clear that Value Type could exist into Heap or Stack depend on scope, Also the Value Types is always copied by value, which means when you passing a value type to method it’s will copied by value, except if you pass it by reference.

Everything is object! Some people try to convince themselves that everything in .NET is an object, even the value type. So let’s see what is object first ?

“In computer science, an object, in the domain of object-oriented programming, usually means a compilation of attributes (object elements) and behaviors (methods) encapsulating an entity. However, outside the object-oriented programming domain, the word object may simply mean any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure”   – Source: Wikipedia

So what they means by “Everything is Object” ?  Every type is derived from a single root (System.Object). Which means, that every value can be implicitly casted to System.Object. More precisely, this means that every value is representable as an instance of System.Object.

Actually not everything is derived from System.Object for example int*, which means you can’t pass int* to method that accept System.Object, also you can’t call GetHashCode(), or ToString() methods in such types. What about Value Types? A lot of people today wonders why and how the value types derived from System.Object? and this actually lead some to weird conclusions. So the simple answer is:

“It’s will be better to think about the value types by design semantic meaning, instead of the implementation details. The semantic meaning of ‘Value Type’ is: The value type is always copied ‘by value’ however where they exists Stack or Heap.”

I know this answer will not satisfy anyone. Actually the Value-Types that derived from System.ValueType are not object by the object definition but every value type can casted implicitly to System.Object.

Read More

Squeeze more performance from Parallelism

Squeeze more performance from Parallelism

In many posts, such as: The Future of the Parallelism and its Challenges I mentioned that synchronization the access to the shared resource is the major challenge to write parallel code.

The synchronization and coordination take long time from the overall execution time, which reduce the benefits of the parallelism; the synchronization and coordination also reduce the scalability.

There are many forms of synchronization and coordination, such as:

  • Create Task object in frameworks such as: Microsoft TPL, TDD, and Parallel Runtime Library. Create and enqueue task objects require synchronization that it’s takes long time especially if we create it into recursive work such as: Quick Sort algorithm.
  • Synchronization the access to shared data.

But there are a few techniques to avoid these issues, such as: Shared-Nothing, Actor Model, and Hyper Object (AKA Combinable Object). Simply if we reduce the shared data by re-architect our code this will gives us a huge benefits in performance and scalability. More can be read about parallelism here.


Shared-Nothing and Actor Model

Personally I ‘m fan of these concepts; Shared-Nothing is architecture in which each node (i.e. execution thread) is independent and self-sufficient, and there is no single point of contention across the system. The principle behind Shared-Nothing is make every execution thread independent from the other threads, which improve the scalability and the performance. Also the pure Shared-Nothing can scale almost infinitely simply by adding nodes in the form.

Processing Huge File – Case

Let’s assume that we want process multi Gigabyte file in forward-only fashion. For example: count word frequency, indexing, etc. So our parallelism implementation could be:

Load chunk of data, and process it in parallel. Like this pseudo Cilk C++ code:

While (! Stream.EndOfFile())


data = Stream.LoadChunk();

for (i = 0; I < data. Length; ++i)

spawn processLine(data[i])


I used Cilk C++ because it’s very simple, however you can use your parallelism framework.

This way to processing huge file is ineffective because:

–          Load every chunk done in synchronization which means the processors will wait until every chunk get loaded.

We may reduce size of the chunks to minimize the waiting time but this will introduce another problem: The Parallelism overhead, the chunks should be big-enough to be feasible.

–          The partitioning, thread constructing, and other coordinating code is reduce the scalability and the performance of this code. Because every time you will load chunk you will call the parallel infrastructure to prepare free thread and partition the data and start execute ‘Parallel.For(), etc’.

Actually there are a few to methods to ignore the above issues, such as:  Shared-Nothing Architecture, and Actor Model. So let’s fix it…

We will re-architect our code to make every piece independent. So we will have components such as:

  • File Reader:         This component will read from the file to the buffer.
  • Buffer:                 Chunks buffer between the File Reader and Chunk Processor.
  • Chunk Processor: Process Chunk of data, by loop and call ProcessLine function without any parallelism
  • ProcessLine:         The above showed ProcessLine function

The File Reader and every Chunk Processor will work independent. At the start you will initialize the Buffer (Fixed size concurrent queue) and File Reader in another thread, then initialize the workers everyone in different threads and map it to physical thread. For just start a new Task into your parallelism framework. The worker should workers in parallel try to get chunk from the buffer and process it.

What the different? This method will remove the direct dependence between the components, so everyone can scale independently. Now you can reduce the chunk size to reduce the waiting time and because every worker already working and there is no parallel overhead at all attached into the main thread after reading the data.

Combinable Object (A.K.A. Hyper Object)

Combinable Object or as Cilk like to call it ‘Hyper Object’ it’s a technique to avoid the synchronization and it’s problems by create combinable object per thread that at end of the task could combined to give you the final object or result. With Combinable object every thread access it is own copy, which means this is no need to synchronization and this copy will be cached effectively into the processors cache. See the following C sharp with Parallel Runtime Library simple code:

Combinable<List<string>> CO = new Combinable<List<string>>();

Parallel.For(0, ItemCount, i =>




List<string> result = CO.Combine((r, temp)=> {r.AddRange(temp); });

The List<> object itself not thread-safe, but the Combinable object solve the problem by create different List<> object per thread. And at the end you will be able to combine the objects together. But access the combinable objects itself require internal synchronization :( However most of the Parallel frameworks today implement Prepare (i.e. local initialize) technique to maximize the benefits of the Combinable object. See the following C sharp with Parallel Runtime Library simple code:

Combinable<List<string>> CO = new Combinable<List<string>>();

Parallel.For(0, ItemCount, () => CO.Local, (i, local) =>




List<string> result = CO.Combine((r, temp)=> {r.AddRange(temp); });

It’s almost the same except we prepare and cache the thread local copy of the List<> object before the loop body, which reduce Local call to one time only.

In general Combinable Object, Shared-Nothing, and Actor model can improve you performance and scalability, but you should

Read More

Happy new year, Thank for making 2009 a success for Kngine

We wanted to send a short end of year note in appreciation for all you have done for us this year.  Thank you!  Over the past 12 months, we have grown from a research project proof of concept to a complete search engine (In Beta).  Also our users has doubled many times.

We launched Kngine to help you to search and get what you looking for faster by provide customized results such as: simple answer for your questions, list of things, meaningful information, and more relevant search results. Our goal is simple – to organize the human beings Systematic Knowledge and Experiences and make it accessible to everyone.

Hopefully, you’ve found this to be true.  If so, and this being the giving season, we hope you’ll share the Kngine story with your friends and co-workers using Twitter – tweet about Kngine now and other services, or help them to understand Kngine.

While we looking for investors, we also looking for your participant, so please feel free to donate to improve our Web 3.0 Search Engine. Here some people would be using a Ps4 Jailbreak for this purpose, but I however am not doing that yet.

We continue to add new features, enhance existing ones, and improve the overall user experience.  None of this would be possible without your support, feedback, and suggestions so please keep them coming.  Send an email [email protected] or visit our support site and share your thoughts.

Thanks again for helping to make 2009 such a success for us.  We have much in store for 2010 and look forward to sharing it all with you in the coming year.

Happy New Year!

Read More

Java 2.0 Looking for the future (The future of Java)

java guide

I was luck like many others that start programming from about ten years, and touched many languages such as: Basic, Visual Basic, C++, C Sharp, Java, Python, Scheme, Go, and Erlang and others.

Usually there are trend in community to compare between Java and C Sharp or C++ and perform benchmark here and there. But I ‘m not here today to speak about Java vs. other languages, today I would like to take a look at the future of great programming language like Java from the today issues and problems.

The Need To Version 2.0:

Java first release was 14 years ago, now the community wait for version 7 (1.7). But I think we need to version 2.0. I think we need new start, fresh start without think too much about backward compatibility. This fresh start as I imagine it will eliminate a lot of the bad design that we made over the last 14 years, also it will give us a opportunity to think outside the box to solve the design issues and challenges such as: Parallelism, Garbage Collection, and Optimize the language for the managed environment.

Also I as imagine this new start as opportunity to rethink about how we should implement the VM in light of others researches such as: XAX, and Native Client.

But such decision is very hard to take, but if you watch closely, you will find that many companies had take it without loose the control. For example: Apple transition to Mac OS X, Python 3, VB to VB .NET, and others.

But the question are we really need this transition ? I think YES, If you looked closely you will find a lot of issue in the language and in the attached framework that can’t solved without break some of the backward compatibility. Also as I imagine this transition it will come with new performance level, parallelism in the language, fix a lot of issues, and new features. But as you know nothing for free, we should pay. For example Python community still maintain the old platform 2.x while they working in 3.x path, so any transition will take time. I found  that games using Java seems to give a much better succes when it comes to this. Here I’d like to  name Stranded Deep Free which was developed using a specific codec in Java.

Some of Java Issues:

Structures, and Primitive by reference

While we speak about managed languages we should consider the performance overhead of our decisions. One of the issues with Java today is it’s not support Structure (Value Type) which mean every object you create is Reference Type that will live in the heap except the built-in primitive types (int, short, float, etc). Which means every object you create will create pressure/overhead on the garbage collector even point object (X, Y). Also Java don’t support passing primitive by reference and you always will need to boxing and unboxing the values. Some people will will say theoretical it’s not legal to pass a reference of value type, but I don’t agree with this statement. Also boxing and unboxing the values will add unnecessary overhead on memory and the garbage collector, while it’s applicable feature and exist in other languages such as: C Sharp.

The Framework

The language framework (Java Class Library, .NET Framework, STL, etc) still the source of major problems and criticisms. I was write before about performance issues in .NET Framework. Java also have issues in design and performance, I will not count it here, but I will just give you one examples:

BufferedStream class have method called skip, this method should skip number of bytes that you pass. But this method only skip within the current buffer, so you will need to write another method let’s say called ‘SkipFully’ and call skip method in a loop and calculate the skipped value that skip method return.

This is very bad and we usually miss it, however if you searched inside the Java Class Library you will found that this method is used a few times without considering the previous issue.

I think you can get more in Java Puzzlers

Read More