238 karma · joined August 30, 2013
I pre-ordered a C64 version, hopefully my suspicion is correct because I plan on taking this to work for use on a Mac.
- Look at every resume, pass/fail fast. Ask the Recruiter or HR to give you more resumes, not less (they typically are not equipped to assess techncal resumes)
- 15 minute phone screen. Make sure the role fits expectations, make sure the salary range is acceptable, get and give a verbal background.
- At-home code task. Something that takes an hour or so to get functional. More if the interviewee wants to put some spit-shine on it. I ask for a git repo back, and I tell the applicant up front that the code will be used to springboard the technical interview.
- 2 hour technical interview, no live-coding. In person or virtual. This involves other engineers from the org -- we code review the git repo. For each code task I have a set of 3/4 "Product Manager" style enhancement requests, we then verbally talk through the technical changes & challenges for each ask.
- 15 minute chat with the CT or VP or whomever is my boss.
- Extend an offer.
It's all very real, and very pragmatic, and shouldn't suck more than 4-6 hours out of an applicants life, total. I want to be able to extend an offer within days, assuming everyone's schedule aligns. There is 0 reason to go deeper. If you cannot asses someone's technical chops in a 2 hour conversation, you shouldn't be involved in hiring. If you couldn't complete the coding challenges to your own satisfaction, you shouldn't be involved in hiring (there are engineers I've worked with who are no longer involved in hiring due to unneeded pedantry that they themselves would not tolerate if the shoe was on the other foot).
Far and away my favorite Sci-Fi TV show. I agree with another poster here, it's a character study of a normal-ish human losing his mind due to a continuous assault of The New. Poor guy can never catch a break.
The iPhone camera modules sticks out more each generation to the point that a case is a must.
I think that's the point. You are free to choose the exterior aesthetic & feel for your phone, it's thin enough that adding a case isn't an issue. The phone is designed to have a case of _some kind_ around it. it "revolts when it encounters elegance" do
expect(poster).to receive(:barf)
poster.see(shit.like(this))
end
That would be closer to the proper form.This whole argument just seems incredibly... pedantic. You don't need to wonder which is right and wrong, if you're familiar with the DSL you'll _know_, because you write Ruby, if you're not then the first time you run the spec you'll get a nice error, and then you'll _know_.
RSpec is goddamn gold. You read far, far more code than you write. Tests (and well written Ruby) reading like English is such a velocity boost I wouldn't trade it for the world.
While Reddit started as a link aggregator, the vast majority of useful content on the site is not external links. It is content generated for reddit, on reddit.
Getting snipped can at least be done after you've figured out what kind of family you want.
The liberal guys are getting laid.
You can safely think "Facebook wants me to think it thinks this" when a Spokesperson speaks.
You can safely think "Part of Facebook thinks this" when an individual employee speaks.
You can safely think "Facebook Corporate wants me to believe this" when an executive speaks.
All of these individuals speak for Facebook, because they are a part of the collective that is Facebook.
Reagan's actions have had a profoundly disturbing effect on the American middle class that is still being felt today.
Noise-wise, yeah you can hear the fan kick in but it's not really loud. No issues bothering other people nearby, no issues with the onboard speakers playing over the fan noise.
In regards to the Deck not having games designed for it, Valve has done a fantastic job laying the groundwork for this product. Go all the way back to the Steam Controller and Steam Link; while those products were not a huge commercial success for Valve, I can see all the lessons learned paying off with the Deck.
Wanna save some battery life and you're on your LAN? Stream the game from your beefy desktop. Controller layout not working? Every button is fully programable and removable. This thing has inputs out the arse. Touchpads, D-Pad, 4 extra under-side triggers. Wanna play a game that's not officially supported? 90% chance some fan has already made a community gamepad layout that's better than what the game maker would have made, you can download it and it works instantly.
The Deck can really take advantage of all the Xbox forward ported titles that still play better with a controller, and I've picked up a lot of those over the years on sale.
But then what's the point of an API contract if it's not describing the returned
data? What I'm arguing is the opinionated payload provides a lot of the same
value. Or am I missing something?
I guarantee you that you have not actually contracted your error messages. You have a typo, you'll change the phrasing to better describe the problem, you'll need to add more info for ancillary problems, etc. I doubt you'll bump the rev on your API when "The resource you requested was not found" gets tweaked to "We could not find anything by that ID!" in the name of 'friendlyness', but that's what you would need to do for me, as a client, for me to not have to ship a hotfix because you changed your error contract and now my users are seeing "Something went wrong, our engineers are looking at it" instead of my nice branded "404 - Not Found" page. You try employee 1, fantastic, it works!
You try employee 100, not fantastic, it 404’d.
Huh?
Why do I get a 404 here? The path is clearly correct, otherwise employee
1 wouldn’t have worked either.
“Ah”, you may be thinking “but it clearly means that the employee wasn’t found!”
No, there’s nothing clear about that. If I were to call /api/v11/employees/1
I would get the exact same error. As an API consumer, all I want to do here
is raise my middle finger.
But as an API producer, this results in a conundrum: What am I supposed to do then?
To start off with, stop worrying about your clients fat-fingering your API namespace. That is not your concern. You don't give a shit if they spend a _week_ hammering the wrong domain and getting 404s, why the hell would you care about them hitting a non-existent v11? You don't do anything beyond direct this confused user to your docs.If for _some reason_ you want to give more info for requests to `/api/v11/*` or whatever other non-paths you want to handle, just serve a 400 response back and let your consumers figure out what they screwed up; but I argue you have more important things to do with your time.
Also, why are you worried about differentiating your server errors from client network failure? That's for the client app developer to handle. Don't worry about it. Your obligation begins and ends with a connection to your service.
Opionated payloads should be mandatory
Returning a 2xx code immediately tells the client that the HTTP response
contains a payload that they can parse to determine the outcome of the
business/domain request. That is to say
- client checks HTTP response is valid (2xx status)
- client can confidently parse the response and make a domain oriented
decision, as opposed to a techinical one
This makes your client happy. Very, very happy. Using our above examples,
here is what we would see:
If I was reviewing an API for an integration and I ran across this blog post and/or descriptions of this behavior in the API docs, your service would go straight into the "won't integrate with" pile. I'm simply not interested in the problems this paradigm will generate for us. I've gone down this road many times, these days it's use the HTTP Spec or GTFO. My API is clean, easy to understand and easy to debug. A client no longer
needs to send me a request to ask for clarity on an endpoint that sometimes
returns a 200 and other times returns a 404.
Ah, there's the nut. Instead of adding descriptive error bodies to your 404 responses you threw the paradigm out the window and added descriptive error bodies to 200 Success responses. If you're not providing API packages for your users to hide this unexpected behavior, they are not "very, very happy". No one is "very, very happy" as they add yet more Magic Strings with which to infer what their remote resource means when it says "200 Success: Failure"Ultimately I set it to display the fn keys all the time and tried my best to ignore it. I don't look at my keyboard. A display near my fingers is a display where I don't look, I never found much value in it.
History.
> If the approach is so inherently flawed that this result is an inevitability
Only an inevitability due to attitudes like yours. Please stop contributing/pushing for the end of the open web.
Handing over your Netflix deets? Next step in your relationship. It's sweet and romantic. Now you can watch Together even not on date nights.
Kid's going to college? Add a screen for them so they don't feel alone. Enable cross-profile personal recommendations so your lonesome kid gets the warm fuzzies when they see Mom and Pa enjoyed the latest Stranger Things.
Sister getting divorced? Add 2 screens for her so she and the kids have some sense of normalcy and fun as they go through the hardest part of their life they've known.
Got a huge family? Enable account payment splitting. Enable gifting free months. Allow profiles to share watched data onto a huge master profile. Generate "Everything the Howards Loved - 2022" playlists for nostalga.
Just charge per screen and lean into it, goddamn.
It's soft science because it's squishy. The rules are soft and malleable, depending on the context of the question.
In my experience the Bible is only hard to understand when you're frantically, desperately trying to extract a per-determined result for your modern day problems out of what are fundamentally the oral traditions of dirt farmers.
When read as a historical piece of combined fable, family history, nation history, and oral tradition, it's an interesting if hard to follow book. It's obviously written by dozens of writers at different times. Reading different translations reveals obvious bias of previous translators, making it more interesting when viewed as one of the worlds longest-lasting games of Telephone.
If you're going to take it as advice for life, well, look around you. Dozens of different religious, many fighting for centuries because their interpretation of dirt farmer words is better than yours. And they'll kill you for it too.
Since withdrawing from FB and nearly all major social media, my in-person meetups are far more fulfilling.
Also in my experience, basically every company out there needs or wants an app. A web app, a phone app, a TV app, a tablet app.. internal apps, external apps, apps to gap 3rd party app integrations, they're fucking everywhere. A lot of these 'apps' are just web forms over CRUD data for one reason for another, but it's custom for some reason. And the reasons for why a GUI builder gets phased out also applies to why app-farm apps also get phased out of a company. Eventually, with enough success, having an internal dev team is just so much smoother than contracting or bridging the gap with excel spreadsheets. Someone has to wire things together, and eventually they get to fixing the root cause of inconsistency and a custom app is born.
I think we will have programming jobs for basic forms for a lot longer than any one of us would suspect, for a lot of reasons. But my last and most important thought is, once something becomes easy for anyone to do it becomes common. To stand out you need to be uncommon in some way, so there will always be space for people who can do what most others cannot.
> Senator Marco Rubio said after input from airlines and broadcasters that supporters agreed that the change would not take place until November 2023.
I have a better idea. Let's make the change _today_ and see which organizations are technically competent enough to change a clock. Survival of the fittest. To actually believe something as stupid as you're claiming, you'd have to assume that the giant corporations suddenly decided to crank the greed knob in lockstep with a massive amount of money being printed in the last two years.
Alternatively, it would be incredibly naive to assume flavors of this are not happening. Remember, just because collections of entities do similar actions at the same time (in lockstep) does not mean they are colluding or organized, it simply points to the fact that these entities the same motivations and same external forces at the same time.