HN user

Davertron

630 karma

I'm a developer living in Vermont, USA.

http://davertron.com

http://hnofficehours.com/profile/Davertron/

[ my public key: https://keybase.io/davertron; my proof: https://keybase.io/davertron/sigs/sUTPf2sNRM_pueBQjnxqjdzkafqgqktTzVwsEv3Wi9Y ]

Posts23
Comments202
View on HN
news.ycombinator.com 3y ago

Ask HN: How Do You Navigate Code?

Davertron
29pts36
www.theverge.com 5y ago

Play Doom Inside Minecraft

Davertron
1pts0
aidungeon.io 6y ago

AI Dungeon

Davertron
1pts0
beta.observablehq.com 8y ago

Why Observable

Davertron
2pts0
www.destroyallsoftware.com 8y ago

The Programmer's Compendium

Davertron
2pts0
www.twitch.tv 9y ago

StockStream

Davertron
4pts2
stianj.com 9y ago

Ninjadev – What Are You Syncing About?

Davertron
2pts0
technologyadvice.github.io 10y ago

Where Flux Went Wrong

Davertron
2pts0
www.circuitlab.com 13y ago

Browser-based Electronic Circuit Designer

Davertron
1pts0
www.telegraph.co.uk 16y ago

How a broker spent $520m in a drunken stupor and moved the global oil price

Davertron
7pts1
news.ycombinator.com 16y ago

Ask HN: Handling Shipping in Europe

Davertron
1pts0
lifehacker.com 16y ago

Make Thunderbird 3 Your Ultimate Online/Offline Message Hub

Davertron
2pts0
arstechnica.com 16y ago

An introduction to 3D on the Mac, Part I: models & textures

Davertron
24pts1
news.ycombinator.com 16y ago

Ask HN: Looking For Work: Move First, or Wait For Offer

Davertron
7pts5
news.ycombinator.com 16y ago

Ask HN: Best eCommerce Platform

Davertron
5pts5
www.fngtps.com 16y ago

Ruby on OS X Conference Videos

Davertron
2pts0
arstechnica.com 16y ago

Virtual composer makes beautiful music—and stirs controversy

Davertron
1pts0
www.codinghorror.com 16y ago

Coding Horror: That Means It's Working

Davertron
4pts5
arstechnica.com 16y ago

Rails-like Quickly tools brings rapid development to Ubuntu

Davertron
59pts22
news.ycombinator.com 16y ago

Ask HN: REST and Authentication

Davertron
5pts3
www.youtube.com 16y ago

YouTube - Spotify for iPhone preview

Davertron
1pts0
rhondaforever.com 17y ago

Very Cool 3D Sketching Program

Davertron
76pts10
news.ycombinator.com 17y ago

Ask HN: Storing Credentials Securely

Davertron
9pts5

Thing is, it's not even "too much theory".

I would agree with you. I feel like watching videos where someone goes "hey, so here's this pattern that completely unlocks the neck for you, don't be stuck in a box anymore!" and all they're showing you is where the various notes in a key are along the neck (now I know that, but I wouldn't have known that before...) and it's WAY more confusing than if you just learn how the pentatonic scale works and how to find the notes in a key etc. And the funny thing is, the only reason I was stuck in that box in the first place is because of silly rote memorization without understanding why you play the various notes in a scale etc., it just feels like this thing that kind of compounds when you just learn patterns vs. just learning the underlying principles.

But again, I'm completely amateur at this stuff still, and I don't have any experience teaching other folks an instrument, so it's hard for me to say with any certainty that we should be teaching it one way or another I guess.

This is why learning guitar when I was younger was so difficult to me; people just presented things like "you have to learn these 5 scale patterns" but they didn't really go into why, it was just "memorize this stuff and then you'll be good!", but I hate rote memorization without understanding the underlying principles. I'm old and didn't have the internet back then so I was just learning from various books or friends and it was slow going, but I still see things like this presented in tons of Youtube videos today.

I've since gone back and learned a bit of music theory as an adult and it's been super helpful understanding the underlying principles so I can work things out vs. having to just memorize things without understanding why they work.

I think then you can go practice the various scale patterns and get good at them with the knowledge that you can always work out the scale from first principles if you need to.

Different strokes for different folks though I guess, I'm sure there's an argument to be made for not overwhelming folks with too much theory out of the gate. Not sure if I had started with a bunch of theory if I would have stuck with it when I was younger.

