Hacker Newsnew | comments | show | ask | jobs | submit | edandersen's comments login

Macs really are some of the best Windows laptops you can buy - and now with full UEFI support Windows boots as fast as OS X.

-----


Completely disagree -- the Apple trackpad drivers on windows are awful, and on a laptop, most of your time will probably be spent using a trackpad. Trackpad++, which the author of the article mentions, can help, but it's a horrible program for the following reasons:

1. The developer requires that you put windows into "test mode" (creating a non-removable desktop watermark) to install it at all, apparently to get around code signing restrictions

2. The developer requires that you install the completely useless "Power Plan Assistant" program in addition to Trackpad++

3. The software itself is terribly buggy, causing random 100% CPU usage spikes

-----


Apple's windows trackpad drivers are indeed not that great, but I haven't seen a windows laptop yet that can provide a better trackpad experience in spite of the bad drivers.

-----


For some ungodly reason, I haven't seen any windows laptop with a nice trackpad that doesn't break in 6 months :(. At least my Acer netbooks have reliable trackpads (no gestures or anything, but ...)

-----


I nave a Dell laptop and it has a great trackpad. Gestures work consistently, I use them all the time. The only real annoyance is that the material of the trackpad is not the most comfortable for finger swiping but it's alright.

Oh pretty much all of them have better trackpad experience than Apple drivers on Windows provide. Under OS X the trackpad is stellar, but on Windows the drivers are just awful.

-----


The multiple finger related functionality doesn't work that well under Windows, but simply moving the cursor feels a lot better than most Windows trackpads I've used.

-----


You're completely correct, and it's unfortunate that you're being downvoted. I'm guessing this is due to idiots who have never used Windows on a Mac laptop and think they know more than they do.

As a universal, parent's claim is patently false. I have an Lenovo X1 Carbon that is a testament to how crappy a trackpad can get. I have had a few PC laptops in the last 5 years (HP, Lenovo) but have never found one with an adequate trackpad. So, if could you please tell me which laptop I should try? This is quite easy to test.

I've heard good things about the new XPS trackpad, but haven't been able to try one in the wild yet.


Your issue is that you're misunderstanding the parent comment's claim. Izacus didn't claim that Windows laptop trackpads weren't bad -- the only claim made was that Apple trackpad drivers were worse. I've used a few friends' windows laptops, and while their trackpads certainly weren't good or perhaps even adequate (to borrow your term), they were without a doubt better than the Apple-laptop-running-windows combination, which I would classify as far below "adequate".

I have an X1 to test side by side with an rMBP running windows, and the X1 is categorically worse. Heck, I've tried many PC laptops (we have access to many at work) and haven't found anything that was as usable as an rMBP.

So, just name one laptop whose trackpad is better than an rMBP, I'll go try it side by side.


Apple's keyboard layout for a Boot Camp lacks some of the accents with alt+ - the basic stuff works, but anything non-ASCII or a dead key is broken. :(

-----


Maybe... Still my Yoga 2 Pro feels and looks better than any Mac laptop I have own or seen. Touch screen is definetely a must-have to me. It is specially useful if you are developing for touch devices.

-----


Are the colors still messed up on the Y2P?

-----


I haven't had any problems with colors so far (I compared them with my wife MBP and another HP Desktop we have at home). I did have weird color issues with my desktop XPS 2720 but were driver related.

I was able to handle one yesterday, and yes, it seems so.

-----


Touch screen on a laptop. Yuck.

-----


Yeah, who wants a touch screen on a laptop that converts into a tablet? That's just crazy. Man, fuck those people for adding functionality that I don't even have to use in laptop mode, but which is essential in tablet mode.

-----


I don't want a touch-screen on a tablet, either, because I don't want fingerprints on it when I'm reading on it. Which is why my Surface Pro 3 is essentially only a laptop, because using Windows 8.1 (and 10) in pen-only mode is unpleasant and slow.

I'd say the same about a phone, but I don't spend my day staring at my phone.

-----


Can't say I've had the same experience. On all of my touch devices, I can only see the fingerprints if the screen is off and if it bothers me at that point, I just wipe it off.

Given the prevalence of touch devices these days, I'm surprised that I don't hear this complaint very often.


I don't mind a touch screen on an iPad. But my Surface attracts fingerprints like nothing else (I have generally oily fingertips--it's not a function of washing, it manifests very shortly after I wash my hands), and it's really hard to keep it clean. If I use it for a full day, I probably wipe it down six or seven times. It's super distracting when I'm writing code or something.

