HNHacker News
TopNewBestAskShowJobs

Reefersleep

72 karma · joined April 17, 2015

submissionscomments
Reefersleep··on Conventional wisdom as an anti-pattern
Turn it upside down. Do the bare minimum of thinking and writing when setting up the initial test case, really just have it be scaffolding to run a single sunny scenario test case. Then let users (testers, other developers, automated systems or actual users - whatever hits your code) do any further discovery for you. Whenever they cause a bug, that's a new test case (or a series of new cases) to add to your initial single case.
Reefersleep··on OpenAI's Woke Catechism
Your comment has me pondering. Is there such a thing as an unbiased human experience, let alone an unbiased human utterance? Everything we do is informed by the past, however indirectly and outwardly unpredictable.
Reefersleep··on The case for dynamic, functional programming
Functions like map and range return lazy lists in Clojure. This is how I'd implement zip:

   (def zip (partial map vector))

   ;;Usage:
   (zip (range) [:a :b :c])
   ;;=> ([0 :a] [1 :b] [2 :c])
Reefersleep··on Fast Typing: Keyboard Layouts
I didn't do any testing to figure out where the latency came from, but the article was pretty thorough in documenting the palpable difference between Ergodox and e.g. the Apple Magic keyboard. I managed to dig it up for you: https://danluu.com/keyboard-latency/

Come to think of it, I might have incurred some latency myself with the particular layout I'd brewed; some keys had dual meanings depending on whether I held them down or not. That was a patch on the problem I had with the physical Ergodox layout lacking my Danish characters, though, so even if I'm partly to blame myself for the latency, that wouldn't have made a great difference in my overall assessment.

I agree fully; pick whatever suits you. I kind of still want a mechanical keyboard that has extreme amounts of click and clack, just because it feels so nice to type with. I just don't know which model I'd pick, and it'd be pretty expensive for something I'd only use occasionally.

Reefersleep··on Fast Typing: Keyboard Layouts
I bought an Ergodox EZ because I wanted to try out the wonderful mechanical keyboard feedback that many blog posts talk about. The tactile feedback in particular; as I didn't want to bother my colleagues, I bought Blue Zilents from Zeal PC [1], which were a nice upgrade from the Cherry Browns - silent, regular, good tactility.

I never really got what I was looking for. While the keyboard "felt nice", the extra travel seemed excessive when compared to the standard Mac keyboard (2015 model), and the tactility didn't really improve my typing. Rather, due to the ortholinear layout of the Ergodox, and the keyboard not having room for the Danish characters (æÆ, øØ and åÅ) which I use every day, I spent a lot of time configuring first the keyboard layout, then my brain to fit it. And in spite of the silent switch choice, I could never be as ninjaish as on my Mac keyboard.

The final straw, however, was when I read a blog post that confirmed my general feeling about the sluggishness of the keyboard; the software that the keyboard runs internally means another hurdle in the signal path from my button press to the computer reacting, and a huge one when compared with other keyboards. Regardless of how much I practiced, the keyboard would _never_ feel as fast or responsive as I'd like it to, and consequently, my efforts into improving my typing would probably proceed at a poorer rate than it could have.

I reverted to the Mac keyboard, and I'm happy!

This isn't intended as an Ergodox bashing. Personally, I learned from the experience that a) Mechanical keyboards are not for me, and b) The Ergodox certainly isn't for me. And, possibly, that c) The butterfly mechanism of the 2015 Macbook Pro is actually a perfect fit for me. But I also learned a more general lesson, which is d) To keep critically pursuing alternative interfaces, _especially_ when I'm experiencing fatigue or pain, and e) That regardless of the interface, repetition can be hurtful. In my future home office, I hope to have more than one pointing device and more than one keyboard, so that I can switch it up once a while - use an vertical mouse rather than a horizontal one, or switch to a touchpad or Wacom when I feel like it. And the same for the keyboard; changing the angle of the board (angles in the case of a physically split board), strapping keyboards to my thighs, using keyboard with different switch mechanisms and key layouts. And, of course, getting away from the keyboard, stretching, and looking into the distance :)

Take care of yourselves, fellow keyboard warriors!

[1] https://zealpc.net/products/zilents

Reefersleep··on Never edit a method, always rewrite it?
Do two pull requests: one pure refactor, one pure logical change. I've been doing this at work, and it's great!
Reefersleep··on Immutability and loops
It's not static. You can edit the code blocks and see the results.
Reefersleep··on Show HN: Granim.js – Create fluid and interactive gradients animations
Smooth as butter in Safari on iPhone 6.
Reefersleep··on A Farewell to FRP
Just dive into it. After wanting to be a bit more descriptive and assertive about the input and output of certain functions in some code I was writing, I must have spent all of half an hour reading documentation and successfully adding Schema to my code. Might be a bit of a rose-tinted memory here in respect to the pastimate :) But it certainly is both easy to understand and use.
Reefersleep··on The Lisp Curse (2011)
This sounds very interesting :) And I think Colin Flemming is doing something similar in Cursive? In any case, I'd like to see more of what you are talking about - do you have any more documentation of it, a writeup, blog post or video?
Reefersleep··on Your Typing Style Might Not Be So Bad
I don't like QWERTY for a number of reasons, but feel forced to use it out of respect to my peers at work. I succeeded at learning a better alternative, Colemak, at home, since it is not far from QWERTY. But you don't need to change your whole layout - you can do incremental stuff to improve your situation.

