HNHacker News
TopNewBestAskShowJobs

mclehman

156 karma · joined March 19, 2017

submissionscomments
mclehman··on Ruby's Creed
I'd say the strongest possible interpretation of what stevebmark said would include older additions to the language such as from this section of the article:

---------

Here’s a list of changes and additions that I certainly never needed (or wanted): Ruby 1.9 hash literals Refinements %i literals Rational/Complex literals (2/3r, 2+1i) Endless ranges (1..) Safe navigation operator (&.)

mclehman··on Cancelling Dropbox Pro is hard
I'm sure there are many more, but Mullvad is one VPN provider accepting bitcoin payments (as well as cash).
mclehman··on A decade-long boom is ending as consumers hang on to devices for longer
I have wireless headphones and a Pixel 2 and still wish I had a jack. Sometimes you just want to get in a friend's car and be able to play music or use a nice pair of open-backed headphones when you won't bother someone. I'd still have the choice of whether or not to say good riddance to tangled wires if my phone had a headphone jack.
mclehman··on A decade-long boom is ending as consumers hang on to devices for longer
There's nothing that precludes you from having both. My computing needs are adequately met by my laptop, desktop, and personal server at work. Without the laptop, I definitely wouldn't be anywhere near as productive but the same goes for the desktop.

My laptop is always ssh-ed (mosh provides the "always" aspect) into one of the others anyway. It's stuck with 8GB of RAM which is often a bottleneck, especially since Docker holds onto a couple gigs and Chrome tries its hardest to get the rest. Portability is necessary but not sufficient to addrrss my computing needs.

mclehman··on Tree Style Tabs
I use TST to supplement my working memory. I'm usually working within a particular subtree of all my (way too many) tabs. I probably still have more tabs in such a subtree than most people, but the same idea applies: the subtree keeps my focus on a single topic, and when I finish I can either collapse the subtree (my default) or close it entirely.

What I find invaluable is the super quick ramp-up after context switching, especially if whatever pulled me away turned out to be more work/time than expected.

mclehman··on Coconut: Pythonic functional programming
Could you elaborate on this? Personally, I like the idea of Haskell about as much as I like the idea of Clojure, but Haskell has never quite clicked for me.

I don't think it's necessarily readability holding me back from Haskell, but I do find Clojure to be highly readable which really helped me get up to speed with it quickly. I'm curious what you find more readable about Haskell.

mclehman··on Great Wall Motor unveils $9k electric urban car with nearly 200-mile range
They don't, but their bikes top out at 18 kWh, not 3.5 kWh as you're implying. The power tank add-on is 3.6 kWh which could be the source of the confusion.
mclehman··on C++20 Ranges
This exact thing is one feature I like about Perl 6 and (minorly) dislike about Rust.

In P6, 1..10 is exactly the range you'd expect, while ^ is used to exclude either end of the range. For example, 1..^11 is the same as 1..10, as is 0^..^11 (can't say I've ever needed that, but I could see a couple of possible uses).

This also carries over into range syntactic sugar. ^10 is shorthand for 0..^10, and as a result ^@list.elems is a list of valid indices of a list.

I personally find Rust's syntax noisier, but it's a small issue.

mclehman··on Ask HN: What linux desktop tools/apps boosted your productivity?
I use another niche keyboard layout (Workman) and have never really felt the urge to rebind anything in vi(m). I can definitely see wanting to rebind the standard nav keys which causes cascading changes and can cause you to lose a lot of the mnemonic advantages of the commands.

My solution to that issue is "just" alternate bindings which obsolete both the standard and vi navigation keys. At the home row, I have the arrow keys on my right hand and a "nav cluster" of my own devising (page up/down, tab left/right, workspace left/right) on the left.

Definitely not for everyone, but a possible way to have your cake and eat it too.

mclehman··on People who disagree aren't trying to make things complex
To be fair, in Z2 the equivalence class of 1 + 1 is still equivalent to the equivalence class of 2.
mclehman··on Ask HN: What ergonomic solutions are you using?
Just to add a (far?) more extreme take on this:

I use a 48 key keyboard (an OLKB Planck) which massively cuts down on hand travel and typing strain. Arrow and navigation keys, a numpad, all the function keys, every symbol I use whem programming, and various OS controls (volume, media controls, screen brightness, etc.) are all easily reachable without changing the position of my hands. I also chose to program all the modifier keys to work both as normal when held down and in a similar fashion to sticky keys when just tapped. For example, holding down shift and typing a letter works as normal, but hitting shift followed by a letter accomplishes the same result, meaning that capital letters and punctuation don't really interrupt the flow of typing or require chording.

I also have rather resistive keyswitches (nominally 185g, ~170g in actuality) which was of ergonomic benefit to me. I wouldn't expect it to help most people, but it helped me learn to type without bottoming out the switches. Starting out, the heavier springs caught me before reaching the bottom. Now I type in a much gentler fashion, even if peak force is greater than on a standard keyboard.

Moving down to 48 keys can seem intimidating, but I adjusted rather quickly. It only took me about a couple weeks to become comfortable with the layout changes (staggered keys to a grid layout and Workman instead of QWERTY). I believe that part of the reason it was such an easy transition was because I changed the layout whenever I had trouble adjusting to it. I had wanted to place the underscore on the same key as F in a QWERTY layout to make typing snake_case identifiers easier, but kept hitting the adjacent equals key instead. I could have pushed through it, but I embraced what my brain clearly felt was right whenever a similar thing happened and picked up the layout much quicker than I expected.