[dead] 4 years ago

This. Interviewing is a COMPLETELY different game in the tech industry. Some people spend a lot of time and are very good at this game.

Also my naïve impression is that the market is pretty flooded right now with candidates with impressive-looking credentials (i.e. ex-FAANG employees) from numerous large layoffs, so I wouldn't be surprised if getting a job right now is more challenging than it was a year ago. I have heard anecdotally though that there's still abundant opportunity, but I'm not sure how that nets out. Maybe it just means that the top tier, most desirable jobs are super hard to get right now, but everything below that is pretty much the same? I'd be curious to hear other folks experiences.

Yeah, this. I don't have any data to support this, but when I was in school, MOST people didn't have close to full-time jobs. I had a job where I probably worked 10 hours during the week at night and some full 8 hour shifts on the weekends. Most of the people I went to school with (and I would assume, maybe wrongly, that most people in better schools than I went to) didn't work AT ALL while they were in school, it was just those of us less than wealthy folk who actually had to work to have spending money and money to pay for books etc. I don't think my work load was overly demanding, but I was a Comp Sci major, fwiw.

Well good luck then, in my experience the most free time I've ever had in my life was during college. I squandered massive amounts of that time doing things completely unrelated to education, and I definitely don't regret doing that. College isn't just about book learning after all. But still, BY FAR, college is the time of my life when I had the most free time to do whatever I wanted.

This is pretty much exactly what I do now, but since I'm unfamiliar with the codebase I often find myself thinking "where was that spot where this particular data came from?" or "where was that function defined again?" and I just waste a bunch of time & mental energy trying to track it down. Couple that with the fact that this particular codebase uses JavaScript with a custom / modified module system so you can't just cmd+click to go to definition and it's a real headache. It's also exacerbated here by having LOTS of files that have very similar names (Page, PageView, BaseView, BaseViewModel, config.model, config.view are a few examples...) and these are all just under one directory for a given component, if you look there are tons of components all with the same file names, which is a pet peeve of mine, but we all have our preferences I guess. Plus go to definition is great, but sometimes you go down a path that isn't fruitful and it takes a bit to get back to where you wanted to be, and often while I'm going down a path I want to annotate parts of it so it's easier to remember what each piece is doing. Anyway, it seems like bookmarks are a pretty good solution for this in vs code (https://marketplace.visualstudio.com/items?itemName=alefragn...), I just wish I could organize the bookmarks a little bit better than just "show me them by file" or "show me then in an unordered random list".

Edit: Oh and I would normally use the debugger A LOT to trace through the code and understand the call stack and params, but another crappy thing about this project is that it generates a massive JS bundle and it crashes the app I'm testing if I try to put debugger statements in...JS ftw

I just discovered this feature so I haven't played with it enough yet but it seems to tick all my boxes. One thing that I found confusing about the UX though was that I didn't realize at first I could continue searching around and adding content, so when I added my first bit of content and clicked "Create Notebook" and then subsequently navigated somewhere else and wanted to add content I ended up creating another notebook instead of adding it to a pre-existing one. Or sometimes I come back and want to add more content to an existing notebook, but I don't see how to do that.

Ha, that's kind of where I'm leaning now, I thought of the same thing in another response in this thread. It seems like it's lightweight enough to stay out of my way but flexible enough that I can have some control over how I organize things, and being able to quickly add some prose to describe why that particular link is relevant would be great.

Yeah, I also don't really like splits, they just don't feel very scalable. If I just need to open one or two other files they're fine temporarily, but more than that and everything becomes too small. Maybe if there were something that let you zoom in and out, like a Figma canvas, so that you could organize the files spatially in some order that makes sense to you (this is another thing that annoys me about just opening tabs in my editor, they're never really ordered in any meaningful way). If you could do this not just for files but for selected lines / ranges / functions / classes to keep things tightly scoped that would be awesome. I believe this sort of thing was something the original LightTable video explored, but I don't believe it was ever actually implemented.

