419 karma · joined March 4, 2013
Yes, glossy screen had an anti-reflection coating added for Retina models that then proceeded into staingate. To make matters worse they took away the matte anti-glare option entirely because they thought their new compromise was best. Yelp.
I've also defended Apple a lot in the past for usually "getting most things right" where other manufacturers just don't. And you're right, they deserve to be cut down for stupid solved-problems-a-decade-ago like coil whine and rattling fans.
My viewpoint comes from expecting better from Apple because they've been better in the past, and only have a small number of SKUs to deal with. 2006-2012 saw Apple introduce new generations that solved problems and almost unilaterally improved upon their predecessors. They made a few hiccups (such as 2008's glass displays), and 2009's non-removable batteries, but they were reasonable well-thought compromises. Apart from serviceability, the 2012-2015 Retina era did the same.
On the other hand, Dell/Lenovo/HP etc vomit product lines all over the place and have done for as long as I can remember. Seldom do they keep the same basic chassis for more than 2 releases, and even when they do they don't seem to learn lessons and iterate to improve.
In saying that, comparing 2019 XPS, Latitude, Inspiron, and ThinkPads to their 2012 counterparts show marked improvement in many aspects, and few regressions. I guess that's a sorry indictment of PC notebooks at the start of the decade more than anything else...
I guess you could call that unfair on Apple, but then you look at the price they ask for their machines and quickly forget about fairness...
I measured the contrast of my 2013 MBA at ~800:1 with my Spyder3 back in the day, which is pretty OK for TN. It got somewhat close to 60% sRGB coverage.
For reference, my ThinkPad X230's TN display measured ~180:1 and couldn't even get to 50% sRGB.
No it isn't suitable for photo editing, but then no TN display really is due to the viewing angle colour and contrast shift. I haven't measured the 2015+ models but understand that the actual panel panel is meant to be the same. It's not what I would personally choose, but I thought it was acceptable at the time, even next to the TN MBP displays.
I'm the biggest critic of modern Apple notebooks there is, but I can't fault the quality of the MacBook Pro displays. They are, and have been for a long time, the best displays on notebooks.
Speaker quality is a lottery with every model, and none of them are as good as the 2013+ MacBook Pro. Coil whine and electrical noise is almost a given from either the machine itself or Lenovo's chargers. The quality of the audio output on the machine is almost certainly not as good as that on the MacBook Pro.
Oh, and I can all but guarantee that the battery in a MacBook Pro will have better longevity than that of the ThinkPad.
You also have to pay almost MacBook Pro prices to get decent specs out of the Lenovo machines.
For example:
* The trackpad on 2016+ models is too large for many users who experience palm rejection issues. * The display cable on 2016 and 2017 machines was too short, and is now starting to cause the issue known as "flexgate". It's almost a given that with enough use, every one of these machines will suffer this failure. To make matters worse, unlike the 2015 machines where the display cable could be replaced on its own, the entire display assembly is glued together on 2016+ machines and has to be replaced as a whole unit. * Stupid electrical decisions such as putting pins for high voltage backlight power and low voltage data signalling right next to eachother mean that there's a good chance the machine will fry itself if it gets at all humid inside (most machines do at some stage, especially if used on a lap). Most other notebooks do not do this and are much more durable in this regard. * The storage being soldered is fucking braindead. Apart from being planned obsolescence due to NAND flash's finite lifespan and macOS's increasing hunger for storage space, data recovery is not possible without a proprietary system to connect to a lifeboat port on 2016-2017 machines. 2018 machines have no such port and at this stage, there is no known way to recover data from working flash chips on a dead logic board without board-level repair.
Apple made far better computers in 2015. The competition also being shit doesn't excuse Apple's regressions.
But yes, it's not even close to the retina IPS displays.
Ultimately if you want the longest battery longevity, keep it between 50% and 85% charged, and keep the machine cool.
* Original white and black MacBooks had sharp edges and cracking wrist rests
* 2nd Gen MBP had 8600GT chip death issues
* First Unibody MB/MBP had glossy screen not suitable for indoor lighting
* First Polycarbonate Unibody had chassis cracking and rubber base warping issues (but was otherwise an excellent machine, too bad they didn't resolve those issues and keep selling it...)
* 2011 15" will all eventually fail due to faulty GPUs
* 2012 Retina MBs had underpowered GPUs
* Retina MBPs had soldered RAM and proprietary SSDs (10.13's NVMe support for those older machines with a simple adaptor has made a complete mockery of anyone defending Apple's stupid proprietary pinout, too), glued batteries and display coating problems
In saying that, the original aluminium unibody was a spectacular design. It felt so much more premium than any other machine of the time it was absurd.
I personally think absolute peak Apple notebook was the 2012 MacBook Pro 15" with the Anti-Glare display. All the best things about the pre-retina Unibody design, but serviceable, with USB3, no known serious GPU or CPU flaws, and none of the retina issues such as staingate or glued battery.
Had they made a Haswell revision of that to get the better battery life I'm reasonably convinced it would still be a seriously popular machine today.
One can only hope.
Have tried everything short of a complete reformat - NVRAM, SMC reset. Nothing in activity monitor gives me any clues either.
I even rolled back to High Sierra to check my sanity. No crazy fan spin. Reinstalled Mojave --> crazy fan spin.
I really don't care about the "charge from either side" benefit of USB Type C. I do appreciate the fact that you can use aftermarket cables though - especially considering how poorly constructed Apple's are.
Last time I looked I was quoted somewhere in the neighbourhood of $600 for a rMBP battery replacement - but that was just the battery. Even that IMO is not a reasonable cost for what it is - the only reason it costs that much is the fact that it's glued in, and the fact that Apple charge so much for the part.
Everyone is reinventing the wheel over and over here and it's infuriating. I recently tried to find a good component to provide an internationalised currency input - it's incredibly difficult to find a quality implementation for this, yet it's something that the vast majority of web applications will need to use at least once. Same goes for phone numbers.
It would be nice to see web components take these roles away from frameworks. It would be nicer to see web standards identify the importance of many of these inputs in the first place.
As for UIs, React is OOP. It borrows many ideas from FRP, but at its core are objects that have behaviour and state (components), and a system to orchestrate them. It might not be OO from 1990s Java, but it's definitely OO.
As for the rest, well:
* The concept of "values" form the basis for several important OOP design patterns - such as Value Objects and DTOs.
* Anything but very lightweight inheritance hasn't been in favour for many years, and most good OO developers favour composition.
* Writing the simplest version of code for today is a key tenet of TDD as practiced by several OOP leaders such as Bob Martin.
* GOTO is a permanent and nonreturnable change in program flow with little boundaries. Message passing is entirely different, very much bounded, and executed within control flows.
* Poorly designed tests are coupled heavily to code. Good tests are not. Test fakes can actually simplify debugging by removing and isolating large portions of the system.
* Most OO languages have a switch case that's perfectly acceptable to use. Many real-world applications that have never-ending spec changes (compilers work to a pretty limited and well-defined spec) benefit from using polymorphism to allow easier extensibility.
As a paradigm OOP encompasses a particularly wide spectrum, so while you can of course practice the worst OO has to offer in the form of deep inheritance hierarchies and overuse of design patterns "because we'll need them later", none of this is endemic to OO. In fact there's quite a happy medium combining OO with FP concepts (such as React) - or using OO at the boundaries to help assemble and mutate data before it gets passed to a core of pure functions.
As with everything, it's all about picking the right tool for the job, and getting the most out of the tools you are using. Steak knives and bread knives look almost exactly the same, but one is a lot better for tearing through meat.
In reality, there are always times where that falls a little flat, which is where IMO Gradual Typing comes into its own. The "core", with some assumptions about the boundaries, be statically analysed. You can add your times(int n) method safe in the knowledge that you'll get a runtime error if someone messes up the dynamic type or doesn't run the analyser.
Ultimately, as I want to run all my code before I put into to production, a lack of runtime errors from my tests tells me my code is correct for the situations I designed it to handle. Now if someone comes along later and manages to invoke a state that I hadn't considered, well... all bets are off.
I've also never experienced a long line at a video store, despite it being a regular Friday night thing for me to do for many years...
Gotta say, the thing I miss most is the ease of browsing through a curated back catalogue. Netflix and co are terribly awful by comparison. Several hundred square metres vs a 55" television screen...
His company LWA Solutions, that was born out of LazyWorm Apps, did some work for the company I work for. Atta in particular was a driving force behind some of their really cool innovations - in VR. He was one of the first people I knew of who was using a tablet as a mock UI sketchbook, and producing some really cool work despite the awful capacitive touch pens of the time.
It's so difficult to reconcile his murder. He was such a genuine guy with so much ahead of him, and I'm so sorry for his family.
And that teal... gets me every time. I used to think it was hideously ugly, but these days there's an understated elegance to it that just can't be denied.
The "services" part makes a lot of sense in certain situations, and I feel like one of the best application architectures is what I call disconnected monoliths. Centralise and standardise core concerns - like authentication, external communications. Build monoliths for everything else.
I... don't. His write-up doesn't inspire confidence either - I have no idea how he has performed the measurements.
I know enough to know that audio measurement is a very tricky endeavour, and most other measurements put the lightning adaptor's output at a few dBA worse in SNR and dynamic range than the iPhone 6S' jack output (but otherwise similar). Both are easily worse than a good external DAC. Certainly not "better quality" than the inbuilt option as Rockwell claims.
It's good enough for almost everyone, and is likely to be capable of higher fidelity than most source material, but most agree that it is objectively a worse DA.