The entire Apple universe is bizarre. I've not used an Apple product except for the first gen iPhone but I did love it when I did.
Since then, Apple has been behind the curve on every thing. I want to go back to using Apple since I really like their stance on privacy and security but feature wise they're usually 2-3 years behind a Samsung or a Microsoft. And now, this...
In terms of their computers, there has absolutely been a decline in quality, but in terms of their other product lines (and you specifically mention phones), I don't really think this is correct.
I mean in terms of phones, the iPhone X is pretty much top of the line -- are there other phones that exceed it in a meaningful capacity? Bezel-free design, face recognition, fake-DLSR like camera effects, etc.
> and is likely what is contributing to their lackluster sales numbers at that price point.
I think the price tag alone has a significant impact on iPhone X's sale not withstanding the effect that the older iPhones (especially 6s) are holding up really well if you don't want or need a better camera.
There's plenty of phones on par with the iPhone that blow it away in the cost department. Android hardware has had good screens, good cameras, good specs, and plenty of screen unlock gimmicks (face recognition unlock was introduced ~3 years ago if my memory is correct), and all of that usually well before an iPhone ever did; the iPhone's only compelling feature is that the stock software is kept pretty slim (but even that is slowly slipping away as Apple loses focus).
What Android hardware severely lacks is manufacturers that aren't bound and determined to destroy their products with shitware. It doesn't help that the platform isn't obnoxiously marketed as a social/economic statement, either.
The iPhone’s CPU is literally years ahead of comparable Android devices, with today’s flagship Android devices comparable to an iPhone 6s in terms of performance. One or two other devices may have a camera that matches Apple in terms of a spec here and there, but iPhone is still the gold standard. The fact you call Samsung and others’ garbage face unlocking from 3 years ago gimmicks might be the most accurate thing in your post, but those never worked reliably and in no way compare to Face ID.
And then you finish by noting that most Android OEMs require you to use their shit version of the OS. Well then, real convincing argument when the most critical part of any computer is garbage. This place is insane...
The Pixel 2 camera absolutely destroys the iPhone X. I have both and I've done a lot of side by side comparisons and my results jibe with all the online reviews that pick the Pixel. Apple is way behind here.
And that's on the back camera. On the front facing camera the quality gap is even bigger.
I thought the "face recognition" on Android 3 years ago was 2D and easily fooled with a likeness printed on a piece of paper? Not exactly equivalent, like a lot of "specs" that don't stand up to deeper inspection.
> What Android hardware severely lacks is manufacturers that aren't bound and determined to destroy their products with shitware.
This, plus lack of/severely delayed software updates in the face of critical security bugs.
I don't think that's fair to say. Their hardware is consistently top of the line. They make mistakes like this, but they've been doing it since _forever_ once they get cocky (remember the cube? the puck?). But usually they get back on track after a while.
To me, other than raw specs (like, say, screen density), they're still winning more frq8 then not.
(And I say this as someone who avoids Apple like the plague).
> Since then, Apple has been behind the curve on every thing.
There are many examples to the contrary. Apple's mobile chips are still way ahead of the competition. AirPods are the gold standard for that product category. FaceID had a substantial lead on the Android world for about a year.
Realistically, I just can't really see Apple fixing this by introducing a new keyboard design that's any thicker. As much as I would love to hear "We've heard your feedback on the keyboards and we've made some drastic changes to address them in our new Macbook Pro", it just doesn't seem like their style. What do others think they're going to do for their next release of laptops?
Honestly, its hard to get off the mac ecosystem though. I have a macbook pro, and am starting to look at linux laptops. The options don't seem great. older Apple laptops are pretty well built, so hopefully it'll last a couple more years...
Only thing I'm considering is a thinkpad x1 carbon. But the last time I tried putting linux on a laptop I had a few issues submitted to the linux kernel and still didn't have the laptop working perfectly (Asus zenbook) within a week I returned it and bought a MacBook pro. Might be time for another go.
I believe Thinkpads are famously easy to make work with Linux. I had one in college (a decade ago) and an x1 carbon when I was at Google (several years ago) and both of them were excellent (though the latter obviously would've had any kinks ironed out by the Goobuntu team).
My last couple laptops had better hardware (for my needs) than ThinkPads or Macbooks, but the occasional compatibility issue is enough that I'm thinking about switching back to Thinkpads.
Consider it's brothers, the 3-digit X and T models, which, especially in form of premature leasing returns, have excellent price for the value. And due to the stagnation with CPU power, all from Haswell should be well within usable.
Just get a Dell XPS developer edition. It is what an MBP is supposed to be but actually delivers for roughly the same price or less depending on configuration.
Oddly enough it has gone completely away on my 2017 model. I can only guess a firmware upgrade fixed it, which is probably unlikely. Or getting jossled around in my backpack got it aligned?
Ubuntu has worked perfectly on my last two thinkpads, an X220 and X1 Carbon (4th gen). That's almost 7 years now. I think only the only real caveat is that the fingerprint reader isn't supported. I can't speak for other laptop brands, but just get a thinkpad (or a dell xps).
I recommend the X1C. I had a first-edition. It was wonderful, and lasted me for five years. Last year I upgraded to X1C5. It is far lighter still, the keyboard is good, it is just a joy to interact with. (debian stable)
System 76 (the small linux-only hardware manufacturer) just refreshed their Oryx Pro last month, which looks pretty capable and looks from afar to be really good build quality. https://system76.com/laptops/oryx
I haven't found many/any reviews of it since the refresh -- does anyone on HN have one who can attest?
I think System76 is using Clevo/Sager chassis still. You can buy these setups from a place like xotic and load up linux yourself for a bit less than System76 stuff costs.
Yeah, I don't get system 76's draw. If they were doing something meaningful with their systems like developing coreboot for them, that would make it a selling point at least. They have recently started using me_cleaner, which is a good start I guess. Other than that, I think they are developing their own distro, which seems like an utter waste.
It's the number pad that's in the wrong place. It should not be on the laptop.
I've got a HP with a number pad because no 15" model doesn't have one. I never use it (the number pad) but I have to shift the whole machine to the right to have the touchpad and the "real" keyboard in front of me. So most of the vern is on the right of my eyes. Great design!
Agreed about the requirements, but do you also shift the laptop right or bend your arms and shoulders?
I'd sell the numberpad as an external device. People that need it will buy it and place it to the right of the laptop (or maybe to the left for left handers, who knows?)
There is another design problem: it could shield the ports on the side where it is placed.
Another solution: engineer the screen so that it can be shifted 1/3 to the left when the laptop is open. That will align it with the spacebar and the touchpad.
About the XPS, I didn't buy it back in 2014 because the then current model had some thermal problem and because I like 3 physical buttons on the touchpad. HP ZBooks do have them.
I have a new Oryx Pro. I'm not an expert on laptop build quality but to me the Oryx Pro looks and feels great. It is in fact a Clevo P955ER, which I know I could get for cheaper, but personally I want to support System 76's selling and supporting Linux laptops. I'd actually be interested to see if a straight-up Clevo P955ER with Pop!_OS installed is any more or less stable than an Oryx Pro.
Anyways here are my thoughts:
Good things:
- Keyboard is pleasant to use (for me)
- Trackpad feels good (not as good as Apple's trackpads but much better than most non-Apple ones)
- Desktop-level performance
- No Linux jankiness -- everything has just worked for me so far on Pop!_OS
- Battery life is not as terrible as I thought it'd be on Intel graphics (~5 hours depending on what you're doing. I haven't tested this too thoroughly)
Complaints:
- Need to reboot to switch between Nvidia and Intel graphics
- Fans are always audible on Nvidia graphics no matter what you're doing
- Nvidia graphics are required in order to use any external displays
- Battery life is horrible on Nvidia graphics, so you basically have to switch graphics then shut down before unplugging from an external monitor if you plan on using it on-the-go
No _need_ to reboot. Restarting the Xorg/Wayland server, maybe. You might be able to fool it into thinking you just hot-plugged the GPU, at least as far as the screen layout is concerned.
Remember: the only reason you need to reboot linux is to get a new kernel, or because the kernel FUBAR'd and corrupted data.
I hear you, and I've restarted the display server plenty of times on my computers instead of restarting them, especially on my main desktop where I have lots more stuff running independent of the display (daemons, etc). But, I feel like particularly on a laptop, if you're restarting the display server, it's not much different than just restarting the whole machine. Certainly that's the case for the large majority of users. Anyway, I think the point is that it's a hassle, which it is, not that you literally "need to reboot".
Would it be possible to start a second display server like we used to, one on ctrl-alt-F8 and one on ctrl-alt-F7? So when you want to do some gaming you start up your gaming workspace and switch to it, and when you want to turn off the nvidia graphics you destroy the gaming workspace, but your document workspace that was using the intel graphics is still there? That feels like it could be somewhat usable.
Should be. Windows is actually not crashing the desktop when the driver balks, so you can AFAIK run a Windows VM on a Linux and switch the PCIe GPU (yes, i915 counts from Haswell on) via KVM/QUEMU/IO-MMU between host and VM, with the latter not caring much, but the former crashing Xorg.
I prefer to keep things up/running, i.e. demon-based software, file transfers, mounts (including LUKS password unlocking), music players, etc. Even SSH sessions.
I am still looking for a way to restart Xorg without having to restart the software on it, but so far I have not found a solution.
Note no mention of battery life. Look at the internals and you'll see why - the battery is absolutely tiny, and the logic board, disk, and fans are comparatively massive. The parts are definitely not power-friendly either. Seems very optimized for staying plugged in, with only a quick unplug to go into a meeting. My guess is it'll do ~3hrs w that 55Wh battery at most. This competes with gaming laptops and not MBPs, though it does look nice.
I have a System 76 laptop from a few years back (not Oryx Pro), and while it's still my main home comouter, it's definitely a lot flimsier and heavier than any macbook. Battery life was never great, and by now it's shot far enough that I only use it while plugged in. That being said, it's remained a reliable system and I wouldn't mind upgrading to a newer model.
If it were only the battery, I'd replace it, but getting a new system will also scratch the itch to upgrade hardware specs. There's also some piece rattling around inside the case which must have broken off early on... (to my point about fragility compared to macbooks)
Consider (used) thinkpads. There are places that refurbish them, also selling you devices that just got out of their lease, due to the owner bailing out after only a few months. They are frequently available for half-price in good-as-new with still some warranty on them, which you don't need on the T and X series (not the carbon though). They need one screwdriver, for full disassembly.
I switched to a System76 Lumur last year after 5-6 years of MacBook Pro. The biggest adjustment for me was the battery life, it’s not terrible, but I remember I never had to think about charging my Mac. Aside from the flimsy hardware I can’t complain about anything else, I certainly don’t miss macOS and I’d take Linux over it any day. The price is a factor as well, I got a maxed out system for half the price, in another year I can buy a brand new System76 and I would have spent the same amount a MacBook Pro costs. Having said all this, I do miss the MacBook hardware quite a lot.
As someone who'd been in the Mac ecosystem and paid the price in time and expense of leaving for a PC a few years back, I'm starting to lean back toward the Mac side. The amount of fiddling and headaches I'm dealing with on Windows is just a huge waste of time. Had to reinstall all my programs after a recent Windows update ruined the OS.
this is what's keeping me from switching. every time I try spending a day on Windows I remember just how much macOS "just works", even if it has warts all over the place.
See, I've always used both and I just don't understand this whole "I have to spend a day on Windows making X work". I haven't experienced this in at least a decade. Windows 10 "just works" with every device and software I've thrown at it.
That's the thing about anecdotes, one person's experience is completely opposite of anothers. I got a laptop with Windows 10 on it and immediately experienced the "100% disk utilization problem", which makes it basically unusable. I Googled around and found hundreds of posts about the problem and many dozens of suggested fixes of which zero worked (for me). So it's sitting on a shelf until I get around to installing Ubuntu on it, which has always just worked for me (which is the opposite of some other people's experiences).
it's also very dependent on what you want to use your computer for. as a frontend dev I want a mix of Adobe CS and a bunch of primarily posix compatible tools, and then Windows is seriously suboptimal.
but even beyond that the sheer number of popups and shit I need to close when starting from a clean install on Windows makes me want to punch the computer, and naturally that is a very subjective experience. and stuff like apps stealing focus in general. if a mac app makes itself the key window in a non-standard way I immediately consider uninstalling it, on win that just seems to be what all apps do when opening new windows.
> as a frontend dev I want a mix of Adobe CS and a bunch of primarily posix compatible tools, and then Windows is seriously suboptimal.
Not sure why it's suboptimal, WSL is amazing. I am primary a frontend dev as well and do most of my building / start-up / testing of my work inside of a terminal. It's great and Adobe works great as well with the added bonus of the better Windows dropdowns (Mac OS dropdowns drive me nuts but for Windows you can give one focus and scroll through all the options with the keyboard).
> but even beyond that the sheer number of popups and shit I need to close when starting from a clean install on Windows makes me want to punch the computer, and naturally that is a very subjective experience.
When I first started up I had like 2 notifications to use Edge and something else and that was it. When I enrolled in the Windows beta I received a few more for requests for feedback, which it warned me about ahead of time. Not sure why you had so many pop-ups and I've had basically none.
It's always so weird to me how my experience with Windows machines differs from those who prefer Macs. I own and use both and they both seem pretty great to me. The only big thing is I make sure to only buy Windows hardware from Microsoft to get their "genuine experience" because HP and everyone else likes to ruin it with their bullshit.
Not to counter your point, but I had that new remarkably stupid ":( Oops something went wrong" error popping up the morning I had to give a presentation. I have Windows 10 Home and it forced the updates, failed after an hour, and fucked up the boot partition, removing grub. So just before the presentation, I had to setup grub again and boot into Linux because windows was still stuck with updates. Thankfully my slides were on google drive.
On my office laptop though, Win 10 Pro has been pretty stable.
To get back to the main point, I usually have to spend a day with both Windows and Linux to install everything right from VLC to compilers. IMO setting up needs to be done on every machine, independently of the OS.
It has been the opposite for me since about Windows 7.
Work MacBook - have to restart it to get USB ports to work, screen flickers when you plug in an external monitor like X windows on an Unix terminal from '99 with a bad conf file... Comeon.
They're all software issues. I think all the MBP's in our office do this stuff. For instance, the external monitor and such works fine. It's just it is very un-elegant how it does the switch over.
Have mac book air from 2013. Went through all OS upgrades with no reinstalls. Even upgraded SSD from 128 to 512 with flawless backup from timecapsule. Can't even image this happening on windows...
Time Capsule is interesting, it's been consistent since its release in 2008 and has worked flawlessly for me. Compare that to Windows backup which changes to a new incompatible product with every new version of Windows and is so riddled with flaws its unusable.
I'm on the whole pretty happy with Windows, but I've never understood how they can consistently fail to deliver a working easy to use backup solution out of the box for decades. Mere incompetence shouldn't be able to deliver such terrible implementations, it's almost like they're actively trying to fuck it up.
I recently had a hard drive failure on my primary HD in my mac pro (desktop, the old shape). The machine wouldn't boot into the OS at all.
I bought a new HD and ran the recovery tool which gave me an option to clone from another drive. I figured I might as well give it a try even though the old HD seemed completely dead.
After a couple of hours the machine rebooted using the new HD. The amazing part is not only were are my files perfectly intact, but the exact same applications I had open when the old HD died opened up automatically on the new HD.
Mounting a seldom-modified and highly sensitive and critical filesystem r/w by default, when the existence of buggy implementations is known, is a deeply irresponsible decision. Blaming the rest of the world for the fallout from their crappy design decisions is a pattern of behaviour among some systemd developers.
Fortunately you don't have to use systemd. I'm happily running Void Linux.
The people who relate the tale as if it were a systemd thing or something that the systemd people did are ill-informed. It was entirely a kernel thing. This was even stated outright at the time by the creator of that particular kernel mechanism.
Well frankly I don’t really care who won the bickering contest on this one or any other. Simply put, I don’t have time for all the things I need to do or desire to, let alone “tighten all screws” to my machine every single day.
I remember a guy at Uni who’d come to the study room, update the various spyware, malware sigs and let the Win machine purge itself for half an hour, while he had coffe and cigarettes.
Since several years, my biggest hassle has been to plug a TM backup and choose “restore from backup” when I bought a new Mac.
Drivers, power management, tweaking this-and-that... nope, my life demands those minutes back. I’m actively worried when I see Apple fuck up and potentially ruin this status quo because “innovation”.
Working with Unix-Servers every day i still would struggle with a Linux Machine. Tried it in the past and getting things to work wasn't a problem at all.
But
1) i have to admit that i like all this full aluminum fuckery (shame on me)
2) MacOS is for me more "batteries included" then any Unix-Flavor. Yes there a often alternatives on Linux, still i really like to get my shit done quick and easy with tools like preview for example.
3) Better Tools on MacOS: There is some great stuff out there which help me in every way. Alfred, MailMate, MoneyMoney, Postico, Royal TSX, Paw, ... good looking, functional tools. And still i can use all the great command line tools out of the linux world (vim/emacs, bash/zsh, compiler tools, ranger for filenavigation, ...).
In regards to tools, you can usually find a distro that is "batteries included", try KDE as your DE - There's great tools like Okular, Dolphin... Insomnia is a pretty looking Paw alternative etc, however I think the advantage with Linux is that you can often build it how you want, without the junk that is there and you don't even know what it does, but it consumes CPU cycles. Moreover, with distros like Arch Linux, you get practically all the available tools, always up to date, never have to reinstall, updates take a minute as opposed to half an hour and you can mange everything, (not just brew packages), with an awesome package manager.
I really don't want to say "MacOS > Unix" because of any reasons i mentioned. I also had ArchLinux as main OS on my Desktop, and also tried a new KDE Flavor.
But for me personally it was never as good as MacOS. Maybe i wasn't trying hard enough, or don't want to loose any spent $ on MacOS only software. Dunno. Anyway i just hope for myself that i can get a great MacBook again ;)
(What i missed the most on MacOS was always a fast and keyboard focused window manager like 2bwm. In the end i was able to recreate this behavior with hammerspoon and some custom lua scripts in combination with alfred. MacOS just looks sometimes a bit bloated with all these rounded egdes, drop shadows etc.)
I'm about to get a new laptop. I had an MBP for 4 years now.
I just ordered the Razer Blade 15.
DELL's XPS 15 is also a very good choice, although the blade has a bit more recent hardware.
Both are upgradable. You can add RAM or SSD if you want.
Both run linux just fine.
Yeah, quiet but goes to 100C constantly.
Once I get the razer I'll check what's the temps/loudness there.
But with the MBP, I turn the fans up all the time, to avoid burning my fingers when I type :/
The difference is that the antenna & bending issues were grossly exaggerated by clickbait reporting and lawyers angling for a class action win. As the wikipedia articles note, neither affected a significant number of users – the iPhone 4's antenna was still more sensitive than the 3GS it replaced – whereas the keyboard issues affect a lot of people. It's not the urban legend-style “my third cousin has a friend who held his phone hard enough to drop a call” reports which characterized those earlier flaps but real named people who are directly affected and getting hardware replacements because Apple techs agreed with the problem.
I personally suspect one day they'll marry the touch bar and the taptic engine to make a keyboard surface. That way they could have emoji keyboards and such. And they would only have to manufacture one top case, no matter what country they were shipped to.
Maybe if it worked with the Apple Pencil and the taptic feedback was good enough I could see being curious about it. It’d probably just be a good way to incite a riot though.
Short of fitting a keyboard condom, or iPad (no doubt called TouchBoard) where the keyboard used to be, what can they do? Make the battery thinner so they can get sane key travel back within the case without increasing overall thickness?
So I expect to see a couple more releases of ultra thin keyboards with various fix mechanisms before they accept that rules of physics and dust apply to them too. :)
A "keyboard condom" isn't a joke or insane. It would be a membrane layer between the operating mechanism of the keyswitches and the keycaps. They haven't done it because it adds thickness to the design.
> what can they do? Make the battery thinner so they can get sane key travel back within the case without increasing overall thickness?
Go back to previous thickness; it wasn't that bad, and thin for the most powerful portable they sell isn't necessarily a good thing. They could even couple it with advancements in battery tech to finally put 32GB on their laptop.
I don’t see why they can’t have Air for customers that want thinness and Pro for customers that want portable workstations. Is there a reason, other than “marketing”?
Yes please. Honestly the new format is such a clusterfuck of unwanted features, poor hardware implementation, and removal of wanted features that it makes you wonder how it got out the door.
Hanging onto my circa 2013 MBP until they come up with a more appealing offer, or going elsewhere.
As for making the keyboard thicker, I doubt it. Once Apple makes a decision that dramatically alters their product in a way that users complain about, they generally don't backtrack. (floppy drive, CD drive, and Ethernet removal. Headphone jack removal. Losing Mac Pro traditional tower form factor. Flat design in iOS. etc etc etc)
The thickness of the keyboard isn't the issue -- the issue is its fixability. I've heard various accounts of when a key gets stuck, Apple has to replace the whole bottom half of the laptop.
Historically they just keep replacing old broken hardware with new/reworked broken hardware. Reworking includes reheating GPUs (!), or putting rubber shims(!) over vulnerable BGA chips with cracked solder joints.
Does it drive sales? Couldn’t some other stat be used to pad their presentations? Any thickness less than an inch is fine with me. I’m not concerned with whether my laptop fits in an envelope.
I think it's just an easy thing for them to market. All other things being equal, people love "thinner and lighter." The problem is things aren't always otherwise equal.
I don't know why so many people are under the impression that they do thinness for thinness sake. They do thinness for lightness sake.
The lighter your laptop (or tablet, or phone), the more you'll choose to not leave it behind but rather to just lug it around with you, and so the more places you'll have it and the more it'll be there to aid your productivity in random situations. [Also, for phones and tablets specifically, the longer you'll be willing to hold it up to your face to stare at it before putting it away due to the "gorilla arm" feeling.]
Sometimes I actually carry my MacBook around in my backpack when I'm just downtown for a meet-up and have no plans to do any work. I get it out for the same reasons you might pull out an external Bluetooth keyboard for a smartphone—e.g., if you want to type a long response to an email, or need to type a snippet of something that's awful to type on a phone keyboard, like code. Except that this Bluetooth keyboard happens to have its own computer attached to it.
(I don't use it at home, though; at home, I use a Hackintosh with a real keyboard. Which happens to be an Apple Magic Keyboard 2 with the exact same butterfly key-mech in it that the MacBook and rMBP have. But Magic Keyboard 2s aren't getting gummed up left and right, because the butterfly key-mech itself actually works fine when it's given adequate travel height. It makes a huge difference; you wouldn't even think it's the same key-mech!)
I'm jealous sometimes of my girlfriend's Samsung ultrabook for this same reason. I think it's Samsung's answer to the LG Gram and wow, it's light.
If you want a really light machine, don't you have to ditch the aluminum? My 2017 MacBook Pro gets heavy, esp once you add the charger. I take it everywhere.
> The lighter your laptop (or tablet, or phone), the more you'll choose to not leave it behind but rather to just lug it around with you, and so the more places you'll have it and the more it'll be there to aid your productivity in random situations.
I didn't know how true this was until upgrading from an old Lenovo T400 to a newer Lenovo Carbon X1. I'll regularly carry the X1 a few blocks to a library, park, or coffee shop. The X1 and my work laptop - a Dell Latitude - are about as thick and heavy as the T400 alone, so it's not even a question that I take both to a location when working remotely. Now I need a bag with 2 laptop slots.
> [Also, for phones and tablets specifically, the longer you'll be willing to hold it up to your face to stare at it before putting it away due to the "gorilla arm" feeling.]
Conversely, the Samsung Tab A has enough magnets in the back to stick to a fridge - this remarkably makes it feel heavier than the X1, especially when working on magnetic tables and surfaces. The Tab A causes the "gorilla arm" feeling almost immediately, making it basically worthless to me. To add insult to this injury, when it's stuck to my fridge, the screen refuses to turn on when rotated to landscape. So it can't effectively play full-screen Youtube while stuck to the fridge, negating the last use case I found for it. I think this is due to a magnetic screen-off sensor that all Android devices seem to have on the back, but don't know why this would only turn off landscape and not portrait.
The Magic Keyboard actually doesn't use the same butterfly key mechanism: it's a scissor switch, albeit one that attempts to emulate some of the feel of the butterfly key keyboards (but with more travel).
They're both similar metrics, and both just vanity now.
There are lower bounds of acceptability and luxury that were hit years ago, with much more important things to work on now like battery life and connectivity. Nobody cares about shaving another few millimeters or grams off the design if it means a frustrating experience overall.
I bought a 12" MacBook when it came out because it seemed like it was a big advance over the previous Mac Air. I also bought the first generation Mac Air. So, obviously, you and I don't have similar criteria.
MacBook Pro users and MacBook users generally don't overlap. It's fine if you want a super-light, super-thin ultramobiles, but it makes little sense to compromise the Pro's usability in the name of thinness. I've been a Mac user for the last 7 years and for the first time I'm getting a non-Mac computer because the MacBook Pro is no longer attractive. It's a shame, because I have invested a significant amount of time and money on my current setup.
Are you sure about that? When I work at my desk I use a dock and some monitors, and all the heavy lifting is on a remote server. I suppose there could be a selection effect for workers whose employers force them to work solely on their laptop, but is that common?
If you look at derefr's comment, he appears to work like I do.
Classic case of why business managers shouldn't be directing design of a product.
Business managers sees .2mm shaved off the thickness of macbook pro to 'justify' the premium cost of it over other laptops while a developer/pro user of the laptop would increase the thickness to gain battery and maybe mechanical/mesh hybrid keys... I would be more than happy to pay for a pro version of the current macbook pro.
EDIT----
Instead of apple doing crappy warranty repairs to make up for their crappy design, they should give us mechanical/mesh hybrid keys and shoot the person who thought .2mm was worth such a shit keyboard....
Maybe at some point that was true, it's not true anymore. Unless you're getting a gaming laptop, pretty much every ultrabook is only mildly thicker than the MacBook Air or Pro, some of them are thinner.
Considering it reinforces a commonly held engineering ideology that only engineers understand or are capable of solving a problem or goal, and every other job function in a corporation is clueless deprivation of engineering, I’d say the response is fair. Apple is quite successful despite organizing in a way that baffles engineers, and will spend a bit recovering from this, then everyone will forget about it within a few Christmases. That’s not even advocacy, that’s just, like, exactly what will happen. It’s dust in the path of an asteroid at this point, with well-documented prior art. All of us with the keyboard get a bum deal, but events are probably proceeding exactly as engineered, if we are all honest with ourselves.
The correct following step is “what can I learn from that,” including, yes, many pitfalls and questionable decisions to learn, rather than “I know exactly what’s wrong with that success, and it’s business leaders.”
I realize the irony of saying this here, as many are at least amenable to said ideology. It also doesn’t strike me as an intentional color, just subtle thought basis underlying the sentiment.
I don't know. A lot of people are searching and holding out for non-Mac alternatives, because Apple ruined the calculus of "$200/yr premium in exchange for a device engineered to satisfy needs and comforts you didn't even realize you'd love", and replaced it with "No way I'm paying a fortune for a physically painful and unreliable keyboard that missing one of the critical keys just because some industrial designer was wants to feel special."
It can be both, and often is. Honestly, I'd be surprised if Apple's continued push for thinness comes from just a single team. Design pushes for thinness, because hey, it looks pretty damned impressive. Engineering eventually figures out a way to make it work after (I presume) screaming a bit. Which is impressive.
Marketing and the business side love it because it's a concrete metric they can point to in order to justify it to consumers and it doesn't require any specialized knowledge for consumers to understand. Thickness is simple. Everyone can understand it, and some people can even use a ruler to measure it themselves.
And consumers continue to choose to reward them by buying thinner devices. After all, if we can't have flying cars, personal jetpacks, and live like The Jetsons right now, we damned sure can have thin devices as a consolation prize. Consumers would probably buy these devices even if they weren't thinner than the generation they replace, but it all gets tied together. Not to mention the pesky problem that the biggest problems (lack of repairability, keyboard switches that are deathly allergic to dust, etc.) aren't really noticeable until something goes wrong. And then, it's "my MacBook is broken" and not "my Macbook is broken and the ultimate cause is a zealous focus on thinner and thinner devices."
Very unlikely. Ive is the successor to Jobs on the design front - what he and his team want to build chassis-wise, they're likely to build. He's got a great deal of political capital in the organization because he's been such a hit maker.
My semi-informed understanding of how things work at Apple wrt hardware is:
- Industrial design makes cool concepts, showing whats possible in hardware
- Eng & UX makes cool features, showing whats possible in software
- Product marketing determines mix of features that make for a compelling release
- Marcom figures out how to pitch it
Obviously lots of back and forth as a particular concept of what makes a compelling release is refined and roadmapped, and many other teams involved. That said, typically product marketing is driving what gets released.
As to the importance of product marketing itself, its one of Apple's greatest strengths because the vast majority of electronics/computer companies have a hard time figuring out a) what different segments of the market might want, and b) what is the intersection of possible AND useful with technology.
An easy way to determine if someone knows what they're talking about wrt Apple is if they complain about a monolithic 'marketing' bogeyman, because it shows they don't understand the nature of how products are built at Apple, nor how products succeed in the market.
That said, they occasionally miss. The keyboard has been generally well-received (tho a bit polarizing) EXCEPT for the obvious quality disaster. Not sure where the breakdown was there. And the touchbar has been very polarizing among the pro segment - the choice to bundle it with the high-end machines for the developer market segment was a miss likely entirely on product marketing.
None whatsoever. Given Apple's very well known proclivity to elevate their design/product teams, it's probably more likely to have come from someone on that side of the fence anyway. But it's pretty popular to deride non-technical people (especially those in management) as know-nothings, so it's an easy reach.
idk - do consumers really notice if a laptop is 30grams lighter or if it will get them through a full day of work and won't hurt the joints in their fingers after a marathon of typing.
Apple makes the best laptop, no doubt but this laptop sucks and the direction they are going means it's just going to get worst.
Generally speaking, by the time consumers notice (or not notice, as the case may be), they've already purchased the machine. So it's largely irrelevant.
This is absolutely not the way Apple works. "Business" people don't make decisions like this at Apple, they get made by the Industrial Design team, backed by the Product Design (mechanical engineering) team. Business people market the products, price the products, procure all of the components and make sure they are put together in the millions, but they absolutely do not set the design direction of the company.
Glad to see him mention the Samsung debacle as well. When my Note 4 finally gave in to the eMMC problem earlier this year, I upgraded to a new-old-stock LG V20 instead of the latest greatness, because it was the last flagship made with a user replaceable battery. Over my Note 4's 3 1/2 year tenure, I replaced the battery annually. Each time, the battery life performance was restored to what I remembered from when the phone was new. I don't know what I'm going to do when the V20 dies, but it'll be a sad day indeed. I just have such a hard time believing that I'm the only one who wants a rugged (plastic or metal), repairable phone (the V20 can be [i]screwed[/i] apart ... no glue here) with a user-replaceable battery.
"User replaceable" is kind of a stretch given the amount of disassembly/reassembly required to change the battery. I don't think it can be considered user replaceable is if requires something 90%+ of users aren't comfortable doing vs phones where the battery pops in and out.
- Apple as a company does not have a single point of failure.
- Arguably the iPhone could be called that; if they stopped selling MacBooks next year it still wouldn’t be their “downfall” (not that I like this state of affairs as I like MacBooks).
I don’t really hate the butterfly keys either. I’ve been using it for over a year now on the pro, and I don’t know if it’s the second iteration, but it hasn’t failed me yet. I will agree that the first iteration was awful, my “new MacBook” keyboard broke because I made the mistake of taking it to the beach.
From what I can tell, the newer iteration of the keyboard fails just as often as the old one. My sample size isn't huge (mid-high single digits on both iterations), but the result is consistent.
The article mentions it at the end, by "downfall" they don't mean Apple is going to fold. They mean that Apple making such a difficult to repair laptop is now going to cost them a ton of money because the "keyboard" repair requires replacing the entire top half of the machine due to the design. The article argues that if the design had been easier to repair they would be able to do this otherwise minor repair much more cheaply.
I think that's a fair claim, even if the title is a bit overblown. Apple is paying the price for what is probably too big of a compromise in the design of the laptops.
Apple losing the image of quality engineering will effect their entire product range, with consumers less willing to pay a premium and second guessing engineering achievements by keeping in mind side effects.
If the next iPhone is 20 grams lighter but I can’t make phone calls after 6 months, will I buy one over a equally powered Android $300 less?
I think the story of Coach (now Tapestry, ticker TPR) should be the ghost story they tell at every Apple corporate retreat. What do they say, "years to build and seconds to destroy"?
What happened to Coach? I seem to have missed that news, and from what I saw in NYC they are currently moving into extremely expensive real estate so I thought they were doing rather well?
It's generally believed that they diluted their brand by overexpansion into outlet channels. From 2012-2015 their stock got cut by more than half ($80 down to $30) while the broader market was up ~25%.
I would summarize what happened as they stopped being "cool". The (subjectively) not so attractive Coach bags covered with "C" branding were multiple hundreds of dollars and a luxury good. When everyone was wearing one and you could pick up a cheap last season one at the outlet mall, the cachet was gone.
The value of the brand is when you can charge more for something of identical quality, or that people ask for your product by name. Apple's brand is (should be?) golden to them and they should treasure it. It's not based on cosmetics but quality, too.
tl;dr - Coach is still around and recovering and making billions of dollars.
Thanks for the explanation, I think I had only come across the Coach brand after they expanded aggressively internationally which I presume came after the "cheapening" of the brand, which is no doubt a big part of their turn-around success.
Its great that the keyboard hasnt failed you, but you have to know there are other people with opposite experience. When a product fails in a systematic way, its upto the company to remedy it (Galaxy S?, Toyota, J&J ..) One could argue Apple could have done more here.
Actually, if Apple were to stop selling MacBooks next year it could be the downfall.
How do you think that the iPhone & iPad ecosystem is sustained? Through developers (most of whom are) using MacBooks.
They have to port XCode to Windows, which means they don't get to have the lock-in they have now. If there's any flop for the iPhone for 2-3 years, the cost to jump ship isn't that high anymore.
I picked up my repaired late-2016 15” mbp this morning from warranty repair (replacement). The keyboard feels 100% better. Apple replaced my top case, logic board, and display system for free, out of warranty. I was very concerned about this computer’s longevity, I’ve even ordered a Razer mx cherry keyboard to use when at my desk to take some workload off apple’s questionable design decision, but the replacement keyboard feels much better. I want to be clear, my desire is not for repairability, like iFixit wants, but for durability and For Apple to stand behind it. The MacBook Pro is a fabulous computer, the keyboard and touchbar were mistakes, but I think they have fixed 1 of the 2.
When I first got my new computer back in late 2016, the keys had a distinctively inconsistent “clack” that would sorta come and go, and it felt inconsistent, maybe a subtly different amount of pressure required for different keys in different parts of the key. It’s hard for me to pinpoint it, but I’d say that the keyboard feels more consistent across the board. I’m all of 12 hours in on it, but I’m very hopeful. If anything, there is defiantly an improvement to the finger-feel with this new keyboard.
Ha you got downvoted but I admit that I sincerely want this computer to be fixed, having invested deeply in the Apple ecosystem. No question there is bias, but my experience also covers Acer and HP computers at work, which have real shortcomings, incomparable to my mbp. For what it’s worth to your snark, I used a Linux system as a pinch hitter while mine was in the shop, and very much enjoyed Linux but for the crappy machine. A comparable i7, SSD, longBattLife,retina quality laptop is always going to be $$$, so go with what you know, right? I’ve been tempted by the Surface Book 2, but since it costs about the same for comparable systems, go with what you know!
This is the frustrating thing. PC build quality has been such shit for so long that when Apple stumbles there's no real replacement. I'm frustrated enough with OS X that I'm ready to give Linux an honest try, but the hardware story is so bad that I feel a bit trapped.
How long did the repair take? I talked to a guy at the Apple store who said they’d likely do it even if the issue is intermittent, but I don’t love the idea of not having my machine for several weeks.
It took 4 business days from drop off to pick up, but fortunately I got in just before the extended warranty was announced. I imagine now it will take longer, but that’s speculation.
Reasonable speculation, based on increased lead times when they offered cheaper battery replacements on iPhones. Although, few people would wait long to get a broken key fixed!
Dropped my MacBook 12 with an intermittent space bar off at the mall Apple Store on a Friday Afternoon. Got the email saying it was ready for pickup on Tuesday.
I'm not completely clear from the phrasing — Was the entire warranty repair free or only the things listed in the third sentence (free extras after paying for the repair)?
Mine is still going strong. Second Apple product I ever bought (first was an iPod many, many years back), and since I've been a bit of a convert! The battery only lasts about 2-3 hours now, so I replaced it with a new model last year. It did have issues with one of the keys but it seems to have come right. I much prefer the 4 USB-C ports over the array of various different ports on the 2012 rMBP, especially because I can plug the charger into either side, but I do miss magsafe a little.
Interesting, I actually like the half arrow key thing, I often use the arrow key with my pinkie, makes it easy to switch between up and down. To each their own I guess.
It’s not so much the half keys that makes it obnoxious, but having the left and right keys be full height, and not having a gap to orient my fingers in the keys means I’m often pressing “shift” with my middle finger thinking it’s “up”.
Put back? They've never had full sized up and down arrow keys on the MacBooks. What I miss are the half-sized left and right keys - the empty space above them made it easy to position my hand over the arrow keys without looking.
I'm with you here — no generation of MB/MBP has ever had full-sized up/down arrow keys [1][2]. I guess perhaps people are meaning how the left/right arrow keys went from being half-sized to full-sized? I'd like to half my half-sized left/right back...
Good point, just took a look at the picture of a 2014 mbp which I had previously. Something about the older up/down arrows was much better, and I can’t put my finger on it (literally, since I do not have the 2014 anymore).
I would be fine withh the half height up and down keys if they were between half height left and right keys. For me it’s the lack of tactile feedback telling me where he arrow group is that sucks big-time.
I'm curious what you use them for? I've always prefered WASD for directions (too many games in my youth!), and always saw the arrow keys as a waste of space, too far away to use regularly.
I recently was fixing a relative's early gen Macbook Pro which had the same keyboard as the Powerbook. The keyboard felt soooo nice. I really miss that keyboard.
I was absolutely ok with repairability of 2013 pro models. But what they did with new keyboard design is awful. I write this now from my Dell XPS 13, not from my MacBook Pro different models of which I used for > 5 years.
Writing from my 2017 MacBook Pro. Apart from the keys being louder than before and my nagging fear of an errant crumb or cat hair I'm happy, typing is crisp and maybe faster for me than on any other keyboard. I move my hands less. In comparison my regular Mac keys now feel loose and smooshy, almost as if they'd been produced by the Haribo Gummy Bear factory. (Not that this is a horrible feeling. I miss gummy bears; can't they make them out of xylitol or something?)
Have you had issues with OS X? My fiancée's laptop needs to be rebooted every time it goes to sleep, and both her and my own older (2015) MacBook Pro want to boot from the recovery partition every time. It's a pain in the ass and a terrible degradation of experience.
That sounds awful, but no, I haven't had that kind of problem before. Sounds like you might want to think of reinstalling/upgrading the OS? I've never heard of that issue though, sorry.
maltitol gummy bears do exist. Search for "sugar free gummy bear". Eat in moderation at first - some people have a very intense bowel reaction to them.
This is what happens when you do user testing and the users you primarily test are only internal folks.
Apple, next time: take your prototype, throw a handful of fine sand on the keyboard and shake... if it can't be fixed by customers (via canister air or removing/cleaning the keys), then rework.
P.S., I am tying this now on this absolute crap keyboard with multiple letters sticky and repeating.
Having interfaced with Apple in a different way (apart from owning a new MBP and an iPhone X) I'd say the issue is, and continues to be, growing pains.
They're certainly losing the lead in software engineer talent (giving it away to whom, I'm not sure). But the single most horrible experience I've had with Apple in the last year was trying to get software published on the App Store.
That's a department that's so large that it's become a classic bureaucracy -- middle managers run amok, pettiness, lack of professionalism, etc.
I was trying to publish a piece of software using their less extortionate subscription options and I was told by a young woman manager that I would have to have feature X in order to qualify. I added feature X in a couple days and got back to her. She was surprised (disappointed?) and then told me I'd have to have feature X + feature Y in order to qualify.
I have a couple of contacts from the "good old days" and sent a very angry email. Middle manager woman disappeared, her boss called me and apologized within a few minutes.
If I didn't have that contact I probably wouldn't have gotten past her.
What has happened to Apple that their dev teams work against devs, compile times (this is 2018 remember) are now counted in minutes for small projects, my MBP crashes when plugging in an external monitor, etc?
They've grown too fast. My contact told me that their App Store team is now interfacing with over 2 million developers. How do you grow to accommodate that?
Now, what is the answer to all of this? Fix the marketing driven culture. Thinner isn't better. The number of apps on the app store isn't a meaningful metric. New languages are cool only if you can actually pull them off. Etc.
Serious question: Why didn't you mention the genders of the the people from "the "good old days"" but had to say over and over again that you were dealing with "Middle manager woman"
I'm confused what the point of this question is. Would you have found it more satisfying if the parent had said "I had a couple of [male] contacts from the good ol' days"?
The subtext, whether it's intentional or not, seems to be that the gender of manager that he (yes, assuming OP's gender) spoke to is relevant to the negativity of the experience. The message can be condensed down to "female + new Apple = bad, male + old Apple = good"
What I'm baffled about is why the comparison was made against the contact's gender. How would involving the contact's gender have helped? Or if that's not the question that was intended, then why not ask the actual question that was intended?
People do it when subconsciously or consciously trying to paint a picture with stereotypes. So if someone wanted to illustrate they were talking about a testosterone filled ego driven 20 something, they might include the term young male manager in their descriptor.
Is it right or wrong? Probably not great. I don't do it. But I get how it happens. Probably not nefarious, just a little tonedeaf.
True -- though when I think about it, I imagine them using a more specific male adjective like "bro" or "dude." "Young male manager" would have triggered a "why are they mentioning male?" and yet "female" slipped under my radar until another comment called it out.
I wonder if that's because you have a stronger stereotype for male than for female in your mind (not to suggest that you use it, just that you have one or are aware of what others might have as their stereotype). I don't have strong generalizations either way but especially not for the term female, which is why I never understood when people got uppety about it to begin with. Now that I understand some people have a negative stereotype attached to their usage of the word I understand why people get annoyed. But it is a bummer as its all so personal and subjective that no matter how careful or sincere you are you could tread on someones toes and convey the wrong message, as I suspect the parent comment has done.
I don't know, but if that's the intended question then it'd make sense to ask that (which someone else already did, so I recommend upvoting if you're interested).
The question whose point I don't get is the one I responded to. It seems absurd to ask "why did you do X but not Y?" when doing Y would've only left you more dissatisfied.
I don't know, but what I'm asking is: if your real question is "why mention X's gender?" then why instead ask "why mention X's gender but not mention Y's gender?"?
I think the point is to make the difference more stark; merely saying "why include the manager's gender" doesn't show the inconsistency between calling out the gender in the case of the employer the writer is unhappy with but withholding it in the case of the employee the writer is happy with.
> I think the point is to make the difference more stark; merely saying "why include the manager's gender" doesn't show the inconsistency
But that's the thing -- is the GP's problem really the difference/inconsistency? Is that really what they're trying to highlight? If it is, then I agree, but that's what I was trying to clarify, because it seems more likely to me that making it more "consistent" could've left them unhappier.
I might not have been clear; GP's (GGGP's?) question was rhetorical; their point was to make a point, not to actually suggest a course of action that they preferred.
To put it another way: suppose I ask someone "why did you forget my birthday but not his?" It's not that I want them to forget his, too (though that is one literal interpretation). It's to suggest that the answer isn't merely "I forget birthdays in general."
That would be weird in this situation since "I mention every gender in general" would be quite a bizarre response (and behavior)... and arguably even more fuel for subsequently accuse the speaker of sexism if that's the intention.
Your comment seems to be against multiple HN guidelines, particularly those regarding assuming good faith, not post shallow and dismissive comments, and the rule regarding ideological wars.
Sexism is one of the biggest tech issues of the past several years. I don’t think asking someone to consider why they used a specific word– even in “good faith” is a problem.
Gimme a break. Their comment is clearly not shallow, nor dismissive and is raising a legitimate, albeit fairly mundane, point in my opinion. And I’m sure we can all try to hold ourselves to a high enough standard to not initiate an “ideological debate war” over that sort of comment.
Most charitable explanation is that OP is just adding some color to their characterizations. Least charitable explanation is that subconciously or not OP perceives young "females" in positions of authority as being unfit for their positions and likes to add plausibly deniable fuel to that flame.
I'd say the issue is, and continues to be, growing pains.
They're certainly losing the lead in software engineer talent (giving it away to whom, I'm not sure).
I keep on interviewing recent Comp Sci graduates who have a 3.75 or a 4.0 and who can't tell me how to implement cycle detection -- to the extent that they could write a pseudocode function signature or some kind of concretely implementable design. Many of the same grads try to tell me that a null pointer in a C structure uses no memory and other nonsense like that. You know what I think? I think the CA grad student population no longer knows those things, so they are producing undregrads who know even less.
my MBP crashes when plugging in an external monitor, etc?
When my Macbook Pro is "locked" it flashes an image of the desktop screen just before switching to the login prompt.
> When my Macbook Pro is "locked" it flashes an image of the desktop screen just before switching to the login prompt.
It's the same thing on Android when you are switching users. How something like this can get QA is crazy to me. That is certainly not the way it's supposed to work.
Those things aren't taught in CS programs as the majority of companies don't need those skills. Most want application development such-as a web or iOS app developer.
However Computer Engineering programs teach those concepts as the focus is on low power micro controllers.
Those things aren't taught in CS programs as the majority of companies don't need those skills. Most want application development such-as a web or iOS app developer.
This sort of thing is very relevant for someone writing an application or a server process. Programmers who can write their own compiler are much better C and C++ programmers, because they have relevant background. Programmers who understand the low level stuff can write faster code when it's important, and they know better where to look when optimizing. Since when has our "field" become so flubby that we're now eschewing the notion of background knowledge?
Are you telling me that we are churning out Comp Sci grads who couldn't write their own low level libraries or compilers? Tech people should have at least a working knowledge of how their own tools work, to the extent that if civilization fell, they could have a good chance of recreating primitive versions of those things.
However Computer Engineering programs teach those concepts as the focus is on low power micro controllers.
Also relevant to high performance code. Also relevant to game engines. Also relevant to interfacing servers with legacy code. Also relevant to technology like WASM. Whoever decided to relegate stuff like that to Computer Engineering seems guilty of the same ignorance I see in these recent students.
>People don't tolerate compiler bugs very well. I'd say there's quite a bit of overlap.
I don't see how your first point is related to the second. The goal for most webapps is to get something that works most of the time. Most software engineers simply don't need to worry about their third nine, much less their fourth
I think you're arguing that without good compiler authors, a typical application developer would be inherently unproductive. Which is true — compilers are necessary tools, and it's necessary that they be good.
But what I was suggesting is that one does not need to be capable of being both a compiler author and an application developer (if, for the sake of discussion, we avoid any semantic arguments and treat these as generally different things) to be of good value. I don't know how to, say, write a proper lexer, or write any assembly worth any salt at all, but I can write what I consider to be good, reliable application code at a reasonable level of productivity.
>Programmers who can write their own compiler are much better C and C++ programmers, because they have relevant background.
Sure, sure. But how many companies care about that sort of thing? C is rather my best language, and as far as I can tell, that helps me out as a sysadmin, but I need to be good at some EMCAscript based framework if I want a higher-paying Software Engineering job, at least outside of the embedded space (and I'm not that good at C. Also, most of the embedded types I know don't get paid SWE level salaries.)
> Since when has our "field" become so flubby that we're now eschewing the notion of background knowledge?
I think the issue is more that the skillset follows the money. If you are a top web developer who can work in adtech/fintech/e-commerce and contract then you will make far more money doing that than you ever would in pure systems engineering. It's not so much that background knowledge is fluff, moreso that their focus is probably a lot more scattered than it used to be, and their background knowledge is perhaps in other places.
My school's primary languages were C and C++, and a smattering of java because it was just getting popular. Certainly the low level understanding that comes from writing a lot of code in those languages is helpful.
But the imperative/procedural mindset that it drills into you leads to some really terrible application code, and it takes a lot of exposure to higher level languages to break out of that mindset. It took me years. Switching to ruby was like starting from scratch.
By all means hire a C++ programmer to write your web app. They'll be able to debug your performance issues ricky tick. But also be prepared for some heinous procedural js/ruby/php/clojure/elixer/whatever.
Deeply nested if/else logic, very long functions. Imperative logic that could be better written by higher level constructs like function composition, complicating code with micro-performance hacks, etc. In general inflexible code.
Of course not all of this is because I leaned C first. A lot of it was simply due to being a new programmer. But this kind of code is more prevalent in general in the C world. Just browse some opensource C projects.
I believe a lot of this stems from the "systems programming" mindset that goes along with learning C and C++. The requirements are very precise and well known, and don't change often. There is often a fairly precise "right answer" for how to do something where the "right answer" is some combination of performance metrics. Compilers are like that, file systems are like that, tcp/ip stacks are like that, etc. The programming boundaries tend to be very bright.
The "systems programming" mindset is a liability when writing business apps where a sales person can blow up every assumption and design decision and boundry in one day. The "right answer" is not clear, and not easily measured. The "right answer" has more to do with writing code that is flexible and easy to change. That is hard to measure and a totally different way of thinking.
But what you are citing here isn't a problem with learning C and C++. It's a failing of a generalist education. You might have known enough to avoid the gotchas of concurrency, but just out of school, you didn't know what you didn't know about business application development.
By all means hire a C++ programmer to write your web app.
No one is advocating that anyone write web apps with C++. There are other kinds of servers. The complaint is that the once generalist value of a Comp Sci degree is now dumbed down, and grads are missing background knowledge they once had.
But also be prepared for some heinous procedural js/ruby/php/clojure/elixer/whatever.
I think you are making a few assumptions that don't hold anymore based on your own CS education (I'm obviously making an assumption there...). I got my CS degree in 98 and there was a strong emphasis on C, C++, algorithms, and systems programming at the time because that's where the jobs were. We only had a cursory overview of other programming languages and paradigms, and no assembly - there were no jobs there. Scripting languages were for unwashed systems administrators, and no real programmer would touch them. Functional programming was a weird little academic thing with no future. OO was "if it is a noun make it a class".
There was a fairly good chance you would end up needing to write your own data structures, algorithms, sockets code and come up with a network protocol. You would run compilers, linkers, etc. Basically systems programming lined up with the job market.
Naturally after that I thought that was the "proper" way to teach CS. It worked for me. I got a jobs doing things I learned.
20 years later, I literally haven't run a compiler in years. I use libraries for data structures. I don't need to worry about allocating memory, billion dollar industries run on scripting languages. People are passing functions to functions that return functions like that's how it's always been.
I guess my point is "generalist" education needs to evolve with the industry. That means spending less time on low level details so you can spend more time on the tools, techniques and concepts used today. It isn't a "dumbing down" - it is changing the mix. You can only do so much in 4 years. What was "generalist" 20 years ago is "specialist" today, and it should be.
It isn't a "dumbing down" - it is changing the mix.
When it's leaving out background information, it's dumbing down. Programmers should at least know the basics of how indirection works. Why is it that so many interviewees with gold-pated GPAs would tell me null pointers used up no memory? Do they have the foggiest idea what happens when they add a member in a Python/Ruby program and how that differs from adding a pointer to a struct?
There's a difference between having the background information and treating everything as if it's hazy magic. It's excusable for the buyer of a car to treat the product they've bought as a magic black box. It's inexcusable when a "mechanic" or "engineer" is incapable of doing anything but treating things like magic black boxes.
Scripting languages were for unwashed systems administrators, and no real programmer would touch them.
But all of the smarter people in my program knew two or more of them.
no real programmer would touch them. Functional programming was a weird little academic thing with no future. OO was "if it is a noun make it a class".
I worked for a company that had to fight against those prejudices and low levels of knowledge to sell licenses. We sold licenses to Fortune 500 companies so they could run billion dollar businesses on a "scripting language." You know what prepared my for working there? A generalist Comp Sci education!
20 years later, I literally haven't run a compiler in years. I use libraries for data structures. I don't need to worry about allocating memory, billion dollar industries run on scripting languages.
But you are a savvy user of those libraries because you have the background knowledge. You don't usually need to worry about allocating memory, but you know what the gotchas in extreme corner cases are. And if you had to have a custom library written in C++ for your dynamic language application, you'd know how to spec that out and hire for that while looking out for the details. I had at least a foggy idea past the buzzword level when I graduated. How about the kids who are graduating nowadays?
I got my CS degree in 98
In 98 I was in grad school.
You can only do so much in 4 years. What was "generalist" 20 years ago is "specialist" today, and it should be.
Here is what I see in way too many recent grads with a 3.75 GPA. They don't know any of the background, past a handwavy level. They have misconceptions that are outright wrong. Many of them seem to spend 4-5 years doing nothing but using libraries and gluing stuff together. Hell, we learned that stuff too -- but we learned a bunch of other stuff at the same time, plus we learned what we didn't know and what to do about it. Then again, there was a contingent who only cared about learning X-Windows, because there were lots of coding jobs in X-Windows. Aren't the people who only learn particular technologies that are in the job market the moral equivalent?
Comp Sci is dumbing down to the level of consumers of magic tech. I know engineers and physicists who would have some idea of how to begin to recreate the tech they use if civilization would fall. I think a lot of Comp Sci graduates, if they wound up with nothing but machines running machine code, would qualify for Golgafrinchan Ark Fleet Ship B.
I'm just going to throw in my experience here as someone who never went to college but currently writes software for a living.
I do mainly frontend web development with EmberJS, and occasionally work on our backend which is also JS, and I've been doing that for a little over 2 years now.
I never went to college and so a lot of the stuff you guys have been talking about in this thread goes right over my head. I've never written a compiler, the last time I wrote any C++ was high school, and I would so easily fail a lot of these interviews if those were the questions being asked. With all of that said, I think I do a good job at what I do without all of that knowledge. The industry is increasingly heading towards web/app dev in a lot of positions as other people mentioned, and I think it's very elitist to judge people for not knowing everything you do, even if you think it's important. The fact that this industry is becoming so open to so many people is amazing. Me being able to find a good job without a college degree just because of my knowledge of computers is what I love about tech. I think mindsets like yours are what help drive people away from it because they think they need a ton of knowledge to get an entry-level job, and that's just simply not true.
I don't want to sound like I'm accusing you of being malicious, I just wanted to share my point of view as someone who is relatively new to the industry and never went to college and doesn't have the knowledge that you are suggesting is very relevant. Maybe it is relevant and I just haven't figured that out yet, but from where I'm sitting that feels like something that could be taught instead of a hard and fast rule for hiring.
I never went to college and so a lot of the stuff you guys have been talking about in this thread goes right over my head...I think it's very elitist to judge people for not knowing everything you do, even if you think it's important.
Fair enough. However, if someone did go to college, they should at least know what they know, and know what they don't know. If someone is applying to a job with a 3.75 GPA where they might be doing some C++ and they go into an interview and try to tell you that a null pointer takes up no data, they haven't been well served by their education. They should at least know what they don't know, and not waste everybody's time.
However, you should know that these things are important. There are levels of knowledge deeper than being just a user of something.
I think mindsets like yours are what help drive people away from it because they think they need a ton of knowledge to get an entry-level job, and that's just simply not true.
So a generalist Comp Sci degree just needs to shrink into Web Development because of your feelings? Look, Web Development is a fine job, but it's not the same as a generalist field of knowledge like Comp Sci. Should mechanics expect that a Physics degree only be limited to their knowledge because of their feelings? They're applying Physics, after all. (Warning: don't you go and denigrate mechanics! That would be elitist.)
The very fact that you can have a job in tech without a Comp Sci degree isn't a justification for the dumbing down of Comp Sci. It shows that it happened needlessly!
Maybe it is relevant and I just haven't figured that out yet, but from where I'm sitting that feels like something that could be taught instead of a hard and fast rule for hiring.
Let's say you discovered an interviewee thought that a 404 meant the request never made it to the server. Let's say they also got a 4.0 GPA at some Web Development coding academy with a great reputation. Wouldn't you at least be scratching your head?
These are things that used to be taught in a Computer Science degree. Now they aren't taught, and companies are going to have to teach new graduate hires this stuff that people used to take multiple semesters to learn? It also used to be that Freshmen in college were expected to know how to conjugate verbs and compose grammatically correct sentences. Now TAs (I used to be one) are expected to teach these things to Freshmen. How is this not a decline in standards?
I got this just two weeks back, fully up to date 2015 MPB. I was shocked that this could happen; I could even click around on the desktop for a few seconds before it locked up, and I had to hit Esc for the login screen to appear. I didn't even realise it was locked the first time it happened. A very visible reminder about software quality at Apple.
My MacBook does the same. I was messing around earlier this week taking a video of it as I thought you could capture private info from it and while I couldn’t do it from my iPhone with a couple of tries I’m fairly certain you could with a higher quality camera. It’s a ridiculous security vulnerability.
Finally someone else who noticed this! I took video and it is indeed realtime. There has to be a way to exploit this obvious oversight. This is with filevault on as well.
I knew CS graduates who loved parsing theory and could implement some basic C compilers, and I knew some who didn't know what a SCSI controller was. You get out of your education what you put into it.
I had someone in an interview in Berlin ask me to write a garbage collector. In CSC 202, our professor talked about using reference counts. Reference counts can get leaks if you have two objects referencing each other with to path to either, but what I didn't realize is that Java hasn't used reference counts in a really long time. It does a search from each root (typically a thread) down the object tree; and it breaks things into young/old (eden space and .. something else) so long lived objects don't get searched as often.
I learned all of that during the interview lunch break when I looked it up on my phone. One of my good friends wrote a compile time GC for GO and did this PhD dissertation on it, and he probably would have got this question right. But if it's not in your field, well the problem space for problems is pretty fucking large.
Cycle detection? Man I could probably tell you back when I studied minimum spanning trees and wrote this thing to implement Dijkstra's shortest path:
Off the top of my head, I'd hope each node had a unique identifier and I guess I'd mark them/store the keys in a hash table. I'd move breath first and error out if I discovered the same hash/unique key .. which of course would give me a hash the size of the tree. Unless there's a way to mark the data structure, you now have a second structure the size of your key space.
I'm sure there are better solutions, but I wouldn't expect a senior program to know them off the top of their head, unless you're hiring really specifically for a position writing routing algorithms or looking for a senior airport transit architect.
I just set a "visited" bit in the data structure while the code walks it. There's a cycle if the bit is already set. It's the same algorithm as yours, but a lot cheaper.
Perhaps cheaper in space, but you will have to do an initial pass over the entire structure to zero your visited bits first, so it may not be cheaper in time.
The GC already needs to sweep through the whole allocated memory to find the unreacheble objects to be freed. Flipping a bit while doing this isnt a big deal.
Since the first pass quit when it finds the first marked node, the zeroing can traverse the structure, erasing marked bits, and stopping at the first 0. The entire structure doesn't have to be visited.
I had someone in an interview in Berlin ask me to write a garbage collector. In CSC 202, our professor talked about using reference counts.
Jeez. I think my profs covered ref counting as an introduction, then also went on to cover mark/sweep and generational collectors. We also covered compaction, copying and bump allocation. I don't think it took that long. If I were running a shop that focused on, say Java, I would want to know if my new hires knew background information relevant to optimizing code running on the JVM.
Cycle detection? Man I could probably tell you back when I studied minimum spanning trees and wrote this thing to implement Dijkstra's shortest path:
Someone should have given you breadth first search and depth first search, then ran you through how those are components to other algorithms. You should have been left with those as a "toolbox" such that you automatically spend a second thinking, "what would happen to that graph if I did DFS or BFS on it." That kind of toolbox is powerful and gives you all sorts of useful insights. You are not the only one around here to say, "Man I could probably tell you back when..." What you should be thinking now is that you were not well served by some of your teachers. Fortunately, this sort of thing is easily rectifiable.
Off the top of my head, I'd hope each node had a unique identifier and I guess I'd mark them/store the keys in a hash table.
Well good on you. You just did better than most of my last 6 interviewees.
Unless there's a way to mark the data structure, you now have a second structure the size of your key space.
This is the DFS/BFS part right here. Is the 2nd part of your statement likely to be true, and how often would it be true? Good call on the marking. (EDIT: Just thought of it: Bloom filter.)
I'm sure there are better solutions, but I wouldn't expect a senior program to know them off the top of their head
Cripes! Freshmen used to be able to do this stuff!
unless you're hiring really specifically for a position writing routing algorithms or looking for a senior airport transit architect.
How about you don't want programmers who will end up debugingg an infinite loop induced by a data cycle every single time?
EDIT: I actually just wrote cycle detection for my side project in golang the day before yesterday. It took me 4 additional lines of code. If you have a shop that uses gob or some kind of object serialization, this may well be very relevant!
You're trying really hard to find a connection between implementing a GC and debugging memory leaks... and failing.
The whole freaking point of a GC like say Java's is that an average programmer can use it without having to understand how exactly it's implemented.
Of course it won't hurt to know that, but it's not at all mandatory knowledge.
One just has to know which situations the GC can't cope with and avoid them. For Java there's at least one open source dedicated tool for finding leaks, it nicely explains what one needs to know.
One just has to know which situations the GC can't cope with and avoid them.
Unfortunately, many programmers believe that since Java uses garbage collection, you do not have to think about GC and ownership at all.
Oracle had to replace the fast implementation of substring that just returns a slice of a String (O(1) time) by a copying implementation (O(n)), because too many programmers do not know the basics of ownership/garbage collection and would accidentally hold on to larger strings.
Seeing the implementation details of reference counting, mark-sweep collection, and perhaps a generational collector once, makes you more aware of memory and ownership issues, even if you forget the nitty gritty details later.
You're trying really hard to find a connection between implementing a GC and debugging memory leaks... and failing.
I spent years at a vendor for a Virtual Machine. That you would compose such a sentence shows that you are ignorant of some aspects of optimization. You don't even know what you don't know, and projected that ignorance on another.
The whole freaking point of a GC like say Java's is that an average programmer can use it without having to understand how exactly it's implemented.
One of my company's most frequent consulting tasks was helping clients optimize to maximize throughput for the generational GC. That you jumped to the conclusion that I was talking about memory leaks is pretty damning.
I had someone ask me the cycle detection question once, and I didn't care for how they phrased it. Specifically, should I find it immediately upon entering the first cycle (at a higher memory/time cost) or should I just eventually detect it (e.g. turtle/rabbit)? It was on me to clarify, but as a newb to the industry, I felt like I should just know which was expected.
And either way, if I were to ask this question, I would spend a lot of time helping the person along the way to make sure they were able to make the logical leaps that made sense to them, not to me.
Here's how I asked the question. I would present the data for a 2 node cycle and ask what would happen to this routine. Here's a response I would get far too often: A conditional clause detecting a 2 node cycle. Then I would present a 3 node cycle, then ask how to detect an n node cycle, period.
Lots of 3.5+ GPA grads can't make that logical leap!
If you come up with something else (like tagging nodes), you get a strike for inefficiency.
It looks simple enough to feel smug about once you know it, at the same time there's near zero chance the interviewers could come up with this algorithm independently without prior knowledge.
When people say they expect someone to implement cycle detection, they usually mean Floyd's algorithm.
Not necessarily. Sometimes the dataset only has on the order of 10k nodes, and you just want to warn users if they create a cycle, or keep particular routines from going into an infinite loop.
If you come up with something else (like tagging nodes), you get a strike for inefficiency.
A few days ago, I implemented cycle detection in an event notification system where the graph size is relatively small in just 4 lines of code, which should be immediately understandable by any competent programmer. That you should mandate Floyd's algorithm in all cases gives you a strike for pedantic design without regard to cost/benefit.
I think this is because the Mac doesn’t lock at all by default. The actual behavior seems to be “prompt for password after screen saver is interrupted” so that flash is the time it takes the OS to realize the screensaver just turned off and it’s time to ask for the password on the lock screen.
When I leave my Mac I always do a ctrl-shift-eject/power to force the lock immediately.
The saving a screenshot and immediately showing it is a UI trick to make waking up/unlocking look faster, gives the user something to look at while the apps are actually restoring to running state. Just they didn’t think this one through or test it adequately
This sounds like the kind of applicant who would complain that fizzbuzz has no real world application. Despite the attitude in that article, there are real applications of cycle detection.
It sounds like the kind of applicant who understands the problem far better than the interviewer. So go on then: once you have detected it, what algorithm would you use to repair it? Wouldn’t you consider its existence to be a bug in the way the list was constructed?
It depends too much on the context to give a general answer what to do with it. It can easily not even be an "error," like in the first example on this link where you're simply testing the strength of a PRNG. Another would be if you're writing something to represent reals in decimal and you want to see where your number loops, like 1/7 = 0.(142857).
Examples where it's not desired, and what to do: Detecting infinite redirects in browsers and stopping the loop. Detecting thread deadlock and terminating the process. Detecting looping references in an Excel spreadsheet and showing #ERROR in the cells instead of letting the process hang forever.
The app store and code signing have been fairly bureaucratic to deal with from day one. It's actually improved compared to the initial years from turn around times measuring in a day or two vs a week or two. I remember doing such tricks such as resubmitting the same binary and it getting passed. It really is a dice roll.
Compile times comes from swift and promoting it too early because it was too immature. If you write your code in objective-c, your fast compile times will come back. Swift compile times have been improving as time goes on.
They also don't pay as well compared to google or facebook. But even then I think it's more a management thing, since they determine the priorities in software dev.
>Swift compile times have been improving as time goes on.
Swift compile times will never be close to ObjC or C compile times, no matter how much engineering goes into it.
This is because of how the language is designed, it requires a typechecker which solves an NP hard constraint solving problem.
There is a whole bunch of low hanging fruit in the swift compiler as far as compile speed goes.
What swift compiler devs complain most about is about how operator overloading causes some sort of O(n^k) or worse check, because things like the '+' operator has dozens of implementers.
If your really worried about type inference slowing you down, you can write out all of your types like you didn't have type inference. You could even do it in an automated fashion like your source code was some sort of cache.
Duuuuuude my work macbook freezes at least 3 times a week when connecting up, I thought this was just my issue, I feel like we're part of a brotherhood now.
This is NOT a big issue for consumers. Apple is great at keeping customers happy, their 4 year warranty extension for replacing the keyboard shows this.
This IS a business issue. It has a quantifiable effect on profit margins for Apple's macbook, and I would look at it as an investor and see if it effects Apple's valuation in the short and long run.
The Note 7 is a fantastic comparison - the complete recall did not have to happen but did because of design choices from Samsung engineers. It could have been a $200 million dollar issue instead of a $5 billion dollar one.
Similarly, these keyboards did not have to be that expensive to repair or be so prone to damage, but being that way has a snowball effect on repair/maintenance/warranty.
It's also a design decision that they're kind of stuck with. They are not going to go back to their original keyboards (unless they release a mac book pro classic, which I would personally be estatic about) - and so the increase repair costs cutting into their margins is a challenge for them to solve going forward (especially since the brittle-ness is because of the thin design).
They’d get a lot less cynicism and a lot more kudos if they didn’t outright deny the problem exists until PR is so against them that they have no choice. They did it with the classic iPhone 4 antenna issue, they did it with the battery throttling, they did it with the keyboards. It’s a pattern by now.
Warranty and free repairs do not mean that it doesn't take time and effort to actually get done. Consumers would very much prefer to not have problems than to constantly get them fixed, even if free.
Not mentioned in this article is how many people also dislike the feel of the keyboard. Add that to risking an out of commission work machine and it’s a big deal for consumers.
> Not mentioned in this article is how many people also dislike the feel of the keyboard
Do you have any statistics on that? Anecdotally, almost everyone I've spoken to prefers the new keyboard over the old one, ignoring the key stuck issue.
I didn't have problem with MacBook Pro 2017 keyboard regarding dust. My major problem is, it is noisy. Using it in library is a huge hassle. It totally disturbs everyone around me.
Thanks for mentioning this. I much prefer the older style keyboard.
I used to split my work time coding at my desk and at a "comfortable" location (couch, chair, etc), but the thought of using the new MBP keyboard has me working almost exclusively at my desk with external keyboard.
I'm not sure how much a longer warranty will help with keeping customers happy if they have to replace the keyboard every year and be out of service for a week or so while it happens. Heck, I was annoyed enough when my iPhone's battery started swelling and I had to spend two hours at the Apple Store to work through the replacement process. If I had to go without it entirely for a week, I'd have been nuclear angry and the fact that the repair was free would not have been too comforting.
My 2015 MBP is affected by an earlier production issue where interactions with the keyboard when opening / closing the lid damages the coating of the display (just lookup “Staingate” to see pics).
Maybe the thinner keys were ironically meant as a fix for this production issue in order to save them money on screen replacements.
Apple biggest UX failures always stem from putting form before function. There is a lower limit to thinness/lightness before consumers just don't care, and it was passed long ago.
There was great progress made with the unibody Macbook Pros and the Macbook Airs but these latest models are so thin that it's actually annoying and leads to issues like poor battery life, lack of repair-ability, and malfunctioning keyboards. Isn't better usability actually more of a luxury then simple aesthetics?
Based on the timing, this seems like a train set in motion by Steve Jobs but he passed away and now nobody wants to recognize that it's way off course and needs a correction.
I always hit the wrong keys, even after a year I'll end up hitting ~/` instead of the escape key, I routing hit "mute" instead of volume down (or I'll hit up instead).
The iOS UI is similarly crippled. I got my parents an iPad as they were moving countries and needed a small portable device that needed no maintenance. To Apple's credit, the iPad is basically impossible to screw up software-wise.
But even the initial setup UI places form over function. Basically there is no way to tell what is a button and sometimes you have to click the word at the top to move on and sometimes the word on the bottom. It's completely bonkers.
On one hand I'm inclined to agree with you. Thin is not always better. On the other hand I'm holding my 3 pound Macbook Pro comfortably and easily. It's light enough that I don't have to think about slipping it into my day bag (something I did think about with the previous iteration) and thin enough to easily grip with one hand and walk around. When I was traveling, there wasn't even a question about whether I would bring my laptop. It's just too easy not to bring.
Sure, there's a bunch of flaws in the design and I hate that they removed the SD card reader, but it's probably the closest I've seen to the platonic ideal of a laptop. Something that you can always carry on you, that you can pop open in short notice and quickly slip back into your bag when no longer needed.
You wouldn't notice if it was 5lbs either, the human body is much more capable than that unless we're talking about small children. People routinely carry much bigger and heavier things.
Perhaps if it was still a netbook/macbook air product then it would make sense, but we also have iphones and ipads now which actually seem to be getting bigger so there's no reason why the most mobile powerful computing device must be so small.
I own a 2012 MacBook pro 15' and work gave me a 2016. The difference is about 1.5 pounds, going from 5.6 pounds to 4 pounds. The difference is big enough that I've slowly started using my work laptop for most of my personal needs too, even though I initially wanted to keep my work laptop clean of unnecessary personal data.
Possibly not, but I did notice carrying my personal laptop around versus my work laptop. It made a fairly big difference in fatigue whether I was going to the cafe or to another country.
You drop more weight just going to the bathroom in the morning. I find it extremely hard to believe that a few pounds makes a difference to any physically capable adult.
It does. If the laptop is light enough, you can handle it (grab it, put it back on the table etc.) comfortably with one hand even while laying away from it etc. It becomes almost as comfortable to quickly grab as a tablet or a phone.
Laptops are not designed to be handled with one hand. It's a nice benefit but it definitely should not be the target, especially at the cost of better usability, which is the entire issue here.
It's not about physical capability. Obviously people aren't getting exhausted moving around 5lb laptops instead of 3lb ones. It's about comfort and ease of manipulation.
Why is giving up a better keyword and battery worth the few ounces? How is that more comfortable overall? Do you hold it with one hand more often than you type on it?
The difference between a laptop I can comfortably have in a backpack or messenger bag when cycling is huge - it goes from something I took when I was specifically planning to use it (and worried about back pain even then) to something I essentially have on me at all times now.
I use the 2012 at home and the 2017 at work. Think I actually prefer it heavier but maybe it's because I also respect my 2012 more after growing to hate my 2017 with 5 stuck keys and return key deadzone so look at this supposed flaw as wanted power and sturdiness rather than unwanted weight.
Plus the lightness is offset by having to carry a dongle and them only shipping the bulky powercord not the short cord in the 2017 which I found an insultingly stingy gesture for a nearly 3K machine.
Yep, I think I would feel the same as you do if my work laptop was a 2017. Work gave me an old laptop, and I was happy with that because I don't have to deal with the touch bar or USB C.
I also share your sense of value about the machines. The 2012 is the last MacBook pro I've paid for myself.
EDIT: I just checked and my work laptop is a mid 2015. It's still much lighter than my personal MBP, but I think this was the last generation before USB c charging and the elimination of ports.
Weight is not the same as thinness. The X1 Carbon is substantially lighter than the MacBook Pro, but with a much better keyboard and much more repairable.
As someone who spends his day shuffling between conference rooms before mercifully being given time to work, I am grateful for every ounce shaved off of the device I work on. no sacrifice to battery, and it's on my company's dime if it fails.
Why is shuffling between conference rooms so arduous?
When did people become so weak as to not be able to carry a few pounds (or even ounces) between rooms? That's not a good thing and arguing about such little weight is indicative of much bigger health problems than any laptop design issues.
I routinely walk home from work—3 miles, which takes about an hour. Even with a high-quality shoulder strap, I can notice a half-pound difference in laptop weight.
My T480 is lighter than a 15" MBP, and is user-serviceable. It's also one of the less svelte models in the ThinkPad line—if I wanted to sacrifice a bit of repairability (nothing as bad as Apple) for some weight savings, I could have gone with a T480s or X1 Carbon.
I'm a big fan of USB-C—I try to avoid purchasing any devices without it. But I use the non-USB-C ports on my ThinkPad T480—HDMI, USB-A, Ethernet—on a regular basis. It also has a hot-swappable battery, superb typing experience, and is easily serviced.
And it weighs about the same as a MBP (right in between the 13" and 15" MBP, which makes sense since it's a 14" laptop).
My problem with USB-C on MBP is that, at least 6 months ago, I couldn't find a good, fully compatible port expander.
In particular, my 2017 13" MBP gets pretty confused sometimes when talking to two external monitors connected via my Elegato expander. Even just one monitor sometimes gets confused after sleeping.
It was annoying enough that now I typically use just one external monitor. And when I need two, I conmect the second directly to my MBP's 2nd USB-C port, not to my expander.
The solution to this while keeping the same form factor is to create a macbook pro that is waterproof so that a keyboard can be washed out if any dust has accumulated below the keys.
I'm picturing one of those immensely obnoxious apple videos where ive is talking about some crap about frivolous keyboard superlatives, with some cgi fly by of a keyboard... uh.. such crap.
> In the meantime, let’s give some other companies a shot. Dell and HP have gorgeous, reliable, repairable flagship laptops that are getting rave reviews. Right now, I think they’ve done more to earn your business than Apple has.
The laptop mentioned in the "rave review" link is an elitebook 840 g5. I have been using the 840 g1 as my primary laptop for the last 4 years and it really is a sturdy device. The hardware is flawless, I haven't had a single issue with it. However, do yourself a favor and wipe it clean the moment you buy it, and install a fresh copy of windows. HP's added software is literally poison.
Twoish years ago I moved from
Linux full time to Windows at home and whatever the Apple OS is called at work.
The Apple one was a pain. Command line tools are almost but not quite right (zcat in particular just doesn't work) and I found the user experience pretty annoying at first but passable after that. Still don't really understand how "installing software" is supposed to go, and lots of struggle against Homebrew and lots of other software packaging.
Windows had WSL when I got my laptop. Real Linux command-line, nice. Filesystem performance was crap, and they didn't have postgres at first, but it was probably a better dev environment than my Mac, with one exception: no Docker in Windows 10 home. Explorer started getting a bit slow and unstable after a while, but I was on preview releases.
A couple of months ago I quit my job, and yesterday I formatted my home laptop to install Linux again (decided to put my hobby project onto a Docker-heavy workflow) and oh my God it's lovely. Installing packages is fast again, software compatibility goes without saying, and Unity was surprisingly pleasant (though I did drop it for i3 because I'm a masochist.) Hard to say how much of that experience is "Linux is nice" and how much is "I'm a Linux person" though.
The issue with Apple's unix environment is that it comes with BSD tools. A lot of functionality that you'd expect to work doesn't end up working, which can be frustrating. You have to go through some pretty annoying steps [1], which are more involved than the steps required to get a Linux environment on Windows [2].
Linux doesn't cut it for me after I've tried a BSD. It isn't as bad as Windows, but BSDs have a certain kind of elegance. And because the things you can do on them are limited (browsing and coding) and there aren't as many packages you are much more focused.
The fact that MacOS/Darwin has BSD utilities instead of GNU is a common gotcha. Not a showstopper though, `brew install coreutils` will get you the tools you are used to!
Sure, where pre-installed apps are "adware" and debug logging is "spyware". In which case you should never use Android, iOS, a Mac, Ubuntu or any website.
The things I mentioned are what constitute the superior UX that you get with Windows.
Also, the majority of programmers and the vast majority of desktop users are on Windows. So, outside of the tiny HN/SV bubble the market disagrees with you.
That's actually quite subjective. I've had it on the desktop on and off for decades and it's constantly been a source of unhappiness. Linux had been the solid rock for me, and MacOS was good for a while.
Yeah, updates is why I really dislike Windows. The rest I can live with. I prefer Ubuntu + i3 or Mac OS X, but if I have to use Windows, then it’s mostly doable besides the updates. Be it updates to the OS or Visual Studio (which is why I do use it; Xamarin); random breakage and it takes far too long and happens far too often.
Well... about 3 months ago my Windows 10 machine got stuck updating. Basically it just kept endlessly updating the same update consuming huge amount of resources;
At first I figured i just let it do it's thing so i waited and waited and just kept it running over night. After a few days i noticed it was the exact identical update it kept installing over and over.
I searched online, and many people were having exactly the same problem. At that time there wasn't a solution yet. So in the end, i just gave up...
- i'm a developer btw so i have at least some technical knowledge :)
(can't remember the exact KBxxxxx number unfortunately.)
Have you explored the multitouch gestures for all this? I work on a 40" 4K monitor and I can't live without OSX's window management exactly for that reason. Windows wants you to fullscreen everything, while OSX has nice little touches like making the windows subtly magnetic or letting you resize symmetrically by holding alt.
Not to mention OSX is the only OS where you can drag the file icon out of a window's title bar to do stuff with it (eg. upload a file you have open) or right clicking the title to see the folder structure it resides in.
All these little affordances exactly where they need to be, and invisible when you don't need them. In my experience OSX is designed with a degree of consistency unheard of elsewhere, and that's why it gets accused of being unusable: people keep looking for the crutches you need on other platforms instead of just interacting directly.
My work Dell does not hold a candle to my MBP in build quality or reliability. Good thing we bought the Dell service whateveritis that lets us send back broken ones to be replaced
I'd have absolutely no problem using PC hardware. I'd love to be able to pick my components and build a better desktop for half of the price - in fact I already have such a machine for gaming purposes. However unless I can put macOS on it that hardware is useless to me.
As a web developer I want a unix environment and I'm not sure if Windows' subsystem for Linux is going to cut it.
However I also use a lot of audio software like Ableton Live as well as countless VST/AU plugins, which renders any native Linux flavor useless.
macOS is the only option and until that changes I'll continue to begrudgingly wait for Apple's infrequent and late desktop hardware updates that feel unnecessarily expensive.
I agree that Linux doesn't it cut it for audio, but that situation seems to be improving - I was surprised to see Bitwig, Renoise & Pianoteq all have Linux versions, and the JUCE SDK that many VST plugins use also supports Linux.
And with macOS deprecating OpenGL, which many VST plugins currently rely on for their interface, I'm concerned about the future of music on the Mac & how long I'll be able to use those older VSTs.
I can confirm that window's wsl and bash systems are moving along very quickly. I moved to windows about a month back and have only one use case for which I need to boot ubuntu up: docker with symlinked folders.
Apart from the above use case, I've missed nothing. There's some hacking I'm attempting to do to get vscode to use the underlying bash mechanism for its code linting tools but that's more a preparation for the inevitable moment when some linting tool or package depends purely on a Linux/Unix environment.
Off center track pad is not an issue. Just a matter of getting used to it. Buttons is a great addition. I don't understand why having buttons is an issue. You can still tap if you want to. But with buttons, things like dragging become much easier.
I wrote about my experience while looking for a personal laptop in 2013: https://ashishb.net/tech/the-weird-state-of-laptop-industry/
Little has changed since then. There is still a considerable gap, and no one is building a developer laptop. What surprises me is the amount of energy Google is pouring into Chromebooks, they could have made an excellent (GCP-integrated?) developer laptop instead. For backend engineers to front-end engineers to mobile developers, it could have become the defacto developer machine - provided the Wi-Fi, battery, and sleep/wake-up handling is as good as Macbooks.
Yep, I'm running Arch. Battery is great. On my work laptop (the 6th gen) I easily get >7 hours if I'm not doing things in the browser too much. Yes I know there are a million factors, and my general use case isn't the same as everyone elses. Let's put it this way, the way I use my previous mac and my new thinkpad, the thinkpad lasts around 1.5x as long (sometimes more).
In terms of WiFi. I haven't noticed it being worse than my mac, but I also don't think I've ever dug deep enough into this kind of thing on either platform to really say. Every time I've spent any energy looking into WiFi it's been on Linux.
Google is working on making Chromebooks more developer-friendly. Some of them support running full desktop Linux apps now, but it's still in the experimental stages and I wouldn't recommend buying one for that specific feature until it's more mature.
That said, I've been doing light webdev work on a Chromebook using Crouton (to run desktop Linux alongside ChromeOS, with seamless switching) and aside from difficulties with the MicroSD slot and apt-get on Ubuntu it's been quite nice. Getting solid, first-party Linux desktop app support would make Chromebooks a serious contender in the "cheap dev laptop for light work" space, and I think Google is working toward that.
Obviously, the hardware is going to preclude you from doing any serious heavy lifting, but I'm pretty excited to see what they come up with in another year or two. The battery life on these things is fantastic, plus some of them can also run Android apps.
> Google is working on making Chromebooks more developer-friendly. Some of them support running full desktop Linux apps now, but it's still in the experimental stages and I wouldn't recommend buying one for that specific feature until it's more mature.
hum I'm been ticked since they cancelled the 17" MBP and I am more than a little annoyed that I lost physical esc and function keys (Yes, I used them - in Emacs).
It bad enough that I'm now spending a non trivial amazing amount of time on non-Apple laptops, but soo many apps have no acceptable alternative on Linux, sadly (I buy Linux version whenever I can).
> [Apple quietly announced][1] that they were extending the warranty on their flagship laptop’s keyboard by four years.
No, they didn't. If you read the very source the article cites for this, you find,
> The program covers eligible MacBook and MacBook Pro models for 4 years after the first retail sale of the unit.
The original warranty was 1 year[2]; this is a three year extension.
"Extending by 4 years" is just too good to be true. Although, I had no idea the warranty on MBPs was so bad; a well built machine should trivially last a year. And now that I Google around, this doesn't seem to really be unusual on Apple's part. My last laptop had a 4 year warranty, and it lasted about that long. But my current laptop only had a 1 year standard, and I had forgotten that I paid $80 to extend it for 3 years. Apple seems to offer an extended warranty ("AppleCare+") but wants $270 for it.
FWIW AppleCare for this price of machine has been the same duration and roughly the same price since forever, even before MBPs.
What they have quietly changed is now you can only buy it in the first 60 days instead of the first year which was a big surprise to me buying a new MBP. It had been the first year for a very, very long time — since inception IIRC. Of course I learned of this change after I'd already had my machine for more than 60 days. :/
There are a few ways to get it slightly cheaper like F&F discount. You also used to be able to get it cheaper from a third party store like B&H but it seems they've cut back on this recently.
Looks like there are a few but not many on eBay [1]. I wonder if one can still activate the legacy AppleCare (non +) on newer models purchased after they discontinued it.
The link from SyneRyder’s comment indicates that you can still buy AppleCare anytime in the first year. The only thing subject to the 60-day limit is AppleCare+ (which includes accidental damage).
> As for the Mac, customers who have had their Macs for longer than 60 days but less than a year are not eligible for AppleCare+ but are still able to purchase a standard AppleCare Protection Plan, MacRumors has learned. Apple is only offering AppleCare+ for Mac on its website, so customers will need to call in to Apple Support to make the standard AppleCare purchase. Standard Mac AppleCare is priced at $149 to $349, depending on the machine.
Worth noting that in some jurisdictions (e.g. Australia), consumer protection law extends beyond manufacturer warranties by establishing consumer guarantees, e.g. a guarantee that products will be of acceptable quality, and that they will be reasonably fit for any disclosed or represented purpose.[0]
This often extends beyond the period of the express manufacturer warranty.
On a semi-related note, Apple has recently been fined AU$9m for "making false or misleading representations to customers with faulty iPhones and iPads about their rights under the Australian Consumer Law", by representing to customers "that they were no longer eligible for a remedy if their device had been repaired by a third party".[1]
Doesn't Apple often snob this laws? Have they changed their behaviour? If I remember correctly, in EU, up to just one or two years ago they were refusing to service products under warranty older than one year if you didn't have Apple Care even though the law mandates a 2 year warranty period.
>>even though the law mandates a 2 year warranty period.
The law mandates no such thing and this is an extremely common misunderstanding of how EU consumer production works.
EU consumer protection law gives you protection against manufacturing defects for up to 6 years after purchase(it's 2 years only on specific items - in general, it's 6 years).
The absolutely key word here is manufacturing defects - if you have a fault with your laptop, fridge, TV, whatever, within the first 6 months after buying it, then this law assumes the defect existed at the time of manufacturing and the manufacturer has to fix it. But, after the initial 6 months, the responsibility on proving that the defect is due to faulty manufacturing is on the customer.
So yes, you can absolutely bring in your broken laptop to apple after 2 years of buying it, without buying extra Apple Care, and ask them to fix it - but it's up to you to prove that it's broken because of a manufacturing issue. That's why Apple "snubs" at it - in vast majority of cases it's very hard for the consumer to prove that the laptop is broken because of an error in manufacturing, and not because the part has worn out.
Having said that - there are some countries in EU(for example Poland) which require that all electrical devices are covered by a full 2 year manufacturer warranty, and indeed - all Apple hardware sold in Poland comes with a 2 year warranty as standard. Which highlights another issue - EU laws are not as homogeneous as an outsider might think - for example, in UK if your product is replaced under warranty, the replacement is only covered for the duration of the original warranty. But in Poland, the law states that if an item is replaced under warranty, then the replacement has to be covered for a "fresh" duration, so a full replacement resets the time counter on the warranty.
Isn't Apple often the seller as well as the manufacturer? In any case, I've never had to interact with a manufacturer, it was always taken care of by the seller (within the first 2 years).
Maybe they snub it sometimes but I was able to have a 2 year old iPhone replaced under this rule (the camera padding had drifted across close to the front lens).
I believe the rule here in Ireland is that defects that were present as a result of the initial engineering are covered for more years, but not wear and tear or anything that would fail due to use specifically.
The UK has a nice catch all for such things in addition to the EU laws;
From the 'Sale and Supply of Goods Act 1994'
~~~
For the purposes of this Act, goods are of satisfactory quality if they meet the standard that a reasonable person would regard as satisfactory, taking account of any description of the goods, the price (if relevant) and all the other relevant circumstances.
For the purposes of this Act, the quality of goods includes their state and condition and the following (among others) are in appropriate cases aspects of the quality of goods—
(a)fitness for all the purposes for which goods of the kind in question are commonly supplied,
(b)appearance and finish,
(c)freedom from minor defects,
(d)safety, and
(e)durability.
~~~
I don't think a reasonable person would regard a £2000 laptop being unusable after 2 years of regular careful use as being 'Fit for purpose'.
> The Consumer Rights Act 2015 became law on 1 October 2015, replacing three major pieces of consumer legislation - the Sale of Goods Act, Unfair Terms in Consumer Contracts Regulations, and the Supply of Goods and Services Act. It was introduced to simplify, strengthen and modernise the law, giving you clearer shopping rights.
Exactly, As I said before, they should rise the price a little and offer 2 years standard warranty on all products, iPhone and Mac. It is not like they are replacing those panels or parts for free under warranty, you still have to paid for it, just a little cheaper. And 2 year is, for EU, UK, and AUS part of the law anyway.
And like you said many Notebook now offer 2-3 years warranty as standard. Apple?
It is rather unfortunate we don't have anyone to challenge them in both PC and Smartphone space.
> In the meantime, let’s give some other companies a shot. Dell and HP have gorgeous, reliable, repairable flagship laptops that are getting rave reviews. Right now, I think they’ve done more to earn your business than Apple has.
But when these laptops have an error or break, will their manufacturers extend an extra 4 years to the warranty? Probably not.
And that’s why I keep coming back to Apple hardware. The longevity of it is unparalleled.
925 comments
[ 2.4 ms ] story [ 322 ms ] threadI mean in terms of phones, the iPhone X is pretty much top of the line -- are there other phones that exceed it in a meaningful capacity? Bezel-free design, face recognition, fake-DLSR like camera effects, etc.
Just provide a decent battery and screen, TouchID, and the best camera you can with the remaining space.
I think the price tag alone has a significant impact on iPhone X's sale not withstanding the effect that the older iPhones (especially 6s) are holding up really well if you don't want or need a better camera.
What Android hardware severely lacks is manufacturers that aren't bound and determined to destroy their products with shitware. It doesn't help that the platform isn't obnoxiously marketed as a social/economic statement, either.
The iPhone’s CPU is literally years ahead of comparable Android devices, with today’s flagship Android devices comparable to an iPhone 6s in terms of performance. One or two other devices may have a camera that matches Apple in terms of a spec here and there, but iPhone is still the gold standard. The fact you call Samsung and others’ garbage face unlocking from 3 years ago gimmicks might be the most accurate thing in your post, but those never worked reliably and in no way compare to Face ID.
And then you finish by noting that most Android OEMs require you to use their shit version of the OS. Well then, real convincing argument when the most critical part of any computer is garbage. This place is insane...
Actually, try using a Pixel 2 and an iPhone 8 side by side. It'll be pretty obvious which one feels faster, and it's not the iPhone.
And that's on the back camera. On the front facing camera the quality gap is even bigger.
> What Android hardware severely lacks is manufacturers that aren't bound and determined to destroy their products with shitware.
This, plus lack of/severely delayed software updates in the face of critical security bugs.
To me, other than raw specs (like, say, screen density), they're still winning more frq8 then not.
(And I say this as someone who avoids Apple like the plague).
There are many examples to the contrary. Apple's mobile chips are still way ahead of the competition. AirPods are the gold standard for that product category. FaceID had a substantial lead on the Android world for about a year.
like the "don't hold it that way" antenna gate problem and the phone bending problems.. They'll fix..
https://en.wikipedia.org/wiki/IPhone_4#Antenna
https://en.wikipedia.org/wiki/IPhone_6#Chassis_bending
Honestly, its hard to get off the mac ecosystem though. I have a macbook pro, and am starting to look at linux laptops. The options don't seem great. older Apple laptops are pretty well built, so hopefully it'll last a couple more years...
My last couple laptops had better hardware (for my needs) than ThinkPads or Macbooks, but the occasional compatibility issue is enough that I'm thinking about switching back to Thinkpads.
The click pad and keyboard are far superior too.
I haven't found many/any reviews of it since the refresh -- does anyone on HN have one who can attest?
I've got a HP with a number pad because no 15" model doesn't have one. I never use it (the number pad) but I have to shift the whole machine to the right to have the touchpad and the "real" keyboard in front of me. So most of the vern is on the right of my eyes. Great design!
I bought Lenovo Thinkpad P50 instead of Dell XPS because the Thinkpad has a full keyboard.
I'd sell the numberpad as an external device. People that need it will buy it and place it to the right of the laptop (or maybe to the left for left handers, who knows?)
There is another design problem: it could shield the ports on the side where it is placed.
Another solution: engineer the screen so that it can be shifted 1/3 to the left when the laptop is open. That will align it with the spacebar and the touchpad.
About the XPS, I didn't buy it back in 2014 because the then current model had some thermal problem and because I like 3 physical buttons on the touchpad. HP ZBooks do have them.
Anyways here are my thoughts:
Good things: - Keyboard is pleasant to use (for me) - Trackpad feels good (not as good as Apple's trackpads but much better than most non-Apple ones) - Desktop-level performance - No Linux jankiness -- everything has just worked for me so far on Pop!_OS - Battery life is not as terrible as I thought it'd be on Intel graphics (~5 hours depending on what you're doing. I haven't tested this too thoroughly)
Complaints: - Need to reboot to switch between Nvidia and Intel graphics - Fans are always audible on Nvidia graphics no matter what you're doing - Nvidia graphics are required in order to use any external displays - Battery life is horrible on Nvidia graphics, so you basically have to switch graphics then shut down before unplugging from an external monitor if you plan on using it on-the-go
Remember: the only reason you need to reboot linux is to get a new kernel, or because the kernel FUBAR'd and corrupted data.
I am still looking for a way to restart Xorg without having to restart the software on it, but so far I have not found a solution.
Then there’s https://lambdal.com/products/tensorbook that focus on ML workloads.
Nitpick: IIRC they purchase hardware from some other OEM vendor (Clevo Google suggests).
My mbp is having the common keyboard issues and while looking at replacements I can’t find anything remotely close that balances what I need. :/
but even beyond that the sheer number of popups and shit I need to close when starting from a clean install on Windows makes me want to punch the computer, and naturally that is a very subjective experience. and stuff like apps stealing focus in general. if a mac app makes itself the key window in a non-standard way I immediately consider uninstalling it, on win that just seems to be what all apps do when opening new windows.
Not sure why it's suboptimal, WSL is amazing. I am primary a frontend dev as well and do most of my building / start-up / testing of my work inside of a terminal. It's great and Adobe works great as well with the added bonus of the better Windows dropdowns (Mac OS dropdowns drive me nuts but for Windows you can give one focus and scroll through all the options with the keyboard).
> but even beyond that the sheer number of popups and shit I need to close when starting from a clean install on Windows makes me want to punch the computer, and naturally that is a very subjective experience.
When I first started up I had like 2 notifications to use Edge and something else and that was it. When I enrolled in the Windows beta I received a few more for requests for feedback, which it warned me about ahead of time. Not sure why you had so many pop-ups and I've had basically none.
It's always so weird to me how my experience with Windows machines differs from those who prefer Macs. I own and use both and they both seem pretty great to me. The only big thing is I make sure to only buy Windows hardware from Microsoft to get their "genuine experience" because HP and everyone else likes to ruin it with their bullshit.
On my office laptop though, Win 10 Pro has been pretty stable.
To get back to the main point, I usually have to spend a day with both Windows and Linux to install everything right from VLC to compilers. IMO setting up needs to be done on every machine, independently of the OS.
Work MacBook - have to restart it to get USB ports to work, screen flickers when you plug in an external monitor like X windows on an Unix terminal from '99 with a bad conf file... Comeon.
I bought a new HD and ran the recovery tool which gave me an option to clone from another drive. I figured I might as well give it a try even though the old HD seemed completely dead.
After a couple of hours the machine rebooted using the new HD. The amazing part is not only were are my files perfectly intact, but the exact same applications I had open when the old HD died opened up automatically on the new HD.
(Sarcasm aside... I’d flip in a heartbeat but despite macOS’s lapses, every single time I had to deal with a Linux desktop I regretted it.)
That's the hardware's fault.
Fortunately you don't have to use systemd. I'm happily running Void Linux.
It displays some ignorance of this subject to blame it on systemd, when Matthew Garrett told people that it was really his fault.
* https://twitter.com/mjg59/status/693494314941288448
The people who relate the tale as if it were a systemd thing or something that the systemd people did are ill-informed. It was entirely a kernel thing. This was even stated outright at the time by the creator of that particular kernel mechanism.
To learn the real story, go and read https://news.ycombinator.com/item?id=11152880 where Matthew Garrett xyrself can be found participating in the discussion.
I remember a guy at Uni who’d come to the study room, update the various spyware, malware sigs and let the Win machine purge itself for half an hour, while he had coffe and cigarettes.
Since several years, my biggest hassle has been to plug a TM backup and choose “restore from backup” when I bought a new Mac.
Drivers, power management, tweaking this-and-that... nope, my life demands those minutes back. I’m actively worried when I see Apple fuck up and potentially ruin this status quo because “innovation”.
But 1) i have to admit that i like all this full aluminum fuckery (shame on me) 2) MacOS is for me more "batteries included" then any Unix-Flavor. Yes there a often alternatives on Linux, still i really like to get my shit done quick and easy with tools like preview for example. 3) Better Tools on MacOS: There is some great stuff out there which help me in every way. Alfred, MailMate, MoneyMoney, Postico, Royal TSX, Paw, ... good looking, functional tools. And still i can use all the great command line tools out of the linux world (vim/emacs, bash/zsh, compiler tools, ranger for filenavigation, ...).
I just hope Apple gets their shit together.
In regards to tools, you can usually find a distro that is "batteries included", try KDE as your DE - There's great tools like Okular, Dolphin... Insomnia is a pretty looking Paw alternative etc, however I think the advantage with Linux is that you can often build it how you want, without the junk that is there and you don't even know what it does, but it consumes CPU cycles. Moreover, with distros like Arch Linux, you get practically all the available tools, always up to date, never have to reinstall, updates take a minute as opposed to half an hour and you can mange everything, (not just brew packages), with an awesome package manager.
I really don't want to say "MacOS > Unix" because of any reasons i mentioned. I also had ArchLinux as main OS on my Desktop, and also tried a new KDE Flavor.
But for me personally it was never as good as MacOS. Maybe i wasn't trying hard enough, or don't want to loose any spent $ on MacOS only software. Dunno. Anyway i just hope for myself that i can get a great MacBook again ;)
(What i missed the most on MacOS was always a fast and keyboard focused window manager like 2bwm. In the end i was able to recreate this behavior with hammerspoon and some custom lua scripts in combination with alfred. MacOS just looks sometimes a bit bloated with all these rounded egdes, drop shadows etc.)
The Apple Genius confirmed that the replacement parts that there’re using now are tweaked versions of the originals, not identical.
Of course, even if this makes the keyboards somewhat more resilient, I will still find it very uncomfortable to type on...
But yeah, I think they’d need to keep the door open with a traditional keyboard layout too.
https://en.wikipedia.org/wiki/FingerWorks
So I expect to see a couple more releases of ultra thin keyboards with various fix mechanisms before they accept that rules of physics and dust apply to them too. :)
Make the case thicker.
Go back to previous thickness; it wasn't that bad, and thin for the most powerful portable they sell isn't necessarily a good thing. They could even couple it with advancements in battery tech to finally put 32GB on their laptop.
Sadly Apple rate thinness too highly, so I suspect they'll not give it up easily.
Yes please. Honestly the new format is such a clusterfuck of unwanted features, poor hardware implementation, and removal of wanted features that it makes you wonder how it got out the door.
Hanging onto my circa 2013 MBP until they come up with a more appealing offer, or going elsewhere.
1. Touchscreen keyboard with haptic feedback: https://appleinsider.com/articles/18/03/15/apple-seeks-paten... 2. Protection against duct/crumbles/liquid for their keyboard: http://www.patentlyapple.com/patently-apple/2018/03/a-new-ap...
And when you solve these two, the result is almost identical to a scissor switch.
Does it drive sales? Couldn’t some other stat be used to pad their presentations? Any thickness less than an inch is fine with me. I’m not concerned with whether my laptop fits in an envelope.
The lighter your laptop (or tablet, or phone), the more you'll choose to not leave it behind but rather to just lug it around with you, and so the more places you'll have it and the more it'll be there to aid your productivity in random situations. [Also, for phones and tablets specifically, the longer you'll be willing to hold it up to your face to stare at it before putting it away due to the "gorilla arm" feeling.]
Sometimes I actually carry my MacBook around in my backpack when I'm just downtown for a meet-up and have no plans to do any work. I get it out for the same reasons you might pull out an external Bluetooth keyboard for a smartphone—e.g., if you want to type a long response to an email, or need to type a snippet of something that's awful to type on a phone keyboard, like code. Except that this Bluetooth keyboard happens to have its own computer attached to it.
(I don't use it at home, though; at home, I use a Hackintosh with a real keyboard. Which happens to be an Apple Magic Keyboard 2 with the exact same butterfly key-mech in it that the MacBook and rMBP have. But Magic Keyboard 2s aren't getting gummed up left and right, because the butterfly key-mech itself actually works fine when it's given adequate travel height. It makes a huge difference; you wouldn't even think it's the same key-mech!)
Would you consider getting something like a LG Gram 15" then? It's thin and light but appears highly repairable [1]
[1] https://www.ifixit.com/Guide/LG+Gram+15-Inch+Repairability+A...
If you want a really light machine, don't you have to ditch the aluminum? My 2017 MacBook Pro gets heavy, esp once you add the charger. I take it everywhere.
I didn't know how true this was until upgrading from an old Lenovo T400 to a newer Lenovo Carbon X1. I'll regularly carry the X1 a few blocks to a library, park, or coffee shop. The X1 and my work laptop - a Dell Latitude - are about as thick and heavy as the T400 alone, so it's not even a question that I take both to a location when working remotely. Now I need a bag with 2 laptop slots.
> [Also, for phones and tablets specifically, the longer you'll be willing to hold it up to your face to stare at it before putting it away due to the "gorilla arm" feeling.]
Conversely, the Samsung Tab A has enough magnets in the back to stick to a fridge - this remarkably makes it feel heavier than the X1, especially when working on magnetic tables and surfaces. The Tab A causes the "gorilla arm" feeling almost immediately, making it basically worthless to me. To add insult to this injury, when it's stuck to my fridge, the screen refuses to turn on when rotated to landscape. So it can't effectively play full-screen Youtube while stuck to the fridge, negating the last use case I found for it. I think this is due to a magnetic screen-off sensor that all Android devices seem to have on the back, but don't know why this would only turn off landscape and not portrait.
There are lower bounds of acceptability and luxury that were hit years ago, with much more important things to work on now like battery life and connectivity. Nobody cares about shaving another few millimeters or grams off the design if it means a frustrating experience overall.
That's what Air is (was) for. Converging both Pro and Air into a single machine seems like a solution no Pro user is really happy with.
If you look at derefr's comment, he appears to work like I do.
Business managers sees .2mm shaved off the thickness of macbook pro to 'justify' the premium cost of it over other laptops while a developer/pro user of the laptop would increase the thickness to gain battery and maybe mechanical/mesh hybrid keys... I would be more than happy to pay for a pro version of the current macbook pro.
EDIT----
Instead of apple doing crappy warranty repairs to make up for their crappy design, they should give us mechanical/mesh hybrid keys and shoot the person who thought .2mm was worth such a shit keyboard....
cradling on my 2016 macbook pro
The correct following step is “what can I learn from that,” including, yes, many pitfalls and questionable decisions to learn, rather than “I know exactly what’s wrong with that success, and it’s business leaders.”
I realize the irony of saying this here, as many are at least amenable to said ideology. It also doesn’t strike me as an intentional color, just subtle thought basis underlying the sentiment.
Marketing and the business side love it because it's a concrete metric they can point to in order to justify it to consumers and it doesn't require any specialized knowledge for consumers to understand. Thickness is simple. Everyone can understand it, and some people can even use a ruler to measure it themselves.
And consumers continue to choose to reward them by buying thinner devices. After all, if we can't have flying cars, personal jetpacks, and live like The Jetsons right now, we damned sure can have thin devices as a consolation prize. Consumers would probably buy these devices even if they weren't thinner than the generation they replace, but it all gets tied together. Not to mention the pesky problem that the biggest problems (lack of repairability, keyboard switches that are deathly allergic to dust, etc.) aren't really noticeable until something goes wrong. And then, it's "my MacBook is broken" and not "my Macbook is broken and the ultimate cause is a zealous focus on thinner and thinner devices."
So here we are.
Once again, I have 0 knowledge of the inner workings of apple, rather I am asking if this is a possibility.
My semi-informed understanding of how things work at Apple wrt hardware is:
- Industrial design makes cool concepts, showing whats possible in hardware
- Eng & UX makes cool features, showing whats possible in software
- Product marketing determines mix of features that make for a compelling release
- Marcom figures out how to pitch it
Obviously lots of back and forth as a particular concept of what makes a compelling release is refined and roadmapped, and many other teams involved. That said, typically product marketing is driving what gets released.
As to the importance of product marketing itself, its one of Apple's greatest strengths because the vast majority of electronics/computer companies have a hard time figuring out a) what different segments of the market might want, and b) what is the intersection of possible AND useful with technology.
An easy way to determine if someone knows what they're talking about wrt Apple is if they complain about a monolithic 'marketing' bogeyman, because it shows they don't understand the nature of how products are built at Apple, nor how products succeed in the market.
That said, they occasionally miss. The keyboard has been generally well-received (tho a bit polarizing) EXCEPT for the obvious quality disaster. Not sure where the breakdown was there. And the touchbar has been very polarizing among the pro segment - the choice to bundle it with the high-end machines for the developer market segment was a miss likely entirely on product marketing.
Rather, the industrial design team tells them what they can do and product marketing informs the best mix?
Thanks for the response by the way, semi-informed is way better than my 0 informed.
Apple makes the best laptop, no doubt but this laptop sucks and the direction they are going means it's just going to get worst.
And yes, knocking a 5-pound laptop down to 3 pounds is quite noticeable and a huge boon.
...a pro version ...of the current macbook pro?
Or rename Macbook Pro as Macbook Lite or whatever.
- Apple as a company does not have a single point of failure.
- Arguably the iPhone could be called that; if they stopped selling MacBooks next year it still wouldn’t be their “downfall” (not that I like this state of affairs as I like MacBooks).
I don’t really hate the butterfly keys either. I’ve been using it for over a year now on the pro, and I don’t know if it’s the second iteration, but it hasn’t failed me yet. I will agree that the first iteration was awful, my “new MacBook” keyboard broke because I made the mistake of taking it to the beach.
I think that's a fair claim, even if the title is a bit overblown. Apple is paying the price for what is probably too big of a compromise in the design of the laptops.
If the next iPhone is 20 grams lighter but I can’t make phone calls after 6 months, will I buy one over a equally powered Android $300 less?
I would summarize what happened as they stopped being "cool". The (subjectively) not so attractive Coach bags covered with "C" branding were multiple hundreds of dollars and a luxury good. When everyone was wearing one and you could pick up a cheap last season one at the outlet mall, the cachet was gone.
The value of the brand is when you can charge more for something of identical quality, or that people ask for your product by name. Apple's brand is (should be?) golden to them and they should treasure it. It's not based on cosmetics but quality, too.
tl;dr - Coach is still around and recovering and making billions of dollars.
How do you think that the iPhone & iPad ecosystem is sustained? Through developers (most of whom are) using MacBooks.
They have to port XCode to Windows, which means they don't get to have the lock-in they have now. If there's any flop for the iPhone for 2-3 years, the cost to jump ship isn't that high anymore.
https://www.macrumors.com/2018/02/27/battery-replacement-wai...
I'm thinking about upgrading when they announce a 6 core, but I'd like to see the keyboard addressed - and a 4k retina screen would be a nice touch.
[1]: https://en.wikipedia.org/wiki/MacBook_Pro
[2]: https://en.wikipedia.org/wiki/MacBook
Hey, look at all the extra spaces from this fantastic MBP keyboard. Grr
She barely uses hers. I use mine daily and heavily. When I use hers now, I'm startled by how crisp and clicky her keys are compared to mine.
Not to mention my absolutely failing keyboard (many caps coming right off).
But I'd say the new MBP keyboard felt amazing for about one month. Now it's the worst keyboard I've ever used in my life.
Apple, next time: take your prototype, throw a handful of fine sand on the keyboard and shake... if it can't be fixed by customers (via canister air or removing/cleaning the keys), then rework.
P.S., I am tying this now on this absolute crap keyboard with multiple letters sticky and repeating.
They're certainly losing the lead in software engineer talent (giving it away to whom, I'm not sure). But the single most horrible experience I've had with Apple in the last year was trying to get software published on the App Store.
That's a department that's so large that it's become a classic bureaucracy -- middle managers run amok, pettiness, lack of professionalism, etc.
I was trying to publish a piece of software using their less extortionate subscription options and I was told by a young woman manager that I would have to have feature X in order to qualify. I added feature X in a couple days and got back to her. She was surprised (disappointed?) and then told me I'd have to have feature X + feature Y in order to qualify.
I have a couple of contacts from the "good old days" and sent a very angry email. Middle manager woman disappeared, her boss called me and apologized within a few minutes.
If I didn't have that contact I probably wouldn't have gotten past her.
What has happened to Apple that their dev teams work against devs, compile times (this is 2018 remember) are now counted in minutes for small projects, my MBP crashes when plugging in an external monitor, etc?
They've grown too fast. My contact told me that their App Store team is now interfacing with over 2 million developers. How do you grow to accommodate that?
Now, what is the answer to all of this? Fix the marketing driven culture. Thinner isn't better. The number of apps on the app store isn't a meaningful metric. New languages are cool only if you can actually pull them off. Etc.
But I find it curious that why you're pressing on interrogating me like this. Why the inquisition?
Not saying OP did this, but one can imagine using adjectives to hint at competence or lack thereof here.
FWIW I have no dog in this race. Parent comment just got me thinking.
Is it right or wrong? Probably not great. I don't do it. But I get how it happens. Probably not nefarious, just a little tonedeaf.
I don't know, but if that's the intended question then it'd make sense to ask that (which someone else already did, so I recommend upvoting if you're interested).
The question whose point I don't get is the one I responded to. It seems absurd to ask "why did you do X but not Y?" when doing Y would've only left you more dissatisfied.
But that's the thing -- is the GP's problem really the difference/inconsistency? Is that really what they're trying to highlight? If it is, then I agree, but that's what I was trying to clarify, because it seems more likely to me that making it more "consistent" could've left them unhappier.
The real weirdness is why OP thought that the front line customer service drone was a "middle manager".
They're certainly losing the lead in software engineer talent (giving it away to whom, I'm not sure).
I keep on interviewing recent Comp Sci graduates who have a 3.75 or a 4.0 and who can't tell me how to implement cycle detection -- to the extent that they could write a pseudocode function signature or some kind of concretely implementable design. Many of the same grads try to tell me that a null pointer in a C structure uses no memory and other nonsense like that. You know what I think? I think the CA grad student population no longer knows those things, so they are producing undregrads who know even less.
my MBP crashes when plugging in an external monitor, etc?
When my Macbook Pro is "locked" it flashes an image of the desktop screen just before switching to the login prompt.
It's the same thing on Android when you are switching users. How something like this can get QA is crazy to me. That is certainly not the way it's supposed to work.
However Computer Engineering programs teach those concepts as the focus is on low power micro controllers.
This sort of thing is very relevant for someone writing an application or a server process. Programmers who can write their own compiler are much better C and C++ programmers, because they have relevant background. Programmers who understand the low level stuff can write faster code when it's important, and they know better where to look when optimizing. Since when has our "field" become so flubby that we're now eschewing the notion of background knowledge?
Are you telling me that we are churning out Comp Sci grads who couldn't write their own low level libraries or compilers? Tech people should have at least a working knowledge of how their own tools work, to the extent that if civilization fell, they could have a good chance of recreating primitive versions of those things.
However Computer Engineering programs teach those concepts as the focus is on low power micro controllers.
Also relevant to high performance code. Also relevant to game engines. Also relevant to interfacing servers with legacy code. Also relevant to technology like WASM. Whoever decided to relegate stuff like that to Computer Engineering seems guilty of the same ignorance I see in these recent students.
I think, generally speaking, the overlap in a Venn diagram of that would actually be relatively small.
I don't see how your first point is related to the second. The goal for most webapps is to get something that works most of the time. Most software engineers simply don't need to worry about their third nine, much less their fourth
But what I was suggesting is that one does not need to be capable of being both a compiler author and an application developer (if, for the sake of discussion, we avoid any semantic arguments and treat these as generally different things) to be of good value. I don't know how to, say, write a proper lexer, or write any assembly worth any salt at all, but I can write what I consider to be good, reliable application code at a reasonable level of productivity.
Sure, sure. But how many companies care about that sort of thing? C is rather my best language, and as far as I can tell, that helps me out as a sysadmin, but I need to be good at some EMCAscript based framework if I want a higher-paying Software Engineering job, at least outside of the embedded space (and I'm not that good at C. Also, most of the embedded types I know don't get paid SWE level salaries.)
Then I should hope you know enough VM-fu to be able to optimize a JavaScript application.
I'd also mention I've never had to write an Assembler or Emulator in my work nor have the majority of my peers have had to do that.
I think the issue is more that the skillset follows the money. If you are a top web developer who can work in adtech/fintech/e-commerce and contract then you will make far more money doing that than you ever would in pure systems engineering. It's not so much that background knowledge is fluff, moreso that their focus is probably a lot more scattered than it used to be, and their background knowledge is perhaps in other places.
But the imperative/procedural mindset that it drills into you leads to some really terrible application code, and it takes a lot of exposure to higher level languages to break out of that mindset. It took me years. Switching to ruby was like starting from scratch.
By all means hire a C++ programmer to write your web app. They'll be able to debug your performance issues ricky tick. But also be prepared for some heinous procedural js/ruby/php/clojure/elixer/whatever.
Of course not all of this is because I leaned C first. A lot of it was simply due to being a new programmer. But this kind of code is more prevalent in general in the C world. Just browse some opensource C projects.
I believe a lot of this stems from the "systems programming" mindset that goes along with learning C and C++. The requirements are very precise and well known, and don't change often. There is often a fairly precise "right answer" for how to do something where the "right answer" is some combination of performance metrics. Compilers are like that, file systems are like that, tcp/ip stacks are like that, etc. The programming boundaries tend to be very bright.
The "systems programming" mindset is a liability when writing business apps where a sales person can blow up every assumption and design decision and boundry in one day. The "right answer" is not clear, and not easily measured. The "right answer" has more to do with writing code that is flexible and easy to change. That is hard to measure and a totally different way of thinking.
No one is advocating that anyone write web apps with C++. There are other kinds of servers. The complaint is that the once generalist value of a Comp Sci degree is now dumbed down, and grads are missing background knowledge they once had.
But also be prepared for some heinous procedural js/ruby/php/clojure/elixer/whatever.
This is yet another failing of Comp Sci degrees.
There was a fairly good chance you would end up needing to write your own data structures, algorithms, sockets code and come up with a network protocol. You would run compilers, linkers, etc. Basically systems programming lined up with the job market.
Naturally after that I thought that was the "proper" way to teach CS. It worked for me. I got a jobs doing things I learned.
20 years later, I literally haven't run a compiler in years. I use libraries for data structures. I don't need to worry about allocating memory, billion dollar industries run on scripting languages. People are passing functions to functions that return functions like that's how it's always been.
I guess my point is "generalist" education needs to evolve with the industry. That means spending less time on low level details so you can spend more time on the tools, techniques and concepts used today. It isn't a "dumbing down" - it is changing the mix. You can only do so much in 4 years. What was "generalist" 20 years ago is "specialist" today, and it should be.
When it's leaving out background information, it's dumbing down. Programmers should at least know the basics of how indirection works. Why is it that so many interviewees with gold-pated GPAs would tell me null pointers used up no memory? Do they have the foggiest idea what happens when they add a member in a Python/Ruby program and how that differs from adding a pointer to a struct?
There's a difference between having the background information and treating everything as if it's hazy magic. It's excusable for the buyer of a car to treat the product they've bought as a magic black box. It's inexcusable when a "mechanic" or "engineer" is incapable of doing anything but treating things like magic black boxes.
Scripting languages were for unwashed systems administrators, and no real programmer would touch them.
But all of the smarter people in my program knew two or more of them.
no real programmer would touch them. Functional programming was a weird little academic thing with no future. OO was "if it is a noun make it a class".
I worked for a company that had to fight against those prejudices and low levels of knowledge to sell licenses. We sold licenses to Fortune 500 companies so they could run billion dollar businesses on a "scripting language." You know what prepared my for working there? A generalist Comp Sci education!
20 years later, I literally haven't run a compiler in years. I use libraries for data structures. I don't need to worry about allocating memory, billion dollar industries run on scripting languages.
But you are a savvy user of those libraries because you have the background knowledge. You don't usually need to worry about allocating memory, but you know what the gotchas in extreme corner cases are. And if you had to have a custom library written in C++ for your dynamic language application, you'd know how to spec that out and hire for that while looking out for the details. I had at least a foggy idea past the buzzword level when I graduated. How about the kids who are graduating nowadays?
I got my CS degree in 98
In 98 I was in grad school.
You can only do so much in 4 years. What was "generalist" 20 years ago is "specialist" today, and it should be.
Here is what I see in way too many recent grads with a 3.75 GPA. They don't know any of the background, past a handwavy level. They have misconceptions that are outright wrong. Many of them seem to spend 4-5 years doing nothing but using libraries and gluing stuff together. Hell, we learned that stuff too -- but we learned a bunch of other stuff at the same time, plus we learned what we didn't know and what to do about it. Then again, there was a contingent who only cared about learning X-Windows, because there were lots of coding jobs in X-Windows. Aren't the people who only learn particular technologies that are in the job market the moral equivalent?
Comp Sci is dumbing down to the level of consumers of magic tech. I know engineers and physicists who would have some idea of how to begin to recreate the tech they use if civilization would fall. I think a lot of Comp Sci graduates, if they wound up with nothing but machines running machine code, would qualify for Golgafrinchan Ark Fleet Ship B.
I do mainly frontend web development with EmberJS, and occasionally work on our backend which is also JS, and I've been doing that for a little over 2 years now.
I never went to college and so a lot of the stuff you guys have been talking about in this thread goes right over my head. I've never written a compiler, the last time I wrote any C++ was high school, and I would so easily fail a lot of these interviews if those were the questions being asked. With all of that said, I think I do a good job at what I do without all of that knowledge. The industry is increasingly heading towards web/app dev in a lot of positions as other people mentioned, and I think it's very elitist to judge people for not knowing everything you do, even if you think it's important. The fact that this industry is becoming so open to so many people is amazing. Me being able to find a good job without a college degree just because of my knowledge of computers is what I love about tech. I think mindsets like yours are what help drive people away from it because they think they need a ton of knowledge to get an entry-level job, and that's just simply not true.
I don't want to sound like I'm accusing you of being malicious, I just wanted to share my point of view as someone who is relatively new to the industry and never went to college and doesn't have the knowledge that you are suggesting is very relevant. Maybe it is relevant and I just haven't figured that out yet, but from where I'm sitting that feels like something that could be taught instead of a hard and fast rule for hiring.
Fair enough. However, if someone did go to college, they should at least know what they know, and know what they don't know. If someone is applying to a job with a 3.75 GPA where they might be doing some C++ and they go into an interview and try to tell you that a null pointer takes up no data, they haven't been well served by their education. They should at least know what they don't know, and not waste everybody's time.
However, you should know that these things are important. There are levels of knowledge deeper than being just a user of something.
I think mindsets like yours are what help drive people away from it because they think they need a ton of knowledge to get an entry-level job, and that's just simply not true.
So a generalist Comp Sci degree just needs to shrink into Web Development because of your feelings? Look, Web Development is a fine job, but it's not the same as a generalist field of knowledge like Comp Sci. Should mechanics expect that a Physics degree only be limited to their knowledge because of their feelings? They're applying Physics, after all. (Warning: don't you go and denigrate mechanics! That would be elitist.)
The very fact that you can have a job in tech without a Comp Sci degree isn't a justification for the dumbing down of Comp Sci. It shows that it happened needlessly!
Maybe it is relevant and I just haven't figured that out yet, but from where I'm sitting that feels like something that could be taught instead of a hard and fast rule for hiring.
Let's say you discovered an interviewee thought that a 404 meant the request never made it to the server. Let's say they also got a 4.0 GPA at some Web Development coding academy with a great reputation. Wouldn't you at least be scratching your head?
These are things that used to be taught in a Computer Science degree. Now they aren't taught, and companies are going to have to teach new graduate hires this stuff that people used to take multiple semesters to learn? It also used to be that Freshmen in college were expected to know how to conjugate verbs and compose grammatically correct sentences. Now TAs (I used to be one) are expected to teach these things to Freshmen. How is this not a decline in standards?
I enrolled in a CS program as a self-taught programmer specifically because I wanted a better grounding in the theoretical foundations.
This used to happen to me and I was very annoyed. Felt like a major security hole.
But now I get a scrambled image before the login prompt. Are you on the latest macOS?
Any data points on the grad students specifically? Or is it just a guess based on how the undergraduates performed?
I had someone in an interview in Berlin ask me to write a garbage collector. In CSC 202, our professor talked about using reference counts. Reference counts can get leaks if you have two objects referencing each other with to path to either, but what I didn't realize is that Java hasn't used reference counts in a really long time. It does a search from each root (typically a thread) down the object tree; and it breaks things into young/old (eden space and .. something else) so long lived objects don't get searched as often.
I learned all of that during the interview lunch break when I looked it up on my phone. One of my good friends wrote a compile time GC for GO and did this PhD dissertation on it, and he probably would have got this question right. But if it's not in your field, well the problem space for problems is pretty fucking large.
Cycle detection? Man I could probably tell you back when I studied minimum spanning trees and wrote this thing to implement Dijkstra's shortest path:
https://penguindreams.org/projects/graphmapper/
Off the top of my head, I'd hope each node had a unique identifier and I guess I'd mark them/store the keys in a hash table. I'd move breath first and error out if I discovered the same hash/unique key .. which of course would give me a hash the size of the tree. Unless there's a way to mark the data structure, you now have a second structure the size of your key space.
I'm sure there are better solutions, but I wouldn't expect a senior program to know them off the top of their head, unless you're hiring really specifically for a position writing routing algorithms or looking for a senior airport transit architect.
We are both saying this.
Jeez. I think my profs covered ref counting as an introduction, then also went on to cover mark/sweep and generational collectors. We also covered compaction, copying and bump allocation. I don't think it took that long. If I were running a shop that focused on, say Java, I would want to know if my new hires knew background information relevant to optimizing code running on the JVM.
Cycle detection? Man I could probably tell you back when I studied minimum spanning trees and wrote this thing to implement Dijkstra's shortest path:
Someone should have given you breadth first search and depth first search, then ran you through how those are components to other algorithms. You should have been left with those as a "toolbox" such that you automatically spend a second thinking, "what would happen to that graph if I did DFS or BFS on it." That kind of toolbox is powerful and gives you all sorts of useful insights. You are not the only one around here to say, "Man I could probably tell you back when..." What you should be thinking now is that you were not well served by some of your teachers. Fortunately, this sort of thing is easily rectifiable.
Off the top of my head, I'd hope each node had a unique identifier and I guess I'd mark them/store the keys in a hash table.
Well good on you. You just did better than most of my last 6 interviewees.
Unless there's a way to mark the data structure, you now have a second structure the size of your key space.
This is the DFS/BFS part right here. Is the 2nd part of your statement likely to be true, and how often would it be true? Good call on the marking. (EDIT: Just thought of it: Bloom filter.)
I'm sure there are better solutions, but I wouldn't expect a senior program to know them off the top of their head
Cripes! Freshmen used to be able to do this stuff!
unless you're hiring really specifically for a position writing routing algorithms or looking for a senior airport transit architect.
How about you don't want programmers who will end up debugingg an infinite loop induced by a data cycle every single time?
EDIT: I actually just wrote cycle detection for my side project in golang the day before yesterday. It took me 4 additional lines of code. If you have a shop that uses gob or some kind of object serialization, this may well be very relevant!
The whole freaking point of a GC like say Java's is that an average programmer can use it without having to understand how exactly it's implemented. Of course it won't hurt to know that, but it's not at all mandatory knowledge.
One just has to know which situations the GC can't cope with and avoid them. For Java there's at least one open source dedicated tool for finding leaks, it nicely explains what one needs to know.
Unfortunately, many programmers believe that since Java uses garbage collection, you do not have to think about GC and ownership at all.
Oracle had to replace the fast implementation of substring that just returns a slice of a String (O(1) time) by a copying implementation (O(n)), because too many programmers do not know the basics of ownership/garbage collection and would accidentally hold on to larger strings.
Seeing the implementation details of reference counting, mark-sweep collection, and perhaps a generational collector once, makes you more aware of memory and ownership issues, even if you forget the nitty gritty details later.
I spent years at a vendor for a Virtual Machine. That you would compose such a sentence shows that you are ignorant of some aspects of optimization. You don't even know what you don't know, and projected that ignorance on another.
The whole freaking point of a GC like say Java's is that an average programmer can use it without having to understand how exactly it's implemented.
One of my company's most frequent consulting tasks was helping clients optimize to maximize throughput for the generational GC. That you jumped to the conclusion that I was talking about memory leaks is pretty damning.
And either way, if I were to ask this question, I would spend a lot of time helping the person along the way to make sure they were able to make the logical leaps that made sense to them, not to me.
Lots of 3.5+ GPA grads can't make that logical leap!
https://en.wikipedia.org/wiki/Cycle_detection#Floyd%27s_Tort...
If you come up with something else (like tagging nodes), you get a strike for inefficiency.
It looks simple enough to feel smug about once you know it, at the same time there's near zero chance the interviewers could come up with this algorithm independently without prior knowledge.
Not necessarily. Sometimes the dataset only has on the order of 10k nodes, and you just want to warn users if they create a cycle, or keep particular routines from going into an infinite loop.
If you come up with something else (like tagging nodes), you get a strike for inefficiency.
A few days ago, I implemented cycle detection in an event notification system where the graph size is relatively small in just 4 lines of code, which should be immediately understandable by any competent programmer. That you should mandate Floyd's algorithm in all cases gives you a strike for pedantic design without regard to cost/benefit.
I knew some back in the early 80's who didn't know what a CPU register was.
You should read this before asking that again http://www.nihlos.com/2009/05/04/stupid-interview-questions/
When my Macbook Pro is "locked" it flashes an image of the desktop screen just before switching to the login prompt.
Same with my Mac Mini on the lock screen. Very easy to start a camera going (say an iPhone) waggle the mouse and get a screenshot of any locked Mac.
When I leave my Mac I always do a ctrl-shift-eject/power to force the lock immediately.
https://en.wikipedia.org/wiki/Cycle_detection#Applications
Examples where it's not desired, and what to do: Detecting infinite redirects in browsers and stopping the loop. Detecting thread deadlock and terminating the process. Detecting looping references in an Excel spreadsheet and showing #ERROR in the cells instead of letting the process hang forever.
The app store and code signing have been fairly bureaucratic to deal with from day one. It's actually improved compared to the initial years from turn around times measuring in a day or two vs a week or two. I remember doing such tricks such as resubmitting the same binary and it getting passed. It really is a dice roll.
Compile times comes from swift and promoting it too early because it was too immature. If you write your code in objective-c, your fast compile times will come back. Swift compile times have been improving as time goes on.
They also don't pay as well compared to google or facebook. But even then I think it's more a management thing, since they determine the priorities in software dev.
Swift compile times will never be close to ObjC or C compile times, no matter how much engineering goes into it. This is because of how the language is designed, it requires a typechecker which solves an NP hard constraint solving problem.
What swift compiler devs complain most about is about how operator overloading causes some sort of O(n^k) or worse check, because things like the '+' operator has dozens of implementers.
If your really worried about type inference slowing you down, you can write out all of your types like you didn't have type inference. You could even do it in an automated fashion like your source code was some sort of cache.
What does this detail add?
This IS a business issue. It has a quantifiable effect on profit margins for Apple's macbook, and I would look at it as an investor and see if it effects Apple's valuation in the short and long run.
The Note 7 is a fantastic comparison - the complete recall did not have to happen but did because of design choices from Samsung engineers. It could have been a $200 million dollar issue instead of a $5 billion dollar one.
Similarly, these keyboards did not have to be that expensive to repair or be so prone to damage, but being that way has a snowball effect on repair/maintenance/warranty.
It's also a design decision that they're kind of stuck with. They are not going to go back to their original keyboards (unless they release a mac book pro classic, which I would personally be estatic about) - and so the increase repair costs cutting into their margins is a challenge for them to solve going forward (especially since the brittle-ness is because of the thin design).
I'm not happy if my laptop is out of commission for a week once every 6-12 months
Do you have any statistics on that? Anecdotally, almost everyone I've spoken to prefers the new keyboard over the old one, ignoring the key stuck issue.
I used to split my work time coding at my desk and at a "comfortable" location (couch, chair, etc), but the thought of using the new MBP keyboard has me working almost exclusively at my desk with external keyboard.
Maybe the thinner keys were ironically meant as a fix for this production issue in order to save them money on screen replacements.
There was great progress made with the unibody Macbook Pros and the Macbook Airs but these latest models are so thin that it's actually annoying and leads to issues like poor battery life, lack of repair-ability, and malfunctioning keyboards. Isn't better usability actually more of a luxury then simple aesthetics?
Based on the timing, this seems like a train set in motion by Steve Jobs but he passed away and now nobody wants to recognize that it's way off course and needs a correction.
I always hit the wrong keys, even after a year I'll end up hitting ~/` instead of the escape key, I routing hit "mute" instead of volume down (or I'll hit up instead).
I understand why it has to be so, security wise, for application functions there but it'd be nice if the sound controls were consistent...
But even the initial setup UI places form over function. Basically there is no way to tell what is a button and sometimes you have to click the word at the top to move on and sometimes the word on the bottom. It's completely bonkers.
Since Jony Ive decides alone. Under Jobs the buttons were drawn in the UI.
Sure, there's a bunch of flaws in the design and I hate that they removed the SD card reader, but it's probably the closest I've seen to the platonic ideal of a laptop. Something that you can always carry on you, that you can pop open in short notice and quickly slip back into your bag when no longer needed.
Perhaps if it was still a netbook/macbook air product then it would make sense, but we also have iphones and ipads now which actually seem to be getting bigger so there's no reason why the most mobile powerful computing device must be so small.
Plus the lightness is offset by having to carry a dongle and them only shipping the bulky powercord not the short cord in the 2017 which I found an insultingly stingy gesture for a nearly 3K machine.
I also share your sense of value about the machines. The 2012 is the last MacBook pro I've paid for myself.
EDIT: I just checked and my work laptop is a mid 2015. It's still much lighter than my personal MBP, but I think this was the last generation before USB c charging and the elimination of ports.
My ~5lb Windows one (with 1lb charger) feels the same. I've never had any of the concerns mentioned with it either.
I see what you did there. Nice.
When did people become so weak as to not be able to carry a few pounds (or even ounces) between rooms? That's not a good thing and arguing about such little weight is indicative of much bigger health problems than any laptop design issues.
My T480 is lighter than a 15" MBP, and is user-serviceable. It's also one of the less svelte models in the ThinkPad line—if I wanted to sacrifice a bit of repairability (nothing as bad as Apple) for some weight savings, I could have gone with a T480s or X1 Carbon.
Some things they did exactly when needed (removing the CD drive, Retina displays, ...can't think of any others right now).
Other things they did way too early (butterfly keycaps, trackpad size, touch bar, USB C, removing the headphone jack on iPhone).
And it weighs about the same as a MBP (right in between the 13" and 15" MBP, which makes sense since it's a 14" laptop).
In particular, my 2017 13" MBP gets pretty confused sometimes when talking to two external monitors connected via my Elegato expander. Even just one monitor sometimes gets confused after sleeping.
It was annoying enough that now I typically use just one external monitor. And when I need two, I conmect the second directly to my MBP's 2nd USB-C port, not to my expander.
The laptop mentioned in the "rave review" link is an elitebook 840 g5. I have been using the 840 g1 as my primary laptop for the last 4 years and it really is a sturdy device. The hardware is flawless, I haven't had a single issue with it. However, do yourself a favor and wipe it clean the moment you buy it, and install a fresh copy of windows. HP's added software is literally poison.
The Apple one was a pain. Command line tools are almost but not quite right (zcat in particular just doesn't work) and I found the user experience pretty annoying at first but passable after that. Still don't really understand how "installing software" is supposed to go, and lots of struggle against Homebrew and lots of other software packaging.
Windows had WSL when I got my laptop. Real Linux command-line, nice. Filesystem performance was crap, and they didn't have postgres at first, but it was probably a better dev environment than my Mac, with one exception: no Docker in Windows 10 home. Explorer started getting a bit slow and unstable after a while, but I was on preview releases.
A couple of months ago I quit my job, and yesterday I formatted my home laptop to install Linux again (decided to put my hobby project onto a Docker-heavy workflow) and oh my God it's lovely. Installing packages is fast again, software compatibility goes without saying, and Unity was surprisingly pleasant (though I did drop it for i3 because I'm a masochist.) Hard to say how much of that experience is "Linux is nice" and how much is "I'm a Linux person" though.
That's because it's BSD, and are you sure you don't want gzcat?
?
I used `zcat` on macOS just today. What issue do you have with it?
1: https://apple.stackexchange.com/questions/69223/how-to-repla... 2: https://docs.microsoft.com/en-us/windows/wsl/install-win10
Learning how to use the BSD tools is not that hard.
Also, you mean GNU environment I guess, not Linux environment.
Nothing.
I'd even take Linux with i3 over Windows.
Also, the majority of programmers and the vast majority of desktop users are on Windows. So, outside of the tiny HN/SV bubble the market disagrees with you.
Especially the endless Update-hell in Windows which regularly and spontaneously brakes things and consumes hours and hours of your time.
Never experienced this on my Macs. (Of course nothing is 100% perfect, but the difference is huge in my experience.)
At first I figured i just let it do it's thing so i waited and waited and just kept it running over night. After a few days i noticed it was the exact identical update it kept installing over and over.
I searched online, and many people were having exactly the same problem. At that time there wasn't a solution yet. So in the end, i just gave up...
- i'm a developer btw so i have at least some technical knowledge :)
(can't remember the exact KBxxxxx number unfortunately.)
https://www.modmy.com/how-dual-boot-macos-and-linux-hackinto...
I am not a person who has one just application open at a time.
Not to mention OSX is the only OS where you can drag the file icon out of a window's title bar to do stuff with it (eg. upload a file you have open) or right clicking the title to see the folder structure it resides in.
All these little affordances exactly where they need to be, and invisible when you don't need them. In my experience OSX is designed with a degree of consistency unheard of elsewhere, and that's why it gets accused of being unusable: people keep looking for the crutches you need on other platforms instead of just interacting directly.
I am not paying 2k for a laptop that wobbles.
As a web developer I want a unix environment and I'm not sure if Windows' subsystem for Linux is going to cut it. However I also use a lot of audio software like Ableton Live as well as countless VST/AU plugins, which renders any native Linux flavor useless. macOS is the only option and until that changes I'll continue to begrudgingly wait for Apple's infrequent and late desktop hardware updates that feel unnecessarily expensive.
And with macOS deprecating OpenGL, which many VST plugins currently rely on for their interface, I'm concerned about the future of music on the Mac & how long I'll be able to use those older VSTs.
Apart from the above use case, I've missed nothing. There's some hacking I'm attempting to do to get vscode to use the underlying bash mechanism for its code linting tools but that's more a preparation for the inevitable moment when some linting tool or package depends purely on a Linux/Unix environment.
What's a number key block?
In terms of WiFi. I haven't noticed it being worse than my mac, but I also don't think I've ever dug deep enough into this kind of thing on either platform to really say. Every time I've spent any energy looking into WiFi it's been on Linux.
That said, I've been doing light webdev work on a Chromebook using Crouton (to run desktop Linux alongside ChromeOS, with seamless switching) and aside from difficulties with the MicroSD slot and apt-get on Ubuntu it's been quite nice. Getting solid, first-party Linux desktop app support would make Chromebooks a serious contender in the "cheap dev laptop for light work" space, and I think Google is working toward that.
Obviously, the hardware is going to preclude you from doing any serious heavy lifting, but I'm pretty excited to see what they come up with in another year or two. The battery life on these things is fantastic, plus some of them can also run Android apps.
Crouton installation instructions can be found here: https://github.com/dnschneid/crouton
A tip: while you can find ARM distributions of Linux distros and packages, it'll make your life much easier to get a Chromebook with an x86 processor.
Why not just make full-fledged Linux laptops?
It bad enough that I'm now spending a non trivial amazing amount of time on non-Apple laptops, but soo many apps have no acceptable alternative on Linux, sadly (I buy Linux version whenever I can).
No, they didn't. If you read the very source the article cites for this, you find,
> The program covers eligible MacBook and MacBook Pro models for 4 years after the first retail sale of the unit.
The original warranty was 1 year[2]; this is a three year extension.
"Extending by 4 years" is just too good to be true. Although, I had no idea the warranty on MBPs was so bad; a well built machine should trivially last a year. And now that I Google around, this doesn't seem to really be unusual on Apple's part. My last laptop had a 4 year warranty, and it lasted about that long. But my current laptop only had a 1 year standard, and I had forgotten that I paid $80 to extend it for 3 years. Apple seems to offer an extended warranty ("AppleCare+") but wants $270 for it.
[1]: https://www.apple.com/support/keyboard-service-program-for-m...
[2]: https://www.apple.com/legal/warranty/
What they have quietly changed is now you can only buy it in the first 60 days instead of the first year which was a big surprise to me buying a new MBP. It had been the first year for a very, very long time — since inception IIRC. Of course I learned of this change after I'd already had my machine for more than 60 days. :/
There are a few ways to get it slightly cheaper like F&F discount. You also used to be able to get it cheaper from a third party store like B&H but it seems they've cut back on this recently.
[1]: https://www.ebay.com/sch/i.html?_from=R40&_nkw=applecare+pla...
https://www.macrumors.com/2017/06/21/applecare-plus-mac-ipho...
> As for the Mac, customers who have had their Macs for longer than 60 days but less than a year are not eligible for AppleCare+ but are still able to purchase a standard AppleCare Protection Plan, MacRumors has learned. Apple is only offering AppleCare+ for Mac on its website, so customers will need to call in to Apple Support to make the standard AppleCare purchase. Standard Mac AppleCare is priced at $149 to $349, depending on the machine.
This often extends beyond the period of the express manufacturer warranty.
On a semi-related note, Apple has recently been fined AU$9m for "making false or misleading representations to customers with faulty iPhones and iPads about their rights under the Australian Consumer Law", by representing to customers "that they were no longer eligible for a remedy if their device had been repaired by a third party".[1]
[0]: https://www.accc.gov.au/consumers/consumer-rights-guarantees...
[1]: https://www.accc.gov.au/media-release/iphone-and-ipad-misrep...
The law mandates no such thing and this is an extremely common misunderstanding of how EU consumer production works.
EU consumer protection law gives you protection against manufacturing defects for up to 6 years after purchase(it's 2 years only on specific items - in general, it's 6 years).
The absolutely key word here is manufacturing defects - if you have a fault with your laptop, fridge, TV, whatever, within the first 6 months after buying it, then this law assumes the defect existed at the time of manufacturing and the manufacturer has to fix it. But, after the initial 6 months, the responsibility on proving that the defect is due to faulty manufacturing is on the customer.
So yes, you can absolutely bring in your broken laptop to apple after 2 years of buying it, without buying extra Apple Care, and ask them to fix it - but it's up to you to prove that it's broken because of a manufacturing issue. That's why Apple "snubs" at it - in vast majority of cases it's very hard for the consumer to prove that the laptop is broken because of an error in manufacturing, and not because the part has worn out.
Having said that - there are some countries in EU(for example Poland) which require that all electrical devices are covered by a full 2 year manufacturer warranty, and indeed - all Apple hardware sold in Poland comes with a 2 year warranty as standard. Which highlights another issue - EU laws are not as homogeneous as an outsider might think - for example, in UK if your product is replaced under warranty, the replacement is only covered for the duration of the original warranty. But in Poland, the law states that if an item is replaced under warranty, then the replacement has to be covered for a "fresh" duration, so a full replacement resets the time counter on the warranty.
https://europa.eu/youreurope/citizens/consumers/shopping/gua...
This sometimes results in customers being ping-ponged between seller and manufacturer a few times before the seller gives in.
Why would the seller give in, if it can always just ping the buyer back to the manufacturer one more time?
I believe the rule here in Ireland is that defects that were present as a result of the initial engineering are covered for more years, but not wear and tear or anything that would fail due to use specifically.
From the 'Sale and Supply of Goods Act 1994'
~~~ For the purposes of this Act, goods are of satisfactory quality if they meet the standard that a reasonable person would regard as satisfactory, taking account of any description of the goods, the price (if relevant) and all the other relevant circumstances.
For the purposes of this Act, the quality of goods includes their state and condition and the following (among others) are in appropriate cases aspects of the quality of goods—
(a)fitness for all the purposes for which goods of the kind in question are commonly supplied,
(b)appearance and finish,
(c)freedom from minor defects,
(d)safety, and
(e)durability.
~~~
I don't think a reasonable person would regard a £2000 laptop being unusable after 2 years of regular careful use as being 'Fit for purpose'.
https://www.which.co.uk/consumer-rights/regulation/consumer-...
https://www.smh.com.au/technology/apple-us-fined-9-million-f...
And like you said many Notebook now offer 2-3 years warranty as standard. Apple?
It is rather unfortunate we don't have anyone to challenge them in both PC and Smartphone space.
Now if I could get a laptop with a thinkpad kb, apple trackpad I'd be set
But when these laptops have an error or break, will their manufacturers extend an extra 4 years to the warranty? Probably not.
And that’s why I keep coming back to Apple hardware. The longevity of it is unparalleled.