HN user

Watabou

654 karma

Github: https://github.com/ajh17 Twitter: @ackyshake

Posts11
Comments211
View on HN

An example of this that I noticed just recently:

Here's the doc for a deprecated `launch` method of `Process`: https://developer.apple.com/documentation/foundation/process....

It's deprecated, and there's no note on what the replacement should be. Xcode, however, has a hint to use the `run` method. This isn't documented anywhere. If I don't use Xcode, I wouldn't know about this replacement.

And here's the replacement document for `run`: https://developer.apple.com/documentation/foundation/process....

"No overview available".

This is beyond embarrassing.

Conversely, the introduction of News+ and the overwhelming amount of News+ exclusive articles made me delete the app entirely.

At least with Apple Music, I could turn the features off. With News+, I can't.

I replaced it with Reuters and a RSS reader for other news websites. I get way more relevant 'breaking news' notifications from Reuters now than I did with News, so it's been a win on that front.

I use two banks. Schwab for checking, as others have said, they’re excellent.

Discover for savings for that 2% interest.

I’ve tried other online only banks, ally for instance. But discover is the only one I’ve found with no fees to order more checks, no fees for maintenance in general, and a pretty great customer support to boot. My only complaint is the slow transaction log. For instance when I pay my credit card, it takes almodt 3 days to show up.

It’s why I moved my checkings to Schwab instead. Almost the same benefits with no fees, no hassle.

Agreed, I don't get the ligature craze recently. They look ugly, and sometimes, they don't accurately reflect an operation most of the time, for instance when you use operator overloading.

PragmataPro does come without ligatures though, and that's what I've been using as my main font for over a year now.

That is definitely not true.

In fact, performance has gotten slightly better for me on my 2013 MacBook Pro, especially after the Metal/APFS upgrade after High Sierra. And I’ve been upgrading since Mavericks now, not doing a clean install.

Does the iMac possibly have a HDD rather than an SSD (which your custom PC probably has)?

The SSD makes a huge difference in response time. It’s the only reason I’m still using my 5 year old MacBook Pro which has a PCIe SSD and I have no plans to upgrade other than to maybe get TB3 support.

I actually do real development on it, running multiple applications, running Xcode builds, the lot. It does everything I throw at it like a champ.

I’m not sure where you’re getting the 2-3 but that’s definitely not what you should be getting from a modern PC/Mac, especially if they have an SSD.

I know a lot of people have mentioned that they have transitioned to using the iPad and even making it their main computer but having owned and daily use an iPad Pro (the 10.5 inch), I don't see it anything other than a media consumption device (which I love using it for).

I occasionally used it to carry with me at work, when I got it new last year, to try and make it my "laptop" replacement. I used everything, SSH to log into my Mac back home, I was on irc, browsing the web, writing emails on it, even used Pixelmator and iMovie to edit images and movies for real work things, which my colleagues were impressed by.

It was difficult, however, and I felt like I was constantly fighting with the iPad.

For example, Spotlight just isn't as fast on the iPad like it is on the mac. Try it out. Type command + Space, then type "me" and hit Enter. If you thought you'd get Messages, you will only be right half the time. Enough to make it frustrating. On the Mac, I can fluidly bring up Spotlight, hit a few characters and launch that app. On the iPad, sometimes, it'll miss typing the first character as spotlight animates, and even if it caught the first typed character, it takes painfully long to update results. So by the time you type "me" and hit return, the results haven't updated to show Messages.app yet, and Messages won't be launched.

There's no Xcode on it yet, so I can't code on it properly. There's no terminal, Files.app feels like a poor man's Finder, there's no indication of focus and when you have two apps side by side, there's no way (that I know of) to switch between them using the keyboard. So you have to tap.

So I gave up. I'm sure my experience, needs and workflows are different and maybe the iPad-as-a-laptop is not for me, but I am a bit skeptical now whenever someone tells me they use their iPad as their only computer. At least, not this version. iOS on the iPad at its current form just isn't convenient to use as the only computer.

