Grinnell 17' here. At first I didn't enjoy intro with Racket. But by the end I changed my mind and it ended up being one of my favorite courses. In retrospect that class easily had the most impact on me during my CS major... I still have quite a few functional programming habits. These days I like to code in elixir for side projects, which has quite a few similarities.
Anyways, cool to see another alum here! I hope the department keeps it around for a while longer :)
Like any good yakshaving programmer, i built/use my own note taking / TODO app. Now I want to implement a feature where I can send a SMS to my app, and it will save the text/media to my database. Seems like a lot less friction than using the UI on my phones browser if I just need to save a quick note.
This is absolutely the case with me. When I need to remember something I'm reading I'll read a part then write a summary. It makes me slow down for a bit and think about what I've read. Same thing with meetings.
Going back later and re-reading the notes is something I rarely do.
Fair criticisms, but at the end of the day, Kagi offers a better search experience then all the alternatives for a fair price, so I pay for it. I don't really need to have 'faith' in it, though I do hope it sticks around.
Also, can't wait to get my tshirt! (closed beta user here)
Exactly this, it's a product, not a religion. I like that it exists. I pay for it. It feels worth it to me. Certainly more useful to me than the Netflix sub I had hanging around forever but barely used.
I don't get why random punditry is of any relevance here, or why Vlad felt the need to respond. He needs a PR person, I think
I live 12 miles from the Googleplex and there's no cell here and of course no cable or fiber, just an AT&T land line and a WISP connection (a radio mounted 170' up one of my redwoods) that isn't enough to do wifi calling.
Our line has been down most of the last year and AT&T are dragging their feet hoping they can disconnect rather than properly fix the line (undergrounding). The redwoods here are too tall for old style and new low latency satellites and the county isn't coming to save us.
Our only hope for maintaining 911 and fire service is that AT&T is stopped and forced to uphold its commitment to rural customers, the commitment that gave them their monopoly around here and helped them grow into the massive company they are today. Without AT&T, we rely on a neighbor that's licensed for ham to reach the sheriff for any emergencies.
Again, this is 12 miles as the crow flies from the heart of Silicon Valley, that close to Google, Facebook, Oracle, Stanford, and more. No cable. No fiber. No cellular. And soon no landline it seems.
Oh wow, I had no idea things were like that anywhere near silicon valley.
I wonder why they don't just require them to install fiber or DSL before they can cancel anything. Has StarLink made everyone lose interest in rural broadband expansion?
I live about 180 miles north of silicon valley. The only utility I get here is high speed internet via a radio receiver in a redwood tree[0]. I just tested and I'm getting 20mb down/30 up, 30ms ping. Plenty for wifi calling, video calls, etc. I'm surprised your WISP has such poor performance?
I think the main use case today is the dom traversal API. It makes operations like "add the 'error' class to all <input> elements in the form" simple:
$('#some-form').find('input').addClass('error')
Obviously you can do this in vanilla JS, but it's more cumbersome so you'll probably end up rewriting your own less complete version of jquery. There is some value to using a well worn library with public documentation that other developers can find/extend instead of a home grown solution.
With that said, I wouldn't use it for a green field project. For sites that require lots of interactivity I would pick a modern front end framework that doesn't require this kind of manual dom traversal (probably phoenix/liveview).
However getElementById() can return null, thus that entire statement can error. In the old days you had to sprinkle your code with if checks when using the DOM API.
If you are requiring that element to be there for your script to work then that error is exactly what you want. Defensive programming is great and all, but sometimes your assumptions have to meet the road anyway and script errors are a perfect way to signal something went wrong (because that's what they are for).
Of course now we have additional defensive programming tools like `?.` and `??` operators.
It depends, if the page is very dynamic the element may or may not be there.
Point is that the DOM API version of the initial jQuery snippet are not equivalent. $() statement does a bit more than that.
This becomes obvious if the requirement are a bit more complex than the example, perhaps we want to chain more expression on at the end, then the DOM API version becomes more convoluted.
This won't throw an error if the form ID changes. Which is to be expected for working on collections. But I don't like this being the default, exactly because of cases like this.
Same thing of course applies to people who throw around the optional chaining operator without thinking to please TS.
Or would apply if one used a single selector here and document.querySelectorAll
The needless chaining here is a typical example of misleading jQuery code though. Looks as if it was there to prevent this issue.
I can't really imagine willingly doing something nontrivial without a reactive framework these days. I'd be all for jQuery if I did want to do that though.
Anyways, cool to see another alum here! I hope the department keeps it around for a while longer :)
reply