Jump to content

Ericde95

Member
  • Posts

    164
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Ericde95 got a reaction from wich23 in 2nd GPU for mining only: possible?   
    I may be an oddity, but I have actually used them for purchases/transactions and it's quite useful when you're dealing with international/illegal/tax stuff.... Plus I'm a trader so their value isn't exactly as important as their change in value.
  2. Like
    Ericde95 reacted to Ferdinand_ in Razer Blade 2014: battery replacement   
    Apparently I am not the only one with this problem. It sucks we have to pay a ridiculous amount of money for a battery replacement. Given the fact that razer messed up by using a poor quality battery with the 2014 model, they should replace them at no cost. 
  3. Like
    Ericde95 reacted to leadeater in How do servers deliver power?   
    Depends on both the server, the current load and the configuration you order the server in.
     
    Servers with multiple power supplies have a distributor that the power supplies connect to, power is delivered from this. These are either active/active or active/passive style, or N -1 for 3 or more.
     
    For example with an active/active style distributor if the server has two 500W power supplies and you are drawing 500W then each power supply will be delivering 250W, if you then go above 500W you have now lost resiliency so in the event of a power supply failure the server will shut off. Some servers will not let you draw more than what a single power supply can give and this is can either be configurable in the bios or one time configured at purchase (hardware), I call this active/passive when really it's not but makes it clear you cannot go above the draw of 1 PSU.
     
    There is typically monitoring connectivity of the power distributor that connects to the motherboard so the bios can control the power etc. These advanced power control features are found only on products from HP/IBM/Dell and not whitebox/build your own.
  4. Like
    Ericde95 reacted to iamdarkyoshi in Controlling a Servo with a Raspberry Pi 3   
    If I remember correctly, don't they just need a ground connection, power (+5V) and a PWM input? If so, connect the ground pin to ground, +5V to +5V, and the PWM pin to an output pin that has PWM control. Never worked with a pi, but I would imagine its the same concept as an arduino would have
  5. Like
    Ericde95 reacted to Huntsman in Controlling a Servo with a Raspberry Pi 3   
    GPIO on the PI runs on 3.3V, servos run TTL or 6V signalling so you would need a level converter or buffer, which also provides protection. Also, don't bother trying to draw power from the GPIO 5V.
  6. Like
    Ericde95 reacted to FourCorners in The Retrofit: putting the latest and greatest into an decade-old laptop   
    that is if the CPU is socketed and not soldered on..
  7. Like
    Ericde95 reacted to ARikozuM in What Should I Do With My Spare Parts PC?   
    I live in Florida now and the Sun is AMD.
  8. Like
    Ericde95 reacted to imreloadin in Upgrading a 7 Year Old Laptop - On a Budget!   
    You do realize that your "Step 4" doesn't actually do anything right? It's called Performance MONITOR for a reason, it simply records the performance of the counters you specify for troubleshooting purposes. ThioJoe is a joke account created to take advantage of people who don't know about computers lol.
  9. Like
    Ericde95 reacted to vanished in [Guide] Hyper-threading and Windows, explained for real   
    This seems to be a commonly misunderstood thing so I'll do my best to shed some light on it.  Keep in mind the following however:
    The purpose of this guide is to define some key terms that are often misused, and explain how threads and hyper-threading works in the context of "Set Affinity" in task manager.  Which checkboxes mean what, how to use it, why it does things, etc. Explaining how a CPU works is not the point of this guide; This information is just provided as background to get everyone on the same page.  It is a simplified explanation of how CPUs work.  To the best of my knowledge it's correct, but it is simplified.  If you want more detail, go to page 3 where there is some good content.  
    Terminology
    Before we can do anything, some terminology is in order.
    Core: This refers to the physical core on your CPU.  You might have 2, or 4, or 6 or some other number.  They are real, physical, and they are there, and with the right equipment, they are clearly visible: Logical Core: This refers to the device exposed to the operating system.  It may or may not represent a physical construct 1:1, but it is something Windows can schedule tasks to execute on.  In a modern i7 for example, you have 4 Cores (4 physical cores), but 8 logical cores, because - due to hyper-threading - each actual core presents 2 logical cores to the system. Thread: This is perhaps the most commonly misunderstood, or at least misused term with regard to this subject.  A thread is not a physical thing, it is not part of hardware, and it does not arise from hardware in any way.  A thread is a software concept, and is a single consecutive series of tasks.  Every running program on your computer consists of one or more threads.  Software can launch or terminate threads as needed, no differently than you open and close applications.  Generally speaking, any time a program is doing 2 or more things at once (ie, has a dialog box open waiting for input, while the main program remains functioning in the background) it is using 2 or more threads.  A program can launch virtually any number of threads, and you can see how many any given program is using in task manager by activating/showing the correct column.  You will find that most programs have more than 10, and some have over 100.  There is no limit to how many threads any CPU can run, but there is a limit to how many can be run simultaneously, and this is where multiple cores and hyper-threading comes in.  It would be incorrect to say a CPU has a certain number of threads.  What you really mean is it has that many logical cores, each one of which can be entirely occupied by one sufficiently demanding thread.  
    Background
    The vast majority of those threads exist because it makes logical sense to do so for the sake of the program design.  Some, however, exist to perform computationally intensive tasks, and these are generally the only threads we care about.  When we say "a program can't use more than 4 cores", it is because the intensive workload is not split up onto more than 4 threads, and since 1 thread can only run on one core at a time, this means the program cannot use more than 4 cores effectively.  Think of it this way - if I tell you to add 3 to 4, and then multiply the result by 7, you can't start multiplying until the addition is done.  This is a very basic example of a serial task - something that cannot be parallelized - something that cannot be split up onto more than 1 thread - onto more than 1 core.  Every thread consists of a great many of these tasks in order, and if the programmer did his or her job correctly, it won't bundle up things that could be done simultaneously by another core.  For example, if I had two employees, I could tell 1 to do this math problem and then fetch the dry cleaning, or I could be smart and tell one to work on the math while the other goes to the cleaner's.  The tasks are unrelated and can be done in parallel, and so they should be put on separate threads so they may be executed simultaneously by separate cores.  One core can run multiple threads (though not simultaneously [*1]), but one thread cannot run on multiple cores.  It may appear to, depending on how Windows schedules it, but if it is loading all cores on the CPU, you will notice that it only loads 1 logical core's worth of percentage on to all of them (ie, a single-threaded application will load all 4 cores in a quad core to 25%, or there abouts).
     
    The thing about an intensive task is it may not actually take effort from the CPU 100% of the time.  Consider the following analogy:
     
    Imagine a store with many customers, and several cashiers that each have one till.  Each customer checking out is like a thread, and each cashier is like a core.  Now what happens when an old lady is rummaging for change?  That cashier - that core - is still occupied with that customer - that thread - but it's not really doing anything, just, waiting.  This happens in real programs as well.  Sometimes a task gets to the CPU, and then realizes, "oh wait, I need something from memory".  In the nanoseconds that it is fetching that, the CPU is occupied but not actually accomplishing anything.  Imagine if that cashier had a second till - the cashier is still only able to work so fast, but at least he/her can make use of his or her "spare time" more effectively.  Now, with a store of customers, several cashiers, and 2 tills per cashier, each cashier can work on checking out a customer, unless they are held up for some reason, at which point that cashier can use his or her other till to start checking out another customer.  This is hyper-threading in a nutshell.  It is not another core, or anything like that - it is just a way that the existing hardware can be used more effectively.[*2]  In theory, 1 core with hyper-threading and 1 core without hyper-threading will perform an identical task in exactly the same amount of time (assuming the cores are the same in every other way), but if faced with 2 tasks, the hyper-threaded core will be faster. Probably not twice as fast, but faster for sure - maybe ~50%, depending on the task, though in theory it could be anywhere from no better to twice as good.
     
    This creates an interesting question though.  When you open task manager and go "Set Affinity", how to you know which of those check boxes map to which physical core?  That's what I will now explain/prove.
     
    (Oh, and as an aside, we now can see why Intel shows an i7 for example as having 4 cores and 8 threads - it is because it can execute 8 intensive threads "simultaneously")
     
    Experiments
    Now that we understand how the CPU and the processes it runs work, we can get into how this relates to Windows.  From my very first i7 back in 2011, I had my own theories, but to be honest I never actually tested them until today.  Luckily I was right about everything I had thought all along.
     
    So how do they map?  Are those 8 checkboxes just saying how many core-equivalents of power you want the task to take up, but have no correlation to an actual core?  Does each one actually refer to a specific core?  And if so, in what order or pattern?  I performed some tests, running a process on just one of those logical cores at a time, and observing which actual core got hotter using HWMonitor.  The results were conclusive and indicated the following mapping is correct. (Note that I count from 0 not 1, as per how task manager does it)
     

     
    Well that's all fine and good, but how do they work (or interfere) with each other?  To determine this, I took a predictable, repeatable and CPU intensive task consisting of 8 threads and ran it on the logical cores indicated in the chart below.  I ran 4 trials in each case and averages the run times (in seconds).  From this we should be able to gain additional insight.
     

     
    I believe these results are also quite conclusive and verify the mapping provided above.  Allow me to explain:
    We notice that on 0, 1, 2, and 3 that the run time is essentially the same (within the margin of error).  This makes sense, since all of these are 1 logical core tests.  I could have continued to test 4, 5, etc but they would all have been the same, since in each case, all it means is the task is allowed to execute on one logical core (ie, execute on one physical core and not take advantage of hyper-threading). We notice that the tests on 0+1 and 2+3 the run times are essentially the same.  We also notice that tests 0+2, 1+2, and 1+3 are also the same as each other, but faster than the 0+1 & 2+3 tests.  This would seem to confirm the mapping above.  If my interpretation is correct, it means that 0+1 was running on core 0 with HT, and the 2+3 test was running on core 1 with HT (both effectively 1 hyper-threaded core), while test 0+2, 1+2, and 1+3 were all running on cores 0 and 1 without HT (effectively a physical dual core).  This is backed up by the run times.  It makes sense the actual dual core should outperform the hyper-threaded single core. To continue, I tried a test on 0+1+2+3.  This is effectively an i3: a dual core with hyper-threading.  We see it get outperformed again by the test on 0+2+4+6, which is effectively an i5: a quad core without hyper-threading. Finally, I tested on all cores just to show the full power of the i7 for reference.  
    What does it all mean?
    It means that the options in task manager do map directly to certain cores, and parts of cores, and there is no mystery.  It means you can basically simulate any kind of processor by setting the affinity in task manager.[*3]  As Luke said, it means there is no difference between task manager's "core 0" and "core 1" - there is no hyper-threading minor core and a parent core or any of that; both core 0 and core 1 just mean run on your actual physical core 0.  But, there is a difference between setting something to 0+1 and to 0+2: 0+1 will make it only use one physical core, taking advantage of hyper-threading when possible, while 0+2 puts the load on two physically separate cores.
     
    Footnotes
    [*1] CPUs are complex things.  A single instruction, and even a series of instructions don't just march one after the next through the chip like the customers in my example.  This is a good analogy in my opinion but it does hide (ignore) much of the complexity.  There are many parts to a CPU - some perform integer math, some do other things, etc. and depending on the CPU, and the code you are running, and how it was compiled, there are various ways in which things are automatically parallelized.  For example, if it appears that an upcoming instruction is unrelated to other things currently being run and the parts of the CPU that would handle it are free, it will jump ahead and run that while using other bits of the CPU for other instructions.  It is because of this complexity that the idea of "simultaneous" execution becomes a bit muddy, but for the purpose of understanding what is going on here, just imagine the example I gave and it should represent what's going on relatively well.
     
    [*2] I must confess, I do not know exactly the bit level "play by play" of what is going on, and I have heard that a core with HT and one without are not physically different, and that they are physically different, but again, for the sake of a general understanding, just consider it a way to use what's already there more effectively, and not as additional hardware, since that becomes hard to distinguish from simply having an additional core.
     
    [3*] OK, obviously there's more to it - IPC, cache size and speed, other differences in architecture, etc.  But what I mean is you could realistically simulate the performance, give or take, of an i3 6100 by disabling some stuff in an i7 6700k
     
    I hope someone finds this useful, and I want this of course to be entirely accurate and correct so if you believe there is a mistake, please let me know, but to the best of my knowledge this is all valid.
     
    Thanks for reading!  
  10. Agree
    Ericde95 reacted to NEDIX in 2nd GPU for mining only: possible?   
    Certainly a possibility, have done this before. Make sure you have SLI off as you'd want the 670 to run independently. I don't remember what software I used to mine but both the Linux and Windows build had a commandline option for selecting a specific GPU.
  11. Agree
    Ericde95 reacted to Yosyp00C in 670 or 750   
    Why would you get such old cards?
    Maybe, if you can find a used 670 for 120$, but... even if it's way more powerful than a GTX 750, it's old, it sucks a lot of power, and drivers support may cease after some time compared to modern solution.
    Wait for the upcoming AMD RX 470-460 or get a 480 for >200 bucks.
  12. Like
    Ericde95 reacted to NEDIX in 2nd GPU for mining only: possible?   
    I take it you meant to say:
    Choose your words wisely, handle them carefully, for words have more power than atom bombs.
  13. Like
    Ericde95 reacted to XxRockTheBamxX in Custom Loop for only 90$.   
    Alright I just re inspected all your pictures, the kit you got came with 7 fins, they all go on the bottom of the card, 4 of them go on the chokes (things that say R22) one small black chip right below the chokes, and the two other ones you already have fins on, like so. there is no coincidence that the kit included 7 of them.


  14. Like
    Ericde95 got a reaction from Samson_ST in Razer Blade 2014: battery replacement   
    Considering the CPU/GPU performance levels, it was a great battery while it lasted (3+ hours of BF4) but has degraded significantly since then, unfortunately.
     
    Thanks. I looked for about an hour today and couldnt find anything. Was hoping someone on LTT may have had insight. 
  15. Like
    Ericde95 got a reaction from toogamer in Dbrand Phone Skins- BEWARE   
    I also heard of dbrand from Marques, but decided to pull the trigger after Linus used them.
     
    It may very well be a USPS issue. It has just been very frustrating and the back of my phone is getting scratched up in the meantime. I purposely didn't crush their company in my wrap-up/overall. Im sure it's not entirely their fault, but this is my experience and I cannot recommend them to my friends. I feel they should have at least got the address correct ( if that is the issue).
  16. Like
    Ericde95 got a reaction from toogamer in Dbrand Phone Skins- BEWARE   
    Hello LTT, today I am here to warn you about a Canadian phone skin company that I have been trying to work with for the past two months. I know Linus has worked with them in the past, so I hope that somehow Dbrand's issues can be resolved by bringing this up with one of their bigger promoters.
     
    DBrand Phone Skins - The Company That Couldn't Come Through...
     
    7/5 - Ordered a set of skins for my HTC One M8.
    I heard about Dbrand from the honorable @Linus himself from several of his videos. Dbrand sponsored a sweet looking skin for his Xperia Z2 
     . I ventured to their website, which is absolutely awesome and well-built, and proceeded to buy some somewhat overpriced 3M-made skins for my phone. The order processed immediately, complete with email confirmations and the works. Keep in mind that at this time I was in New York City working an investment banking internship. I was expected to live in that apartment until early-mid August where I would return to my home in Florida before heading out to Washington DC for school. I though that ordering something with a MONTH to get to my apartment was no issue. The shipping estimate was 7 - 14 days, which puts me at a latest shipping date of 7/21 (assuming it shipped the following Monday). I never received a tracking number, simply a confirmation that it left the warehouse a few days after ordering. 
    7/21 - Last day of estimated delivery
     
    7/24 - Still nothing
    I began to worry that maybe something went awry with the transaction and decided that I would send them an inquiry in the morning to figure it out.
     
    7/25 - Sent Dbrand Customer Service an email
    I sent the Dbrand Customer Service team this email:
     
     
    7/29 - Four days to get a reply...
    Here is their reply: 
     
     
    I totally respect their reply to this. I would want my employee's to reply in the exact same manner. I was not disappointed by the company by this point; mistakes happen, and I was hoping they would come through and regain all of my trust. If I had to wait another week or so, no problem, I get it, shit happens.
     
    7/30 - Order #2 shipping confirmation
    I happily received yet another email confirmation stating that my phone skin was on its way (again). This gave me some hope:
     
    8/19 - Nothing, still
    I have been super busy getting ready for college when I realized that I have yet to get my skin.... I double check the email and the tracking number to find some interesting news, again...:
     
     
     
    It SEEMS like they sent it to the wrong address (even though their email clearly states that it was supposed to send to my Florida address). At this point I am terrified to even tell them that I will be in Washington DC by Thursday in fear that half the continental-US will be receiving free HTC One M8 skins.
     
    I decided to send them an email earlier, before I checked the shipping info and realized they shipped it to the wrong address, that quoted all of my previous conversation's with their customer service. Hopefully they can give me some sort of refund or credit so that I can take my business elsewhere... 
     
    Overall
     
    Im honestly not sure what to think. I believe they mean well, but it is just so hard to work with a company that has failed me for so long, so many times over. Their website is absolutely awesome, their customer service has been helpful (albeit not necessarily prompt). I dont want to totally trash the company, but its been well over a month and I still don't have a simple 3M phone skin that I spent a lot on (considering the price of 3M's materials in bulk)... At the end of the day, I am not a happy customer and I cannot recommend their products to my friends and family (including the LTT or OCN crews).
  17. Like
    Ericde95 got a reaction from PlayStation 2 in Dbrand Phone Skins- BEWARE   
    Hello LTT, today I am here to warn you about a Canadian phone skin company that I have been trying to work with for the past two months. I know Linus has worked with them in the past, so I hope that somehow Dbrand's issues can be resolved by bringing this up with one of their bigger promoters.
     
    DBrand Phone Skins - The Company That Couldn't Come Through...
     
    7/5 - Ordered a set of skins for my HTC One M8.
    I heard about Dbrand from the honorable @Linus himself from several of his videos. Dbrand sponsored a sweet looking skin for his Xperia Z2 
     . I ventured to their website, which is absolutely awesome and well-built, and proceeded to buy some somewhat overpriced 3M-made skins for my phone. The order processed immediately, complete with email confirmations and the works. Keep in mind that at this time I was in New York City working an investment banking internship. I was expected to live in that apartment until early-mid August where I would return to my home in Florida before heading out to Washington DC for school. I though that ordering something with a MONTH to get to my apartment was no issue. The shipping estimate was 7 - 14 days, which puts me at a latest shipping date of 7/21 (assuming it shipped the following Monday). I never received a tracking number, simply a confirmation that it left the warehouse a few days after ordering. 
    7/21 - Last day of estimated delivery
     
    7/24 - Still nothing
    I began to worry that maybe something went awry with the transaction and decided that I would send them an inquiry in the morning to figure it out.
     
    7/25 - Sent Dbrand Customer Service an email
    I sent the Dbrand Customer Service team this email:
     
     
    7/29 - Four days to get a reply...
    Here is their reply: 
     
     
    I totally respect their reply to this. I would want my employee's to reply in the exact same manner. I was not disappointed by the company by this point; mistakes happen, and I was hoping they would come through and regain all of my trust. If I had to wait another week or so, no problem, I get it, shit happens.
     
    7/30 - Order #2 shipping confirmation
    I happily received yet another email confirmation stating that my phone skin was on its way (again). This gave me some hope:
     
    8/19 - Nothing, still
    I have been super busy getting ready for college when I realized that I have yet to get my skin.... I double check the email and the tracking number to find some interesting news, again...:
     
     
     
    It SEEMS like they sent it to the wrong address (even though their email clearly states that it was supposed to send to my Florida address). At this point I am terrified to even tell them that I will be in Washington DC by Thursday in fear that half the continental-US will be receiving free HTC One M8 skins.
     
    I decided to send them an email earlier, before I checked the shipping info and realized they shipped it to the wrong address, that quoted all of my previous conversation's with their customer service. Hopefully they can give me some sort of refund or credit so that I can take my business elsewhere... 
     
    Overall
     
    Im honestly not sure what to think. I believe they mean well, but it is just so hard to work with a company that has failed me for so long, so many times over. Their website is absolutely awesome, their customer service has been helpful (albeit not necessarily prompt). I dont want to totally trash the company, but its been well over a month and I still don't have a simple 3M phone skin that I spent a lot on (considering the price of 3M's materials in bulk)... At the end of the day, I am not a happy customer and I cannot recommend their products to my friends and family (including the LTT or OCN crews).
  18. Like
    Ericde95 got a reaction from rhyseyness in Dbrand Phone Skins- BEWARE   
    I also heard of dbrand from Marques, but decided to pull the trigger after Linus used them.
     
    It may very well be a USPS issue. It has just been very frustrating and the back of my phone is getting scratched up in the meantime. I purposely didn't crush their company in my wrap-up/overall. Im sure it's not entirely their fault, but this is my experience and I cannot recommend them to my friends. I feel they should have at least got the address correct ( if that is the issue).
  19. Like
    Ericde95 got a reaction from TheGeeker in Dbrand Phone Skins- BEWARE   
    Hello LTT, today I am here to warn you about a Canadian phone skin company that I have been trying to work with for the past two months. I know Linus has worked with them in the past, so I hope that somehow Dbrand's issues can be resolved by bringing this up with one of their bigger promoters.
     
    DBrand Phone Skins - The Company That Couldn't Come Through...
     
    7/5 - Ordered a set of skins for my HTC One M8.
    I heard about Dbrand from the honorable @Linus himself from several of his videos. Dbrand sponsored a sweet looking skin for his Xperia Z2 
     . I ventured to their website, which is absolutely awesome and well-built, and proceeded to buy some somewhat overpriced 3M-made skins for my phone. The order processed immediately, complete with email confirmations and the works. Keep in mind that at this time I was in New York City working an investment banking internship. I was expected to live in that apartment until early-mid August where I would return to my home in Florida before heading out to Washington DC for school. I though that ordering something with a MONTH to get to my apartment was no issue. The shipping estimate was 7 - 14 days, which puts me at a latest shipping date of 7/21 (assuming it shipped the following Monday). I never received a tracking number, simply a confirmation that it left the warehouse a few days after ordering. 
    7/21 - Last day of estimated delivery
     
    7/24 - Still nothing
    I began to worry that maybe something went awry with the transaction and decided that I would send them an inquiry in the morning to figure it out.
     
    7/25 - Sent Dbrand Customer Service an email
    I sent the Dbrand Customer Service team this email:
     
     
    7/29 - Four days to get a reply...
    Here is their reply: 
     
     
    I totally respect their reply to this. I would want my employee's to reply in the exact same manner. I was not disappointed by the company by this point; mistakes happen, and I was hoping they would come through and regain all of my trust. If I had to wait another week or so, no problem, I get it, shit happens.
     
    7/30 - Order #2 shipping confirmation
    I happily received yet another email confirmation stating that my phone skin was on its way (again). This gave me some hope:
     
    8/19 - Nothing, still
    I have been super busy getting ready for college when I realized that I have yet to get my skin.... I double check the email and the tracking number to find some interesting news, again...:
     
     
     
    It SEEMS like they sent it to the wrong address (even though their email clearly states that it was supposed to send to my Florida address). At this point I am terrified to even tell them that I will be in Washington DC by Thursday in fear that half the continental-US will be receiving free HTC One M8 skins.
     
    I decided to send them an email earlier, before I checked the shipping info and realized they shipped it to the wrong address, that quoted all of my previous conversation's with their customer service. Hopefully they can give me some sort of refund or credit so that I can take my business elsewhere... 
     
    Overall
     
    Im honestly not sure what to think. I believe they mean well, but it is just so hard to work with a company that has failed me for so long, so many times over. Their website is absolutely awesome, their customer service has been helpful (albeit not necessarily prompt). I dont want to totally trash the company, but its been well over a month and I still don't have a simple 3M phone skin that I spent a lot on (considering the price of 3M's materials in bulk)... At the end of the day, I am not a happy customer and I cannot recommend their products to my friends and family (including the LTT or OCN crews).
  20. Like
    Ericde95 reacted to Jobbe03 in This Game Looks.... Incredible! O_O   
    Looks like a bright skyrim
  21. Like
    Ericde95 reacted to A.D.A.M in I don't understand why DayZ is always a Top Seller on Steam   
    People like to lose their in game items?
  22. Like
    Ericde95 reacted in What is the most underwhelming/unimpressive piece of tech you own?   
    My comcast router. 
  23. Like
    Ericde95 reacted to applesuxD in Gaming Headset Question   
    Their both USB soundcard
    Note that the Siberia have a gap in between your ears which really ruins the headset
    Kraken is definitely better trust me
  24. Like
    Ericde95 reacted to NannerBeans in Gaming Headset Question   
    I wouldn't do the trade considering you don't know how the other person treats their stuff since headsets break easily. The sound quality would be similar.
  25. Like
    Ericde95 reacted to SuperPug in In Blind Test, Nexus 6 Beats iPhone 6 Camera   
    Is this one of those coke / pepsi situations?
×