I've been using MiniHack as my HN app, and while it has its issues (most frustratingly, the popup that notifies me that I've just upvoted/downvoted a comment), it's the most feature rich HN client I've seen yet, so it's a bit hard for me to switch to this just yet.

That said, I tried it out and here's my feedback for HNbuddy:

- This looks really nice, and loads comments super fast for me!

- An iPad version of HNBuddy would be nice. I'd be willing to pay for that, maybe as an IAP?

- Support for commenting, new posts, currently it's more of a "reader", which may be the intention, not sure.

- No ability to downvote? I can downvote in MiniHack and the regular website but not in HNBuddy

- A lighter Darker theme

For Obj-C fans though, named arguments are one of its best features. Yes, more verbose, easy to decipher, and led to great API design.

For the first versions of Swift, they actually had two versions. For functions (i.e not functions inside classes), you didn't have to have named arguments for the first parameter, but you did for methods (functions inside classes).

They explicitly added it for Swift 3 to make it more consistent with method.

I think I like the consistency more, but I do agree "_" is ugly. I don't have an idea of what else they could do though. I don't want Swift to make the parameter names optional, since no one would use it (like in Python, I rarely see named arguments being used)

Swift has both external and internal parameter names for functions. This is to make API design more readable, easier to parse through.

For example, you can have a function like so:

    func greet(with greeting: String, to personName: String) {
        print("\(greeting), \(personName)!")
    }
In the above code, "with" and "to" are external names, and are only available when calling the function but are not available inside the function itself. So you would call this function like so:
    greet(with: "Hello", to: "Bob")

Now if you want to exclude the external name to call the functions, you use the "_" syntax. So you're right that it denotes an unused parameter. In this case, it's an unused external parameter name.

Personally, I find that just having "0..count" requires a bit of thinking on my part trying to decide if it's inclusive or not.

"0..<count" instantly tells me that it's not including value, and follows the matematical interval notification [0..count] vs [0..count)

Git 2.13 9 years ago

Did you try tig [1]? I prefer the command line solution to shoving complicated things and UI (which fugitive is -- I could barely remmeber all the features I had and like you, I only really ever used the :Gblame command the most) into vim. I prefer to have vim be lightweight and let other tools do their job (i.e the UNIX way).

I don't use fugitive now but I do make full use of tig. In my .vimrc I have:

    nnoremap <leader>gb :echo system("git rev-parse --abbrev-ref @ <bar> tr -d '\n'")<CR>
    nnoremap <leader>go :silent !tig<CR>:silent redraw!<CR>
    nnoremap <leader>gB :silent !tig blame % +<C-r>=expand(line('.'))<CR><CR>:silent redraw!<CR>
The above solution leaves vim purely for editing, and tig for doing the actual git presentation.

Asciinema demo of tig blame: https://asciinema.org/a/4as7ujt8cpnpyx0doyrervatl

Just like fugitive, I can travel back and forth through history. And if I hit q, I'm back in vim.

[1] https://github.com/jonas/tig

Homebrew 1.2.0 9 years ago

I'm curious. The homebrew formula seems to just download emacs from the main GNU repository. So what makes emacsformacosx better? The website doesn't seem to explain this.

It's really not about which package manager is better. The fact of the matter is apt is "good enough" (as toyg mentions below) and more importantly, it's the ubiquity of the package manager that matters. Even Windows has Ubuntu now as the "bash subsystem".

People are used to apt. Switching to Fedora means learning an entire set of commands. While dnf's feature set is better in a lot of ways, that's just too much to ask when apt is there and it works for the majority of users, newcomers to Linux or otherwise.

I've debated getting an external drive. Thunderbolt drives are still too expensive compared to USB3 ones. And I do like the fact that I don't need to carry an external drive with me if I need to see that one previous project since I find I do that occasionally to find some code logic or a solution to a problem in my previous projects.

