David Walsh is a web developer who writes JavaScript, CSS and browser API tutorials, plus occasional career posts and interviews.
HN commenters point to his git aliases series and JavaScript posts as worthwhile reading; the given comments offer little direct opinion otherwise.
> To the 18 year old David who sat in that lonely computer lab: you fucking did it, dude. You lived that dream. To 37 year old David: Go do it again.
I really enjoyed that part. I forget sometimes that my career - what I woke up to do this morning, the reason I'm in this office right now - this was my dream.
I should remember that more often. This dream started almost 20 years ago (I'm about the same age as David) and it's easy to forget... I thought this would be impossible once. Well, the odds looked pretty bad at first. I barely scraped by in school, would never enter post secondary school, and at the time was terrible with math and logic. I didn't care about programming specifically though, I cared about what I could create with it. In retrospect, I'm glad I had the attitude and optimism that I did.
More on topic, I know of David through his website which, early on on my front end days, was an incredibly helpful resource. I vividly remember figuring out Mootools problems with the help of his articles. Ha, like this: https://davidwalsh.name/namespace-mootools
So out of date now, but man, some of his stuff saved my ass when I was thrown into a Mootools-heavy project in 2011-2012 with very little experience with JS. Great memories.
The Louisiana law is being challenged [1]
I don't get why we can't instead have regulation requiring porn websites to implement adult content rating meta tags, which most porn sites already do (look at the site source sometime). [2][3]
Then let parents use content blockers and/or built-in parental controls.
If we need even more regulation after that then require platforms to provide parental controls to block tagged content (which I assume they generally already do anyway?)
It's not like the sites that don't implement rating meta tags are going to follow these more strict ID verification laws.
In my opinion, I feel like these laws are not really about protecting children (which most everyone supports), as I don't see that they will meaningfully do so.
That makes me think they're instead about conservative political points at the expense of annoying adults.
[1] https://www.nola.com/gambit/news/the_latest/groups-file-free-speech-lawsuit-against-louisiana-s-anti-porn-law/article_1a4e3530-0fba-11ee-8efd-c36513b1dd12.html
[2] https://developers.google.com/search/docs/crawling-indexing/safesearch
[3] https://davidwalsh.name/rta-label
It's a fun visualization to have up as a dashboard, I think I'll keep it running during the debates.
I love the design; it's very easy to read, and the simplicity and color make it easy to digest information at a glance.
My constructive criticism:
For the word frequency charts at the top of the screen, I'd weed out common words, and/or try to combine words into meaningful phrases. http://www.wordle.net/ does a good job with this (weeding out common words, not discerning phrases).
The number one thing I think people would be interested in would be some kind of sentiment analysis. Perhaps a knowledgable HN'er could suggest a service you could use for this?
From a UX perspective, I'd like the ability to pause and rewind the twitter streams, or filter them for specific words, phrases, geographic locations, or demographics.
One final nitpick, I would suggest using image meta-tags for sharing on Facebook. I posted the live.votizen.com page to my timeline, and there was no image to accompany the link.
Here are the meta-tags you can use for richer sharing: http://davidwalsh.name/facebook-meta-tags
But yes, overall, I love this.
> `var` is broken
Nonsense. Revisionism at its finest.
But that's an argument I made in a different blog post: http://davidwalsh.name/for-and-against-let
> It would be nicer to have real, deep immutability, but `const` isn't it.
Yep, agree with you on that. That was one of the main points of my post.
> Because `const` requires to be initialized at the time of definition, you know the variable is valid for its entire lifetime.
No, that's where you're mistaken. All you really know is that the variable assignment is reliable. If the assignment happens to be of an immutable value, great.
But given the choice between these two guarantees:
1. The assignment is immutable
2. The value is immutable
(1) is almost pointless -- and a quick scan of your small block where it's scoped will verify that or not.
(2) is the absolute important one.
`const` masquerades as (2) when it's really only (1). That's what I don't like about it.
I like the idea, it's a bit like how lazy list processing works, but then applied to promises.
However, I don't completely see the appeal as soon as ES6 or ES7 transforms with a tool like Babel are ok for you. ES7 is probably going to have C#-like async/await syntax[0], which takes this problem away entirely and in a much less complicated matter. This syntax works great today with babeljs. And even if you don't dare using experimental ES7 features yet, you can accomplish just about exactly the same with ES6 generators[1].
If you really really need to avoid compiling your code, then I can see the appeal of this "pseudosynchronous" idea, but I do feel that it's much more complex and error prone than setting up a build process instead.
[0] https://github.com/lukehoban/ecmascript-asyncawait
[1] http://davidwalsh.name/async-generators
I maintain a few open source projects, and found this list to align very closely with my own desires: https://davidwalsh.name/45-github-issues-dos-donts
Some highlights:
- Do submit one pull request to address one issue.
- Do submit two pull request to address two issues.
- Do not tack on a minor whitespace or semicolon changes in unrelated commits or Pull Requests, even if the minor change is correct. Make a dedicated commit or Pull Request instead.
In general, the smaller and easier to understand a PR is, the easier to merge. I've seen a lot of PRs lose their way due to a "while I'm here" mentality of fixing code style etc, and it often obscures the real purpose of the contribution.