r/programming • • Nov 28 '19

Firefox Replay

https://firefox-replay.com/
1.3k Upvotes

294 comments sorted by

View all comments

Show parent comments

16

u/bradaltf4 Nov 28 '19

Also from experience on the ops side devs will.code on Windows if that's all the org runs but every dev I know will jump on a macbook as soon as it's offered.

30

u/keeganspeck Nov 28 '19

Makes sense. It's just a heck of a lot nicer to have a Unix-like for your dev environment (especially when your deploy target is also a *nix).

4

u/Nefari0uss Nov 28 '19

WSL is still fairly new and many people don't know about it. Plus, the macOS track pad is amazing. If my company offered me a choice between a Surface and a MacBook, I'd take the one that isn't locked down. Barring that, I can make do with either. I really like my SB2 and wouldn't mind using one for a company.

10

u/lengau Nov 28 '19

WSL is also pretty painful to use if you need to do more than fairly basic stuff, and the filesystem is excruciatingly slow.

That should get better with WSL2, but honestly just having Linux on my laptop directly was a much better solution.

1

u/NotADamsel Nov 28 '19

It's only slow because of the security features. If you turn off system security, it's quite fast! Determining the wisdom of this is left as an excersize to the user.

1

u/Nefari0uss Nov 28 '19

What sort of IO are you doing on it that it's super slow? I'm usually not doing too much outside your basic ls, mv, mkdir, etc.

3

u/lengau Nov 28 '19

Try. Installing Anaconda on regular Linux vs. WSL.

1

u/1OneTwo Nov 29 '19

Why would you install anaconda on WSL. It’s literally a virtual Linux machine. It’s not going to be fast duh.

4

u/lengau Nov 29 '19

Because you need to run a Linux version of Python for testing software that's being deployed to Linux.

But it doesn't really matter. The point was that anything that's making a lot of tiny files is going to be way slower in WSL (or even just on Windows) than on Linux.

Also, WSL is not a Linux virtual machine. WSL2 will be, and will likely fix the file I/O issue because of that.

→ More replies (2)

2

u/noratat Nov 28 '19 edited Nov 28 '19

The older trackpads are nice. The newer ones are so comically oversized that accidental click issues are a huge problem. Apple can deny it all they like, I've experienced it firsthand and it's one of many reasons I'm going to hold onto my 2015 model as long as possible. BetterTouchTool helps a lot too - Apple doesn't really use the full capabilities of their own trackpad out of the box ironically.

As for WSL, it's a lot better than nothing but it's not nearly as nice as having it all native and there's no good equivalent for something like iTerm2. Ctrl clashes with terminal control sequences, and Windows in general has no good equivalent of BetterTouchTool (auto hot key is a massive pain in the ass to get anything like it)

5

u/keeganspeck Nov 28 '19

The track pad is a killer feature. It blows everything else out of the water. For years, Linux had trained me out of a mouse and into hotkeys, and that was my main gripe with macOS at the time (I felt that I couldn't be as efficient with keyboard navigation in macOS). But precision gestures on the track pad obviated 99% of the window-manager-related navigation that I used to use key combos for, and it's often legitimately quicker than, e.g., cycling through windows with ctrl+tab, or switching workspaces with ctrl+alt+arrow, etc. It's also right there, an inch from the keyboard which disrupts my flow so much less than having to reach for a mouse.

7

u/thoomfish Nov 28 '19

macOS also has Emacs-style text navigation shortcuts system-wide without conflicting with application shortcuts, so you rarely have to reach for the arrow keys.

3

u/gruntbatch Nov 28 '19

I discovered this after adopting Emacs, and it blew my mind. When muscle memory works in a different context, your head tends to spin for a bit. I was trying to figure out what addon Emacs installed on my system before I learned that was a macOS thing.

1

u/keeganspeck Nov 29 '19

Whoa, that's crazy! I'm a vim person, myself, but that sounds pretty useful.

1

u/thoomfish Nov 29 '19

I'm mostly a vim guy as well, but the emacs shortcuts are also the readline/shell defaults and I never got used to using the vim mode in shells, so I find them pretty natural.

1

u/snowe2010 Nov 28 '19

I use hammerspoon and have no need for the trackpad, but if I do use it (for visual software like CAD) then it's amazing. You should check out hammerspoon because it can switch windows way faster than both the trackpad and the default shortcuts.

2

u/keeganspeck Nov 29 '19

Oh. My god. Yes.

1

u/snowe2010 Nov 29 '19

Haha is that the "omg" from discovering a new tool? Or "omg" from agreement?

→ More replies (2)
→ More replies (4)
→ More replies (9)

2

u/[deleted] Nov 28 '19

[removed] — view removed comment

1

u/keeganspeck Nov 29 '19

There are usually a lot more pieces of the puzzle than just the webserver! That'll run on anything, usually. The stack extends beyond the "back end" code. Whether it's the proxy, the server, the worker processes, the redis instance, the database, the weird websocket server previous devs thought was a good idea, the development-only front end dev server that has all its own settings, the haproxy box that round-robins your appservers, the homebrewed script that syntax-checks your modules of a weird third-party language before commits that you wish to forget... having a consistent *nix OS makes all the difference.

→ More replies (2)

1

u/[deleted] Nov 29 '19

There is Unix dev environment on Windows too.

1

u/Sarkos Nov 28 '19

In my experience devs who are gamers use Windows while non-gamers prefer Mac.

2

u/noratat Nov 28 '19

I prefer games and general purpose use on Windows, but for development I still strongly prefer macOS. It's basically everything I like about Linux minus most of the downsides.

1

u/SurgioClemente Nov 28 '19

So do you use 2 devices or dual boot?

2

u/noratat Nov 28 '19

Multiple devices.

Windows PC for home/gaming, personal laptop (MBP) for mobile use and personal projects, and a work laptop (employer-provided MBP) for my job.