Mac sales declined nearly 10% last year as Lenovo, Dell and others gained ground - <AUTHOR> https://9to5mac.com/2017/01/23/mac-sales-declined-nearly-10-last-year-as-lenovo-dell-and-others-gained-ground/ <comment><USER4> Makes sense with Apple's current terrible product line setup. Both the retina MacBook and 2016 MacBook Pro are much more niche than their last generation. Also much more confusing as the MacBook Air successor is $500 more than the 13" Air was (The non-touchbar MacBook Pro is the spiritual successor to the air.) The true 13" Pro for 2016 is also $500 more than the last gen.

The 12" MacBook is there...but it is a super niche product compared to the old Air or even the old Pro. It's performance is probably enough for most people, but at that point you could just buy a cheaper windows ultrabook and get similar or better performance for a much lower price.

A huge market for Apple used to be college students. Now in 2017 what Apple laptop do they buy? an underpowered MacBook, or an overpriced pro? The best solution for most is buying an older model, but part of the appeal of buying a Mac is having the "latest" thing.

Then you get to desktops...and there isn't much to say there. Apple just doesn't do them anymore.

This is coming from someone that has used a Mac for the past 10 years and is typing on a 2016 pro. It is nice, but connectivity wise it is too far ahead of its time. In 1-2 years it will be fine, but right now it is just in early adopter territory.

<comment><USER5> "If you want to write fast software, use a slow computer" \- Dominic Tarr

The 12" Macbook is the best computer I've ever owned. Switched to it from a 2014 Macbook Pro, and found it very easy to adjust. The only time it struggles a little bit is when I run Windows in VMware, on occasion.

The biggest benefit of the Macbook 12" is that if software runs well on your computer, you _know_ it's guaranteed to run extra buttery-smooth on other computers, which all have beefier CPUs and GPUs.

<comment><USER6> It's a good quote, but I feel it reflects a time when I didn't also need to run a stack of Redis, RabbitMQ, Postgres and webserver apps on my development box.

<comment><USER7> We run Gitlab (Rails + Unicorn + Sidekiq + Nginx + Postgres + Redis) on a 3GB single-core VPS and it runs fine, without needing the swap. Is the stack really the problem?

<comment><USER8> How many users on your Gitlab? I've had to add 2GB of ram every 3-6 months to my Gitlab server. We're at about 17 users and 300 projects right now. I think it's on a 4vcpu box right now.

<comment><USER7> 8 users, 850 projects, 6GB+ of Git data.

</comment></comment></comment></comment></comment></comment><comment><USER9> Back when I worked at Apple the dirty secret was that the cheapest models, despite all the marketing of the MacBook Pro, made up the majority of sales.

Back then it was the white plastic MacBook but now it's the 11" MacBook Air that occupies that slot.

That model and its crappy TN screen is vastly inferior and more expensive than similarly-sized ultrabooks. The only redeeming feature it has is MacOS.

Instead of replacing the Air, Apple introduced the MacBook at a premium price point. It seems like a marketing failure to me that a lower spec MacBook (1080p, slower SSD) wasn't released and the Air discontinued.

<comment><USER10> Quite a few years ago I saw someone at college using a white plastic laptop and man I thought that looked sharp. I glanced at the top of it and saw it was a Mac. At the time I didn't own a Mac and I didn't follow their product lines, but that was a hell of a good looking laptop, I thought. That was actually the first time I'd ever seen a Macbook, I don't come from a very well-off or tech- forward area. Everyone at the time owned a Dell Inspiron 150x. When I looked it up I was really disappointed to see that it had been discontinued.

I have an aluminum Macbook and sure it's nice... but when I think about Macbooks, I think about that white plastic machine. Shiny, almost see-through. It really stood out to me in a world of dull metal and chunky black plastic and laser-etched designs on laptops. My 2015 looks nice, I guess, but in my mind it doesn't look _nearly_ as nice as that shiny, translucent white Macbook I saw years ago.

Now, I never used one and I'm sure a lot of people here have, and I'm sure there are a lot of negative stories about them cracking or discoloring or being squeaky or something. But I still remember the first time I saw one, and it stuck with me. That was the same when I saw an aluminum Macbook, it was nice. They don't look all that special these days, the design is getting stale. Everyone has a Macbook-looking laptop, from a distance I can't tell the difference between a Samsung Chromebook and an 11" Macbook Air.

I hope they can wow us with a new design again in the future.

<comment><USER11> I still have my old white Macbook. It has never discolored for me and it's still running pretty fast.

<comment><USER12> I donated white 2007 to the local Lego robotics team and it's still winning.

</comment></comment></comment></comment><comment><USER13> Everyone is complaining about the confusing direction of Apple with regards to the Mac but when I look around, I often wonder if they're just not reacting to what is really happening. For example; my wife's 10 year old MacBook died last year and for the most part, she hasn't missed it. She uses her phone for everything. And for the things that she can't/doesn't want to do on her phone, she uses her iPad.

I just bought the family an iMac for Christmas and my kids use it often, but they also spend at least as much time on their iPods.

I think what Apple is seeing, and reacting to, is that the younger generation of non-developers are increasingly using their mobile devices for everything.

We as power users hate it because we want to continue to have a solid laptop and/or desktop on which to do our work. But I'm guessing that despite our complaining, we're on the whole willing to pony up the money.

Not to mention, these machines last a really long time. I'm writing this on a mid-2012 MBP that even with a battery that is going bad will still outlast my friends Window's laptops. So yeah, $2400 is a lot for a laptop by comparison. But its not so bad when you consider that you can reasonably expect to have that machine for a much longer time than a Dell or Lenovo.

<comment> Al-Khwarizmi I have an IBM ThinkPad from 2004 and Lenovo ThinkPads from (more or less) 2010 and 2015, they all work fine. The 2004 one is slow with current software and the battery lasts like 1 minute, but otherwise it does what it should according to its (now weak) specs.

If you think Lenovos don't last, it's probably because you have seen low-end Lenovos (which indeed often break after 3-5 years). But a MBP is a high-end laptop, it should be compared to high-end laptops from other brands.

<comment><USER14> You can also buy a new battery for that 2004 thinkpad and replace it in 2 seconds.

</comment></comment></comment><comment><USER15> Both Dell and Lenovo's websites are awful. They try so hard to segment the market that they make it almost impossible to shop their products. I want to buy but I can't figure out what they are selling.

<comment><USER16> "They try so hard to segment the market that they make it almost impossible to shop their products. I want to buy but I can't figure out what they are selling."

Bravo!

This is it.

So many manufacturers of so many things screw this up so bad.

I call it 'Sony-itis'.

They have massive segmentation, within that, so many variations, it's crazy.

I think it's an issue of culture: unless the change comes from the top, it will never happen.

All the MBA's in the world could not convince them to change, operationally.

I worked for a 'major' handset manufacturer that just made new products willy nilly. There was hardly any rhyme or reason.

They don't exist anymore, or rather, barely do.

<comment><USER17> Yes. The whole "Are you looking for a business computer or a consumer computer" initial decision point is one of the most offensive aspects of the Dell site.

</comment></comment></comment><comment><USER18> Just wanted to add an opinion you don't see as much here, as a non-developer. It's not just developers who are pretty upset about the new Macbook, myself and my fiance were both in the market, and my fiance used a MBP through college. She pretty much fought me on the new MBP until she tried it in store, and promptly was against it. She's going with a Surfacebook and I'll probably go with the new Dell XPS 15 with the 4k screen.

It's not just developers that are a bit... confused by the new direction.

