Is there any more impressive open source project than Wine? I mean, yes, the Linux kernel itself and maybe GCC, but Wine just blows me away. The sheer audacity of sitting down and deciding to reimplement the entire Win32 stack including bugs to the point where DirectX is reimplemented in OpenGL and everything runs natively is just unbelievable. It's truly a testament to open source. No business would initially fund a project like this, it's nuts. And yet it exists, and continues to improve, and now companies like Codeweavers are built upon it. Congrats!
It goes both ways. I wrote a chunk of code for reactos years ago that got pulled into wine, had some fixes done by other folks in wine and then those fixes pushed back to reactos. Both are audacious, with different goals but extremely similar work along both paths.
>The Longene is a free, open-source computer operating system kernel project intended to expand the Linux Kernel to be binary-compatible with application software and device drivers not only made for Microsoft Windows but also made for Linux OS. This will enable the Windows application running on the Linux operating system highly effectively.
Not sure how active this project is. The last binary package released was from 2012.
It really is amazing. I run office 2007 without issues on ubuntu. As well as some obscure utility windows software without issues. WINE really is a damn great open source project.
I agree. If you forget about gaming, I think that Office (and possibly Photoshop) are Windows' killer apps.
Although for those of us that don't pirate movies, a Bluray movie player app would also help...
Yes, you can install office 2007 without issues. Office 2010 not so much in my experience, it installs and works fine but apparently the office 2010 software component that validates the license doesn't work quite right. Not on my setup anyways.
I haven't seen the inside of either project, but Wine seems like a much more difficult system. Cygwin is able to port large amounts of their stack from existing software (mostly gnu), whereas Wine needs to reimplement almost the entire stack. Furthermore, Wine needs to maintain binary compatibility whereas Cygwin only attempts source code compatability.
Win32 is a much, MUCH larger beast than POSIX. POSIX is a fairly small specification compared to Win32. A lot of the useful stuff on Unices is vendor-specific, but a lot of software is written with portability in mind so not a lot of them require vendor-specific APIs.
Countrary to Windows. You wouldn't believe the enormous amounts of stuff that Windows has, and apps rely on almost everything they can rely on. COM is huge. DCOM is huge. DirectX is huge. The list goes on and on.
Really, that's my answer. Win32 is Raymond Chen Land, Fear and Loathing With Backwards Compatibility. SimCity relied on internal details of how the kernel managed memory such that it reused memory it had already freed and they kept it working. MSFT modified the Windows kernel to avoid breaking it.
Torvalds is Chen-like in his adamance that the kernel can't break userspace, but Torvalds never had to deal with Windows 95 and the strange MS-DOS-derived world it inhabited. Linux never had to deal with 16-bit x86 code, so it was always able to keep its internals private, limiting the random stuff user programs could end up relying on. Win32 offers no such consolations.
I'd implement POSIX on top of Win32 any day to avoid the alternative, with the caveat that some things are flatly impossible and some things are possible but will never be efficient.
> Can someone actually explain to me what Cygwin does internally? Doesn't Windows already implement POSIX?.
Used to. Subsystem for UNIX Applications is now deprecated.
Cygwin runs on top of Win32, and its library functions call into Win32. Thus, it is strictly a compatibility layer.
Whereas SUA runs alongside Win32 and does not depend on Win32 APIs. Thus, it is theoretically a replacement for Win32, for people who wanted to run a UNIX environment on top of the NT kernel. Practically, however, it was used primarily for application porting.
There was even an impressive security vulnerability shared between Windows and WINE [1]! The bug was a particularly nasty failure of the file specification and allowed you to jump to and start executing an arbitrary memory adress by design.
Anyone rmember WABI that Sun did long ago (I have a Linux version floating around somewhere). Although it was Win 3.x only, it did a decent job at the time.
"Wabi required a Windows 3.x installation in order to work, meaning that it would also require a Windows license, unlike similar software that endeavored to implement the entire Windows API, such as Wine. The basic premise of the product was to provide an emulation of the lowest layers of the Windows environment in the form of the user.dll, kernel.dll and gdi.dll libraries. As all other Windows dlls depended on these three modules, cloning this functionality allowed Windows applications and their associated support dlls to execute correctly. This approach, as opposed to a full replacement, was thought by the engineering team to be the only rational methodology for success given both the size of Microsoft's ever-expanding efforts and the difficulties of the emulation being precise enough to run commercial grades of software."
Why the fsck are all of you people commenting running OSX? We were fighting for a free, open OS, remember?
I really can't understand why hackers, coders, etc are happy to sign up to the shit Apple are doing. I do understand that "normal" people love Apple, but I just can not understand why coder people, who grew up learning to code in a GNU world (like me) can succumb to go Apple.
I'm someone who used desktop Linux exclusively for 10+ years before switching to a MacBook Air running OS X.
I made the switch because I no longer had the time and interest in maintaining my OS - I wanted it to just work. Much can be said for Linux distros' improvements in hardware support over the years, but it pales in comparison to paying for a superbly built computer (even Torvalds uses an MBA) and never having to think about hardware compatibility or OS breakage again. That's worth the (significant) premium in cost for me, and it is worth it for many others on HN.
(This is only on the desktop side, obviously; I use an Android phone and run Debian/Ubuntu on my servers.)
I used that same excuse to switch to Mac, but found that OS X really didn't "just work" and that there were tons of things that needed extensive configuration to get to work properly.
Now, I'm on a Chromebook Pixel, and I can say safely that it's the only computer I've EVER used that really lives up to the "just works" mantra. To top it off, it actually is Linux inside, so for someone like me who uses a Linux VM on OS X most of the time, all I have to do is install crouton, do startx and go with Gnome 3 (which is quite polished now).
That's been my experience. I use OSX, but am regretting it after a few years of it seeming interesting. I think it really was superior years ago when Linux had bad wifi support, but nowadays it seems like it's not going to be my next machine. The experience is so bad that I spend much of my time inside a Debian VM inside Virtualbox inside OSX! The package management sucks: the OSX app store has a fairly narrow range of things, and then brew/Macports/fink have a different range of things, which don't install or work nearly as reliably as the stuff I apt-get inside a virtual machine. Setting environment variables requires a weirdly extensive intervention (http://stackoverflow.com/questions/135688/setting-environmen...). And the difference between the base-install python/perl/ruby and recent versions installed via non-Apple means is an unnecessary hassle. Etc.
Similar experience here as well, but it's eons better than linux on laptops. Just getting linux to support your laptop's video card for multi-monitor displays is a complicated beast already. I would rather deal with crappy package management than deal with driver level problems.
I used to feel this way as well (except I'm a Windows user), until I read the `man` page for `xrandr`. Wrote a little script to automate everything, and I don't even remember the frustration I had before.
It really depends on the laptop. If you are fine with mass market (i.e. likely supported) hardware rather than 2 month old bleeding edge cards you will likely be supported. I'm happily running ubuntu on an Asus VE248H - everything worked out of the box (after the install), including multi monitor support. I'd give up my OSX desktop (powermac) at work for ubuntu in a heartbeat (in fact I have a virtualbox install on it for when I really hit the limits of OSX.)
It's hard to get it to work with optimus-like systems, where the external video ports are not wired to the integrated gpu, and you want to use it by default (which is something you want if you care about battery life at all). Otherwise, yeah it should work out of the box.
Have you tried MacPorts? I use Linux extensively in the server side but really don't like using it as a development machine. I'm using a rMBP right now.
I've just been setting up MacPorts and pkgsrc side-by-side and though certainly have not plumbed the depths of either, I'm finding MacPorts to work better and have more packages.
Never really understood the appeal of brew. I tried it several times, ended up wasting a lot of time looking for the recipes. I might be using it incorrectly.
I do enjoy using MacPorts because I can quickly search the packages from their website.
brew just seems like a less mature macports. most of the differentiating features have disappeared as brew gradually discovered the same problems that macports/fink had already learned over the past decade.
if you're bypassing the ChromeOS by installing a full Linux stack then aren't you undoing the "just works" part and you're back to the same issue of "maintaining" an OS. And its a very expensive machine for what you're getting. The Air is less expensive for more hardware, and you get a real operating system.
Not quite. Around 70% of the time, I'm in pure Chrome OS. The 30% I start a GNOME 3 session is to edit in Sublime and do some light image editing, and since GNOME 3 is pretty much full-GUI now without many config files, it's one setup and done.
I used to use a dirty hack for that (https://github.com/agravier/chromarch), but it was developed for the first generation of Samsung chromebooks, I don't know if it would work on the latest ones.
No, actually it isn't. A chroot environment to run Sublime and a few other GNOME applications is not the opposite of "just works." You're going to have to do a hell of a lot more configuration in OS X than in Chrome OS if you want to run X applications.
First of all, why would I want to run X applications?
That said, let's say I do -- so I download and double-click the MacPorts installer, and then run 'port install' to install an X11 app from a binary package.
Because of using the Samsung Chromebook for a while with ChromeOS, I started getting very used to that way of working. I write code 70% of the time, which is not very nice on a Chromebook indeed, but because Crouton is a chroot, I ended up with a rsync/git chroot which takes a few minutes to install and is almost always synced with my server both at home and at the colo. For most of the work that $249 thing is just definitely good enough. And if it breaks / gets totally destroyed / whatever, I have everything back in no time and ready to work.
The Pixel with the 3.9 kernel is really incredible - it just works with linux. Every single thing works flawlessly - suspend / resume, kernel mode setting, wireless, sound, touchscreen, display backlight. The weight, screen and battery life make the package even more compelling. I liked the macbook pro I had from work quite a bit, but this is the first laptop I have that I love using.
I gave up on Ubuntu when I could no longer have faith that my environment would be recognisable from one release to the next. For me, and my mother, that's a very important part of "just works".
Some would say that is the meaning of being stagnant. If you want something that "just works" in that the environment is recognisable, use something like Redhat.
You caught Ubuntu (or Fedora or other distributions that moved to GNOME 3) were on GNOME 2 greater part of the last decade. A breaking UI change had to be done at some point, and it happened to be 2 years ago. Even on macs, there was a huge overhaul going from OS9 to OSX in 2001.
You can make a point saying that you don't like the new UI. That will be a much more sound argument than saying the environment is changing from one release to the next.
If you want something stable that doesn't change much from one release to the next, you could just not upgrade. Ubuntu LTS releases are supported for 5 years, and that support includes backporting hardware-enablement work.
Sticking to LTS releases was actually the worst way to do this as it meant catching 10.04 which was effectively a "one off" UI, resulting in two changes to the UI rather than one big overhaul.
My mother started off on 8.04 LTS. When upgrading to 10.04 LTS the window buttons changed sides and there was a new theme (this is enough to throw many users). When upgrading to 12.04 LTS there was a change from Gnome to Unity.
My mother now chooses to use a Mac because she was fed up with her computer "changing" each time I updated it. I doubt I could convince her to try any Linux distribution again - there are no perceivable benefits for her.
I feel like 10.04 was a real high point -- I was running it the desktop for a long while, and the netbook edition was great on smaller screens. The netbook shell was a one off, it only was 10.04, and I think it's nearly impossible to install now. Unity was a descendent of it, but (IMHO) going the wrong way.
You can always install a different windows manager and stay with a Gnome-like interface (Cinnamon). I don't see what is the big issue with that. There are tons of options on Linux, that's the whole point of the system, it gives you choice.
I use Window Maker. I've been using it pretty much exclusively since 8.x or so, and I used it before I used Ubuntu, going back to before Ubuntu even existed. It hasn't changed, and it doesn't look like it's ever going to. Your criticism sounds very strange to me.
Edited to add: Not that I think Window Maker is necessarily the solution. I'm just pointing out that the default Ubuntu repos contain a huge number of window managers and even a few desktop environments which haven't changed that much between releases.
Ubuntu has been spotty for me. Lots of breaking changes even within releases.
Using openSUSE 12.3 with 3.7.11+ kernel on a Thinkpad T530 (Intel graphics, 9 cell battery) I get 4-12 hours of battery life (depends on usage; coding and work on a dimmer brightness gets me 10-12 hours, watching movies and playing games with the brightness higher up gets me ~4-5 hours).
Newer kernels seem to have regressed as far as power consumption goes, I was trying the 3.10 kernel and getting 2-3 hours of battery life...
You need minimal effort to get these right. Powertop suggested configuration gets my X61t to 6h battery life, whereas windows gets slightly more (about 30min). Heat is not an issue, but fan control is. The correction is just installing thinkfan, for a much quieter laptop.
Really, at least with thinkpads, the just works excuse is just that: an excuse.
Looking forward to my X1 Carbon, already in the mail :-)
Unfortunately I bought into this "thinkpads just work with linux" hype and got a thinkpad - only to discover that the wifi frequently craps out because linux doesn't support well whatever intel wifi thing it comes with, and of late hibernate/suspend is broken too. It really doesn't seem like linux will ever change.
When discussing whether "linux just works" it is unfair to use a thinkpad as your reference platform. For as long as I can remember the thinkpad has had stellar linux support. The other x86 choices have only recently begun to catch up with the thinkpad and there is still some work to do.
I say this as a 17 year linux only user. I am not trying to disparage linux, I just want to point out that the thinkpad is an exceptional case.
I do not think it is a good idea to make a rule out of the exception. I still believe in the cause--I want linux to reach more users. In order to achieve the goal of wider user acceptance I think it is important to make sure prospective users have realistic (bordering on pessimistic) expectations when trying linux out for the first time.
When a reasonably prudent consumer hears "OSX runs great on my macbook" they do not come away thinking that OSX will run great on any laptop. They know or have heard that "PCs and Macs are different."
When a reasonably prudent consumer hears "linux just works, well at least it works on my thinkpad" they might get the impression that the same can be said for any other "PC laptop." For the vast majority of the computer using population thinkpads and dell/acer/etc laptops are essentially interchangeable. Unless people know of the long and torrid romance between kernel developers and the thinkpad they will be oblivious to differences between thinkpads and every other major laptop brand.
You have to buy hardware that runs the software you want to run. This has always been the case, and always will be the case; it's just in the nature of things. I can't say of my own knowledge whether a ThinkPad is the only laptop that runs Linux well, but if that is true, then obviously you have to buy a ThinkPad if you want to run Linux, just as you have to buy a Mac if you want to run OS X.
I tried to do ubuntu + thinkpad (also fedora + thinkpad), but after two weeks I still couldn't get external monitors to work, and neither could anyone in IT.
This is hard to believe. My non-technical wife can set up a second monitor on my ThinkPad running SUSE (she'll hook it up to our Plasma TV to watch XBMC). It's as easy as plugging it in... The first time you may need to change some settings under 'Displays', but maybe not.
If this was on nvidia back before nouveau, I can believe it. nvidia's drivers have never supported xrandr, so you need to do everything through their proprietary tools. My thinkpad hotplugs displays with no trouble at all these days, but I vaguely recall having trouble with nvidia's drivers about five years ago.
Fantastic; I'm glad to hear it. I've been using nouveau for the past couple of years because of this issue; sounds like it's time to try nvidia's drivers again.
In case anyone reading this doesn't already know about them, there are options for getting computers designed to work with Linux. I've heard good things about System 76, and Dell now offer a developer-oriented laptop with Ubuntu.
These options probably aren't yet as polished as Macs, but if you want convenience and still care about an open source OS, give them your support. They won't get better without demand from people like us.
I've never had a problem getting Linux to work on a laptop. That includes Dell, Toshiba, Lenovo, even HP EliteBook (pain in the ass, but running LMDE quite nicely with NVidia).
Is the argument that those machines are bad because they ship with Windows?
I'm a huge hater of MS-anything (I can not quantify my hate of Windoze), but I don't see a valid argument to support overpaying for a slow System 76 machine when I can get my i7 Toshiba for $879 and put whatever OS I want (including a hackintosh VM).
Check out Zareason - the prices are pretty reasonable. I like buying from them because they've vetted every part of the hardware to make sure that any distro you want will work on it, and they'll find you the packages to install if the weird one you chose doesn't have them.
I actually do the reverse - buy a Zareason and install Windows on it for freelance projects that I need Windows to maintain, because I know that after the maintenance window has ended on those, I can throw Debian on it without issues.
The impression I get is that major Linux distros will work on almost any laptop, but if you want it to work well (good battery life, flawless suspend/resume, no issues with graphics drivers), you still need to think about your hardware.
I don't believe that Linux can ever go mainstream through just being installed on Windows machines: for most people it's just too much effort for too little reward. And for reasons both practical and principled, I want Linux to be a mainstream option. So I support people selling computers with Linux.
I was in the same boat. Switched from mixed windows/linux desktops to Macs around 2007 or so. Switched back to Linux a couple years ago, though, and honestly it's as much an out of the box experience as OSX ever has been. Mint in particular is stellar out of the box.
You do have to be somewhat careful of the hardware you buy, but arguing that having to buy exclusively Apple hardware is somehow better than exclusively buying, say, IBM hardware to maintain compatibility with your OS is pure sophistry.
From the outside it seems that Mac developers have just as much trouble, but with things like homebrew and developer tools in general. At least if doing anything else than web programming.
Is this wrong?
If you try to continue to run Linux apps via various Mac-packaging systems, then yes you are going to have a bad time. It's the same packages and upgrade interdependencies as on Linux, plus extra breakage due to running on not-Linux.
The way forward on a Mac is to run Mac native applications. Not really a surprise -- a Windows user who switches to Linux but wants to run all the same old stuff via Wine would be better served by switching to native apps where possible.
I've tried that, but the officially blessed Mac way of doing package management, the App Store, has almost none of what I want in it. How am I supposed to switch if there is nothing to switch to? Say I want to stop using Audacity and switch to a proper Mac solution. What do I pull from the App Store?
Downloading executables remains a blessed way of downloading stuff for the Mac; I use Audacity.
I wish more free software developers would pay the $99 tithe to get their stuff added to the Mac App Store though. (Any free software guys here? I'll pay the $99 for the first one to email me at cjensen@acm.org)
That article seems to be talking about the App Store for iOS (the one you access via iTunes). We're talking about the Mac App Store that provides OSX applications.
Now although the situation might be the same, I'm not definitely sure that it is - for one thing OSX still lets you run unsigned binaries (and thus modification to source code).
GarageBand? Logic Pro X? Reason? Cubase? Ableton Live? My personal favorite is Renoise, since it's cross-platform. Any number of DAWs are available on OS X — you just have to pay for them, sometimes.
but... where's the source? Those are all closed, proprietary programs. They might be fine in their own right, but they are not free software. Audacity is free software, as is Ardour.
The better answer to this question is probably that Mac OS X is not the best platform to run free software on, just like Microsoft Windows is suboptimal at best. Given that those platforms are closed and proprietary this is not that surprising. If you want to run free software, start at the bottom - the kernel. It is not like there is a dearth of choice when it comes to running free kernels after all.
The Mac doesn't need package management, I don't know why you're insistent on it. The App Store isn't package management, it's just one way to download sandboxed apps.
Valgrind is still working on getting OS X 10.8 support working.
Each platform will have strengths and weaknesses. For example, the upcoming stuff in XCode which will let you see power usage have no parallel in Linux. If your stuff is portable to Mac and Linux, you get to use both Valgrind and XCode to improve your code.
Yes. The package management is excellent via Brew (similar to archlinux's system).
The "trouble" comes from getting the core OS to behave and play nice with the hardware. That is rarely an issue with Apple's platform, speaking from personal comparative experience.
Also, Apple's SDK for their own platforms is the currently the best around, bar none.
I do mostly platform-independent C++ stuff, using Mac OS for my day-to-day work. No web development. I am unfamiliar with homebrew. What sort of troubles have you heard about?
For what it's worth, I installed Debian Wheezy on my ThinkPad T420 last week, after years of being away from Debian GNU/Linux (I got caught by the Ubuntu bug), and I must say that I was extremely impressed; my video card, sound card, ethernet card, webcam, microphone, trackpad, trackpoint, SNES and Xbox360 controllers all worked out of the box. I had to apt-get install firmware-realtek, a non-free package to get Wifi working, but once I had downloaded it, my wireless card worked without any further configuration.
As for stability, I think Debian's reputation for being rock solid is well established and deserved. I'm extremely happy with the setup I have and with how little effort I had to expand to get it.
If you have an older machine lying around, I'd heartily recommend giving it a whirl.
It's not perfect. Mountain Lion crashed for me just two days ago. Just based on my perceptions, I'd say Mac OS stability has declined since they moved off of PPC.
The _hardware_ stability definitely did, though it has improved since. They became quite dependent on Intel for chipsets when they did that, and at the time Intel chipsets for laptops in particular were of quite poor quality compared to their old PPC chipsets.
I use Linux Mint, and it has been running for a year now without maintenance. It was convenient to use and pretty to look at out of the box, and all my hardware worked.
I assume the same is true for other Ubuntu derivatives and probably other major distros. Linux today is not Linux 10, 5 or even 3 years ago. They've improved a lot.
I also need an OS that just work and that gets out of my way. I have used ubuntu until the beginning of this year without fiddling into the system. This is the first year that I have to fiddle because I can not cope with unity. I have tried linux mint with cinnamon, ubuntu with cinnamon. It works but it is not very polished, it looks very old. This week, I have just installed ubuntu-gnome (gnome 3.8) for the computer of my old father. I has required some effort to learn how to configure it. At first, it looks fine. I just hope I will not encounter any problem.
You think I'm "fighting for a free, open OS" just because I'm on the same site as you? (The same site that looked like http://hhn.domador.net/2011/10/05/23/ after Steve Jobs died?)
OSX lets me get more stuff done than Linux (or FreeBSD, which is what I used to use) while maintaining the ability to freely develop programs in a simple *nix environment. Apple has yet to sue anyone other than blatant and uninspired copyists, so I just don't care about the issues you feel so strongly about.
My enthusiasm for Free Software died years ago thanks to the ridiculous amounts of CADT (http://www.jwz.org/doc/cadt.html) in the Free GUIs. Constant change without benefit is just not interesting to me.
Meanwhile, Apple has been advancing in really important ways that are not being sufficiently imitated by Windows and Linux: user-friendly backup; removal of the mental model where "file on disk" is somehow different than "file in editor"; unlimited file versioning; a sweet app store; mandatory code-signing.
That would appear to be standard "you must defend your trademark or else it is invalid" lawsuits. Those cases have nothing to do with software freedom.
"OSX lets me get more stuff done than Linux while maintaining the ability to freely develop programs..."
And Windows might be getting you more stuff than OSX, but that was not the point for GNU world, wasn't it? It was about the free and especially the open part.
"Apple has yet to sue anyone other than blatant and uninspired copyists"
Let's keep a little less brazen attitude about tech and engineering, shall we? Just because lines were crossed in the dark age doesn't mean that those lines aren't in place any more.
"Meanwhile, Apple has been advancing in really important ways"
I do not deny true innovation, but we all know that the reason for some matters being "really important" is sole for just being Apple-related.
"that are not being sufficiently imitated by Windows and Linux"
Might it be that not all Apple "advancements" are worth to be "imitated"?
It's not my intent to acquire credibility, it is to rise awareness. I got a lot of down-votes in my past comments when I emphasized the use of subliminal Apple-promoting messages. I was aware of the risks I was exposing myself now. Please, try to be moderate when you'll further approach Apple-related subjects.
In fact, I was in a conference a couple of weeks back and people were mocked for using Windows and especially Linux. Devs were asking others to get a 'real' OS. Practically 90% of the conference had Macs.
Mocking people for using Windows, Linux or whatever is a childish/youngish thing to do. Most people grow out of that phase, but you gotta love the young programmers coming up. Apple has been pretty clever about exploiting the tribal nature of these (mostly) young men.
Apple has been pretty clever about exploiting a lot of scary things in human nature! ...and yeah, we all "loved" to see those things at their best. That's something over which I have a hard time to get over, even now.
Windows can't open a raw socket. I find that really irks me for some reason. Overall, I find Windows superior after using Macs for a couple of years. The UI of Windows feels much better for getting things done, there's more third party software, and Apple's software engineering is amateurish compared to Microsoft. But then I remember, you can't open a raw socket. I'm also steeped in Linux from the olden days, and the win32 meets Linux ports get to be a bit of a pain... cygwin path conventions, DOS path conventions, emacs port path conventions... use a backslash here, forward slash there.. that stuff can get to be a serious pain if you bring a lot of UNIX style stuff to your Windows work. Even though OS X doesn't hold a candle to Debian for well-packaged open-source software, big plus marks for not hitting this UNIX-meets-Windows compatibility nightmare.
90% of your peers using a Mac is a good reason to use a Mac. But I have to admit people feeling superior for using a Mac is ridiculous.
The raw socket thing is a bit annoying, but it only applies to TCP/UDP and you can bypass the restrictions with winpcap. Is it really a problem in practice?
I spent years using Linux on the desktop. I wrote software for it, was active in the community, and was an active core contributor to well-known distribution. I love Linux desktops.
Yet I stopped using them when I got my Macbook Air (before you flame me for using that machine, Linus himself uses one [0]). It's an absolutely phenomenal machine for my use.
Sadly, however, running Linux on it is a majorly sub-par experience. Touchpad drivers are awful (as is software which can support it), battery life is abysmal, and overall it's a pain in the ass. This is coming from someone who happily spent days configuring Gentoo and Exherbo[1] on his desktop just for fun.
True, I could invest in a laptop which is known to play nice with Linux, but frankly, there exists no machine on the market today which can compete with the Macbook Air for my use (ultra-portability, durability, extreme battery life, great screen and solid performance).
In short, I "succumb" because the portable hardware is the best. Plain and simple.
Moved from MacBook Air/OSX to Ubuntu and super happy about it. The touchpad was tricky though. I had to deactivate the lower 20% (for clicking) and untrain me resting my thumb on the pad.
Do you need to "live without multitouch gestures"? I don't have a macbook, so I have never tested it, but the Archlinux wiki speaks of two drivers xf86-input-multitouch and a fork xf86-input-mtrack
The issue is not so much that the low-level drivers don't exist (although they are unmaintained afaik), but rather that there is almost no software available for Linux which supports real multitouch gestures, and certainly none (I'd love to be proven wrong about this) which supports finger-tracking as OS X does.
I rely on it heavily for window management and navigation, and the Linux community is sorely lacking in this department atm.
I've found that ASUS's Zenbook Prime is well supported under linux, has a higher resolution screen than the MBA, good battery life (6 hr is still good, right?).
It could use a magsafe-like power connector, though.
I also have a ASUS Zenbook Prime. I bought it based on Jeff Atwood's glowing recommendation on his blog. I am running Ubuntu 13.10, which fixed several hardware issues and possibly introduced a couple more. Here are my main issues with running Ubuntu:
1. Ubuntu does not remember screen brightness after reboot.
2. Getting Flash properly installed so I could watch Amazon Instant Video was a struggle. Netflix over Wine works like a charm if not ideal (it's broken for me a couple of times but it's working again now) and HBO GO works even better.
3. Firefox does not seem to support high DPI screens for Linux yet. So you either have to zoom on each page or use an add-on such as NoSquint.
4. The SSD is apparently too fast for lightdm, the logon software, to handle. I had to change the default logon software to gdm.
5. Frequently, the feature which saves Facebook/Google/Twitter login info for desktop apps would forget my password and generate blank popups and error reports.
6. Random error popups every once and a while.
All of the above are minor gripes considering I am not paying anything for this software. Overall, I am very happy with the entire stack from Ubuntu to the Linux kernel. I choose to do most of my home desktop activities on Ubuntu when possible. I keep my Windows desktop around to run iTunes and that's about it. I like the Ubuntu/Linux experience but the above problems prevent me from recommending it to my family.
Issues with ZenBook Prime:
1. Touchpad is not great.
2. I have hardware problems with the keyboard and the power and I've had to send it back to ASUS for repair. Seems to be working fine now.
You're right; I would not recommend it to my family. At the same time, that's not how I measure hardware for myself or other people who have worked with Linux.
6 hours being good depends on your frame of reference. It's half the battery life of the Macbook (12 hours for the current model).
The zenbook looks like a competitor, but I'd need to be sure that it's built as solidly as the MBA. The MBA is even thinner and for about the same price you get hardware that is incredibly well designed and manufactured.
For me, I've learned the hard way that going by raw specs alone is a poor way to judge a laptop (desktops are another beast) -- it's the build quality and the little things that make or break the pleasantness of the experience.
Comparing the Zenbook Prime's battery life to a current-generation Macbook Air doesn't tell you anything about ASUS vs Apple. It just tells you that Haswell is much more power-efficient than Ivy Bridge, which should have been obvious.
ASUS and other manufacturers should be out with their Haswell refreshes soon enough. Then you can make a more meaningful comparison.
Fair enough. I didn't realize the new MBA was so far ahead on battery life. While most of the build has been solid for the 9 months I've owned it, the durability of the power plug (an element that can hose the computer) worries me.
Coming from a 12" ThinkPad with 1024x768 screen, the 1080p sold me on the ASUS. I'm sure the MBA will get "Retina" display screens soon though.
Not all of us drank the GNU koolaid. I for one tend to chose other opensource alternatives where possible. Not that I'm advocating for Apple. I've been perfectly content for years using FreeBSD as my primary server and desktop OS. IMO it works better than Linux too. For example, at $WORK we run SLES 11 w/ your choice of DE. I use KDE4as I do w/ FreeBSD. KDE4 on FreeBSD has been far more stable for me than SLES(though in SLES's partial defense, it's packages are quite far behind). Anyways, I'm glad to see FreeBSD leaving the GNU toolchain and userland behind.
PS -- Debian GNU/kFreeBSD has it backwards. A FreeBSD userland w/ a linux kernel might actually be interesting to me.
Curious: what problems in the GNU userland utilities do the BSD utilities address? (not saying that there aren't any, just that I don't use the BSD stuff any more enough to know -- e.g., it's been about 20 years since I was using "Ultrix" and the like)
> what problems in the GNU userland utilities do the BSD utilities address?
Simplicy for one since BSD utils are developed in a mostly non-fractured enviroment. I gave one example in a previous post. That isn't the end of the story, but it's a good start.
Why the fsck are all of you people commenting running OSX? We were fighting for a free, open OS, remember?
No, I don't remember that. Because I never was.
I strongly dislike Microsoft. But I was just as happy on Solaris as Debian.
I really can't understand why hackers, coders, etc are happy to sign up to the shit Apple are doing. I do understand that "normal" people love Apple, but I just can not understand why coder people, who grew up learning to code in a GNU world (like me) can succumb to go Apple.
I learned to code from Perl. Which was never so dogmatic about the whole GNU thing.
I grew up learning to code in the BASIC on Apple ][ world, before GNU existed.
I guess, for some of us, the low amount of friction that Apple provides is worth the illusory premium that people attach to it.
I never signed up to fight for an open or free OS, I could really care less if one exists or not. I like Linux, but I don't get religious about these things because being religious about these things would affect my bottom line. I use it on the server, but I would never use it on the desktop, mostly because of aesthetics. Linux looks like shit to me. It's like a Toyota to a Mercedes. Toyota might actually have superior mechanics, but the Mercedes drives so nicely.
And then there is Objective-C. After 20 years of C++, C#, C, Delphi - I dunno, I can't describe the love I feel for Objective-C.
Probably because different people have different opinions on stuff like: pretty much everything you just said, who "we" are, what people ought to be fighting for, and how black and white all of that stuff is (answer: none of it, not even a teensy tiny scrap of it).
That's actually how I feel about Linux; it's a social monoculture and nobody seems to care a whit about anyone that isn't an ubernerd that wants to fiddle endlessly with a poorly designed/integrated OS.
...except Canonical has done a ton of work over the last decade to make Linux accessible to casual users. That said, your viewpoint is the party line in the webdev crowd. And at this point, I'm not sure why I should give a flying fuck, because there isn't anything that Canonical or the Linux community can do to convince Apple devotees otherwise.
I've been using Linux for the past several years without any issues with its design or integration, and I haven't had to "fiddle endlessly". And I'll continue to do so, regardless of what most everyone else thinks and says. Although it is quite hilarious when people express amazement at the fact that I don't own any Apple products.
- Dropped the entire Linux desktop software stack.
- Wrote a well-integrated top-down designed set of frameworks that provided a consistent API for desktop software, with binary-level ABI compatibility across major releases of the operating system.
- Promoted and encouraged the distribution of standalone applications that included all their dependencies, including distribution via an app store.
- Dropped the use of package management for anything other than OS components, especially for managing application dependencies.
- Leveraged their well-designed set of frameworks to advance the state of the art and simplify the lives of developers, making it easier to ship "great software" for their platform as compared to others.
As it is right now, Linux is a cess pool of poorly maintained, unstable, poorly designed, rapidly shifting crap. There's almost no centralized vision, and what centralized vision does exist is almost entirely co-opted and captured by massive ubernerds that don't seem to understand the first thing about producing a viable platform that end-user application developers would want to target.
What Canonical has done is put lipstick on a pig; it's not enough to throw money at making the operating system acceptably attractive to just end users.
I will also note that I'm not a 'webdev', but I am a destkop and server-side software developer. I came to OS X by way of IRIX/Solaris Desktops -> Linux/FreeBSD Desktops -> Mac OS X 10.0.
My preference isn't borne of ignorance, although I think Linux's failings have a lot to do with ignorance from Linux/GNU developers about how the professional development world produces a coherent platform.
I'm not fighting for a free, open OS. I'm supporting a good balance of usable tools in a capitalist system. OSX is the most usable tool I've been fortunate enough to be able to afford. Given a choice for important data, I'll also go with open source. My OS doesn't fall into that requirement - only the apps that run on it.
The "hacker" in "hacker news" has little to do with any traditional meaning of hacker. I'm not sure why it's in there at all really.
Oh, it is exactly the traditional meaning. Just that instead of hacking on some OSS projects, people here tend to hack on their own (hopefully) commercial stuff. But hacking remains.
Hacking has a strong connotation with openness. Look at the outcry when Bill Gates complained about people copying his stuff. Hacking is about stretching things beyond their designed limits. Who the "things" belong to is usually irrelevant.
I used linux exclusively for ~7 or 8 years on both laptop and desktop, I'm now a Mac user. I could write a long winded post with all the reasoning, but it really comes down to this: There are a number of things open source software does incredibly well, building user experiences is not one of them.
Because the hardware is attractive, it's well supported and the OS is decent, and it still runs all the open source stuff they like, as well as proprietary stuff they like.
I personally run SUSE on a Thinkpad, I prefer Linux to OSX and Windows, and love Thinkpad hardware (the keyboard is the best I've ever used). I can however understand why Apple stuff is attractive.
I've also heard that Linux is easier than OSX when it comes to installing languages, tools, etc..., but OSX is easier when it comes to things like Skype, Office, and of course proprietary software. I've found using Linux full time to be painless and enjoyable though.
The laptop hardware mostly. I value command line tools above the GUI and ports, then homebrew have been sufficient along with VMs and VPS providers for my needs. OSX is just a window manager for my iTerms and Chrome windows so is entirely replaceable. I would swap back to a Linux environment in a blink if there was a distro/hardware combination that worked as smoothly.
Look at Thinkpads. Build quality is excellent, and better than Apple's. The hardware is well supported in Linux, and the lots of hackers use them, so help is always a Google search away. They are mostly fugly though (industrial design, built like a tank, looks like one)
I'm wasn't _fighting_ for anything - I'm sure there are others.
I just bought the best machine for my money. The machine that would allow me to do my job better. I don't care at all about free philosophy and other things of that nature in software.
Alternatively, "is there any easy way to do Windows Mobile development with C++/CLI if you don't run Windows?"
Obviously, you're not going to have a good time writing code native to a particular OS if you aren't working with that OS. At best, your experience will be subpar. imo
"- A native Mac OS X driver is implemented, for better integration with the Mac desktop environment. The full range of driver features are supported, including OpenGL, window management, clipboard, drag & drop, system tray, etc.
- X11 is no longer needed on Mac OS X, but the X11 driver is still supported, e.g. when running remotely."
Ken Thomases from CodeWeavers has done a great job implementing the winemac driver. It's getting a lot better with each release but there are still some performance issues compared to X11, so I wouldn't dump X11 just yet if you have a stable app using it.
The Wine project has always impressed me and seeing all of these wonderful changes just keeps impressing me more. Take a look at that list of graphical and audio changes? Whoa. VMR-9 video rendering support, the slew of Direct3D additions and strengthening of the implementations of some of the features, better networking support including NTLM and negotiate authentication protocol support.
Refraining from going into full fanboy mode, but I hope the Wine project gets to the point where one day any Windows app can run with an almost guaranteed inside of the Linux operating system. The day I can run Adobe Creative Suite 6 from within Ubuntu basically bug free is the day I ditch Windows completely for Linux.
Some Windows apps will never run on Wine due to the scope of the emulation, but you might someday run them on ReactOS which uses Wine and takes over where Wine stops.
It seems like an invitation to severe cybersquatting to allow someone to register e.g. goógle.com. I know those marks mean something in non-English languages, but for me (and I suspect most English speakers) it's very easy to mistake for dust on the monitor those symbols that Europeans insist on putting over their letters, like "`" or "'" or [[cos(90), sin(90)], [-sin(90), cos(90)]] * ":" [2] or other weird symbols that I don't even know how to type because they aren't linear transformations of ASCII characters.
-- disclaimer: this is old info and I never got too deep into it, so take it with a (big) grain of salt :) and please, correct me if I'm wrong somewhere!
From what I can remember of some of Chrome's and Firefox's battles with this, one of the end-states was something like this, using punycode (example here[1] seems more useful than the wikipedia page[2]):
If system language matches domain name's language, display in localized characters. Otherwise, display punycode, to prevent homoglyph attacks.
"domain name's language" is of course a very vague definition. A better one might be "same UTF section". And it's all hairy and a bit problematic and I don't recall any conclusive, ideal solutions, and somewhat doubt it's possible. But handling the vast majority of legitimate uses in the best-possible way while preventing homoglyph attacks is pretty darned good.
And yeah, there will be sin/cosine/theta/pi.com attempts. But having an un-typable name is a choice made by the domain owner, just like any other. There's nothing preventing me from buying fdaocclasuro--ieja83q92e-jfksdl7a.com, which is at least as obtuse as any punycode URL, but that hasn't been a complaint in the past.
And yeah, there will be sin/cosine/theta/pi.com attempts
I apologize for being thick skulled but I do not understand what you are referring to and I did not understand that similar statement in the comment to which you replied. What am I missing?
Thanks in advance for explaining something to me that everyone else seems to have no problem understanding.
No problem :) I mean that people will buy / try to buy π.com, Θ.com, ☃.com, and even 🍤.com (pi, theta, snowman, and fried shrimp characters, if you can't see them). It's inevitable. Even though you can't really type them, people will buy them because they're weird / unique / well recognized. I'm merely saying it's not a problem.
Thank you for your reply. I was fixated on the equation (and xkcd image) from the original comment at the expense of overlooking "weird symbols that I don't even know how to type."
> It seems like an invitation to severe cybersquatting to allow someone to register e.g. goógle.com.
First, you're a couple years late on this.
Second, registries that enable IDN generally formulate anti-spoofing rules. It is unlikely that an entity that is not Google and does not control google.pl would be able to register goógle.pl.
Third, any truly sensitive content should be behind HTTPS anyway.
Fourth, most of the world uses non-ASCII scripts and generally speaking couldn't give a damn about problems the scripts give the small minority stuck with ASCII in the 1980s ;)
Battle.net is a little shakey. Make sure to follow the steps to install fonts, or it won't work at all. Also, it'll probably look really funny (textures won't load properly), but it'll be functional.
I use wine with PlayOnLiunx http://www.playonlinux.com/en/ and I find it's quite usable. (PlayOnLinux makes it easy to setup different wine environment each with different parameters.)
I've always thought this would be easier to make than Wine, since OSX is already Unix-like, Darwin is free software, GNUStep already has a lot of the Cocoa base classes and Mac apps use GL instead of D3D. You'd be able to get programs like Photoshop running on Linux with the added bonus of them being able to understand Unix paths.
There's a lot less demand for Mac OS specific applications on Linux than there is for Windows. A lot more people start with Windows and try to move to Linux (bringing their windows applications in wine with them) than start with Mac OS and try to switch.
Not to mention the Wine project goes way way back, whereas Mac OS really only started to get popular (again) with Mac OS X.
I used to have Windows and xwin32 and I would run my stuff on FreeBSD or Linux, and use Windows as my "mainstream OS when I needed to print things and/or listen to things."
Eventually my gear could run the Linux server in a virtual machine. Then I started running Windows in a virtual machine to avoid browser vulnerabilities (create a clean instance, browse for a while, then burn it).
I am almost to the point where I can boot Linux natively and run Windows in a VM (except for the occasional game) but I do less of that so its not as big a deal. I did an Atmel seminar where the whole time my "windows" machine was just a VirtualBox instance running full screen on my Lenovo T430. That was a perfectly acceptable experience.
On this topic, I thought I could use a service like BrowserStack to do all of my Windows/IE testing in the cloud. However, I found that the latency was still too much. I agree that you have to run less and less on local Windows, but there are quite a few things that still require it, and for those, I'm really happy that Wine's around and I can use a VM on my own machine.
I've often wondered how hard this would be, there's a lot of games released for OSX that aren't released at all for linux that you could play with a piece of software like that. Feels like it should be easier than implementing D3D, etc.
Isn't Mac these days a UNIX-like OS on x86? What happens if you just move a Mac binary to a Linux machine (with all its dependencies) and try to run it?
I'm assuming it'll break, but what difference between the two OS's makes it break?
Not exactly. Mac OS does include a BSD subsystem and behaves more like a Unix than it behaves like Windows. But it is still significantly it's own thing.
The Mac kernel is XNU. Nearly all Mac apps use Cocoa. The Mac filesystem is HFS+. Hardware is managed through IOKit. The list goes on but basically every major system service is written for Mac OS and does not have any direct compatibility with other OSes.
Well, first of all, OS X is based on BSD and not Linux, which would affect even simple command line utilities. (I'm not even sure the kernel ABI is compatible.)
More to the point, there's the lack of Mac-specific frameworks (e.g. Cocoa) on which most Mac applications rely.
They use different object file formats, different system calls, different library loading procedures, and on and on. Even if Mac OS X had the actual Linux kernel, the windowing interfaces are completely different.
To put it simply, it would take about the same effort to port a Linux application to Mac as it would to Windows. Everything talks differently, and you have to adapt for that.
I'm gonna stop you there—this isn't true. Yes, the interfaces are completely different, but if you can sidestep that (command line tools, games go directly to OpenGL), the systems are very compatible. I've written a LOT of hairy code that is perfectly compatible and would be straightforward to emulate.
Buy crossover for Mac from Codeweavers. Codeweavers do a lot of the heavy lifting in Wine, so it's good to support them, plus the UI integration is excellent.
For my personal use, crossover is good enough that I no longer install a windows vm for my occasional windows app usage.
I haven't tried mint, but Ubuntu is a crap experience on my mac. I had it on a separate partition for a while, but I just couldn't stand all the graphical glitching.
I work in linux all day long, but i love osx. I have never, ever, thought to myself, "man, I wish I was running linux."
To be fair, while at work, I never think "I wish this was osx" either.
I use Ubuntu 13.04 on my work iMac (mid 2011, as I recall, i7 / 16GB RAM) as my OS, with LXDE.
Previous to 13.04 Ubuntu acted very strange and had a multitude of problems. Since 13.04, and with ATI finally having proper drivers it works really well.
Does that have the broken EFI implementation? I only tried to boot linux on a MacBook Pro (17" unibody, 2011 I think) and while it worked, it was pretty annoying. Since the EFI implementation was non-standard, I had to boot with some BIOS emulation layer that started my SSD in IDE mode (slower), prevented proper sleep (forced to do a full shutdown whenever moving locations), and reduced battery life from 6.5 hours to about 2.
If all that's a thing of the past, that'd be excellent news.
16 months is a long development cycle for an open source project. Has the Wine project considered smaller, faster releases? I imagine they need a lot of test time to find subtle compatibility regressions because there are so many crappy Windows applications that depend on Windows quirks and misfeatures.
I'm not part of Wine, but it seems like their project is uniquely vulnerable to regressions. They not only need to write their software correctly, but they need to write their bugs correctly as well. Unfortunately, their is no good way to test for these regressions other than time.
Well, not exactly -- there's an enormous unit test suite, and most changes come with associated tests to prove correctness (tests, in turn, are deemed correct by automatically running them on a dozen different versions of windows).
Regressions still happen, of course -- we might not be testing the right thing, or we might hit an edge case where implementing something completely correctly caused an application to break that was secretly relying on one wine bug hiding another wine bug.
My long-time observation is that compatibility is one of areas where open source really shines. Wine is a highly successful project, and so is Dosbox. OpenOffice, LibreOffice go to great lengths to achieve .doc compatibility. While OSS tends to suffer in creativity department (you mostly get free X - free photoshop-like program, free Word, FreeCiv, countless Quake1 clones, and heaps of "clone" games), compatibility of OSS is unmatched.
Latest version of Photoshop (CS6) has Gold status which means it runs reasonably well. To check the status of any application or game, a quick search through the WineHQ App Database does the trick: http://appdb.winehq.org/objectManager.php?sClass=application...
It's great to see so many improvements in the DIB engine. I had to run Electronics Workbench through Wine a couple of years ago, and while it was definitely usable, it occasionally got messy corrupted graphics.