HNHacker News
TopNewBestAskShowJobs

peterkos

665 karma · joined May 28, 2020

peterkos.me
submissionscomments
peterkos··on Show HN: Unclack – a macOS app that mutes your microphone while you type
Alternatively, throw some AI in there (https://krisp.ai/) :P
peterkos··on Show HN: I made an alternative platform for professional profiles
Clean design, but the contrast could be a lot better (light gray on white). Company logos would be cool too!
peterkos··on Why Did Mozilla Remove XUL Add-Ons?
There's this project called "Microsoft Windows" that's done this for decades. You want to be the one digging through 1998-era C++ to fix a bug? Didn't think so.
peterkos··on Ask HN: How to improve my abstract thinking?
I totally feel that last bit w/ Linear. I took it with Data Structures/Algos, which was fascinating! In one class, we had a guided lab that was (basically) implementing PageRank, while in Linear we were approaching that problem _entirely_ from the theoretical perspective.
peterkos··on Ask HN: Alternative to Google play music once they close?
Same; I paid premium and haven't looked back. Apps are fantastic and the service itself is super straigtforward and has a great catalog.

(Feels so strange to "review" Spotify, haha)

peterkos··on Ask HN: What Software Engineering domains require the least continuous learning?
You could always dive into something ancient like COBOL that is objectively never going to change, but people will always need. Same goes for similar languages of that era (FORTRAN, etc.)
peterkos··on Ask HN: How does one have the mindset to study for coding interviews?
> It's tough, it's like I feel attacked by the fact that I can't solve these in 5 minutes like the other folks I see on Linkedin.

Honestly, I'd recommend avoiding LinkedIn. It's completely devoid of any personal aspect to the work people do -- it's all business-this, company-that. There's no such thing as a post that's not spun in some positive manner.

As others have mentioned, in short, it's idealized. Plus, the skills that other people have are not necessarily the same skills YOU need to succeed. That includes Leetcode problems. Which, by the way: if the company cares about that kind of thing at an interview, they probably have that same sort of mindset during the job. Not guaranteed, but keep that in mind.

I struggled with impostor syndrome for a good three or four years, despite objective successes in my programming "career" as a student. I think that finding your own value, and distinguishing that from the skills you need to succeed, AND convincing yourself that you can get those skills, is the golden ("growth") mindset.

For example: math. (undergrad CS: calc, etc.) I tell myself I'm not good at math, I struggle adding basic numbers. but I've either 4.0'd or got 90%+ on midterms or just _passed_ enough math classes that I know this isn't true. How? I realized that math is literally just practice. That's it. Work in = work out, and if you get stuck, it's about correcting false assumptions.

That particular realization allowed me to embrace the (honestly terrifying) interview process a bit easier. Leetcode isn't about "grr get this problem perfect otherwise you're trash". Leetcode is about "okay, look, we have 20 minutes to see how good of a programmer you are, here's an intentionally hard problem. how clever are you. how fast are you. and do you fit our mold". THATS IT.

So, what could you do?

First, mindset. I've been doing iOS programming for a good 4 years now, but allll that work makes me worse at Leetcode, because I over-optimize for cases that don't matter. Realizing this made me slightly better at Leetcode. Only slightly.

Remember, Leetcode is just tiny, intentionally hard problems. It doesn't represent your skill as a programmer, just your ability to express a small subset of programming skills. And honestly,getting those skills is hard. I don't have an answer for that. Maybe try to analyze each problem, figure out what it's trying to test you on, then learn that topic from scratch.

Sorry for the ramble lol, hope it was helpful

peterkos··on Finishing a side project
Yeah! This is also the same advice I discovered for open source contributions. Browsing for a cool-looking project on GitHub is nowhere near as motivating as a breaking bug as you start working with a library, haha.
peterkos··on Finishing a side project
To refame that comment a bit: almost every single resource you find on motivation will mention that motivation is not a matter of passion, it's a matter of discipline.

In every hobby there is always a sense of discipline, it's just usually implicit. For myself: composing orchestral scores started off as a fun little "oh this melody would sound neat". Ever since then, there have been times when I need to sit down and do some "real work" to turn that idea into an enjoyable, fulfilling result. Could I have just wrote things when I want to? Of course. But now, after years of composing, I have the skill to make things that sound great when I really just threw it together.

In software engineering, a beginner or even intermediate programmer is going to lose a lot of their initial motivation to build their idea (game, app, website) -- because in finding the skill to execute on their initial side project idea, they realize they need to develop that skill from scratch, which takes work.

I think there's a good balance between investing skills between "basic knowledge" and "career capital". What that balance is varies from person to person, but I also believe that no matter what, even if it's implied, there is always a certain amount of work that needs to be put in.

peterkos··on Apple’s Relentless Strategy, Execution, and Point of View
I've heard it descried (on Twitter) as Agile on steroids, haha
peterkos··on Not new news, but tbh if you have tiktiok, just get rid of it – videos
Apple risks damage to their brand by not allowing it. It's the same reason why they politely ask Uber and Facebook to fix serious bugs in their apps, rather than removing them with no comment, as they've proven to do with small iOS devs.
peterkos··on Cryengine Source Code
The code for VVVVVV infamously has switch/case for every possible screen/level in the game[0], which I think is hilarious. Best example of "it works!"

[0] https://www.polygon.com/2020/1/13/21064100/vvvvvv-source-cod...

peterkos··on Ask HN: Thoughts on new GitHub layout?
Aside from the accessibility concerns -- which is honestly inexcusable -- the non-centered repo layout is so strange to me:

All that info that's now in the sidebar is temporary. All of it. I never need to look at a project language more than once.

However, it takes up 100% of the height of the page, so when I'm halfway through a README, the README gets offset by some magical space. The ghost of the 1 paragraph of "language/tags/etc." takes up that space. The README is not centered.

From a design perspective, this layout implies an equal level of hierarchy between the right sidebar and the main content. It implies that they should be referenced side-by-side. But that is just not the case. I want to meet the person who thinks that the document literally entitled "README" (or oh, I don't know, all of the files) is somehow as-or-less important than the tags on a repository -- which are usually just the title copy pasted anyways.

I develop open-source things and I absolutely love to use GitHub. In particular, I've spent a LOT of time reading README's and also writing them. I really think their centered layout should come back.

As a suggestion: Maybe they could shift just the _files list_ over for that sidebar, and have any block content not centered?

Or maybe if there somehow existed a compact way to organize that information. Maybe a horizontal layout because there is only a little bit of text. Something like that.

peterkos··on I Just Hit $100k/year On GitHub Sponsors
Yep, unfortunatley.

I left feedback the moment it entered "feature preview", left feedback on all the accessibility it lacked (mainly reducing contrast everywhere), and well, looks like they just rolled it out anyways.

Really wish they would take things like people being able to see their product without difficulty seriously.

peterkos··on What’s New in macOS Big Sur: Human Interface Guidelines
I was re-watching that old keynote and its great when things like this line up.

I like that this time they lined up design changes + hardware -- and that this time hardware was the reason to bump the version.

Like, we saw Intel transition in 10.3-ish, no more Rosetta in 10.7, entirely new design + Swift in 10.10, Catalyst and SwiftUI (brand new frameworks) in 10.15, but new design + ARM was the push for 11.

I like this trend of hardware being the "major" version bump but now I'm curious what kinda space-age paradigm macOS 12 will be breaking. "real" 3D touch? Brain-computer interfaces? I can dream, okay?!

peterkos··on What’s New in macOS Big Sur: Human Interface Guidelines
I think it reflects the hardware design language from the iPad and iPhone (and Mac honestly) across the whole software stack now. Although that doesn't stop me from not liking it :p
peterkos··on FBI used Etsy, LinkedIn to make arrest in torching of Philadelphia police cars
As a student its one of those things that you can't risk not having on your résumé. There's always one recruiter or one document-scraping application portal that could reject it. Plus every career counselor I've seen has suggested it.

I personally think that for software dev at least, making connections via Twitter or via friends is a better way to go for the first internship, but everyone has different paths to success :)

peterkos··on No Paint
The music/sfx is amazing. Feels super "old internet" :D
peterkos··on On Coding, Ego and Attention
I remember reading an article that studied junior and senior devs and discovered that there was no way to get better at debugging. No matter how much experience someone had, their ability to problem solve was about the same.

I think that might have to do with this complexity, but also: software has so many ways of doing something, even within the same language -- and that gets permuted across, say, five different languages (Python, Rust, PhP...). It's impossible to say the "right" way to do it because there are multiple ways to achieve a valid result that's readable, AND there is a margin for disagreement between what is "readable".

peterkos··on Hacker Dosed with LSD While Restoring Historical Synth (2019)
I thought it was going to be that baked beans meme but no, they literally brought some random repair guy over to "fix" a computer Full of Beans
peterkos··on Ask HN: How do you learn to build substantial, real world apps?
As others have said, try to clone something already out there! But start as small as possible.

Like, for Instagram. First, just the scrolling list of images. Then, images with text under them. Then, a tab bar with images and a profile. After enough of this, a basic skeleton will form and you'll start hitting the fun edge cases: how do you edit a user's comment? How do you make sure user data is always in sync? How do you handle every possible API error that you might get, and communicate that simply to the user?

Open source projects are also a great reference. As an iOS dev, I'm biased, but I've heard Android code tends to err on the side of "meh, it works", even in large projects, so be on the lookout for that. Software architecture tends to be fairly consistent across platforms in my experience anyways.

peterkos··on The Mathematics of Music [pdf]
As a composer I agree to some extent. Like, I don't sit down and say "oh lets use some augmented sixths today", but I definitely refer back to the "rules" of music theory a lot when I get stuck or I'm looking for a way to communicate a certain mood in a piece.

And this kinda device-reference approach, I believe, is mathematical. And I also think that a lot of what makes music tick is that inherent usage of the musical language we study or grow up with. Truly original music imo doesn't really exist[0]; the intentional or unintentional borrowing of ideas is why music theory is a field of study: to describe the ways in which music works. I think even modern techniques (set theory, 12-tone rows, and atonal music overall) has to look at the existing rules and say "what can we do differently" -- even as Romantic-era composers got more adventerous in their use of texture, harmony, tonality, etc.

(The story of Charles Ives, who spent most of his younger life being "untrained" by his father to sing duets in overlapping keys and the like, is a good example of this.)

> ... actual composition, which is developed to a level that far exceeds the guidelines of species counterpoint itself

While true, I still think it's more of a spectrum than a binary "all or nothing" mathematical approach, which is why I believe that musicianship is more mathematical than not. I agree that it far exceeds the "use a forth and you're beheaded" approach but I'd be interested to hear music that is entirely free of some sort of process.

[0] note: the discussion of originality in music is probably an entire essay on its own, lol

peterkos··on Ask HN: Why do you use Rust, when D is available?
> Rust is a different language and you'll spend a lot time trying to transfer C++isms over until you realize writing effective Rust is not like writing effective C++ and you go through a process of unlearning

Ding ding ding! However I do think that the combination of syntax with the brand new concepts just adds that extra layer of complexity. A similar thing is Optionals in Swift -- the syntax is so baked into the language that even if you really understand how optionals work, the syntactic sugar keeps piling up in different situations. (i.e., first the ? operator, then implicitly unwrapped optionals, then if lets, guards, guard lets...)

peterkos··on Ask HN: Why do you use Rust, when D is available?
As a Rust newbie: macros, lifetimes, and (when I really first started), closures. All of that syntax just seemed so messy to me.

The borrowing model was actually my favorite part because it not only was interesting, but made sense! And the syntax was relatively clean :)

