Minecraft Logic Circuits

You can make just about anything in Minecraft, and that includes the computer that you’re using to run Minecraft. Of course, your computer has billions of individual transistors, so that level of complexity isn’t quite feasible. People have managed to build fully-functional computers in Minecraft, but they require months (if not years) of effort and are at best comparable to their real-life equivalents from the 1970s. The smallest building blocks, on the other hand, are fairly easily doable.

Let’s start with what computers are actually doing on a lower level. Basically everything a computer does can be boiled down to either arithmetic or a load/store operation (in essence, reading/writing memory). When you hit your keyboard, an electrical signal tells your computer that you’ve done so, and it mathematically determines what this input means and how it should respond.

A fundamental component of a CPU is the arithmetic logic unit (ALU), and one of the most important components of that is a circuit capable of performing addition and subtraction. This circuit on its own is relatively simple, as it’s purely made of combinatorial logic. However, each block within the circuit can only operate on one single binary bit, so it’s necessary to string X number of them together (where X is the number of bits we need to be able to operate on).

The easiest way to do this is to determine at each individual bit whether or not there will be a carry-over to the next bit, then send that signal in as one of the next bit’s inputs. This is known as a ripple-carry adder. However, it can be quite slow. If you have a carry-over that needs to be pushed from the very first (least significant) bit all the way over to the last bit, it has to traverse through each bit’s addition circuitry before it gets where it needs to go.

One of the most popular alternatives is to split the circuit into sections, each with its own logic that determines the carry for each individual bit within as well as the section as a whole, the latter of which gets sent out to the next section. Since the logic determining these carry signals is relatively fast, the circuit can compute the sums of all bits at practically the same time, instead of waiting for the carry signal to ripple over from the first bit to the last. This implementation is known as a carry-lookahead adder.

Shown below is a 16-bit carry-lookahead adder displaying 23451 + 30575 = 54026 in binary. Note the distant output display, top center of the image. The total volume is over 72000 blocks.

2019-05-09_17.45.38

Advertisements

10 Reasons To Learn a Programming Language

In modern day society, programming is implemented nearly everywhere. Our phones, televisions, toys, hell even some food has programming involved in the creation process. It’s no secret that learning a language is a strong, marketable skill. And it’s easy to pick up and learn. In this post I will go over some of the reasons you should pick up a guide and learn a programming language.

  1. It’s an insanely marketable skill

As I said before, programming has a place in nearly everything nowadays. Learning even one language could be very beneficial for almost anyone.

2. It strengthens creative problem solving skills

Learning to program teaches you how to make creative approaches to problems you might find yourself confronted with. It can help you think outside of the box and tackle problems in new, creative ways.

3. It enhances creative ability 

You’ll find after dabbling in programming for a while that you think much more creatively. Learning to program can help you become much more creative. Programming is an art just like any other.

4. It has an underlying, profound philosophy 

When you first start coding, it can be much like riding a bike. It’s hard and frustrating at first, but the more you study and try you’ll find it makes much more sense. You’ll come to many milestones and realizations on your journey. You’ll learn a lot about yourself and the way things work.

5. It helps enhance focus and productivity 

Programming is one of the most productive things you can do while sitting at a computer. If your focus is bad, programming is also a good way to discipline yourself into making your attention span much longer.

6. It can build confidence 

You did it! You learned how to program, look at you go! It’s a long journey but you took the time and energy to become a programmer. You deserve to feel good about yourself, you did something not many people take the time to do, and it’s a very rewarding experience.

7. It provides a doorway to a whole different world 

When you learn how to program, you are introduced to a whole new world lined with computers and logic. You’ll start to understand things you may not have before. Maybe even some things that aren’t even programming related. You learn a new way of thinking and you see the world differently.

8. It’s a productive and rewarding hobby

As I said before, programming is one of the most productive things you can do while sitting at a computer. Establishing yourself and using only your mind and a computer to create things is very fulfilling. 

9. Thought of a cool app or game idea? Make it!

No longer will you have to sit around and wait for an app idea to be creative, nor do you have to simply sit with your cool game idea in your head. Provided with documentation, you can create an app or game yourself!

10. It’s almost like playing God

When you program, you’re basically just playing in a sandbox. A world which is yours. You can make virtually anything. Virtual dog? You got it! The sky is your limit.

Hopefully my list has encouraged you to program! Below are some resources to get started.

http://www.cplusplus.com/doc/

The C++ Tutorial

https://www.oracle.com/technetwork/java/index-138747.html#

http://zetcode.com/gui/winapi/introduction/

http://shichuan.github.io/javascript-patterns/

Have fun, and happy coding!

 