What's the problem with additional functionality on a laptop screen?

-----


Nothing. I retroffited a soda fountain on mine.

-----


Well if it as light as the increased weight from the addition of a touchscreen, I wouldn't mind having two!

However on a serious note, its not as bad as you think. Just have to get used to it and once you do that, there won't be a going back. Think of it as something that is supposed to complement your existing workflow and not as something that would replace it. You know like have a voice assistant on your phone, you don't have to yell everything at it, just some quick look ups.

-----


I disagree, strongly. It is precisely as bad as he thinks, and what makes it worse is that it damages the viability of a pen-based workflow (which I am in favor of, because I do a lot of visual stuff and I use OneNote quite a bit).

I want to be able to disable it entirely and not smudge the crap out of a screen I'm trying to work on, but it's effectively impossible and when you do disable it it all falls back to keyboard controls and leaves you with a garbage pen exeprience.

-----


I 100% agree. My Mac Pro is an amazing machine to run Windows. While I still prefer the workflow on 10.10, I am far from unhappy when I have to switch to using Windows.

-----


For me, the only thing holding them back is not being able to switch between discrete and integrated graphics on Windows.

-----


You can switch between them, usually using the control panel setting of the discrete graphics card (Nvidia in my case)

-----


Manual switching? Ouch.

So that means by default high battery drain, heat issues, and having to manually switch on the discrete graphics card by hand every time you visit a 3D-utilising website.

People have been complaining about no auto-switch in Windows on Macbooks for years, yet they haven't fixed it. Tons of other laptops already support it (inc. Thinkpads).

Apple keep Windows "bad" on Macbooks on purpose. It is the only explanation for all the driver issues they have (but no other laptop manufacturer has).

-----


does Windows 10 still support old legacy BIOS?

-----


Picture of the April Fool's prank: http://m.imgur.com/BeHi1H9

-----


This is actually pretty funny. I mean, how can you not realize this is a joke?

-----


It sounds legit up until the part where you're supposed to take a picture of todays date on a calendar

-----


It's interesting that the author mentions only one of the the error codes (0x000000aa) but not 0xdeadbeef, which was an obvious giveaway to me that this isn't a real error.

-----


Remember folks that if you are in open plan offices, most of the time they pump white noise through speakers in the ceiling to prevent sound travel. Think about that for a second.

-----


I think the full screen pop up (on mobile at least) asking for 3 USD a month to support "high quality independent journalism" rubs the salt in the wound a bit. I too had to stop reading it.

-----


We are fixing, it's a translation. Thanks so much for your help!

-----


https://github.com/Microsoft/msbuild/commits/master

3 commits. Because MSBuild just happened.

The whole point of open source is that you get to go back and see how the software evolved. Git blame. Everybody learns.

-----


The historic commits might contain things unsuitable for relicensing.

Also, never before have I heard such an absurd claim as to what the purpose of open source is.

-----


I think it is an interesting perspective. What would you say the purpose of open source is? If not purpose, you can call it an attractive property.

Let say you have the sources of an algorithm implementation, but they are unreadable because the variables are not named, you don't know the name of the algorithm getting implemented and so on. Of course this is a lot harder to understand than code which cites its references (like papers and so). Wouldn't this qualify as being able to "see how the the software evolved"? Granted, VCS history is only a small part of this, but I think it may help cause it would show what improvements were done, which shows the direction of the project, showing what's important. A large part of being a good programmer is knowing what NOT to do. If you see what others failed to do, don't you think that helps?

-----


> What would you say the purpose of open source is?

The Open Source Initiative has this to say: "Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in."

