Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Windows 7 really does just work. I don't know why more web developers don't try it when files are usually stored/executed on a remote Linux server anyway. The Lenovo X1 Carbon is a great example of a solid device.


WAMP is a pain in my ass. If I have to do my dev work in a VM just to get my dev environment to somewhat match my deployment environment, that's a problem. MAMP for web development is where it's at, or LAMP if you can swing it.


> WAMP is a pain in my ass.

Did I ever say to use WAMP or run a VM? I said to run everything remotely. Just set up a Samba share on the Linux server and mount it on the Windows machine. My SSH client of choice is KiTTY[0], though there are obviously a million options out there.

Then you can use whatever editor you want. I usually use Notepad++, but Vim, Sublime Text, etc. are available.

0: http://kitty.9bis.com/


That's still less convenient than working locally. Working locally, I can hit one key combo and be previewing my changes in the browser instantly. Not to mention being independent of a net connection to develop.


> Working locally, I can hit one key combo and be previewing my changes in the browser.

Something I can do as well. Local vs. remote plays no role here.

> Not to mention being independent of a net connection to develop.

This is true, but seems like an edge case to me. Wifi is available pretty much everywhere you spend significant amounts of time, and a mobile hotspot is a must if you're a mobile developer anyway.

Besides, I'm always looking stuff up while coding, so I need the connection anyway.


Truth about needing the net connection anyway; I was reaching on that one. I guess I could add a remote staging server to my setup, which is a non-issue, and I'd still push to the git master repo from my local repo.

So you have it set so one key combo from your editor saves the file you're working on, copies it to the appropriate location on the staging server automatically, and refreshes the page in the browser? That doesn't sound so bad actually; maybe I need to rethink my VM plan for Windows web dev, which turns out to be very timely for me.

[Oh, I see, you don't even keep a local copy; you edit the remote copy directly. I wonder if the Github client for Windows can watch a remote dir.]


Even if I were using a Linux or Mac development machine, I would still have/want to develop everything remotely by mounting a network share, but that's just my situation/preference. Either way, I don't see it as a big deal. In fact, I think it's better to test the code on a remote staging server that matches your live environment than it is to use a local Linux/Mac setup that might differ from the live environment.

And yes, the remote files are directly edited. There's a volume (i.e., Z:\) on my laptop that is the remote directory I've mounted. I use Samba, but you can also use NFS by installing the necessary client software from Add/Remove Programs, if that's what you prefer.

I don't know anything about the GitHub client, so I can't help you there.


If I was on a Mac, I'd install OSXFUSE[1] and mount the server share through SSH. I must admit I'm a bit wary of poking an SMB hole in my server; maybe my fear is unfounded.

[1] http://osxfuse.github.com/


You edit the live sites? Ow.


Jeez, you guys just love your strawmen. Ever used a staging server?


Not unless "a local copy" counts? YMMV.


I love WAMP - what problems are you having?


Lack of POSIX compliance and GNU/BSD userspace, namely bash.



Sadly not all software is posix compliant, there's still tons of stuff that just doesn't work in windows without lots of painful work. For example, if you use nodejs, around 40% of the npm modules that use native code doesn't compile properly in windows. The only way to do development is to run a VM. If you're a developer, the only reason to use windows is if you're developing for windows related platforms, otherwise it's just a pain in the ass -- use linux on the laptop and run windows in a VM or use wine.


Cygwin or Mingw?


> I don't know why more web developers don't try it

I'll list my own reasons (beyond Linux "just working"):

- Unusable command line (unless you install Cygwin)

- Lack of tools (unless you install Cygwin)

- Case-insensitive filesystem (in 2012!)

- Drive letters (in 2012!)

- You can't delete open files (in 2012!)

- It's ugly - Windows 95 GUI elements often poke through everywhere

- No package management - I have to download software from sites all over the web

- If I'm deploying on Linux (or other Unix) why deliberately use the most different OS possible

Don't get me wrong. If you are developing for Windows or other Microsoft platforms, there is nothing better than Windows to develop on. It's just that it doesn't make sense in any other case.


Most of these things don't matter if, as I already explained, you just mount a network share from a Linux machine and edit the files over the network.

What are the advantages? You can test all browsers, including IE.

> - It's ugly - Windows 95 GUI elements often poke through everywhere

Not in Windows 7.

> - No package management - I have to download software from sites all over the web

What sort of software are you talking about? I don't have any development tools on my local machine except for Notepad++ (text editor) and KiTTY (SSH client).

> - If I'm deploying on Linux (or other Unix) why deliberately use the most different OS possible

To the contrary, I'd say it's the most similar OS. Windows will be the OS used by the majority of your site's visitors. They will be accessing the site from a Linux server, which you will be also be using, for development.


Your approach sounds dangerous: if your development machine is shared, how does your team manage versioning and avoid conflicts? How do you test individual changes? If your development server is yours only, I fail to see the point: your real development machine is the remote one and your Windows box is nothing more than a glorified VT-100.


> if your development machine is shared, how does your team manage versioning and avoid conflicts? How do you test individual changes?

Of course the machine is shared, but our development workspaces are not. We all have separate accounts on the staging server. The idea is that the staging environment is identical (in terms of software) to the live environment. Of course, we would have to coordinate any sort of hardware stress testing in order to get accurate results, but that's a rare edge case and would be true even if you were developing locally (since stress testing on the local machine wouldn't give useful results).

> If your development server is yours only, I fail to see the point: your real development machine is the remote one and your Windows box is nothing more than a glorified VT-100.

Oh come on, don't be obtuse. The reason I use Windows is because Windows 7 is a genuinely good OS that helps me to be productive. The UI is well-designed and I have direct access to all the various browsers I need to test sites on. I have good text editors and SSH clients. I have a solid laptop with features that I desire (easily upgradable, TrackPoint, much more durable than a MacBook). The only downside is that Windows comes filled with bloatware, but that's a matter of just installing a clean copy of it.


I used to suffer with Cygwin. It is really slow to work with if you are used to native UNIX.

I never seriously tried this but I'm curious if it works:

http://www.suacommunity.com/tool_warehouse.htm


Your constant mentioning of cygwin tells me its been a long time since you've dipped your feet in microsoft OSes. Windows 7 has an extension called Subsystem for UNIX-based Applications (SUA) that basically makes a full POSIX compatible layer and a full shell (and you can install all your GNU tools).

I think they pulled an OSX and embraced and extended to deny cygwin their market. Typical. But whatever you think about the strategy, SUA works really well.


Seriously try powershell. We have great package management if you choose native tools ( HTTP://nuget.org/ ).

Agree developing for *nix on windows is not great. I use a VM for that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: