Live data from Hacker News

Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

ifixit.org

221–230 of 927 posts

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#222

Earlier quoted context omitted.

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…

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 w…

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!

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#223

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 larg…

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.

mine does it if I connect my monitors before opening the lid, try everything until you develop your own superstitios routine!

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#224
post #207

Earlier quoted context omitted.

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.

You have to walk the hash table again to free it.

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#225

Earlier quoted context omitted.

Windows is so terrible, though. I could never go back.

Windows is better than anything. Nothing else even comes close to its mix of quality, flexibility, stability and commercial support. Nothing.

Though you didn't mention UX which is more important to me than all of the above.

I'd even take Linux with i3 over Windows.

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#226

Earlier quoted context omitted.

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 leve…

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.

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#227

Apple, please put back in full size up and down arrow keys

I want an easy way to remap the shift to up and both up/down arrows to down without using some bloated remapping software that doesn't get upgrade.

Hey, look at all the extra spaces from this fantastic MBP keyboard. Grr

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#228
post #116

Earlier quoted context omitted.

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.

None of the many devs I know that have one prefer the new keyboard. I certainly would take the 2015 version over this 2017 in a heartbeat.

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#229
post #157

> 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 i…

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

Get a disable app, turn everything off. Update regularly. Done.

Re: Apple Engineers Its Own Downfall with the Macbook Pro Keyboard

#230

> 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 i…

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.

Post reply on HN