They're still "rarely used", but td so convenient to have access to them always. I could get Dropbox but then I'm paying for data space monthly.

The 2013 15" Retina Macbook Pro

Got it to upgrade from a 2008 15" Macbook Pro in 2013, and it's still running like a champ. I only really upgrade my laptops every five years and it looks like it will easily beat that. I even have it encrypted with FileVault and there's absolutely no slowness with development.

I even use it to use Remote Play for my PS4, really nice way to game when I'm not at my house.

The only real issue is that I wish I would have splurged on the SSD. For me, 512GB doesn't cut it with the amount of projects and repositories I have on my built in SSD, and this includes my extensive prog rock music collection.

It's not lightweight though, ~5 lbs in your backpack does add strain to your shoulders if you walk around with it. The battery is sufficient for me at around 4 hours of use with medium to full brightness, enough, at least, so I don't /need/ to take my charger in to work.

I made a plugin [1] similar to this which offers more options when you press the Tab key. For instance, if you're typing a file path, you get Ctrl-X Ctrl-f completion (vim's file path completion) instead of the regular keyword completion. And if you type a period (configurable) and press Tab in filetypes like C, Python, Ruby, etc, you get omni completion (vim's semi-intelligent completion, which offers methods on classes, looks in ctags files, etc).

The great thing is that I was able to do this in less than 100 lines of code, and I love using it myself every day at work. Just goes to show that Vim has a pretty good completion system already and you don't need to use some bloated plugin system like YouCompleteMe or Neocomplete.

[1] https://github.com/ajh17/VimCompletesMe

That's what I currently use as well. I would have liked to see some mention of it -- whether or not they tested it, or if they couldn't find any vulnerabilities using the same tests they did for other applications.

I agree. I couldn't stand the slowness of Gitlab's UI. I originally came to Gitlab because Bitbucket was lagging on several features that I wanted, and had a poor UI. Gitlab's UI seemed more inviting as it was similar to Github. Mostly though, I chose Gitlab for the free private repositories.

The Gitlab UI is /fine/, but the speed is what gets me. On github, even if I have thousands of commits, the UI is instantaneous. If I click on something, the load time is less than a second for me. So I switched to Github and paid for the private repositories. I absolutely didn't mind paying for this since Github is so fast for me and seems to be adding pretty cool new features (code review enhancements on PR, for example).

I still have one of my repositories on GitLab and it's still slow when I do things like browse commits, view source files, etc.

It's not just Gitlab though. Bitbucket is pretty slow for me as well, though not as slow as Gitlab. I would guess that Github's caching algorithms are much better than either of those two to really make pages seem snappy.

Htop explained 10 years ago

Why is 'sudo' required? Just curious.

I moved away from homebrew, to compiling my own software on macOS which I just put in ~/build. I don't use sudo make install since I own the ~/build folder.

What am I doing wrong in this case?

The Mighty Mouse is the same. You get 9 hours of use from 2 minutes of charge time, and macOS warns you ahead of time, enough time for you to go and get a cup of coffee and by the time you're done, you'll probably end up with a full day's worth of charge. Or on the day that macOS warns you, just leave it to charge overnight. You get over a month of charge (I get close to 2), of usage.

The charging port on the back of the mouse is done to stop people from using it with it plugged in, which ruins the overall design, and since most people are lazy, they'll leave it plugged in all the time. Apple designs its products by thinking of an ideal use case first. Then they will try their hardest to make people use it in that ideal scenario.

I don't quite see the WTF here. I understand Apple's design decision and think it's actually quite clever, despite what it looks like at first glance.

Modern C [pdf] 10 years ago

Just curious, not a C developer by any means, but why wouldn't you use a function here instead of a goto? I'm confused how goto would reduce error/improve readability in that example.

Again, not criticizing, genuinely want to know.