<comment><USER19> What was she actually against in the new MBP? (New MBP user myself, don't like the touch bar, but otherwise a fine machine.)

<comment><USER20> _" What was she actually against in the new MBP?"_

Newish MBP user chiming in. Peripheral access and costs.

\- no DVD/CD player

\- no Ethernet

\- no SD card slot

\- no RCA out

What I see is good new machines with the above peripheral access removed. The advantages are no mechanical moving parts, technically better KB, access to faster SDD, software upgradable for quite a while. The hidden advantage is the new Macs are less polluting and fewer moving parts. Is this worth the added cost, lower power supply and loss of peripheral and access though? Out of the box, I had/have zero problems in my current work use/flow as a ^glorified^ VT-100 terminal.

<comment><USER21> However, two out of four things mentioned have been removed from new models since the first retina came out in mid 2012 (DVD/RJ45) simply because they are nearly as thick as the entire device.

RCA out hasn't ever been in a MacBook to my knowledge.

The only port that made absolutely no sense to remove was the SD card slot (even if I personally never use mine).

<comment><USER20> _" RCA out hasn't ever been in a MacBook to my knowledge."_

You're right, got confused with 3.5mm jack. Removed the 3.5mm jack. What about the current USB confusion? ...and yes mid 2012. Since when is a thiner laptop ever really been a TOP priority for programmers? I would have though it would be power: processor, battery life, HD, then weight, etc.

For manufacturers shaving off millimetres/grams off each machine translates to savings. For users thiner may be lighter, a trade off with being tactile. Wonder what Braun would tackle this?

<comment><USER22> But 3.5mm jack is still present on all Apple computers

<comment><USER20> even on the new MBPR? (I'm only interested in MBPs here) if so wrong (again) but the idea of lack of peripherals / power for ^me^ is a problem.

<comment><USER22> Yes It's not that hard to check it yourself btw

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> I was a Macintosh user since 1985, one of the die-hard faithful who stuck around all the way through Apple's late-'90s doldrums, but I haven't bought a Mac in years and at this point it's hard to imagine why I'd ever feel like paying that premium again. Not that there's anything wrong with them - <USER2> still makes very nice computers. The simple fact is that computers in general crossed my "good enough" threshold en masse, roughly six or eight years ago, and I just don't care much about the differences anymore. Any machine will meet my needs, as long as it has an SSD and at least 4G of RAM. In this world, why would I pay $1800 for a Macbook Pro when any random $300 Thinkpad will do the job?

We're riding out the top end of the S-curve here. That's okay; the market is mature. I expect that Apple can continue to do their high-margin BMW/Mercedes thing for years to come. I just don't happen to need (or even particularly desire) a luxury computer.

<comment><USER24> Same happened with my digital camera. I love them but I see no need to get a better one.

</comment></comment><comment><USER25> I think the good news here is that PC and Mac are back on par again. Even for demanding users of mainstream use cases (office, development, ...) both platforms offer great products.

Personally, I have an MacBook Air 13" at home and a Lenovo X1 Carbon at work. Both have their unique strengths and weaknesses but they are both great laptops. Windows has done a great leap forward as has PC hardware. If I were in the market today I would really struggle to make up my mind which one it should be.

<comment><USER26> I'd agree with this. Whilst 9-5mac and its readership will be focussed on what Apple is doing right/wrong, this may be ignoring the fact that competitors are offering genuinely compelling products.

</comment></comment><comment><USER27> The jury has been out on Tim Cook's performance as Apple CEO since he took over about 7 years ago. I think this new line of Macs is evidence that he's just too focussed on operations to the point where it's ruining their products.

I'm guessing the move to consolidate the ports and kill the audio jack may make total sense internally at Apple when it comes to their 10-year manufacturing operations plan and really maximizing their profitability, but to the outside world it's just bad product development.

<comment><USER28> IMO the big mistake was to give Jony Ive that much power. Should have put Scott Forstall there instead, the man who made their most important product work, but they got rid of him for being too opinionated and against the grain. Well, that's probably exactly what you need in a product developer. (S)He doesn't need to be a good designer, just recognize good design. Ive is just way out of touch with their customer base.

<comment><USER29> > Ive is just way out of touch with their customer base.

The guy who is chauffeured to work in a car that is twice as expensive than my three bedroom house? Say it isn't so!

Ive knows exactly what people want. A $200 watch in a $10,000 gold case so the boys down at the country club won't make fun of me from behind their Omegas and Rolexes, amiright? Sigh... As a long time die hard fan of the Apple that made really interesting transformative tech, watching their decline makes me sad.

</comment></comment></comment><comment><USER30> I switched to OSX when it was at v10.4, the very first generation of Intel chipset Macbook Pros came out. I switched because it was the closest thing I could get to a proper fully integrated desktop environment with a BSD-like command line and full Unix-ish functionality (macports, etc). The first generation of Macbook Pro (Core Duo) had a full complement of ports that were state of the art when it was released. Now OSX is becoming a bullshit iOS-like walled garden of app store garbage and the hardware is marketed at people who like shiny, non-repairable consumer throwaway junk, and nothing has a proper complement of I/O ports. Ugh.

Just give me a state of the art Thinkpad with full I/O ports that runs OSX please.

<comment><USER31> >Just give me a state of the art Thinkpad with full I/O ports that runs OSX please.

God, this. I still have no idea what I'll replace my Hachintosh T420 with when the time comes.

</comment></comment><comment><USER32> Back in the 1970s you still had old men who fought in WWII who would refuse to buy a Japanese car, thus, General Motors and Ford abused them because they knew American car buyers would buy American no matter what.

It's the same with Macs today. I gave a talk at my local startup accelerator and found that they had every kind of dongle to attach a Mac to a screen, but no (full size) Displayport adapters.

The next day I added a full-size to mini Displayport adapter to my kit.

</comment><comment><USER33> This seems odd to me as now more than ever I see more and more people with MacBooks / iMacs and AppleTVs which have become 'the standard' where as in the past you'd see people with windows laptops or whatever and that'd be the norm it's now appearing to be quite rare (at least from what I've seen in Australia), I don't really know anyone that still uses a windows machine bar one friend who has a gaming rig but he only has it for the GPU and uses a MacBook for everything else other than that it's just a few of the older aged managers / project managers at work and everyone else really uses macOS or Linux of some form.

</comment><comment><USER34> The biggest problem that Apple is creating for itself is not one that is being discussed directly in most of these threads: it's not about the loss in Mac sales, which they clearly don't give a damn about. It's the exodus of producers from their platform.

Think about it. For those of you that were Mac fans before the iPhone and before it was cool to be so, who else do you know that used a Mac? Forget why, just who? The answer is: content creators. Video creators. Film editors. Photographers. Music artists. Photoshop experts. And developers.

These people create the content that the rest of the "herd" consume. The herd doesn't follow Apple (even though it seems that way); they follow the content, wherever that content is. People didn't switch from Windows to Mac primarily because $x wasn't available on Mac. But soon enough, $x, $y, and $z were on Mac and the switch became easier. Think back to when the iPhone was fighting against BlackBerry and Motorola. It was stupid things like Plants and Zombies and Angry Birds that drove adoption. It was the music industry's alliance with Apple (aka content) that helped the iPhone gain an edge just as much as its technical merit.

5 years ago, I wouldn't have been able to say goodbye to my Mac and go back to Windows. This year, I did (just weeks before the joke of an MBP was announced, thank God). My favorite Mac apps are on Windows. WSL (Windows Subsystem for Linux) gives me native Linux on Windows with decent integration. I have my posix and I have an OS I can use. MS was trash, but they listened to their power users (thank god for Nadella and good riddance to Ballmer) and ditched Metro everything and went back to a useable, dev-friendly desktop with Windows 10. They're embracing 3D printing, they're bringing back the content producers, and this is going to _hurt_ Apple way more than I think they realize right now.

Every company makes its money at the bottom, but there's a reason these companies continue to make losing investments at the top: to keep the content creators, the prosumers, the reviewers, the influencers happy. It's not just computers. Look at car companies. Look at what Toyota spent on the LFA. They were _never_ going to recoup those costs, no matter what. The goal was to entrench themselves in the minds of auto enthusiasts, to say that Toyota has the ability, the technical knowhow, and the spirit it takes to make a real super car. Now buy and recommend our normal cars, please.

Apple discontinuing first its servers, then its 17" MacBooks (and I've never owned a 17" laptop in my life), its Mac Pros (seriously!?!??), and now, the MacBook Pro (there's a reason there used to be a MacBook and a MacBook Pro. Now "Pro" is marketing and they're all MacBook Pros while none of them are), is the problem. It's clear some pinhead that doesn't get the market is looking at the numbers and thinking "hmmmm, $x, $y, and $z have a $devcost/$saleprice ratio that is poorer than our other mainstream products, kill them," not realizing what that means for 10 years down the line.