Another common concern is losing competence with a normal keyboard or standard layout, but at least in my case that hasn't been an issue. I can switch back and forth between a 2013 Macbook QWERTY keyboard and my customized one with no issues, and I often switch from QWERTY to Workman on my laptop depending on how much I'm writing. Occasionally I'll switch layouts mid-sentence when I realize I'll be going into more depth than I expected.

mclehman··on Advent of Nim
I've never used Nim either (mostly C/Perl6/Clojure), but all I hear when this gets brought up is that I would finally be able to use a consistent style for all code I write, regardless of whether or not I personally implemented everything I'm using.
mclehman··on Practical Cryptography for Developers
Sections like this too:

>DHKE was one of the first public-key protocols, which allows two parties to exchange data securely, so that is someone sniffs the communication between the parties, the information exchanged can be revealed.

I don't think that information being revealed through passive observation is a selling point of DHKE.

mclehman··on Project Fi Is Now Google Fi
Are you sure about that? It's been almost a year since I got my mom set up with Fi in France, no issues yet.
mclehman··on Project Fi Is Now Google Fi
I've used more than 300GB in a day on my home internet connection, it doesn't seem outrageous to me that someone could use 1/100th of that on a mobile connection per day.
mclehman··on Everyone is totally just winging it, all the time (2014)
That's kind of how it landed here.

My old school district has one middle school and one high school, and pushed out the one of the best teachers I've ever had. That said, an organic chemistry class was offered, thanks entirely to the efforts of another great teacher.

I never had any real choices in my grades 6-12 education so, to me, being in a position to choose a school with a curriculum catering to one's interests and talents does seem to be a privilege many people take for granted.

mclehman··on Going to university does not broaden the mind
That wasn't consistent at my school, but classes that did derive everything from first principles were consistently the best ones.
mclehman··on Turn Vim into Excel: Tips for Editing Tabular Data (2013)
I think that's the most important differentiator evil has.

Embedding vim-style editing in an IDE or less extensible editor might get you 90% of what you want from Vim, but that 10% can be a dealbreaker depending on your workflow. Without easy extensibility, you might not be able to get that last 10% at all.

I'd say evil starts out a little better, maybe 95% out of the box, but now you have all the power of emacs to make up that last 5% and then start to go even further if you're not content then.

mclehman··on Major Study Finds ‘Some Evidence’ of Link Between Cellphone Radiation and Cancer
I believe you added an extra "/kg" on emission.
mclehman··on Christie’s sells its first AI portrait for $432k
>This dude set up a "this is for free" sign and then some other dudes just swooped in saying "we'll take all of this" and then just replaced the sign with "$500k".

This loses the important nuance that them swooping in and slapping a price tag on their own use of the implementation doesn't deprive anyone of access to the original on the same terms they were able to access it.

No one has lost anything in this scenario.

>The problem with this is that it disincentivizes the sharing mentality.

Personally, I feel arguing over how people make use of freely shared knowledge does more harm a culture of sharing than usage of said knowledge, even when that usage pushes right up to the bounds of what is allowed under whichever license.

mclehman··on Apple and Samsung fined for deliberately slowing down phones
Thanks for mentioning this. I've noticed the setting before but never played around with it until now. I didn't have any performance complaints (Pixel 2 XL), but disabling animations makes (nearly†) everything feel noticeably snappier.

† The google feed seems to have a consistent lag upon switching to it from the home screen (double tap on the multitasking button is normal) that the animations hide. It loads somewhere around 150ms slower than most applications, even taking longer than the first launch for unused apps.

mclehman··on This Old Lisp
I think they meant even though Scheme is pure, that's not the reason people admire it. Rather, its speed and usefulness engender that admiration.
mclehman··on Dandelion Seeds Fly Using ‘Impossible’ Method Never Before Seen in Nature
Aren't those two sections contrasting "in contact" with "unattached"?
mclehman··on Flight rules for Git
> (which also features a rather nice text editor).

I know, right? This 'evil' thing is going places.

mclehman··on Asterisks in Python
I believe they meant replacing the special * syntax with a use of apply so that there was no special syntax to achieve that functionality at all.
mclehman··on Larry Wall's Very Own Home Page
You can set that up with Tasker pretty easily. I hadn't considered it before now but I just set mine up to go to vibrate when I flip it over.
mclehman··on New Google Pixel 3, Pixel Slate, and Home Hub
Typing without autocorrect, one of the more common mistakes I make is clipping the spacebar instead of c/v/b/n.

Come to think of it, I don't think autocorrect would catch this anyway.

mclehman··on GitHub: sysget – A front-end for every package manager
How common is this? I use 2.5 different package managers day-to-day (homebrew/pacman/pakku) and a few more occasionally (portage/pkg/apt). I can't really think of a situation where I had to really think about what I was running to install something. I'd imagine a scenario in which you're often dropped into a box you don't usually interact with would typically also come with a more homogenous environment as far as operating systems go.
mclehman··on Microsoft open sources parts of Minecraft: Java Edition
Indeed it is. I'm hoping to get the time to dig into it enough to submit a patch, but school has me pretty busy at the moment.
mclehman··on A Year in Clojure
I pretty much agree with this. When I can get away with it performance-wise (and I almost always can for personal projects), this is a big part of why I love using Perl 6.

I recently rolled my own (verg tiny and specific) build/deployment system for a project. Initial prototyping was a breeze, but once I had things more or less nailed down, I started adding types and, for example, was able to leverage the type system to make sure it can only be deployed listening on IP addresses in the private range. The next step is to rig up some sort of Zerotier integration to ensure I only make it available on my private networks.

← PreviousPage 2 of 5Next →