hkailahi's comments

hkailahi | 9 years ago | on: RethinkDB Postmortem

I'm surprised there are no comments here, this is the best thing I've seen on HN in a while.

hkailahi | 9 years ago | on: What is deliberate practice for programmers?

EDIT: Originally written as a response to u/probinso, but got way too long. I'm a novice here, so any thoughts/anecdotes/(dis)agreements/anything are greatly appreciated.

+1 - I would like an invite too! Back to the article, this is probably the topic I've thought most about recently.

Relevant background: Novice Guitarist + Junior Software Engineer

In the past year I have taken serious interest in jazz musicianship, specifically improvisation. I'd like to get significantly better at both programming and jazz improvisation as fast as possible, so relentlessly optimizing my practice, or "practicing practice", has been my #1 goal. I have a decent approach for music, but I'm still looking for one for programming.

Here are a few of my amateur approaches to "deliberate practice" regarding music:

- The first and most obvious thing I learned was that you can't improvise what you can't physically play. So clearly, deliberate practice is required to gain the ability to play anything. I've seen and heard this referred to as a musician's "chops". To develop this, I practice scales, arpeggios, chords, licks, songs I've transcribed, and other targeted exercises.

- To improvise an appropriate melody I have to 1) hear and understand the music outside the melody, 2) create a good melody over it in my head, then 3) translate and play the melody in my head. There is a lot of overlap in the practice for these three, which mostly sums to ear training, sight reading, sight singing, listening to a bunch music, transcribing and analyzing it, and repeated, concentrated attention to how the harmony + rhythm of songs work and how the melody fits over/in that.

- Learning lots of music theory + applied practice of it, with the ultimate goal of using knowledge intuitively rather than actively. The key assumption here is that my music knowledge has to be intuitive, because I won't have time to think about all this stuff when improvising. So I'm hoping that consuming thousands of resources (songs, books, talks, paid lessons), actively using learned information, and gaining lots of experience will make improvisation natural, subconsciously feasible, or at the very least much easier.

- Playing and improvising with others a lot.

I generally think of all of this as 1) developing fundamentals and technical skills 2) discovering and adding new things 3) applying knowledge 4) reviewing assumptions, making changes 5) iterating. Then, maybe enough iteration => experience, and enough creativity + experience will lead to the craftsmanship I need?

This basic approach to music is good enough for me right now, but I'd like to start the same process with making software. So finally, the question in the article - "What is deliberate practice for programmers?". I don’t have the answer but I’d sure like to know.

I could review all the knowledge I gained from CS in university. Implement a bunch of stuff, like DS, algorithms, apps, low level mechanisms? Read a bunch of highly rated technical books? Talk to people smarter and more experienced than me? Go work at a company that says it's invested in it's employees growth?

This is all great, but it doesn't seem like deliberate practice in the way that my practice for improvisation does. I would like to become a great programmer, but the problem is that I just want to be great at all things programming. I guess I have more specific end goal in terms of music. Maybe it's that I don't really know what I want in terms of programming? Perhaps I need to specialize, though it's a little early for me to know where. It's very frustrating knowing that I want to get better, am willing to "put in the work", but don't know what “work" I should be doing.

hkailahi | 9 years ago | on: Music Theory: An Education from First Principles

Nice. I've been thinking a lot about writing a interactive blog series of something similar (music fundamentals for CS people). It'll probably be a while before I start writing that though.

I think the biggest thing that's missing at the moment is a section on rhythm/time. I'm sure you have plans for that. Looking forward to seeing finished course.

hkailahi | 10 years ago | on: San Francisco May Let Bicyclists Yield at Stop Signs

I also live in Isla Vista, and can confirm that this is exactly what happens.

When freshman move in, the first few weeks are filled with crashes. Also, every time there is an event that draws lots of out-of-towners (Freshman Orientation, Halloween, etc.) it gets much, much worse.

hkailahi | 10 years ago | on: Reality doesn’t exist until it is measured, quantum experiment finds

Right I'm aware of that. I just thought it was an interesting parallel.

Locke based his works off of the physics known at the time (Newton, etc). His theories were later definitely refuted by advancements in physics. Though it wasn't his intended meaning, it is interesting at least to see similar language being brought back by physics.

hkailahi | 10 years ago | on: Reality doesn’t exist until it is measured, quantum experiment finds

In the time of Empiricism, the philosophers George Berkeley and John Locke proposed something similar. I believe it was called it immaterialism, or the idea that nothing exists without being perceived. Berkeley went further saying that objects only exist in the mind, or something like that.

hkailahi | 10 years ago | on: Ask HN: What's the best way to quickly get up to speed on Java?

Refresh on the syntax, read up on some Java specific stuff ( like geeksforgeeks.org/Java), and check out "Effective Java" - http://uet.vnu.edu.vn/~chauttm/e-books/java/Effective.Java.2... . Seems long, but it actually reads pretty well.

Also, check out the Google Java style guide. It's a nice point-of-reference, but don't get too hung up on their conventions.

That's pretty generic advice. There is probably a better resource specific to what you'll be doing.

EDIT: I'm still just a college student, but I have done a few Java-based internships. My advice probably won't be all that helpful if your senior developer, or doing some super low-level stuff.

hkailahi | 10 years ago | on: Apple’s Tim Cook Delivers Blistering Speech on Encryption, Privacy

I've been using DuckDuckGo as my main search engine for about a year now. It is good enough for me in most cases. For the times it isn't, I use Google.

I think there is a large amount of value in both of options 1 and 2. To me, the idea of Now on Tap and Google Photos is absolutely horrifying. On the other hand, my roommate told me that the Google Photos app was perfect.

I suspect that my views will hold, but it is possible that personalization becomes too important to opt out of. I tried to delete my Facebook for similar reasons recently. I missed out on enough party invites and messages from classmates that I ended up going back.

hkailahi | 10 years ago | on: Apple’s Tim Cook Delivers Blistering Speech on Encryption, Privacy

At the moment, this thread seems more like a YouTube comment section than a HN one. Though it's not exactly surprising given that Tim Cook's speech is obviously aimed at Google/FB.

Let's start with the facts. Apple makes its major money in hardware. Google makes its major money in search. Obviously, iOS has to be able to compete with Android in order for iPhones to sell well. Google offers services like Google Now and Google Photos that can be tailored in a more personal and effective way. How? They collect as much data as they can get away with. Consumers get to have services that should be better suited to them because of this.

If Apple wants to compete, it seems that there are two options:

1. Start mass collection and become a better Google.

2. Reject Google's model, and build iOS around privacy and non-invasiveness.

That's what this is. I do think Apple will either make a search engine focused on privacy or buy one (e.g., DuckDuckGo). Personally, I am happy that Apple and Google are competing in this way.

page 1