For example, I found it silly that () [] {} and /\, symbols that I use so very often every day, are placed so far away from home row in both Colemak. Also, I was annoyed with the Alt key being placed really awkwardly on my MacBook Pro. And here CapsLock was going totally unused... So I changed CapsLock to Alt, Alt+j to (, Alt+k to ), Alt+Shift+j to [, Alt+Shift+k to ], Alt+l to {, Alt+æ (the key just right of l on my Danish QWERTY keyboard) to }, Alt+u to / and Alt+i to \. It was something like that - I can't check since the computer is broken at the moment. And it was glorious. You should try it out - just change the stuff that bugs you the most to begin with.

I used a program called Ukelele for Mac to change my keys. Unfortunately, it's a bit harder to remap CapsLock in Windows, which is what my workstation uses.

Reefersleep··on Erlang beauty
That is indeed cool! Seems extremely handy and intuitive.

I've seen more than one control structure library for Clojure that would make certain algorithms more smooth and "easier to read" in code - I just wonder if it's actually confusing for the readers to start pulling in all of these to your project as you see fit.

Reefersleep··on TodoMVC in Rust
What's the development process like for a Rust-in-the-browser project like this? I mean, is it like; write some Rust - manually start a compile process - wait a while - view result in browser - repeat? Are there nice tools? :)

I'm used to working with raw JavaScript, ClojureScript with Figwheel, and Java/xhtml with JSF. Of the three, ClojureScript/Figwheel has given me the smoothest process so far, though I know there are tools for autoreloading raw js as well, just haven't gotten around to using them.

Reefersleep··on Finite State Machines in Clojure
What are the typical (or potential) use cases for FSMs?

I do web development. Is it something that could help me better model rules for a business domain, for example?

Reefersleep··on ClojureScript and the Blub Paradox
I enjoyed your article, and I think the notion about running close to the "human metal" is an important selling point for Clojure. The thing is, it is very hard for outsiders to see how this works, as you have to have some grasp not only about the (to most people) relatively foreign syntax, but also about how evaluation works, in order to begin to grasp how powerful macros are. And then, there's still some convincing left to do, because isolated examples A and B of macro usage can reflect stuff that you can do as easily in other language Y and X respectively. It took me a long time to get to my current understanding, and, being a Clojure/ClojureScript beginner, I still don't fully fathom what can and cannot be done with macros. Articles like this one continues to inspire me in my quest for understanding :) And they strengthen my belief that there is something to be won by adopting Clojure. Good job!
Reefersleep··on World's first white laser
So many scientific articles cause this response in me. "Invention X causes fantastic visual product Y". Alright alright, talk at length about X all you want, but for the love of internet kittens, show me Y!
Reefersleep··on Some Functional Programmers Are Arrogant
I'm with you. After hearing him mentioned numerous times in various contexts, I gathered he was some sort of sage guru. Then, I read one of his articles for the first time, "'Interface' considered harmful[1]. I found it rambling and the style to be a bit condescending - and, I found out after reading this piece, I absolutely deter the "X considered harmful" premise[2], which is probably the main instigator in giving the article a condescending feel, along with the acted-out teacher-pupil discussion. I'm a peer, not a pupil. The tweet seems short-sighted and destructive to me as well - not the action of some wise, caring "uncle".

[1] http://blog.cleancoder.com/uncle-bob/2015/01/08/InterfaceCon... [2] My feelings are in line with "“Considered Harmful” Essays Considered Harmful" (The title being the one exception to the rule : ) http://meyerweb.com/eric/comment/chech.html

Reefersleep··on Ask HN: ReactJS – Do you use it? Do you like it?
Sounds like Re-frame might be the natural next step for you: https://github.com/Day8/re-frame

I haven't used it myself yet, but I'm itching to! I love Reagent and I'm very interested in FRP, especially the proposition that it might simplify the code a great deal if your app is above a certain threshold of complexity.

Reefersleep··on Regexes: The Bad, the Better, and the Best
Inspiring post - I'll be sure to put extra thought into how I write my regexes from here on out.

Does anyone know a good browser-based game that trains you to do regexes well?

Reefersleep··on Crystal Language
I think syntax matters a lot - if it incurs development costs through inconsistencies, for example.

I'm going to a meetup in a couple of days where Elixir and Phoenix will be presented, I think I'll keep your comment in mind and maybe ask about inconsistencies in the syntax, as I wasn't aware of this. What I know of the syntax relation to Ruby is that it is only superficial - the semantics are very different.

Reefersleep··on Amethyst – Rails inspired web-framework for Crystal language
I'm generally interested in new languages, and when reading about them, I always try to figure out to whom or which contexts they cater to. With Chrystal, I don't know. Is it just "someone who digs the Ruby syntax but prefer static typing, would enjoy more efficient target code and would like to call C directly"? That doesn't seem like a strong value proposition to me, especially with optional static typing (maybe?) coming in Ruby 3.0.
Reefersleep··on Why I dislike systemd
The newest version of Firefox has a little icon resembling an open book at the right side of address field that does something similar. Quite handy :)
Reefersleep··on A DSL with a View
Who's "we"? What do you do?

I'm trying to get into CLJS/Reagent/FRP (quite possibly re-frame) myself.

Reefersleep··on Chord progressions of 25,000 songs
This is great work. What I really want now is a version where you can listen to the chords in the chart individually and in progression!
← PreviousPage 2 of 2