I use these as well, but maybe something I didn't articulate well is that it's often useful to remember where I've been. One thing that I haven't played with in VS Code but that bites me a lot (and sorry, I don't know the proper name for this setting/feature) is that often when you're navigating you're doing so in the same vs code tab. If I remember to double-click the tab it'll hang around, but that's a pretty janky workflow, and I don't ALWAYS want to do that. Ctrl+- works if I hop into a method/function and want to look at it briefly and hop out, but I find if I go more than a couple levels deep it would be nice to mark certain areas as I go so I can easily get back to them.

Sometimes I do this by just adding a comment, and now that file will at least show up in version control as changed and I can get back to it if I need to, but that's also a little bit janky and I have to be careful I don't leave that cruft around on accident when I commit.

I'm trying out a bookmark extension in VS code and we'll see how it goes, I'm already a little bit annoyed by it in that it doesn't seem to let me organize the bookmarks in any way, so it might be somewhat useful for temporary spelunking, but I won't for example be able to save these bookmarks to refer to them later, which seems like it could be useful.

Sourcegraph has this concept of "Notebooks" which allows you to add files and intermix markdown, which feels like a pretty cool idea, and if I'm just reading code in Sourcegraph it's great, but when I'm in my code editor and making changes I don't want to bounce over to another tool. Maybe it's as simple as keeping some sort of Markdown file open that I write into and then add links to file line numbers as I go, I haven't tried that but I suppose it wouldn't be the worst, and allows me to organize the links in any fashion I see fit.

Infinite Mac 4 years ago

And Out of This World (or Another World...), which is one of my favorite games of all time!

Infinite Mac 4 years ago

I definitely remember Hotline! Got me into trouble in college...a friend and I opened up Hotline servers on our machines and threw a piece of software on there (probably a cracked version of Macromedia Flash or something like that...) and a README that said "please leave something if you take something". A few weeks later, we both got calls from the sys admin at our school asking us to come in for a little chat...we hadn't really been paying too much attention, and apparently people had put all kinds of software/games etc. on there and that we had been serving up from our machines (I believe the admin said "millions of dollars"...but he may have been trying to scare us straight...). We didn't end up getting into too much trouble for it (I believe we were banned from using the internet for a few weeks) and ultimately I got hired to work in the IT department, so it worked out for me at least...

So just today I was wondering if there was a cli tool (or maybe a clever use of existing tools...) that could watch the output of one command for a certain string, parse bits of that out, and then execute another command with that parsed bit as input. For example, I have a command I run that spits out a log line with a url on it, I need to usually manually copy out that url and then paste it as an arg to my other command. There are other times when I simply want to wait for something to start up (you'll usually get a line like "Dev server started on port 8080") and then execute another command.

I know that I could obviously grep the output of the first command, and then use sed or awk to manipulate the line I want to get just the url, but I'm not sure about the best way to go about the rest. In addition, I usually want to see all the output of the first command (in this case, it's not done executing, it continues to run after printing out the url), so maybe there's a way to do that with tee? But I usually ALSO don't want to intermix 2 commands in the same shell, i.e. I don't want to just have a big series of pipes, Ideally I could run the 2 commands separately in their own terminals but the 2nd command that needs the url would effectively block until it received the url output from the first command. I have a feeling maybe you could do this with named pipes or something but that's pretty far out of my league...would love to hear if this is something other folks have done or have a need for.

I've had similar really good experiences, but it's probably just luck. The last place I went to they used https://pos.toasttab.com/. It was quick, easy, everyone at the table was able to pay for their own food without having to worry about dividing up the bill, it was easy to order additional items without having to wait for the waiter to come around, etc. And, fwiw, it didn't seem to affect the social aspect of my dinner at all. Normally we all would have been sitting quietly looking at the menu, instead we all sat quietly and looked at our phones. After we ordered, everyone put their phones away and we had a good time.

I doubt you are actually working together on a common goal though, if you do not see value in standups for example.

It sounds like you're assuming the only way to sync up with folks is a stand up, which is just ridiculous. I'd even make the argument that if you think you need a stand up so that team members actually communicate with each other then you're not working on an actual team, you're working with other people that are loosely grouped together. Any good team I've ever worked on, people just organically collaborate as needed. You don't have to wait for some arbitrary sync-up time to let each other know what's going on.

In general, I'm not necessarily against stand-ups, as long as they're quick and don't turn into status meetings. In my mind, a perfectly reasonable stand up could be "does everyone know what they're doing? Does anyone need help?" and if the answers to those are "yes" and "no" respectively, then we can be on our way. But more often these things turn into minor status report meetings, where everyone starts saying "this is what I did yesterday; this is what I'm doing today..." and often those details are not relevant for everyone on the team and could just as easily be communicated elsewhere in an async fashion.

I feel like a lot of things like stand-ups exist for the lowest common denominator teams. Bad teams don't organically communicate, people slack off if you don't micromanage them, etc., and so for those teams you NEED a stand-up. But then it gets forced on everyone and is a drag for high-performing teams, and good people end up leaving because they just don't want to deal with all the BS. So you end up with a self-fulfilling prophecy where what you're mostly left with is bad teams and so it feels like stand-up is necessary or is working. It's kind of maddening.

You might want to check this out then: https://haim.dev/posts/2020-07-28-dual-monitor-kvm/

That was on HN earlier this year. Basically it's software that you run and set up to detect when certain peripherals connect/disconnect and have it switch the input on the monitor automatically. I've been using it and, while not always perfect, it actually works pretty well, especially considering the price.

If you don't always want the monitor to switch inputs (sometimes I just want to quickly switch my keyboard/mouse to my laptop to do something but don't want to switch monitor inputs) you can also just set up shortcuts or scripts (I created an Alfred workflow, for example) and use something like https://github.com/kfix/ddcctl to switch monitor inputs.