I'm not saying we're going to see this impact _today_, but we're going to see it at some point. Apple's prosumer focus is what kept it alive when it was bankrupt and desperate and allowed it an opportunity to make a comeback. Ignoring them now isn't just shortsighted and stupid, it's also ungrateful and traitorous. But whatever. I'm happy with my thin & lightweight Xeon ZBook with 32GB of ECC RAM and a 4K display running Windows 10 and Linux. I don't care. But I do think it's a damn shame.

<comment><USER35> I have to disagree. Completely.

First: Your theory isn't new. It's been discussed to death here and elsewhere.

Second: There's no evidence that content creators are actually leaving the Mac. It's easy to look at the new machines and Apple's trends and conclude that, but go look on Youtube at any major content creator. FCPX is still popular. If not, Adobe on OSX is still very popular. I'm not suggesting that no one has left, but I don't think it's significant enough to move the dial.

Third: There is little evidence that their dedication to professional machines is wavering on a systemic level. Removing the 17"? Come _on_. That had to have been their worst selling model; anyone who needs a screen that large would just plug into an external monitor. Discontinuing the Mac Pro? It isn't discontinued; they've actually promised updates to desktops soon. Yes, they let it get old in the tooth for a while. But I will be willing to accept this argument only if 2017 passes us with no upgrades.

The MacBook Pro has its issues. It is, absolutely, ahead of its time with its port selection. The only port it is truly lacking that professionals should miss is the SD card slot, and I will grant you that is unfortunate and unlikely to be fixed. Weak processors? Go look at the Intel ARK and tell me what mobile processors Apple could have put in this machine but didn't. This is Intel's fault, not Apple's. Weak graphics card? Yup, I'll give it to you, a GTX 1050/1060 would have been incredible. No 32GB ram option? Unfortunate.

But the issues I am describing are not systemic. They are going to be fixed in the next gen model. The pains you're seeing today are just the "early adopter pains" we get with every brand new Apple product.

Fourth: I can literally tell you why their sales dropped 10%, right here. Ready? No MacBook Air refresh. No iMac refresh. No Mac Mini refresh. That's it.

Apple's Mac sales are not, in _any_ way, propped up by professionals. Don't flatter yourself and this industry with moving the needle at all on Apple's bottom line. They are propped up by average joe consumers, and this market segment was hurt very badly in 2016 through Apple's unwillingness to cater to them.

Apple's lack of updates to the Mac Pro has been unfortunate, but hasn't hurt their bottom line. Apple's lack of updates to the MBA (last update: March 2015), Mac Mini (last update: October 2014) and iMac (last update: October 2015) are literally what is causing this 10% drop. The machines are stale, and people know it.

Apple fixes this by refreshing their desktop lineup (which they have literally said they are going to do, and Apple _never_ tells us anything) and dropping the price of the MB/MBP (also seems likely).

Finally: I would remind you to not confuse "Apple is giving up on creatives" and "everyone else is getting better at servicing them." Microsoft has been doing a stellar job lately, and Windows and its accompanying hardware is better than it has ever been.

<comment><USER16> "Second: There's no evidence that content creators are actually leaving the Mac. "

I don't think this is true. It's hard to say but there is a lot of noise about it.

Consider this: most 'creatives' are poor. Or kind of. My landlords wife is a 'photographer'. She doesn't make a lot of money. She - like many others - <USER3> 'money sensitive'. She uses a PC to do all her high-end work. I don't know why, or if she used Mac before, but I don't see any reason why creatives, in 2016 'need' to be on Mac.

If developers and creators can do their jobs well on a machine 1/2 the cost, that will affect outcomes.

"Apple's Mac sales are not, in _any_ way, propped up by professionals." \- again this is false. Almost all consumer markets have 'category leaders' that drive the rest of consumption.

98% of Lululemon attire is worn outside of the Yoga studio - but if Lulu ever stopped making good yoga gear (and trust me, it's really good) - they'd be out of business.

<comment><USER36> I'm in two minds about this, because e.g. Lululemon or the surface book aren't cheap either - so price isn't the only factor. But at least with the surface book you could argue that the stylus is a huge value add. And while I hate touchscreen laptops with a passion, I can definitely see it's a form factor many people enjoy. Especially "normal" users (non-terminal users?).

Having said that, there's definitely a herd mentality. People buy what other people in the group have, and what is considered "cool/chic/whatever". The second part is really hard to track, especially with something as tool-like as laptops ultimately are. So there is a huge risk here. The question is "are techies still the 'category leaders'"? Microsoft seems to be betting they aren't, and they are following through with that.

</comment></comment></comment></comment><comment><USER37> What is even more baffling is how they can possibly employee 80,000 people. With that many people you think it would be possible to actually update their products regularly, and make the updates compelling.

Apple is floating on the surface, and bloating like a dead whale. They have no vision what so ever, and if they do, it's process engineered out of the company. Their previously outstanding product engineering is even falling down. Unless Mr. Cook is able to find or trust a visionary the company will continue to downward spiral.

There is a fine line between a vision and a hallucination, and Apple is hallucinating right now.

<comment><USER38> Majority of 80,000 come from Apple retail stores.

</comment></comment><comment><USER39> I can't wait to retire my 2013 MBA and set it aside with my OEM 8800GT (nVidia's iconic desktop GPU). Both represented the best combination of tradeoffs with the tech that was available at the time at a price point that led to ubiquity.

I'm not sure what my next portable computer will be, but if I want it to fit into that criteria of iconic hardware, I doubt it will be an Apple computer.

<comment><USER40> If you would like to stay on macOS, buy a used MacBook (Pro). Some owners treat their MacBook (Pro) like a jewel. Even one or two years old ones can look like new. Performance-wise they are still great compared to the latest siblings.

A week ago I bought a MacBook Pro 15" (Mid 2014) with 512 GB SSD and dedicated graphics chip. I can drive two external 4K displays at 5120x2880 (looks like 2560x1440) and the internal display at 3840x2400 (looks like 1920x1200), all at 60 Hz. That is all I needed. Couldn't be happier. Cost me 1325€. Latest MacBook Pro 15" with 512 GB SSD costs 2700€.

<comment><USER39> That's true, but there isn't enough value in macOS for me to justify buying old hardware, especially moving forward.

</comment></comment></comment><comment><USER41> Given the CES announcements from Lenovo, Samsung and asus I can only assume 2017 will be even worse for Apple.

Laptop with 25 hrs battery? Give me two please!

<comment><USER42> And yet no one but Apple can seem to make a decent track pad (even for windows). It's a show stopper for me whenever I think of moving back to a PC.

<comment><USER43> Seems you haven't tried a non Mac mouse pad for some time. I suggest you do so, I believe you will reconsider your comment.

<comment><USER42> If you mean trackpad, I've had many in the last nine years from work (I worked for Microsoft).

</comment></comment></comment></comment><comment><USER44> Are there any models from Lenovo/Dell/HP that have a good keyboard (obviously there is some subjectivity here)?

If Lenovo made a model with the thinkpad keyboard from 10 years ago, I'd buy one in a heartbeat.

<comment><USER45> I just bought an ASUS ZenBook with m3 and super high res screen for my wife. The keyboard feels similar to my MBP13R. Much better than my 3k Dell.

