HN user

_mlxl

2,843 karma
Posts6
Comments14
View on HN

I have an 8 core i9 @ 2.4 and 32GB Of RAM and opened this page in Safari and good grief it’s the worst performance of a web page I’ve ever seen, not joking. It’s practically unusable.

Given the product I’m curious is the performance of your landing page by design?

I want people who haven't used Xcode to understand that this isn't a connection issue, there is something specifically weird happening with Xcode when you try to upgrade it.

It has to be wed to the OS in such a way that makes the propensity for this vague failure state to occur, because I've never had it happen with anything else.

Upgrading from the App Store sometimes will hang at 99% and no matter what you do save some weird incantations to remove stuff from this secret App Store cache to remove the download to begin its excruciatingly slow download again, only with the hope in your heart this impenetrable and silent error doesn't happen again.

And of course none of this is addressed by Apple. You think you can just download versions from the developer site? Well enjoy, and I am not joking, a 30+ minute unzipping of the .xip file (yep that's right, it's not a .zip).

Apple does not care about it's developer ecosystem, even though you are such a huge part of it's success. It's apparent in their thread bare documentation, their terrible tools, their greedy practises.

I get it. They are a business. But they do not deserve their halo.

Xcode unironically made me try to change career from iOS developer to pen tester. I've spent way too much time in its guts and I think its left a little bit of taint on my soul. It is unfathomably bad.

And Apple keep bolting stuff on to it (and the new stuff doesn't work - Canvas for SwiftUI previews for example).

It's slow, broken in numerous ways, depends on file formats that aren't used anywhere outside of Apple and completely undocumented. It is such a painful tool to use.

Sorry but I entirely disagree with you here given the context - I am answering the question "Is there something substantial that Sublime users are missing?".

What I described is a substantial benefit of using emacs over sublime text.

If you are a programmer there are many benefits to total control over a system, and the ability to compose new functionality from a solid foundation of base functions. Now, you could happily use emacs forever without ever using that control, but the difference is with something like Sublime control you don't even have the freedom to make the choice as to whether you want to or not. It's out of your control, which is a downside when compared to emacs.

The OP wasn't asking why would anyone want control they were asking what are the benefits of emacs in comparison to sublime.

You are missing the forest for the trees here - and I imagine that's by choice.

I'm not saying emacs shines as an audit trail - I am saying the processes by which you work can be incorporated within emacs very easily, in a way that is unmatched.

I can see why people tend to ignore questions around specificity of why they like emacs - the goalposts never stop moving.

I'll give two examples to showcase features other editors are missing - ownership over the editor, and the extent to which you can build on top of existing primitives.

1. Can you change where the command palette shows up in Sublime? In emacs (M-x is our Command Palette) I can not show it, I can show it as a full width pane that takes up 50% of the screen, or I could recreate the Sublime Text look and feel (top of the screen X width, Y height). This looks like a toy example but I'm trying to show that there is not a single part of emacs I don't have control over.

2. Okay how would you do the following in sublime;

Your company is getting into credit checking. As such you now are beholden to certain rules and regulations around the safety of your code, and now your product owners want an update every time CreditCheck.java is modified by someone. They want to be notified in a Slack channel and also by email. They don't care if the top 30 lines are changed, but anything after that is important.

In emacs, I would make a hook for CreditCheck.java that any time I saved the file, it would run through the changes, check if there is a diff from line 31 onwards, and if so send a slack notification and send-mail the diff to the product owners.

I would just open my settings.org file and add the emacs-lisp to do this and I wouldn't even need to restart to avail of it - I could just load-file and have it working. All within emacs. You could do this via a tangle of shell commands sure - but emacs lets you do it emacs-lisp with ease.

Programming in the real world is full of stupid like processes like this, and emacs makes it easy to accommodate them. (Not saying that you should accommodate them, but the real world can be messy)

I once wrote a long comment on Hacker News about how I wasted 2 years on trying to learn emacs. I wish I could go back and stop anyone from ever reading it in case I put someone off from trying it.

I was in a weird place at the time and scapegoated emacs for my lack of productivity. Don't get me wrong it is possible to spend a lot of time fiddling with your config files for emacs.

I picked emacs up again after I quit my last job (quitting made me almost immediately a happier person). I decided to only use packages that would help me to write code, and EVIL mode. So lsp-mode (and the associated lsp-servers), flycheck for syntax highlighting, DAP for debugging & breakpointing code, magit for git and Projectile for project management.

I read the documentation thoroughly for each plugin to actually see what it was doing, and many times jumped directly into the source code of the plugin to see how it was moving under the hood. I started using org-mode to document my journey into each plugin and grew really fond of the ability to collapse points under headers and freely move the headers about in the file with a few keystrokes.

I loved that I could create my own IDE using emacs-lisp. I have a completely minimal interface with just the mode-line and the pane of text. No gaudy menus, no enormous always present side panel, no top bar. Just me and the text. When I start the program it loads an empty window. There are no distractions in emacs, and no incentive to ever add them. And if Stallman ever decided to sell out, I have a fork of the code at its current version which I could use forever.

I jump between backend and front end code in emacs and due to the hooks and mode setup, it always knows the right things to turn on to make it easier to work on that specific chunk of text.

Emacs is an alien technology. It has so much power I didn't know what to do with it at the start and that scared me. I dedicated a bit of my life to it, and now I am confident knowing that if I pick up a new language in the future I will be writing it in emacs.

I wasted two years on emacs.

I write code, so I thought emacs would be the learn-once-editor-of-a-lifetime but it was just always an exercise in frustation and wrestling bad defaults.

If your using it to write code, emacs is, by default, worse than $IDE because its not built for the write, debug, run cycle an IDE excels at.

I only mention this because a lot of programmers and hackers seem to hold it up as a hallowed piece of technology and I the elitism makes you want to try it so you can be up there amoung the gods.

Everytime I wanted to write code, I would have to cobble together little scripts to shoe horn in build steps and it was always more work than VSCode would make me do. I want to write code, not make my editor work in a sane way.

Org mode is oft touted as the 'killer app' - its entirely unportable. Android and iOS don't have clients that are useable by modern standards. You will hear "oh but you can install this plugin and then it will automate converting your todo list to HTML and it can then run that on a serv...". No thanks, I just want to sign in once, and everything to be synced.

It doesn't have the idea of syncing and its totally uncollaborative. I can't share it in any meaningful, interactable way.

The world has moved on, emacs is a relic of the old world and I finally feel fine in saying that.

Can I add something from .vimrc?

If you put the commands:

  set undofile
  set undodir=~/.vim/undodir
You get infinite undo in your files.

Now when you go into a file, delete or add some text and close your terminal down, the next time you enter vim you can (re|un)do previous operations.

Has saved my ass more times than I care to mention over my career!

How do I re-learn math up to a level just before say a US undergrad in Math?

I hated math when I was in secondary-school, but loved computers so did a computer science course which was heavy-ish math in its final year.

Passed that course and now am in a pretty decent programming role, but I feel like my maths is just built on such a shaky foundation that I maybe could improve my programming and problem solving if I solidified the base.

Is there any one text book I could get which would teach me up to that level of Math?

I suspect no, because Math is so broad, but generally if I could get an entire pre-university schooling in Math I would be very happy.

Blocking access at geographic level across pretty clear signal they don't care about users/readers in those regions (I think it's hard to argue otherwise, the law has been coming for 2 years).

Obviously they cater to people interested in local news in those regions. However, I hope they will rectify and allow access again for EU users at some point soon. It seems to go against the idea of a borderless internet, and I blame the companies for that, not the EU.