peterkos··on Ask HN: Why do you use Rust, when D is available?
> Rust would possibly not do so well if it wasn't for Mozilla support.

And especially Mozilla's intense passion for open-sourcing everything. I think it was a good catalyst to get it into the hands of as many people as possible.

peterkos··on The Mathematics of Music [pdf]
"... but if you want to actually learn musicianship stay well clear."

Species counterpoint is entirely mathematical, as is (to a great extent) common-practice partwriting. Yet, I guarantee you that most people who listen to that music would think it is entirely musical, when in fact very little is more than rule-following. (And yes, this is for a lot of genres! Sonata form, pop structure, etc., etc.)

Also, involving the work of David Cope, his rule-based composition systems repeatedly passed the turing test.

(I'm hoping, once I get to grad school, for my master's thesis to be around this exact idea: the computational aspect of creativity, and how the idea of "musicianship" is really just a human attribute we hold on to.)

I agree that music theory is mainly descriptive rather than prescriptive, but the fact that many works of genius center around patterns, well... it's hard for me to believe that we aren't heavily dependent, on some level, on math.

peterkos··on The Mathematics of Music [pdf]
> mathematics for music theory

Oh boy now that's a fun one

There's a great book called "The Oxford Handbook of Algorithmic Music"[0] that has many insights into that! Some philosophical, some really mathy.

[0] https://global.oup.com/academic/product/the-oxford-handbook-...

peterkos··on The GUI should be a lot better [video]
Yeah. I've always wondered why MS puts the window previews there when the Timeline view and multi-desktop view shows the window contents. macOS imo does a much better job: Mission Control is for all graphical work. For power users, Alt+tab is apps only, no previews, and then once you're in an app, you can Cmd+` to cycle through each window. Or, set a gesture to 3-finger-swipe down and see all the windows that belong to a specific app.
peterkos··on The GUI should be a lot better [video]
Hey, this guy sounds like the Freeman's Mind guy...

> goes into channel

Hey, this is the Freeman's Mind guy!

peterkos··on Zoom closes account of U.S.-based Chinese activist after Tiananmen event
And riiight when I create one lol -- argh, nothing in this world is good!
← PreviousPage 3 of 4Next →