Really nice little machine, blows the Air away and is a steal at 650 EUR (~400 USD using Apple's exchange rates).

<comment><USER46> I'm also really happy with my Asus Zenbook ux305fa. The keyboard does feel familiar (replacing my 2011 MBP). And Ubuntu runs fine on it - no problems with wifi or anything else so far.

<comment><USER47> I love my Asus Zenbook, but I get the feeling that the screen resolution is _too_ high. There's no need to have a 4K screen in an otherwise small laptop, especially combined with rather patchy support in Linux.

</comment></comment></comment></comment><comment><USER48> Over the year they declined, but were up YoY in the 4q. Early year declines show people were waiting for an update and then purchased when one came out. We'll have to wait for 1q 2017 numbers to see if the releases keep the trend going back up.

</comment><comment><USER49> ¯\\_(ツ)_/¯ If Apple doesn't care about their Mac line, _why should their users_?

I've been a hardcore Mac fan since '04\. That said, it's _VERY_ hard to argue that quality in both hardware and software haven't been declining.

I spent over $4K for the 2016 MBP w/Touchbar. Problems. Problems. Problems.

I'm 2 days in to completely switching back to Windows. I bought a Dell XPS 15" with a better CPU/GPU and more RAM than the top MBP, for a lot less money.

Dell makes a better "Macbook" in the new XPS line, than Apple's own Macbooks. It makes me sad. These days, it's hard to think that Apple cares about anything other than iOS devices.

</comment><comment><USER50> I bought my Macbook Air for $1,629 in June of 2012. It's still my main computer and I've spent <$300 (new battery, charger, etc) since the initial purchase.

I'm not easy on computers. I travel a lot and this think has put up with very poor treatment. I can't think of a better computer for me. After this one dies I'll definitely buy another Mac (not thinking about which one because I'm expecting this to last at least another year). I hope I'm not disappointed because this computer exceeded my expectations for a laptop.

</comment><comment><USER51> Makes sense to me. Because Apple is discontinuing the Macbook Air - the best combination of power, form factor and price - I'm regularly looking at all available alternatives.

Can't really see how they're doing "what's best for the customer" anymore. More like what's best for their bottom line.

</comment><comment><USER52> Has anyone here used the MBP touchbar on a daily basis? Does it improve productivity or is it just a gimmick?

<comment><USER53> I have the touchbar on my work laptop. As a developer I would say that it is a gimmick. I leave it on control strip mode rather than mix of app controls with control strip so that the keys do not change as I change applications.

Applications in *nix and by JetBrains still utilise function keys for shortcuts. If default touch-bar preferences allowed for showing function keys at all times with control strip triggered on fn, that would be my preferred default mode.

<comment><USER54> You could probably do it yourself using BTT: [https://9to5mac.com/2016/12/02/hands-on-custom-touch-bar- but...](https://9to5mac.com/2016/12/02/hands-on-custom-touch-bar-button- bettertouchtool-video/)

</comment></comment></comment><comment><USER55> Am I the only one that has issues with the Macbook's WIFI and bluetooth drivers? Granted I am sure the price versus specs differential that keeps expanding my have something to do with. With that said, I am a creature of habit, and stuck in my ways and keep using unix and iOS.

<comment><USER56> Everything worked decently well for me until I upgraded to macOS.

I can no longer broadcast a wifi network from my computer when connected through ethernet, with no work around.

My Logitech mouse also disconnects whenever I put my computer to sleep and sometimes while I am using it now. It isn't found unless I open up the Bluetooth panel and wait a minute or so until it finally reconnects. It will not reconnect without opening the Bluetooth panel. This is with zero interaction from the mouse, by clicking the connect button, which I avoid anyway since clicking reconnect will just create a new duplicate device right under my mouse. But that is if I'm lucky and Bluetooth hasn't gotten into some weird state where Bluetooth has been turned off by the system and clicking the turn on button does nothing so I have to restart.

The Bluetooth stuff was obviously considered working if Apple products connected and nothing else was tested. My trackpad has no issue connecting to my laptop even when it gets into that weird state where Bluetooth is forced "off" until a reset

</comment></comment><comment><USER57> I really like developing on my 13" pro from a couple years ago. I like it significantly more than my higher spec 15" pro from work. The light weight and small form factor are key, and obviously I can plug it into a monitor or two when I'm actually at my desk.

I hope Apple thinks of someone like me when deciding the specs of the next super light Macbook. Keep the low entry point for students, and offer a premium build for developers and others who can justify it.

If they don't nail it, I'm open to other OSs, but I do care about aesthetics which Apple used to have a monopoly on.

</comment><comment><USER58> It's not really surprising given the lack of updates.

</comment><comment><USER59> Not surprising.

Who wants to pay premium for old hardware?

I spilled coffee on my MacBook Air and had to replace it. I bought a used early 2015 MacBook Pro for 1000EUR from a guy who bought in 2015, the same that is sold today at the Apple Store for 1,500EUR.

I did think about buying the new MacBook Pro (of course without the touch bar), but I just felt stupid spending all that money for an OK laptop.

</comment><comment><USER60> I have no regrets about my Dell XPS13.

<comment><USER61> Same. My Dell XPS15 is fantastic.

</comment></comment><comment><USER62> Apple's pro laptop design peak was the first Unibody. Just imagine what can get done with the volume: RAM, CPU and GPU wise.

I'm a professional developer, I'm comfortable with my web routines but damn I'd love to have a handy tool to work on the edge of that zone.

</comment><comment><USER63> I just want a MacBook Air 11" that's been upgraded to have 16GB of RAM and a slightly larger 12.5" screen put in it.

I've been waiting for that for years. Through 3 other MacBook Air purchases; always hoping the next time around they'll make what I want.

</comment><comment><USER64> People forget that Apple makes some of the best products in TJ for world. The problem with Apple is that their product last for several years and a lot of us hold on to it. just remember Apple is a cult and it is tons of followers around the world

</comment><comment><USER65> Replaced my 2010 17" MacBookPro with an awesomr hulking 17" beast that is the Dell Precision 7710 and now happily running Fedora 25.

Zero regrets.

Biggest gotchas were learning that Apple mini display to DVI adapters were passive so I had to buy new active ones.

</comment><comment><USER66> Sold my 2011 MBA, bought a late 2016 RBS (Razer Blade Stealth).

</comment><comment><USER26> The only links provided in the article are to other 9to5mac articles. There are no links provided to the actual Gartner/IDC analysis that they've derived the content from - perhaps due to content restrictions. I managed to find some related links [1] and [2] through some searching. But [1] was unlikely to be a source due to the release date (and the fact that it doesn't include Apple data for some reason), and [2] is a little old.

But my thinking is that if the sources of data are based purely on "units shipped" as per [2], then this relates to both consumer and commercial use. We know that HP, Lenovo and Dell basically dominate commercial sales - thus a drop in consumer PC sales alone could be highly correlated with a drop in Apple sales.

A drop in consumer sales could be due to negative shift in design and direction as many have suggested. But it could also be due to many macro- economic factors that simply do not affect the people here, and are thus hard for us to appreciate - Brexit, no. of mobile devices owned, <insert more speculation here>. As developers or designers, we're not exactly price- sensitive when it comes to buying PCs - so it's likely to be about value proposition and getting exactly what we need. But this cannot be said for everyone.

