317 karma · joined August 17, 2010
14 years of doing full-stack web development.
JavaScript is a never ending grind.
Callbacks, then Bluebird, then Promises, then a sync await.
a new testing framework every six months. a new web framework every couple of years. aimless, massive changes to the language (classes in a prototyped language? Why not).
JavaScript then coffeescript then three versions of typescript. too many UI libraries to mention.
JavaScript on the server? the people making the most popular web framework abandoned it 5 years ago but who cares?!
paradigms that make no sense (react morphing from a UI library to the full app). a million ways to manage state.
then you have a few big players calling all the shots (FB, MS). I guess we use functional components now. Eurasia has always been at war with Oceana.
It’s tiring. I’ve spent my entire career doing this stuff; and I’m never quite good enough before The Next Big Thing comes along.
I know things change over time everywhere, but it’s hard to imagine anything moving faster with less purpose than the JS ecosystem.
(Apologies for typos and grammar; I’m on my phone)
Full Stack Web Developer - Jack of all Trades
12 Years of Experience. Have worked with major brands (ebay, MLB, Red Bull, Playboy) and architected systems for startups.
Portfolio / work history: https://tomgraft.dev
https://www.newyorker.com/news/letter-from-silicon-valley/th...
I didn't realize how bad this Google/Facebook cargo-culting had gotten until looking for a new job the last few months (I'm approaching my 9th year in the industry). It's quite pervasive.
LIMIT / OFFSET problems:
- There are portability issues with some other kinds of datastores and can be a mess to keep caches consistent (removing an item from one page requires invalidating every page set after it)
- It makes caching at the request / cdn level more complicated.
- Any update to the data while the user is paginating results in duplicate or missing items (especially noticeable with any kind of infinite scroll).
You can instead use something like ?object_id=123&page_size=50 to get the next 50 results after item with id=123 (assuming some default order, you could also pass in an order param). To keep your client code clean, you can return a pagination object with the response so you don't need the client to figure out the id of the last object and build the url.
I think it's important to note that in-house voice recognition is simply the Nth iteration of a general trend away from privacy that has been going on for many many years.
Eg: Our emails are scraped, and use to target ads. I see ads for specific things that I've only mentioned as a 'reminder email' from myself, to myself. SMS can be read as well, at least on Android if the user allows it. And even if you are very careful to avoid this (using iMessage, hosting your own email, etc), the people you interact with may be sharing this info. People upload their contacts to random services, and if you avoid doing that yourself, your friends may not. These are just trivial examples in the wild now which don't include state-level surveillance (legally mandated ISP web history tracking, license plate tracking, etc).
I'm happy that having a microphone always listening in your home is bringing so many people around to this idea that maybe having companies know so much about you isn't an OK thing. But another part of me feels that short of strong privacy laws, the privacy ship sailed a long time ago.
This is simply not true. Trivial examples include a contract without consideration, or an apartment lease with clauses that attempt to restrict rights granted by local law (very common in NYC). Most non-competes in the state of California are not enforceable as well, even if you agree to it.
It's not in FB's interest to make honest recommendations. If Bob's Burgers is paying $1000/mo in FB ads, but Karen's Burgers keeps being recommended as the "good burger joint", how long before Bob stops buying ads? And why would Karen start buying FB ads since she's getting exposure for free?
The Mozilla Foundation accepts donations and in turn provides grants to many political (or quasi political) causes, including:
- Creative Commons
- Free Software Foundation
- Open Video Alliance
- Personal Democracy Forum
- Public Knowledge
- Software Freedom Conservancy
Mozilla is not a normal company. It is a politically-motivated, donation-accepting non-profit. IMO, it is completely in line for them to ask the CEO to step down for their political opinions.
References: http://www.mozilla.org/en-US/foundation/about/ http://www.mozilla.org/en-US/about/manifesto/ http://www.mozilla.org/en-US/grants/
Calling the LL / Calling the cops are a bit more of a nuclear option that I'm looking for; I just want to find out who's doing it so I can discretely ask them to inform their renters of a few things. I don't want to see airbnb go away :)
The minor downside is that you'll be responsible for keeping your server up to date, but with a bit of upfront work you can mostly automate it.
The problem with deciding that suspected terrorists don't deserve the same rights is that those rights are/should be inalienable. If we decided to start making exceptions, then those rights are no longer inalienable and it's just a matter of degree.
What is a terrorist but a murderer with a political agenda? So perhaps we shouldn't give murder suspects a trial either. And what about a suspect who's attempted to murder? Why give them a fair trial? And so on.
The degree of heinousness of the crime should determine the punishment, not whether the accused deserves a trial.
I've been very satisfied with 1Password and I can't imagine going back to not using it.
I say this because $9 is, IMO, a pretty steep price for something that for a lot of people is replacing the free/included TextEdit.app or Stickies.app.
However, it may totally be worth it (and $9 is definitely an acceptable price for quality software), but I feel like you might be losing out on a lot of sales because people can't experience the "wow-factor" first hand. I've spent a lot of money on todo/notes/GTD style apps and have yet to find the right "fit" so for customers like me it'd important to be able to see if it's right for me before buying.
Good luck!