I've been driving cars for twenty years, but it doesn't mean I have two decades of experience with fuel injectors.
275 karma · joined July 11, 2013
I've been driving cars for twenty years, but it doesn't mean I have two decades of experience with fuel injectors.
I too find that the easiest to implement features are (not terribly surprisingly!) the least interesting; they are not worth the terrible friction that I'd see in my current organization. I have a hard enough time trying to get folks to write good test coverage and understand the gotchas of writing async code everywhere. So for me, there's way bigger fish to fry than (exaggerating a bit here) saving a few characters with arrow functions.
But that's still not to say I won't ever use it.
Can you explain a bit more of the implementation you're describing?
Management loves how fast things are delivered, and boyscout loves the pats on the head. The rest of us hate the countdown until the house of cards comes tumbling down.
I saw a great tweet some time ago that defined a 10xer as an engineer who accumulates technical debt so fast, it takes 10 engineers to fix their mess. That about sums it up, doesn't it?
I spent a few minutes trying to recall how it would work and I couldn't, and it seems like a fully working Math.pow is a little complex for a gatekeeper question – or maybe I just forgot the trick.
It's about unforeseen consequences of a solution to a problem. That's what I mean by "I don't know what it will look like", because it will definitely solve the problem this thread is dissecting, and the problem it introduces will be a whole new vector.
But its selling point (the way it solves our current problem) will be a simple idea that is taken to its logical extreme by people who don't think critically, and then it will be time to solve that problem.
That is, I see the underlying recurring problem as stemming from the cultural forces –– how we educate people, how we make ourselves hireable –– that enable even very smart people to be shortsighted and immune to learning from the past.
Step 1: Create a culture in which "having open source contributions" is a requirement to entering said culture.
Step 2: Remove all friction from introducing open source contributions into the culture.
Step 3: Watch the Cambrian explosion.
Step 4: (Two years later) Point to the Cambrian collapse and how the new hot thing will solve everything.
I don't know what sort of shit show Step 4 will turn into, but it will also definitely be the result of folks taking a simple and good rule of thumb (this time, it won't be "small and composable"), and implementing it without ever stopping to think what problems it solves and doesn't solve.
This NIHS seems more the result of ADHD and impatience, sprinkled with a little enlightened precociousness.
You can see it in the satire surrounding computer programming. In the 90s, Dilbert had insight into the causes of NIHS. These days, Silicon Valley hits closer to the target.
(PS: the creator of this package looks to be getting a lot of flak here. Kudos to them for doing it, but they would benefit from understanding why it's such a shallow "replacement" for Cygwin.)
Here's a fun and educational video they did on the math behind transplant matching. If you are interested in integer programming or real world combinatorics, check it out:
We're building a distributed system and a front-end mobile app to allow consumers to control their credit card fraud settings. Our current clients (credit card processing companies) are all international. Depending on the position, you may need to travel for on-site deployments and technical discovery meetings. We are internally funded and are working with MasterCard, who holds the IP.
Our stack is a lot of Node.js (dealing with a mix of binary and JSON data) and PHP (user-facing code). We are in the process of breaking the PHP monolith into smaller Node.js services. On the app-side, we are hiring Android and iOS developers.
Each client will be need to support millions of users. If you are good with scaling multiple small services in tricky deployment environments, we want to hear from you.
We are a tiny company – a tech team of six – taking on a lot of work from our well-connected business team. If you can be agile and build stability in the storm, we want to hear from you.
Our board would prefer to find people located in the Atlanta, GA area, or those who are willing to move. However, I personally work from Maryland, and our systems guy is in North Carolina. But if you're a good fit, our CIO has the go-ahead to hire remote workers.
Interested? Send me a resume and tell me what you're best at, and what you're working on now. If you have a good joke, that's fine, too. Email is luke (period) albao (ampersand) firstperformance.com
I learned how to write tests and I was sold on the value of TDD only after I was in the middle of writing a non-trivial, multi-module client/server app. Right now, you think "I don't need to write tests for my penticons library, because I know it works." That's understandable. But as soon as you start incorporating it into other projects, or you extend it with other projects, having tests will make the process so much simpler.
Think about it this way: computing is essentially a way to repeatedly do things really quickly. I could take a pencil and a paper and write the numbers from 1-100 without too much trouble. But when that number is over 1000, or if instead of simply writing the number you perform some tedious formula, then you start to yearn for something like a `for` loop control structure.
The same with testing. Once you have a bunch of moving pieces, and every change you make you find yourself diving into the repl for 10 minutes doing the same thing over, and over, and over... you will actively WANT to know how to test.
So don't sweat it. Learn it if you want. Sooner or later, you're going to _need_ and _want_ to know how to write good tests, simply to save yourself the hassle.
To be clear, I am planning on going the portfolio route. Part of the problem is that I have a few exciting ideas, and one is a full stack project, while two others would work best as iOS apps. Thanks again.
Oh, I agree with you completely. Most of her critics will say that her system is obfuscatory bullshit to distract from the fact that it's no more sophisticated than the plain old selfishness that you see in every preschool. It's just that Randroids don't usually admit that they are societal parasites, so your candor is refreshing.
Also, to be clear, I'm not sure if you're joking about exploiting the banks. Isn't your beef with Congress that they used taxpayer money to bail the banks out? Is it really that hard to see that you're exploiting the taxpayers, too? Don't you see that "the banks" are nothing but a bunch of people just like you, thinking they're not part of the exploitation of the taxpayer?
... And yet you happily pull down a six-figure paycheck for a job you believe is worthless?
Because, if so, you should know that the sense of moral superiority that you seem to share with most modern Randroids is outstandingly hypocritical.
Well worth thinking about.
Putting it this way opened my eyes to my own diagnosis (diagnosed A.D.D as a child).
This song's meter is in 4/4, which means you count 1-2-3-4-1-2-3-4, etc. along with the very pulse you feel. Tap your foot. Count "1" when he says the word "Come [with me]". You'll find that they clap every time you say 1 and 3.
What he does is the equivalent of cutting out, say, Sunday from one week of the calendar, and so their regularly repeating clap now falls on a different day than it was falling on before. Does that help?
Harry Connick Jr. didn't bother educating his European audience with any explanation. He simply skips a beat, and then they're clapping on 2 and 4. It happens after the first sung chorus. You can see the drummer raise his hands in joy: https://www.youtube.com/watch?v=yD3iaURppQw
And, of course, the great Slim Gaillard was so saturated in swing, his predominantly white 1950s television audience SPONTANEOUSLY clapped on the 2 and 4: https://www.youtube.com/watch?v=ZKdrnTTDTqo
1. Your nearest definition of consciousness "emergent properties of lower level functions" or something along those lines doesn't really cut it, either. To say that something is an emergent property of another thing, without showing the steps of that emergence is kind of like defining red as "an emergent property of the sun and a sheet of cellophane". It's HOW it emerges that's the hard question.
2. If you were pleased to hear another person's discovery that "my experience of experiencing is irrefutable", you might like to read Descartes's account from over 400 years ago in his Discourse on Method.
He veered off into some strange and tenuous territory, but the opening of that book is excellent and it uses that discovery (a.k.a. the Cogito - I think, therefore I am) as the first axiom from which to build a whole philosophical system, and it's a really interesting read.
This is the guy who invented algebraic geometry, from which we get the Cartesian plane, and the idea of ordered pairs, which is such a fundamentally useful idea that it's hard to see just how brilliant a discovery it was. He had some things to say about consciousness that have not yet been improved upon.
EDITED to say that the book I was talking about was Descartes's Meditations on First Philosophy, for anyone interested. He decides, "let's doubt that anything at all exists, just doubt everything - where does that take us?"
1. Viewing the page source showed that only maybe a few dozen lines of html were being retrieved. Stopped somewhere in the million scripts in the <head>.
2. More interestingly, the Network pane showed 200s across the board... no resource was being requested that wasn't being served.
So, the servers were simply serving up a tenth of the web page? Is that it? It seems as though some internal generation of the html pooped out before finishing. No HTTP errors because nothing in the html that we received requested anything that wasn't already there.
Advice will be helpful. But in the end, the only one who can leave your job is you. It sounds like you need to do it, so just do it. You'd be surprised how well you can think for yourself once you make yourself do it. :)
Edited to add: How many times do you have to repeat that each sentence is continuing the thought: "This is interesting..." "His new book is different..."
... Your example isn't hard to read, either. But it's hard to say that it's more concise and precise.
>Issaacson's book is surprising, because his last book was about Steve Jobs. Steve Jobs was portrayed in that book as a radical and congenitally irascible individual. The kind we think of as totally "American". Now, since Isaacson's book was kind to Jobs, we might think that he is in favor of such an individualistic understanding of genius. It is thus surprising that his new book strongly praises the virtue of three ideas: (1) cooperation in general, (2) the idea that collective effort has a multiplicative result from its individual parts, and (3) the way that industry, academia, and government can work together with exceptional results. These are antithetical to the myth of the lone genius that appears in the Jobs book. So, like we said, it's surprising.
.....
All he's saying here is that he's surprised because one book seemed to argue for the individual, and this new one argues for collective effort. I, for one, find his version easy to read, and my version to be easy to understand, but boring. You'll also notice it's not actually any shorter, and I find that breaking things into short sentences gets more tedious to read than a long, well-formed sentence. It forces you to really be pedantic, like with my closing sentence - which was necessary to tie all those individual short sentences together. In a long sentence, those are just subclauses, so you don't have be repetitious about the hierarchy of meaning.
You've conflated the terms "meaningful" and "useful". These are not equivalent terms. Meaning is a story we tell ourselves to make sense of our lives. Use is an observable action.
If I help make a product that gets 16% more people to click on ads for something they didn't need in the first place, I will have been _useful_ to the advertiser (and my own pocket). But to say that gives my life _meaning_ merely displays a twenty-first-century version of the lazy and ignorant naivete that the Humanities have tried to fight against all along.
I am not against having a better paying job, nor am I saying folks can't find meaning in software development (or any field, for that matter). And I'm not implying that an English degree should make you a bunch of money. It's just that this whole "learn to do some JavaScript and CSS, change the world!" technohype is just plain bullshit.
Do you need to pay $100k to learn the skills to see through such bullshit? No. But the sort of things that the Humanities teach are exactly the prophylactic that one needs to guard against such existential wheel-spinning.
Not everyone thinks that a world full of advertising and clickbait "information" is a desirable thing. Think of The Atlantic -- at one time, it was on par with The New Yorker for quality content. Now, it contains one rare pearl of compelling and thought-provoking writing (e.g., Ta Nahesi Coates's "A Case For Reparations") for every thousand transitory blips clamoring to acquire page-views.
There is such a thing as information which cannot easily be supported by the info-economy of frictionless social media sharing. I find it disheartening that this is an unobvious idea to some who preach freedom of information.