Speaking for myself, I had the opportunity to buy a Macbook Pro last year, but I chose not to due to value proposition, even though I'm willing to spend the cash. I considered the Lenovo X260, Macbook Pro 13", and Dell XPS13. I will admit a bias towards Thinkpads, and I'm indifferent towards Mac OS X (my only OS preference is "not Windows"). I went with the X260 not because of said biases, but purely because at the same price for the Macbook plus one or two upgrades, I got a maxed out X260 with an incredible battery life, plus left- over $ to buy an SSD for Linux (I've never booted the stock hard drive). Screen resolution was the only compromise. My wife then inherited my 5-year- old X220 and its docking station - still running strong.

BTW - it always gives me a smug smile inside when Apple or Dell markets a 12 hour battery life as though it's miraculous. I had that on my X220 which is now nearing 5 years old (oh - and I could buy a new battery for it as recently as November 2016). Close to 20 hours with the battery slice.

[1] [http://www.idc.com/getdoc.jsp?containerId=prEMEA42255917](http://www.idc.com/getdoc.jsp?containerId=prEMEA42255917) [2] [http://www.gartner.com/newsroom/id/3474218](http://www.gartner.com/newsroom/id/3474218)

<comment><USER67> Did you get the X260 model with FHD screen? Which distro are you running, and have you experienced any issues yet? My old Macbook Pro is due for an upgrade, and I'm strongly considering getting the FHD version of the X260, upgrading it with 16GB RAM, a 500GB SSD and 72Wh battery, and installing Ubuntu or Fedora.

</comment></comment><comment><USER68> The way to fix this is to raise prices and push out fewer updates to the line.

</comment><comment><USER69> They need to get the iOS people away from the Mac and start actually listening to their customers.

</comment><comment><USER70> Corrected title: "Mac sales declined nearly 10% as the company failed to release any hardware improvements for several years running, combined with yawn-inducing changes to MacOS 10.whatever, focusing instead on a watch and phones."

Fixed it.

</comment><comment><USER71> This comment section is dire. From people who think it is a dirty little secret that the cheapest items sell more. To people who think apple are now just starting to charge a premium. To some guy who only buys iconic hardware.

Most of these comments could be transported back 4 years with little difference.

</comment><comment><USER72> I agree that Apple is dropping the ball, but I still buy their laptops and phones because I'm an macOS whore. I hate Windows and Android, and BSD and Linux, and their myriad applications, don't sync with my phone. Also, there isn't anything equivalent to Apple's trackpads on PC laptops. At least not yet. If it weren't for macOS and Apple's superior trackpads, I would probably switch to something else though, since the hardware lineup leaves a lot to be desired nowadays.</comment>


An exploratory statistical analysis of Akira and Ghost in the Shell - <AUTHOR> https://nibnalin.me/dust-nib/shadows-of-stained-glass.html <comment><USER2> Interesting! Particularly the discovery of the sparing use of green in Akira. I haven't seen either of those films in quite a few years and it really brought back to me how staggeringly beautiful they are.

When I was in Sydney in 2018 I was fortunate enough to stumble upon the 'Anime Architecture' exhibition[1] at the Japan Foundation, which included various pencil drawings and hand-drawn cells from Ghost in the Shell. It's a traveling exhibition so if it ends up near you and you're a Ghost in the Shell fan I highly recommend checking it out.

[1] [https://anime-architecture.org](https://anime-architecture.org)

<comment><USER3> Other than ghibli films, what other anime films look as good or iconic as those two.

<comment><USER4> Red Line - [https://www.youtube.com/watch?v=TiFjyqRfkpo](https://www.youtube.com/watch?v=TiFjyqRfkpo)

Ninja Scroll - [https://www.youtube.com/watch?v=yaXJI339uQs](https://www.youtube.com/watch?v=yaXJI339uQs)

<comment> saiya-jin well then Sword of the Stranger (Stranger: Mukô hadan) must have a honorary mention too for those kickass main characters

</comment></comment></comment></comment><comment><USER5> Somehow reminds me of the "Typeset in the future" serie of movie analyses from the perspective of typography used.

Highly enjoyable (if you like typography and sci-fi movies): [https://typesetinthefuture.com/2016/06/19/bladerunner/](https://typesetinthefuture.com/2016/06/19/bladerunner/)

<comment><USER6> Last year somebody posted this [1] right here in HN. Speaking about being mind blown.

[1] [https://fontsinuse.com/uses/28760/neon-genesis- evangelion](https://fontsinuse.com/uses/28760/neon-genesis-evangelion)

<comment><USER7> 502 Bad Gateway? :-)

<comment><USER6> Oh. I picked it up from the chat with a friend where I knew it was.

That's so sad, it was a really incredible good article.

Fortunately, it's available in Google's cache [1] (And I just made a backup with SingleFile because of the 502)

[1] [https://webcache.googleusercontent.com/search?q=cache:WYjiVt...](https://webcache.googleusercontent.com/search?q=cache:WYjiVtFump0J:https://fontsinuse.com/uses/28760/neon- genesis-evangelion+&cd=1&hl=en&ct=clnk&gl=ar)

<comment><USER8> The original image is still available

[https://www.evangelion.co.jp/neon_genesis.html](https://www.evangelion.co.jp/neon_genesis.html)

</comment></comment></comment></comment></comment><comment><USER9> GITS is an immensely deep philosophical tour de force, an emergent masterpiece of synthesis.

I enjoyed the analysis even though it feels incomplete without examination of the ambient music (you could write a thesis just on that alone).

</comment><comment><USER10> Why is Akira considered good? I watched it as an adult a few years ago and did not get the appeal. The story made little sense and appeared to have little, if any, depth. I wasn't really taken by the atmosphere or the 'feel' of it either. The graphics looked dated and not very inspiring.

Is it one of those movies that is noteworthy because it was the first to try certain things? Because it was very impressive for its time? Because people associate a sense of nostalgia with it? I would hardly recommend it today to someone looking for a good movie to watch. Some of my most favourite movies are old and some are anime, and I am a big fan of cyberpunk, so I don't think it's because of my aversion to the genre.

<comment><USER11> It's hard to overestimate the gigantic /smack in the face/ that Akira was when it came out on screen. Much of us had only seen Disneyish / childish stuff so far, and even adult-themed animation was cartoonish in nature. And here walks in the room bikers hitting themselves in the face with steel bars, incredibly detailed sets, flawless animation (Akira was 24 fps on one), exotic graphism and insane music. I skipped class once in my life. It was to take the train and go to the big city to see Akira.

<comment><USER12> This. In my country of origin it was shown at prime time in the mid-nineties, and even then it was kind of controversial. I was a kid and didn't understand much, but I still remember the experience of watching it. Akira was definitely a watershed moment in anime.

</comment></comment></comment><comment><USER13> Note to author: you have many "its" typos in the visualization captions & elsewhere. It would be good to have an abstract in the paper.

I am also a little puzzled by the GitS section: the Akira section makes a point about green=good that seems correct and I'd never realized before, but the GitS section does not actually seem to draw that much on the color analysis? There's just the one point about shifting into action. Is that really all that can be said about the colors for GitS?

<comment><AUTHOR> Hey Gwern! Thank you for your note. You're right about the "its", I think a lot of them happened because quotation marks in my Latex setup need to be dealt with individually. I'll make a pass and fix those soon.

I suppose you are also right about the GitS section. The main useful observations I made there were the abundance of skin tone and the gothic look of the museum towards the end, but those are not as significant as the green in Akira. I'd love to hear your (and anyone else's) thoughts on the colors in GitS.

( Also, on a separate note, thank you for all your advice related to ML things in the TPU Discord over the past couple days :) )

</comment></comment><comment><USER14> ...In my essay, I want to explore the "shadows" of these stained glass windows (i.e. films) to understand the patterns exhibited by the church (i.e the art of filmmaking).

You can't do that! Church is holy! No x-raying of wonders allowed! That would show the extent of the cargo-cult :)

Anyways, I liked it, though it felt somehow incomplete?

What do you make of [1] [https://theabyssgazes.blogspot.com/2010/03/teal-and- orange-h...](https://theabyssgazes.blogspot.com/2010/03/teal-and-orange- hollywood-please-stop.html) in this context?

</comment><comment><USER15> This is enjoyable reading. It is always interesting to see different ways of visualising things to extract new meaning from them. The dominant colour graphs remind me of kymographs from single molecule biophysics which track the movement of proteins while they carry out some biologically important process.

</comment><comment><USER16> Wonderful exploration of film data. It would be great to learn from the same process applied to film material in the public domain. Extra brownie points for using "Python, Julia & R" in the same dataviz.

</comment><comment><USER17> _> In any other anime film, we might be quick to dismiss these suggestive, voyeuristic shots as "fan service", but Ghost in the Shell uses these to express something deeper. When bodies are purposeless shells, what does it even mean to sexualise them?_

While I agree the nudity in GITS isn't gratuitously sexual, I was quite surprised when I learned what a large portion of Shirow's oeuvre is erotic art books.

</comment><comment><USER18> Interesting colour analysis that would be great to see applied to other movies. Minor note -- "Batuo" in the context of GitS is surely "Batou"?

</comment><comment><USER19> Man this is so well done !! Congrats :) I love the barcode-method ! It's like a "dimensional-reduction-technique" but visual.

</comment><comment><USER20> While I disagree with several of the author's conclusions, this is a novel technique of data visualization.

<comment><USER21> I haven't seen chord diagrams used like this before but back in the early 2000s I worked in a shared office with a guy doing movie colour analysis using barcodes, so that at least has been around for a while.</comment></comment>


Insider Trading Should Be Legal - <AUTHOR> http://www.jamesaltucher.com/2010/11/maybe-insider-trading-should-be-legal/

<comment><USER2> > The more information in a market, any market, the more efficient prices > become. If informed investors start buying or selling based on privileged > information, asset prices will rise to their "correct" level

This belies a clear misunderstanding of statistical mechanics. Markets are not purely random systems: they are regulated, and they are fictions of human imagination, unbounded by physical constraints. Two things come out of this: 1) certain pieces of information are fantastically more powerful than others 2) the author doesn't seem to realize that, in statistical mechanics, every particle, actor, whatever, has or doesn't have each piece of information. You introduce insider trading, and all of a sudden, you have a new variable, and every other particle, or actor, has a value of zero, except that one who has it. Privileged information actually decreases the information density in the market.

> Fraud will be exposed earlier. ... Enron ... If insiders were selling we > would've seen a much swifter move down, and probable fraud exposed.

Pure supposition.

> Companies will either become more transparent, to keep the retail investor > happy, or will themselves enforce secrecy rather than being complacent with > the idea that the law somehow protects their secrets.

Show me how either of those necessarily falls out of any real theory of behavior, information theory, any mechanics, anything.

> More enforcement dollars will be used to uncover actual frauds such as the > next Enron or Worldcom.

WHAT? ARE? YOU? SMOKING?

> Insider trading is almost impossible to prosecute and the government wastes > countless dollars trying.

Um, actually, the SEC budget is definitely countable, and not infinite. It was 1.229 billion for 2011, and I'm pretty sure that wasn't all enforcement: <http://www.wallstats.com/deathandtaxes/></comment>


Text Me a Link - <AUTHOR> http://www.gettingmoreawesome.com/2011/05/05/text-me-a-link/

<comment><USER2> Let us know when you have it done... we'll use it. I think you should include a referral tracking code and then a simple api call to get those referral records..

i.e. your js library uses an api key. That api key has a private key that you can use to query your back in db so that you can pull the records of which phone number and other referrer trackbacks and generate a unique url for that txt.

</comment><comment><USER3> Facebook could modify their Send Button widget to let people send links to their own cell phone or email box without entering any information.

</comment><comment><USER4> I think you'll start to see this more now that Twilio makes it easy to do.

<comment><AUTHOR> Twilio should come out with a library

<comment><USER5> Ah yeah, a little js snippet that you can drop into any site would be pretty neat and a nice way for non-devs to integrate the feature.

<comment><USER6> I guess I have my weekend project. :)</comment></comment></comment></comment>


Learn a system that actually works for iOS app marketing (developer interview) - <AUTHOR> http://blog.isocket.com/2011/09/iphone-ipad-app-marketing-advertising-promotion/

<comment><USER2> "Hey Mike, thanks for hanging with us. To kick things off"

NOOOOOOOPE</comment>


Rethinking Programming Language Tutorials - <AUTHOR> http://prog21.dadgum.com/67.html?0 <comment><USER3> Not all tutorials are aimed for people that know nothing about programming. Many are intended for an audience that knows programming in a different language quite well but doesn't know a lot (or nothing) about the new language (in this case Lua).

For this kind of people it would be a waste of space to bring lots of "practical" examples, if this doesn't show a unique feature of the language, since people often know the algorithms quite well. If you want to learn about that you better get a tutorial/book about algorithms.

What they don't know is the topics that are specific to the programming language. IMHO it is right that many tutorials concentrate on this.

<comment><USER4> Spot on. There is a difference between "Programming language X tutorial" and "Programming tutorial using language X". The former being for someone who wants to learn a new language (but probably knows some programming) while the latter is for people learning their first language.

This article seems to suggest that programming language tutorials should always be targeted at people with zero knowledge about programming or computer science. And he also seems to suggest that all readers are assumed idiots.

In the OP's view, the description of associative arrays as a primary data structure in Lua is not important. This depends a lot on the audience. For me the description about associative arrays was very important, since I want to know how the Lua interpreter works (esp. important for Lua since it's often used as an embedded language).

Same thing goes for the OP's complaint about Haskell and laziness. Laziness is a very central concept to Haskell so it makes sense to introduce it early on.

The OP says: "Programming language tutorials shouldn't be about learning languages. They should be about something interesting, and you learn the language in the process." I really disagree on this one. I don't want to spend time going through yet another badly written beginner tutorial if I want to learn a new language.

<comment><USER5> I agree with your distinction.

However, the paragraph from the Lua manual still shows sloppy technical writing. Terms should be defined before they are used. Using another technical term is not a good description. For example, coming from Python an "associative array" would have to be called a "dictionary". For the Java and C++ programmers it would be a Map. Better:

The table type provides storage of values under certain keys. Lua uses tables to represent ordinary arrays, sets, records, queues, and other data structures, in a uniform way. For example, a table can be used as an array, since it can store arbitrary data under index numbers as keys.

<comment><USER4> > However, the paragraph from the Lua manual still shows sloppy technical > writing.

That may be true, but we just have to live with it. We can't expect every piece of software to be documented properly (or even at all).

> For example, coming from Python an "associative array" would have to be > called a "dictionary". For the Java and C++ programmers it would be a Map.

I think the term "associative array" is used here (as well as in PHP docs) because it's distinct from Python-style "dictionaries" or Java/C++ "maps" in that it's the only data structure used in Lua. There's no lists or sets like in Python. I think this is the intent that the manual wanted to portray.

</comment></comment></comment></comment><comment><USER6> I understand where the OP is coming from, but I will go one step further.

If you are teaching programming to someone who has never written a line of code, you need to do away with the programming language all together. When you start out, you are learning two distinctly different things at once:

        * General programming principles; abstract thought patterns.
        * The language it is being taught in, along with all of its oddities and quirks.

These two do not mix very well and can, in some cases, be counter intuitive. I believe that teaching someone to /think like a programmer/ and learning analytical and iterative problem solving are of primary importance. They apply to any language. Once you grasp these, the actual language of choice is considerably less difficult because patterns in the language are immediately familiar.

I'm fairly confident that you can effectively teach someone to /think like a programmer/ without ever showing them a single line of code.

<comment><USER7> This doesn't work well, in my experience. Non-programmers don't want to program -- they want to get a computer to do something. As a teacher, it's your job to seduce them into programming as a way to get the computer to do what they want it to do.

I learned to program, not because I wanted to program in the abstract, but because my friend's dad showed him how to make a little car drive across the screen, and I wanted to do the same.

I spent hours typing programs in from books, not because I wanted to program, but because I wanted to get 3d shapes moving around.

When I taught programming classes, I'd often digress to talk about some interesting abstract concept -- and immediately lose 90% of the class. Start practical, and enrich from there, as the material becomes relevant.

<comment><USER8> I came here just to agree with this ... I took Computer Engineering in college, did quite a bit of C++, Assembly programming and Data Structures ... but I really didn't 'get' any of it, even though I could pass tests and ace my finals. It wasn't until I happened on a PHP tutorial that showed how you could post user information to a db and replace a section that once said "login" with "Welcome xxxx" that it all clicked. My brain started to go crazy with possibilities and I immediately started trying to learn EVERYTHING about programming.

I spent hours on Sitepoint, printing out articles and just reading them over and over, and trying them out. (I still have the huge stack of printouts in a section of my home office as a reminder of all the work I put it ... you know ... when I start to doubt myself). I had learned OOP in college but I really didn't get it ... one day I went to Barnes and Noble and spent the whole day reading a Head Start OOP book ... and I 'got' it. I felt like Neo in the Matrix (I know Kung Fu!!!)

The point of the story is ... keep all the boring crap out of the way at first, get beginners excited about building things, that will give them the passion that will carry them through the (necessary) minutae later.

</comment></comment></comment><comment><USER9> You can get it the other way round though. I don't have it to hand, but I found "Programming in Scala" to have such a low content-per-page ratio that it is hard to stay interested. From the contents page:

2\. First Steps in Scala 69

3\. Next Steps in Scala 82

4\. Classes and Objects 104

100 pages and you're only onto classes and objects!

Dive into Python has it right, IMO - show you something, then explain it bit by bit.

<comment><USER10> I co-authored a book published by Wrox Press a few years ago. Editors specifically tell you to pad as much as you can - the fatter a technical book, the better it sells apparently.

<comment><USER11> That's an interesting observation. Not long ago I was talking to an editor who thought that books 150-250 pages in length were an ideal sweet spot.

<comment><USER12> Back when I was young a naive and just starting out this wonderful world of computers, my default stance was, when in doubt buy the thicker of the two books since it must contain more information. I distinctly recall standing in a book store and working out which massive Linux book would give most pages pr dollar.

Now my default stance is, when in doubt, buy the book that's under 300 pages, since if you can't cover you're points in less than 300 pages you're either trying to say way too much or your book is mostly fluff and filler.

Also I imagine the ubiquity of fast internet connections and Google has made the 1200 page "complete reference to everything" type of books more or less obsolete. More and more books these days are "focused expert knowledge in one particular area" which is a lot more suited for the 150-250 page format.

</comment></comment></comment></comment><comment><USER13> It depends on your intended audience. Although I appreciate the sentiment of learning programming languages by solving practical problems (rather than reading overly abstract descriptions) I don't expect there to be a major change in the way tutorials are made.

Back in the day when java was just being introduced, nearly every tutorial presented it in terms of how it compared to C++ (presence of garbage collection, use of references rather than pointers etc.). This is because languages don't live in isolation, they are part of a larger tradition. Java was created to address certain problems and short-comings of C++ and the target audience was therefore C++ programmers.

Most folks that I know who have become programmers made a concerted decision to accept the discomfort and pain of pushing through the challenge to picking up the nomenclature used by the programming community. I certainly appreciated tutorials that were geared for beginners when I started, but - in the end - simply immersed myself by reading so many different books and tutorials that the short-comings of one were overcome by the other. Terms that were left undefined in one were explained in another. There is certainly some responsibility for the person creating the tutorial to clearly define terms and consider the beginner. There is also the responsibility of the learner to accept their ignorance pursue answers outside of the presentation of an individual tutorial.

</comment><comment><USER14> We need more interactive programming tutorials. Things such as TryRuby, Codecademy, or VIM Adventures. I've never met anyone who actually enjoyed sifting through static text, trying to make heads or tails of what arrays or void pointers were. That's boring, and really disheartening.

When I was teaching my girlfriend HTML, she had absolutely no interest in what a tag was, or why it even mattered. She could care less about semantics, mobile design, etc. All she wanted was to create something on screen. After having her use the inspect tool from Chrome, she found it more interesting, and could see values changing. This held her attention for a longer period.

Till this day, the best tutorial I've ever read is _why's guide. I've read it several times, because it's super interesting, and extremely entertaining. If more programming tutorials were written this way, I'd be one heck of a developer by now. Why can't authors make their tutorials fun? What's stopping them?

</comment><comment><USER15> I disagree. Early mentioning "associative arrays" is a problem? I don't think so. Even if reader don't know what they are, he can learn from wikipedia or somewhere else. Why write so many times about basics? Googling is so hard? Sory, I think it's most basic programmer skill - to find information he need.

The same with everything nil and another novice caring stuff. This book is good (I know since I learnt from it), if authors cared about so-novice-people this book would suck so much. Imagine you want use lua for your C program, whant to learn it first and you read what associative array is. I'd be mad.

And I disagree with your point about "practical" examples. Practical stuff you learn at work. Examples are good to learn syntax and general stuff, rest you can find quickly in documentation.

On the other hand, programming tutorials needs rethinking, but I think it need far deeper change.

<comment><USER16> There will be plenty of time for the new programmer to get their google-fu from reading other people's crappy documentation. As a writer, though, it's your job to make your piece as useful as possible for your _intended audience_. This means practical examples, because that's often the best way to learn in this type of scenario.

The point about PiL is not that it's a bad book, it's that it's a bad introduction for a non-programmer. PiL was extremely useful to me when I already knew C++ and Python, but I can also see that if it had been my first programming resource I would have been in trouble.

</comment></comment><comment><USER17> I'd recommend looking at "Learn Python the Hard Way" (<http://learnpythonthehardway.org/>) for an awesome example of a tutorial written with teaching beginners in mind, rather than the typical uncomfortable combination of teaching and documenting that happens in most tutorial books.

</comment><comment><USER7> Er, how about we have different books for different audiences?

The Lua programming book isn't a tutorial, as far as I can tell. As an experienced programmer I appreciated its brevity and spare clarity -- it mirrors the language. Adding words would make it significantly less useful to me.

</comment><comment><USER18> I completely agree with him, the best tutorials I've ever had for languages were ones that had me make something I might use.

My first experiences were in c++ and that had me making little games in the command line. I eventually took it upon myself to write an implementation of conway's game of life once I learnt about 2d-arrays and realised I could use two of them to make it.

Visual studio 2010 has a very nice set of tutorials that I found really great for learning c# with. The first was just a program that had 3 buttons (open, clear and close) and a picture box. It just opened an image and displayed it. It was a really nice tutorial that was fun, taught fast and inspired me to make the first program that I actually use on my desktop. It's a pretty basic slideshow program, but I've never found one that fitted what I wanted and the tutorial gave me all the tools I needed to create it with, nothing more.

That tutorial made me sit for a weekend and write that program. The feeling of finally having a program that did what I wanted and the fact that I made it just added an extra level of joy. It really showed to me why programming is enjoyable.

The quality of a tutorial for an absolute beginner can make or break their motivation to ever try again. It's far too important to not do well.

</comment><comment><USER19> I tried to write <http://eloquentjavascript.net> with this in mind — building from basics, driven by actual examples.

<comment><USER20> You probably get told this every day, but your book is awesome.

Well spaced English, good examples.

</comment></comment><comment><USER21> I agree. I think this approach allows the tutorial to be useful regardless of other language programming experience.

If you are new to programming reading a tutorial aimed at experienced developers, then, as OP states, it can be difficult to understand paragraphs loaded with unfamiliar technology, or where the concepts are presented in an entirely abstract fashion.

If you are an experienced developer reading a beginners' tutorial, then it's easy to miss some crucial novel detail hidden amongst all the bits that you already know.

If the tutorial takes you on the journey from a blank text file to an application that does something, then all levels can be as engaged as they need to be.

On the other hand, it will be just as easy to make a rubbish tutorial in this way, as it is to make a rubbish one that teaches the language in a more abstract fashion.

</comment><comment><USER22> Agreed. As somebody who has self-taught / is self-teaching, many of the guides become very complex very quickly. I'm fine with that now. At the start it was a frustrating experience, and I'm one of the people who wikipedia's everything he doesn't know.

There's no problem with books set for different levels. In-fact, I hate those beginner books now as they move too slow. The issue I see is most publishers incorrectly bucketing their guide as beginner-level, and either going too deep too fast or writing code without explaining the mechanics.

I've seen many people get frustrated, lost and give up as a result. You can argue they didn't have the mind / passion for this type of work, however I observe many people who stop before they get started.

</comment><comment><USER23> In my opinion, the problem with programming language tutorials (especially those found on the web for free), is that many are written by people who are not that great of technical writers, and even less so at keeping the reader's attention.

The best programming books/tutorials I've read motivate the reader to ask questions and perform hands-on experiments, all while being as accurate & comprehensive as possible.

Language tutorials do not need to be dull walls of text, that's why I'm a big fan of the "Do X while Learning Y" tutorial style, and am glad whenever I see a good one pop up on HN.

</comment><comment><USER24> I've been teaching/tutoring people on how to program since my high school days. One of the best tools I've come to rely on is being able to show my student what the end result of the program looks like and how it behaves. Its often much harder for people to realize what you are trying to do with specific lines of code without having seen what the end goal is. Having seen the final result and working backwards along side you to figure out the bits and pieces that would be required to make the end result work is something far easier and more natural for people based on my experience.

</comment><comment><USER25> I'm sure this isn't a new thought, and I will also admit I didn't finish the article so this may have been brought up, but I strongly consider 'teaching someone to program' and 'teaching someone to program using language X' completely different topics with very little common ground that must be taught using entirely different methods.

The first few paragraphs of the article point out problems with some tutorials/manuals for languages getting too deep too fast, but I like that feature now that I know (in some manner) how to program.

</comment><comment><USER26> _If you want to learn to play guitar, the wrong approach is to pick up a book about music theory and a chart showing where all the notes are on the fretboard._

I found music theory knowledge very helpful when learning how to play guitar. In fact, if somebody knows what intervals a minor triad and a major triad are made of, and they know what note each string of the guitar is, then they can work out how to play a _lot_ of chords.

<comment><USER16> Did you already know an instrument?

<comment><USER26> Yep. I learned music theory in the course of learning to play single-note woodwind instruments. There's a lot of focus on scales and intervals.

</comment></comment></comment><comment><USER27> imo, Learn X The Hard Way does this exactly right for people completely new to programming.

<comment><USER28> I absolutely agree. Every time someone around me wants to start programming, I introduce them to Zed Shaw's books, and none of my friends disliked the experience. His pedagogy is lightyears ahead of most technical books writers.

On the other hand, it's good that some books do actually target people with a programming background, but this is not really a problem anymore, since those people know where to find good books. Stackoverflow threads about books are here for that.

</comment></comment><comment><USER29> I completely agree. Learning to program myself, and pushing beyond the initial jargon barrier is painful. I keep looking for practical tutorials, but they don't really seem to exist. I want purposeful, hands-on learning. Without that in the beginning, there's nothing to attach the theory/knowledge to and it falls out the other ear. Show me what these things do and my brain will want to do it!

</comment><comment><USER30> I believe that when you set out to learn something, the onus is on you to find the best ways to appropriate the knowledge. Do not expect knowledge to be imparted onto you, it's your role to reach out to it. A lot of the time it will be a painful and exhausting thing, but that's natural.

If you set out searching for easy learning, you'll only get frustrated and limit your options.

</comment><comment><USER31> At the risk of sounding like a jerk, I notice that the author focused on Lua and Haskell. While I think that both Lua and Haskell are useful languages, I think they are rather poor choices for beginners. Consequently, I think that the people who wrote the tutorials deserve the benefit of the doubt - <USER2> somewhat doubt that they wrote their tutorials for complete newbies!

<comment><USER16> Haskell I understand, but why do you think Lua is a bad choice for beginners? It seems ideal to me: simple but fairly powerful, with little to no historical cruft. Do you have some experience with watching new programmers figure out Lua?

</comment></comment><comment><USER32> This is why I really like Udacity's classes. Even though I have used Python in the past, starting from scratch and building a small search engine is awesome, and bits and pieces picked up along the way are really helping my comprehension of the language.

</comment><comment><USER33> Just look at the manual for authohotkey, for an example of how to teach to nonprogrammers. Hello world in ahk: !h::send, hello world Will type hello world in any editable area in any application on alt +h Amazing feeling for a non programmer.

</comment><comment><USER34> I first picked up "C++ for dummies" when I was 12. I really tried and struggled, but they didn't really explain much.

Ended up dropping C++ and learning Python years later.</comment>


Building Your Personal Brand Online - <AUTHOR> http://changethis.com/manifesto/show/40.04.BuildYourBrand

<comment><USER2> Some hilarious marketing speak here:

"You must first gain clarity about your personal brand"

I chuckled at the pompous language, but it probably is true that "digital dirt" can harm your reputation, and that many people will Google (or DuckDuckGo) you for all sorts of reasons.

So I will now depart to gain clarity about my brand - or just merely return to coding.

</comment><comment><USER3> That's from 2007, pdf link:

[http://changethis.com/manifesto/download/40.04.BuildYourBran...](http://changethis.com/manifesto/download/40.04.BuildYourBrand)

</comment><comment><USER4> Well good luck with that - I am a painter, a photographer, a farmer, a bicycle store owner and a private security guard, etc.

And that is from the google page, above the fold only.</comment>


What's the best way to find testers for my new iphone app? - <AUTHOR>

So here we are after busting our back on an app for the past two months. Its a location-based dating app. Its still a bit shaky, but before we put more time into it, I really want to know what my target audience thinks about the app and its functionality. It's been built for folks between 18-30 years of age
Basically, I need to go out and talk to these prospects and watch them use the app and prioritize future functionality (or remove functionality :))
I've been told by friends that the best way to do this is to reach out with an ad on craigslist. This route costs about $10-25 per hour per person. We're doing all of this on a shoestring, so was wondering if you folks know of a better way to get a focus group put together on the cheap, or for free. (I am working with friends, but am worried about bias from that quarter)
Thanks so much for your help. <comment><USER2> Why not put an ad on Craigslist looking for testers (for free) and they can email you for a free download code from itunes? A lot of people would try it if they thought they were getting something for nothing.

Alternatively, post free download codes here and you will also probably get a lot of people glad to install the app and poke around.

</comment><comment><USER3> How about hanging out at your local Starbucks, and offer to buy people a cup of coffee if they spend 10-15 minutes checking out your app and giving you some feedback? A bit scary for the introverted hacker, I admit. But I bet you get enough people to take you up on it to make it worth your while.</comment>


Haskell: Let the Type Inferencer Work for You - <AUTHOR> http://blog.mariosangiorgio.com/2012/12/17/let-the-type-inferencer-work-for-you/

<comment><USER2> I don't get this line -- _"the Haskell compiler will complain because we still miss the definition of the type of the function."_

That's not true. The compiler will give the function the most general type it can infer, which in this case is

        holds :: Eq a => UnionFindElement a -> a -> Bool

without you needing to specify it in the file.

The _point_ of the article is sound - using the interpreter to ask for types is a great way to work (and often leads to surprising realizations which can lead you to generalize and abstract your code), but the _reasoning_ is spurious. Most of the time, you don't need to supply types in Haskell, as the compiler is perfectly capable of figuring them out for itself.

<comment><AUTHOR> Thanks, I'm going to fix the post right now.

I have been confused by the fact that I got errors while I was not constraining the type in the right way.

<comment><USER3> More specifically, you remove your type annotations for the target functions/values entirely, and then ask GHCi what it thinks by loading the module into it.

You should then examine the result and make sure it is correct. In this case, you wrote the type signature incorrectly on an otherwise-correct function, but you will also frequently find that what you wrote is syntactically valid but has a type you did not intend at all, because it is actually wrong. For instance, it's easy to end up missing a parameter passing somewhere and ending up with an unexpected function showing up in the inferred signature.

You can also find that the GHCi-inferred type signature is correct, but not what you particularly wanted. Sometimes you may want to deliberately constrain it to something tighter than it will infer. And the other major case I've seen is that you may want to write the type signature with synonyms you've created; if you fix the type signature with those, GHCi will use them in the future if you ask for the type.

</comment></comment></comment><comment><USER4> More on how much GHC (and other compilers) can reason about resources (alternatively:infer/thorem prove from type signatures and knowledge about data structures used:

[http://stackoverflow.com/questions/11725899/is-there-a- theor...](http://stackoverflow.com/questions/11725899/is-there-a-theory-that- combines-category-theory-abstract-algebra-and-computation)

[http://homepages.inf.ed.ac.uk/bcampbe2/thesis/thesis- final.p...](http://homepages.inf.ed.ac.uk/bcampbe2/thesis/thesis-final.pdf)

[http://research-repository.st- andrews.ac.uk/bitstream/10023/...](http://research-repository.st- andrews.ac.uk/bitstream/10023/564/6/Pedro%20B%20Vasconcelos%20PhD%20thesis.pdf)

<http://www.cs.cmu.edu/~rwh/papers/iolambda/short.pdf>

Also, there's djinn

<comment><USER5> Djinn: "I've written a small program that takes a (Haskell) type and gives you back a function of that type if one exists."

("cabal install djinn" works to install it.)

<http://lambda-the-ultimate.org/node/1178>

<comment><USER4> Thx, I was looking for a ref:

[http://www.polyomino.f2s.com/david/haskell/programsfromproof...](http://www.polyomino.f2s.com/david/haskell/programsfromproofs.html)

</comment></comment></comment><comment><USER6> You can also get type signatures non-interactively with ghc's -ddump-types flag.</comment>


Website position in a Google search + page rank 5 back link - <AUTHOR> http://www.RankOG.com

<comment><AUTHOR> you can find web position in 160 countries</comment>