Recognizing that "Free Software" and "Open Source" are terms for essentially the same thing originating from groups with slightly different goals, the FSF says this about Free Software: " Free software is about having control over the technology we use in our homes, schools and businesses, where computers work for our individual and communal benefit, not for proprietary software companies or governments who might seek to restrict and monitor us." [1]

Seeing the past history of a project before the point at which it was opened is somewhat related, but not necessary, to the motivation cited by the OSI, and not, as I see it, even related to the FSF motivation.

[0] http://opensource.org/about

[1] http://www.fsf.org/about/

-----


> The whole point of open source is that you get to go back and see how the software evolved.

Its really not. Its a potential -- and perhaps significant -- side benefit of open source in some cases, but its certainly not the main motivation, much less the "whole point".

-----


So, what about LibreOffice/OpenOffice when it was open-sourced from StarOffice?

Or Blender?

Are they worthless because you can't see how it originally got developed?

-----


Nobody is seriously going to fork this and create their own port of MSBuild, possibly one of the most mocked and reviled parts of the .NET ecosystem. I do however congratulate the ground level MS staffers on the effort it likely took to convice the Risk and Legal departments that open sourcing something like this won't make their business fail. That must have been trying.

-----


> Nobody is seriously going to fork this and create their own port of MSBuild, possibly one of the most mocked and reviled parts of the .NET ecosystem.

You're probably right. But it does mean there's one more part of the .NET ecosystem that potentially runs on Linux and OSX, and that's probably the reasoning behind this.

-----


Yes. That is the rationale, one more component for an open and cross-plat .NET ecosystem. Also, @migueldeicaza asked us for it, so Xamarin/Mono could use it. It was these two things, together.

-----


Yeah; I've had to deal with MSBuild, and I've never really liked it. I have to assume that the big motivation was that they'd prefer to port MSBuild to OS X and Linux than to port MS solution files and MS project files to CMake, Automake, or some other build system.

-----


I haven't gotten past the point of where I just hit Ctrl-F5 and Visual Studio builds stuff for me with MSBuild, so I am certainly no expert on it. But I never had the impression that people liked CMake or Automake either. I ask this not as a rhetorical question but as an actual one: are there build systems that aren't hated, or does everyone just hate the one they have to use the most?

-----