What are Smart contracts?

Informational post from one of our side projects: TGNBlockchain.

This short essay briefly explains foundational concepts of blockchain development: Smart Contracts & Decentralized applications.

Also provides a brief overview of three languages/libraries used for the programming of smart contracts (Along with download links & corresponding. documentation/resources)

What are Smart contracts?

https://tgnblockchain.wordpress.com/2019/04/18/what-are-smart-contracts/
— Read on tgnblockchain.wordpress.com/2019/04/18/what-are-smart-contracts/

Author Intro: Brandon X.

Hello! My name is Brandon Xaltipa. I am TGN’s lead developer. I’m a programmer/web-developer, musician, and I play way too many video games. I’m excited to write for TGN and to be a part of their ever-growing team.

I am extremely passionate about music and art. I spent most of my teenage years programming, playing guitar, and coding. I love reading manga and watching anime or movies. I also love hanging out in discord!

I spend most of my days playing guitar, videogames, or reading things online. I love making new friends and spending time with people I love. The people close to me are the most important things I have. I love people and I love to hear new perspectives and philosophies. I hope you all enjoy my posts!

 

You can expect internet culture and gaming related posts from me! Feel free to comment questions if you have any as well :).

 

Intel’s Misleading Thermal Design Power (TDP): Don’t Trust Your Processor’s Wattage Rating

intel-huge-secret-flop
Image credit: ewfewfev.blogspot.com

Intel has come under scrutiny lately for the power consumption and heat output of its CPUs, specifically the 9th Generation Core lineup consisting of Coffee Lake and Skylake-X parts. This much is understandable, as a revitalized AMD has forced Intel to increase core counts and clock their chips aggressively. However, the rating Intel gives its chips that’s supposed to inform users how much heat it outputs — the Thermal Design Power (TDP) — has not risen substantially in turn. Let’s just take a look at a cross-section of processors:

CPU Intel Core i7-7700K Intel Core i7-8700K Intel Core i9-9900K Intel Core i7-6950X Intel Core i9-7980XE Intel Core i9-9980XE
Node 14nm+ 14nm++ 14nm++ 14nm 14nm+ 14nm++
uArch Kaby Lake (Skylake) Coffee Lake (Skylake) Coffee Lake (Skylake) Broadwell Skylake-X Skylake-X
Cores / Threads
4 / 8 6 / 12 8 / 16 10 / 20 18 / 36 18 / 36
All-Core Turbo
4.4GHz 4.3GHz 4.7GHz 3.4GHz 3.4GHz 3.8GHz
TDP 91W 95W 95W 140W 165W 165W

The Core i9-9900K, despite being practically double the CPU and running at a higher clock speed on the same manufacturing node, somehow is only rated for an extra 4W of heat. This heat output rating is closely correlated, but not entirely equivalent to, the chip’s power consumption, as the vast majority of power drawn by the chip is dissipated as heat.

The secret to the formula is the CPU’s base clock, the lower advertised speed. In the footnotes, Intel’s TDP rating is technically only valid for the base clock. This is generally considered as a bottom floor for the CPU’s frequency under normal load scenarios. When idling, the chips run at a far lower frequency, and when loaded as long as there’s no thermal throttling (or AVX-512 instructions) they should run at a higher frequency. The i7-7700K has a base clock of 4.2GHz, compared to 3.6GHz for the 9900K. The 7700K only goes 200MHz above the speed for which it’s rated 91W, whereas the 9900K climbs a massive 1.1GHz.

Another element is the fact that TDP is generally an imprecise metric. Historically, since the initial generation of Core processors, Intel’s TDP has always been very liberal. The TDP rating was an absolute worst-case scenario; your chip was likely to consume dozens of watts less. The 7700K tends to consume up to 10W less than its TDP would indicate despite running at 4.4GHz on all cores instead of 4.2GHz.

Now, as you might have guessed, reviewers have generally found the Core i9-9900K to consume somewhere within the range of 150W and 180W of power under load with the default BIOS configuration. It’s possible to limit the CPU to its TDP in the BIOS, as is the case by default with many pre-built systems, but this results in lower sustained clock speeds and noticeably worse performance than reviews would indicate.

Why is an accurate TDP rating important? For one, it helps a user decide how beefy a power supply they need to run the chip. Secondly, it’s supposed to inform users — and OEMs like Dell and HP — how beefy a cooler is required to keep the chip at acceptable temperatures. In fact, Intel’s own decisions about which cooler to include in the box are based on TDP (the 9900K and 9980XE don’t come with coolers, hint hint). The Core i7-8700 has a TDP of just 65W and comes with a cooler rated for 73W for good measure. However, it actually has the same all-core turbo as the i7-8700K, despite a 500MHz lower base clock. If you try to run it with the stock cooler in a consumer motherboard, it will immediately overheat and throttle under load, as Tom’s Hardware has demonstrated.

AMD’s TDP for their Ryzen parts, on the other hand, is by all indications very accurate — which they ought to be commended for, even though they can’t reach the extremely high frequencies that Intel does.

Hopefully Intel will right this wrong, though in the current competitive climate we can only hope.

Genesis mining Discount code.

Genesis mining affiliate code: FoX5I1

Reward: 3% discount on initial purchase of any mining plan.

Considered investing in cryptocurrency mining but don’t want the trouble of expensive and power hungry hardware?

Genesis mining is the largest and most reputable cloud mining service offering a variety of plans and custom purchase offers which allow you to easily invest in the power and opportunity provided by cloud mining without all the hassle and expense which would normally go with mining crypto currencies.

Robinhood vs. Stash Vs. Acorn

Join Robinhood using this link and we’ll both get a stock like Apple, Ford, or Sprint for free: https://share.robinhood.com/alexanw1074

Due to the growing field of mobile investing it is now easier than ever to start building up a traded asset portfolio, no longer does one need the services of a stock broker, or a large sum of money t make an impact on the financial health of their future, all you need is $5 and a bank card!

Though their are many brokerages that extend their services to mobile investors there are three main ones I’m going to focus on as I have spent a fairly extensive amount of time, while I currently only use the services from Robinhood I will say I profited modestly but profited nonetheless by the time I drew my money out.

Well here they are the pros and cons.

1.Robinhood

+ fastest trading capabilities

+ widest stock selection

+ allows the use of leverage

+ allows users to trade cryptocurrency(depending on area)

+ allows complex buying options like short sales, limit sales, and limit buys

+ phenomenal market data and articles

Cons:

– Hardest to use

– requires most involvement

– very tempting to over trade

Overall: I would highly recommend to anyone who has a moderate understanding of the stock market, wishes to make a dedicated hobby out of it, wants high control over their portfolio, or has highly specific companies they wish to invest in.

People who are new to investing, or don’t have as much of an interest in going in depth may find the others much more desirable

2. Stash:

+ ETF focused

+ Lower Risk factor

+ Very informational for beginners

+ Simple and easy to learn

+ Beautiful UI

+ Fractional shares

– Smaller stock selection

– delayed trading times

– confusing category system

Overall: in the middle in terms of user difficulty, available features, and portfolio control.

3.Acorn:

+ Extreme simplicity

+ Automatic portfolio builds

+ Requires minimal knowledge

+ Offers Credit line

+ Allows accounts made for children

+ Reward per purchase system for linking credit/bank cards

+ Soothing UI

– minimal portfolio control (presets only)

– no trading

– teaches very little about investing

Overall: Great for absolute beginners or for those who just wanna invest without care of how it works.

In my experience Acorn also pairs great in combination with stash and or Robinhood since acorn is a low risk long term service and The others are a little more risk, choice, and trade oriented so using more than one in unison higher may potentially be a great way to diversify ones overall holdings.

Let us know in the comments which one(s) you use or have used and why!

Join Robinhood using this link and we’ll both get a stock like Apple, Ford, or Sprint for free: https://share.robinhood.com/alexanw1074

AMD Radeon RX 590: Too Little, Too Late?

RX 480 reference card, courtesy AMD.

The rumor mill has yet to cease churning with word of AMD’s upcoming RX 590 graphics card, based on GlobalFoundries’ 12LP process. The RX 590 is said to utilize a respin of the aging Polaris chip, known as Polaris 30, shrunk down to the 12nm node from 14nm. This may give AMD another ~200MHz of headroom to work with, but is it enough to make a dent in NVIDIA’s share of the market?

For background, AMD initially launched the Polaris architecture with the RX 480, using the 14nm Polaris 10 GPU in 2016. An optimization, known as Polaris 20 and released as the RX 580, was released in 2017, providing slightly higher clock speed headroom on the 14nm process at the expense of power consumption. Polaris 30 marks the third refresh of the Polaris architecture for AMD, two years later, while NVIDIA has already moved on from Pascal to Turing. However, Turing is currently limited to the ultra-high end (>$500) market. As a result, the RX 590 will be going up against the same GTX 1060 that the RX 480 battled two years ago, and that the RX 580 is still in a dead heat against. The specifications of these three cards are not substantially different:

Graphics Card Radeon RX 480 Radeon RX 580 Radeon RX 590 (TBC)
GPU 14nm Polaris 10 XT 14nm Polaris 20 XT 12nm Polaris 30 XT
Core Config 2304 SP, 144 TMU, 32 ROP 2304 SP, 144 TMU, 32 ROP 2304 SP, 144 TMU, 32 ROP
Core Clock 1266MHz 1340MHz 1545MHz
Memory 8GB 256-bit GDDR5-8000MHz 8GB 256-bit GDDR5-8000MHz 8GB 256-bit GDDR5-8000MHz
Memory Bandwidth 256GB/s 256GB/s 256GB/s
Thermal Design Power 150W 185W 185W?
Launch Date 06/2016 04/2017 11/2018
Price $239 $229 ???

The rumored 15% clock bump, given linear scaling, would put the RX 590 decidedly ahead of the RX 480/580 and GTX 1060, but still closer to 1060 levels of performance than 1070 (much less 2070). But can we expect linear scaling?

The main issue I see with Polaris 30 is that, according to rumors, it’ll be using the same memory controller and the same 8Gbps GDDR5 as the previous Polaris cards. The problem is that Polaris is moreso limited by memory bandwidth than it is by raw shading, texturing, or rasterization performance. To a certain point, depending on game/workload, overclocking the memory is more beneficial than overclocking the core. AMD’s equally-performing card from the previous generation, the R9 390X (Hawaii), utilized a 512-bit bus with 6Gbps GDDR5, delivering 50% greater bandwidth than Polaris. More efficient compression algorithms (36% more, to be precise, not 50%) and other optimizations led to this bandwidth deficiency being negligible at the original 1266MHz stock clock, but how far can AMD push the envelope before it becomes pointless?

And moreover, it being two and a half years since Polaris launched, how did AMD lack the foresight to anticipate this refresh and the need for faster memory? 8Gbps may be the limit for stock GDDR5, but NVIDIA (or their board partners) utilized factory-overclocked 9Gbps GDDR5 for certain 1060 models. Given that AMD will presumably be launching a cut-down variant of this GPU, it would make sense for them to use binned chips to deliver higher bandwidth on the 590, then use the low bins for the cut-down card. However, according to current rumors, this will not be the case.

Another option AMD could have gone with would be to redesign, if nothing else (they didn’t redesign anything at all apparently), the memory controller. A 384-bit memory controller could provide for 384GB/s of bandwidth at 8Gbps, the same offered by a stock R9 390X. This seems a bit excessive for Polaris, so they could instead use 7Gbps GDDR5 and yield 336GB/s, which is more than enough, and offset the added cost and power consumption of the larger memory controller. Normally, this would also mean having to increase the rasterizer (ROP) count to 48, though if this were cost prohibitive AMD could have stuck with 32 on 384-bit as they did with Tahiti. A 384-bit, 48 ROP Polaris at 1600MHz though? Would that not be a 1070 competitor?

Practically coinciding with the launch of Polaris, NVIDIA launched Pascal with GDDR5X, which provided a bump to a ~10-11Gbps out-of-the-box data rate. Turing, launched this summer, uses GDDR6 running at 14Gbps. Across a 256-bit bus, 10Gbps delivers 320GB/s, and 14Gbps delivers 448GB/s — the same as the GTX 1080 and RTX 2080, respectively. If AMD could have simply redesigned the memory controller with the node shrink, instead of absolutely nothing at all, even 10Gbps GDDR5X would alleviate the bandwidth bottleneck, delivering a 25% increase in bandwidth versus 15% for the core clock. The main problem here is that memory is expensive, and neither of the newer memory technologies are being produced in particularly large quantities.

This is not to say that the RX 590 will be a particularly bad card for the price when it launches. It’s expected to perform perhaps 10% better than the GTX 1060 at approximately the same retail price. But the 1060 is a 2 year old card, consumes far less electricity, is about to be refreshed with GDDR5X memory itself, and is likely to be replaced by a 2060 in a few months. AMD shouldn’t be refreshing Polaris a second time to edge past it, they should have an all-new chip that decidedly beats it after all this time.

Ultimately, what it comes down to is that AMD is designing the RX 590 as cheaply as they possibly can. Their R&D budget is evidently minimal. From what we’ve seen so far, this card will not deliver a single change except moving to the 12nm node and taking the ~10-15% extra frequency that comes along with it. If it’s similar to the 12nm shrink they did for Zen, they won’t even increase the density of the design, they’ll just increase the space between die elements to improve heat dissipation and frequency potential. After two years, this is the best they can do, finally beating the 1060 when NVIDIA is already starting to roll out 2000-series graphics cards. Now that their GPU division has gotten an overhaul with the departure of Raja Koduri, it’s about time their GPU architecture gets one too — they need it, fast.