Yeah, exactly. There was something I was reading/watching the other day that was advising that you not trust information unless it comes from a credible/legitimate source. But isn't that the problem? I mean, a large percentage of the US thinks that Fox news is a credible source (including our President...). People think they're doing research by watching videos on YouTube.

I don't really know how you fix this either. It seems to me that it's not whether you're ABLE to think critically that's the problem, it's whether you WANT to. It feels like a large portion of our population just doesn't want to put in the effort.

Sorry, someone else mentioned a virtual list component and I assumed it was you without looking at the username.

That's pretty impressive, I've run into perf issues with far fewer actual DOM nodes than that!

This is admittedly nit-picky, but you're not managing 60k DOM nodes if you're using a virtual list, that's the whole point of virtualization. You might have 60k items in your list but you're only ever rendering a tiny subset of those items based on what is visible (with some overlap).

Where I work, we have Architects but they often play a supporting/consulting role and the teams are expected to learn and implement most of the things listed in this article. They will push you to make good decisions, and will want to vet your designs, but they aren't dictating this stuff from on high (unless of course you're making really poor choices). It's been great because no matter who you are or what role you play on the team (I'm primarily a FE dev) you can learn as much of this stuff as you want. I have to imagine its the same at other companies, so anyway, what I'm saying is you can get a ton of experience in all of this kind of stuff without being an actual Architect at some places (we're a large company). The flip side of that coin here is that it's VERY difficult to get the actual title of Architect; it's a very limited role and it takes a lot more than just systems knowledge to get there (i.e. politics). A lot of the people I've worked with who are Senior level could probably easily transition into a systems architect position at other companies. I'm not sure if this is the best way to get there if that's what you're interested in though, just giving you some food for thought. I don't know how you identify companies where you can get this kind of experience, but if you're interviewing you should ask about "you build it you run it" or stuff like that to see how they manage their infrastructure, that might give you a hint.

Maybe infosec or cyber security would be similar? I'm a fullstack turned mostly FE developer these days, but I'm very interested in security and it seems like there is a lot of demand out there for that skill set and plenty of opportunity. It seems like it would push a lot of the same buttons that you mentioned (fixing broken systems, lots of autonomy, working with smart folks). I tend to get bored with long-term projects unless there are still interesting problems to be solved so working on lots of smaller projects sounds pretty appealing, and there's seemingly no end to new systems/devices/websites that are just riddled with holes. Seems like a perfect role and potentially more lucrative than IT (although this is just pure guessing, I haven't compared numbers).

I think this is a pretty important point. Often times I think I'm interested in doing something or I like the idea of it, but it doesn't take me very long to realize that I'm completely disinterested because of the actuality of the thing. I'm OK with that.

I think the parent is probably trying to say that you definitely haven't done enough exploring on most subjects in a short time to find and glean all the interesting bits, and I agree with that as well. There are work projects that I would have abandoned long ago if they were personal projects that I have got A TON out of by sticking with them and working on them for years. But in those years there has been a lot of slog as well, and it's probably not the optimal way to mine all the knowledge nuggets...

BUT you know that you should. If you don’t, you’re making things worse! If you don’t write the tests, you may even break something and you won’t realize!!!

Slowly adding tests is fine if your goal is to increase the total code under test, but it's not going to give you much confidence that you didn't just break something when making updates to the system.