Building using a keyboard shortcut from within an IDE is just one of the many tasks a build system is required for. Another is setting up a build server that builds the projects on every checkin, deploys it on the various test servers and runs all the test suites. That requires the build system to be scriptable, idempotent (as in weird stale cache issues won't screw up your builds) and easily controllable from the command line.

MSBuild completely sucks at these tasks when compared to any free software build system such as Ant, Automake, CMake, WAF or dozens others. It was designed to be used in conjuction with Visual Studio and you very much feel the limitations of it when you try to use it from the outside.

-----


Everybody hates some aspects of some of them, in my experience. People also tend to have strongly held preferences in the build system department - it's a bit like text editors. I tend to view it as problem-dependent as to which system is better. If you're all java, you probably want a build tool designed for that language (for example.) Lisp has asdf and friends. My focus (cross platform C/C++ building) has led me to deal with autotools and CMake. I prefer CMake for 3 major reasons: 1) self contained - you just install CMake itself and you can handle all sorts of things (tar.bz2 decompression, file copying, directory creation, etc.) automatically and portably. No need to first install Python or Perl or... whatever for Windows. From a Linux/*BSD perspective, developing on Windows is like crossing the Sahara - you need to carry your own supplies. CMake packs a lot into a small, self contained package. 2) Learn one language and you're done. Would it have been better to go with something like lua? Probably, in hindsight (my opinion). However, compared to the mind bending complexity that is sh + m4 + automake + autoconf + ... CMake is (in my experience) quite a lot easier to get a handle on. 3) Wide support for many platforms/tools (Visual Studio, Xcode, ninja, make, Eclipse, etc.) from one common set of build definitions. The maintenance savings really add up if you need to support all those tools - Hunt and Thomas's DRY principle in action.

-----


I'm a fan of CMake for C++ as well, but have also worked on projects that included C++, C++/CLI, and C# and unfortunately CMake support for .NET projects is close to non-existent (there is some, but it's woefully inadequate). I managed to get it to work, but in a very non CMake way (basically generating the .csproj files by replacing variables within the XML with the appropriate value).

As for MSBuild and VS - I thought that Visual Studio actually compiles things with devenv.exe, rather than MSBuild. I remember working on a project where I was trying to set up Jenkins CI to build our projects and MSBuild wouldn't work (because the environment wasn't set up correctly), but using devenv.exe instead worked perfectly.

-----


The CMake language is just an atrocious mess, but that gets easier with time. The main problem with CMake on Windows is that it is really really slow for large projects (because it has to call back out to CMake to do all sorts of basic stuff) and that debugging CMake errors is horrifically hard (this has improved in recent MSVS generator integration, but I'm stuck w/ VS2008 still).

-----


SBT has issues (I'd say performance primarily), but works really nice for what it does, IMO. Virtually no configuration required (for a simple project you only need to specify dependencies and maybe import IDE plugins), scriptable in a full JVM-based turing-complete language (Scala), sane per-project dependencies (packages are cached globally for the user, but whitelisted classpaths are dynamically generated for each project), and a consistent design (SBT plugins are really just library dependencies of the build itself, for example).

-----


There is exactly one build system I have ever liked. It was the one they used at Google. Unfortunately it's not available outside of Google so I don't get to use it now.

However if it ever became available outside of Google then I would use it absolutely everywhere.

-----


I was working on adding unusual steps to the build. Things like "run the Protocol Buffers compiler on these files" (which, in the end, I just did through a batch file), and making sure the solution could be built on our CI server (at the time, that was Cruise Control but we eventually switched to Jenkins). It was no worse than Apache Ant in my experience (but I'm no fan of Apache Ant).

The project I worked on was relatively new. Another project had been started in Visual C++ 6 and upgraded multiple times over the years. Occasionally, somebody would go through the solution file and project files to see if we were doing silly things because of this evolution (e.g., defining rules that weren't ever used). And we had two or three ways of setting paths so that developers could check out the code and build without worrying too much. Especially when it came to projects that needed DLLs from other solutions.

We were able to reduce the amount of annoying things to a tolerable level. I believe they moved to something like NuGet (for some things) after I switched jobs.

-----


I straight-up like autotools, even though it's a bit warty.

-----


I think some javascript build systems are getting better, like Gulp. I'm starting to think that most build systems could/should be written in javascript from now on since you then have a scripting language that probably will run on most systems.

-----


I like autotools more than MSBuild if that's any reference...

-----


I admit this is biased, heavily so in fact, but most of what I know about autotools comes from this:

http://voices.canonical.com/jussi.pakkanen/2011/09/13/autoto...

Which... the reason it sticks out with me is that really good rants are a lot more memorable to me than people talking about what software they like, which is probably not a fair way to evaluate software.

-----


I liked https://www.varnish-cache.org/docs/trunk/phk/autocrap.html myself.

-----


The reasoning is likely that there is now an internal KPI for open sourcing code because it helps MS PR.

-----


I doubt that it's anything as ephemeral as "public relations" that's driving this. They want developer mindshare. Having developers writing for .NET means more software available for Windows users and for Azure services. That means more people buy Windows devices and Azure time.

-----


It's not just PR. Open sourcing brings real benefits—look at the development around LLVM.

Good tooling helps everyone.

-----


Will no doubt help realize the synergies and strategic alignments that were previously synthesized by Nadella.

-----


While I agree, having access to the source of your build tool can be invaluable for debugging odd issues. So while no one will ever want to fork this they may use it as reference and/or for debugging.

-----


I definitely look forward to being able to check the source for all the things with zero meaningful documentation beyond a few old blog posts and a book.

-----


Yeah, I've never written anything in .NET but I know from experience the pain of sub-par documentation. Thankfully most of the stuff that I work with is OS so I can always dig into the code if the docs are lacking. Glad that now .NET devs who use this can do the same!

-----


The value isn't in creating a new version of MSBuild. The value is in getting PR's merged into mainline. If you've ever done any CI based work, you'll know how valuable this release is! (says the ex .NET developer)

-----


What's wrong with MSBuild/XBuild?

I just type "msbuild" (or press F5 in VS) and I get result .exe file in 0.2 second. On Linux I type "xbuild" and it's the same. You can use Visual Studio without even knowing msbuild exists. Just occasionally a pre-build or post-build script needs to be added.

Makefiles, Gradle or CMake are much slower and very complicated.

-----


MSBuild is a nightmare to debug if you end up writing even moderately complex MSBuild project files. It doesn't help that VS has a completely different implementation of MSBuild which is subtly incompatible with the command-line MSBuild.

Also, setting up proper dependency tracking, so that builds are incremental, is considered an "advanced topic", and is extremely difficult to get right in the presence of various kinds of generated files in the build. In these cases, it is much, much slower than a modern build tool like ninja.

MSBuild being open source is going to save countless hours of building workarounds for bugs that have been acknowledged and gone unfixed, or debugging strange problems.

I'm happy to see that it's happened, but would have been much happier had it happened a year ago and saved me months of build system hell.

-----


AFAIK, VS uses the same implementation of the MSBuild engine but has some sleazy (buggy) performance optimizations. Add the property DISABLEFASTUPTODATECHECK=1 to get the same behavior.

We found this allowed us to eliminate differences we saw and found hard to track down and infuriating:

https://msdn.microsoft.com/en-us/library/vstudio/ms171468%28...

-----


Thanks!

For some reason, when I was wrestling with that problem, all I could find was other people on forums with the same problem, and an acknowledgement that MS tried to keep the differences minimal. (I think, too, that some of the larger discrepancies must have been fixed with newer releases of VS... I recall things breaking even with VS's regular build command, not just when debugging.)

-----


Informative, thanks. I have never ran into problems like that so I wasn't aware of problems with it. Thanks.

-----


Crusty old GNU Make can be made to be very fast, even for large projects. It does take a bit of doing, however.

-----


> Nobody is seriously going to fork this and create their own port of MSBuild

Except only a little project known as Mono [1]

> possibly one of the most mocked and reviled parts of the .NET ecosystem

News to me, people generally seem to like it.

1. https://twitter.com/migueldeicaza/status/237615174863958016

-----


I wonder why they revile it? I have projects that build under it on the command line for when I want to do a scripted release build and not suffer VS2010 (I use it at work, out of my hands).

I haven't had any problems with it; at least it doesn't sit there and silently fail like xcodebuild does on OSX sometimes!

-----


Msbuild is a fantastic system. But it's incredibly horribly documented so it's difficult to know how to use it correctly.

-----


> Nobody is seriously going to fork this

https://github.com/Microsoft/msbuild/network

-----


I said "seriously".

-----


At least two of those currently have branches checked out with the word "fix" in the branch name. I'd wager that the owners of those forks are using them to fix something, hence "seriously".

-----


One of those two is my fork and yes I did it to fix something, but edandersen's point was more geared towards a real fork (i.e. something that takes the project into a different direction) instead of the fork that GitHub requires to send a PR.

I agree with him, we already have a bunch of popular .NET build tools other than MSBuild like FAKE, basing one off of MSBuild doesn't seem to add a lot of value imho.

-----


I mean, it's not like people are forking gcc daily. Not all open source is valuable because of the forks.

-----


People committing to gcc probably have workflows that predate github. I think there are many "forks" that are just done as fixes on a local machine then sent directly as a patch.

-----


Sorry, I wasn't talking about forks the github term, I was referring to forking the project. It's useful to have open source available just for maintenance.

-----


> Nobody is seriously going to fork this and create their own port of MSBuild

No, but at least I can try and fix any bugs I come across instead of hoping MS takes my complaint seriously.

-----


Typical 'let me mock this because hating on MS on HN is cool'

Can you name one build system that people like, and concretely compare how its better than MSBuild, please? Once you do that, please feel free to omit the perfunctory thank you to look unbiased.

Also, this would now be community developed, let me know your github handle and I'll see what contributions you made to make it better (oh wait, that would require actual work and give you 0 internet points)

-----


My GitHub handle is the same as my HN username. Go nuts. You'll notice I mainly write .NET software but I won't be contributing to MSBuild. MSBuild is becoming irrelevant with ASP.NET 5 and Roslyn.

-----


Is it becoming irrelevant for C++ projects though?

-----


No. It's also very much not irrelevant if you build non-web software. (I do games with .NET, and that's not going to be replaced by the kproj stuff anytime soon. Which is kind of a drag, I like that stuff, but such is life.)

-----


Given the abuse and name-calling directed at another person further down in this thread posting under his real name, combined with the persistent attacks on any comment that is perceived to be in any way a criticism of Microsoft, I can't imagine why anyone would ever post under their real name around Microsoft fans.

Edit: I'm just going to point out that even this comment has been downvoted https://news.ycombinator.com/item?id=9230140

I'm not sure what you guys think this kind of nasty behavior benefits you or your favorite company, or why you believe people don't notice and aren't going to do something about it.

-----


Do you mean the guy that made fun of the company for open-sourcing their product by posting a PR that completely replaces it with another tool?

He was being incredibly disrespectful and he got called out for it. If he wasn't being such a prick in the first place, maybe people wouldn't call him one.

-----


> If he wasn't being such a prick in the first place, maybe people wouldn't call him one.

There we go. Posted straight from Redmond, no less.

I'm not sure where you guys get off calling another commenter "a prick" over and over again, along with other insults, for a joke pull request, given there is a long history of people (including pretty notably respectable people) creating them. I even listed some in another comment you guys can keep downvoting (because apparently my comments are worse than personally attacking other commenters): https://news.ycombinator.com/item?id=9229987

-----


I was using the same wording that the other commenter used, because that's what he was. If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.

It's a joke PR, sure, but he was being disrespectful. He was insulting everyone who has worked on the product because he feels it's crap. He's entitled to his opinion, sure, but at the same time, he didn't have to state it the way he did. Just because it was a joke PR does not suddenly excuse him from his actions. It's not like it suddenly makes things okay.

He straight up made fun of the product, in a disrespectful way, and was called out for it by the community. You are free to disagree, sure, but there's a reason people reacted the way they did.

And furthermore, my location and the company I work for are completely irrelevant to this discussion. I'd appreciate you not bringing them in. I speak for myself, not my employer.

-----


Joke pull requests waste the time of people who have much better things to do and demeans the immense effort it takes to drag projects to open source at large companies. Being called a prick for doing prickish things is a very light response, and in a functioning culture (one of which which software developers rarely do more than pretend to aspire to, but that's nothing new) it might even be enough to teach him to not do so again.

You know the best part, though? I've probably perturbed more electrons on why MSBuild is a horrible build system, and how its integration with Visual Studio will happily destroy many types of changes in .csproj files, than most people here. My life is worse when I have to deal with it. But despite that, I somehow manage to not cape up for jerks who hurt people. Isn't that weird?

And not one of your "pretty notably respectable people" is a person for whom I had the time of day before you alerted me to their penchant for screwing with other people for fun. A list of meaningless names to buttress the case for hurting other people is remarkably unpersuasive.

-----


Please don't divert my comment. His argument was wrong, it doesn't matter who he's mocking.

-----


That's his day rate, not hourly rate. It's pretty standard for senior, competent contractors in London.

-----


Whoops, duh, you're right.

My point was that he's not hurting for work in general, so this story doesn't really have bearing on the talent shortage.

-----


They should also mark as Non-Secure the situation when you are being MITM attacked by your employer - custom root CAs on Windows boxes are quite common.

-----


Samsung and co ship non-smart TVs with exactly the same panels for hundreds of dollars less than smart TVs of the same size. Just buy non-smart TVs and couple them with a decent AV amp and games console and you can replicate all the smart TV nonsense with other devices.

-----


If someone could create a SHA256 collision just for that, we'd have bigger problems.

-----


To be specific, if you can create an arbitrary primage for sha256, you could pwn all digital signatures that sign a sha256 of the message. So in particular, you'd own all TLS connections and certs that use sha256.

-----

More

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: