887 karma · joined October 30, 2009
There are other words in both examples that I personally would not use as tags, but I can't really say they would be universally not-useful. I think a vast improvement could be made just by having a dictionary blacklist filled with things like these - from this tiny sampling contractions seem to be a big loser.
I'm equally excited for the intentional mono support and "Side by side - deploy the runtime and framework with your application". ASP.NET MVC and Web API are really pleasant and mature frameworks, but configuring IIS has always been really unpleasant and clunky.
One complaint: why do I need to have this giant 'kifi' square floating on the bottom of my browser window constantly - especially when there is ALSO an address bar button? I really don't think I'll tolerate it beyond the first time I accidentally click it or find it covering up something on my screen.
Out of my experience with great QA in the past the two significant things they bring which poor QA does not are: 1) they create a detailed testing plan that allows them to 'checkbox' off things rather than simply throw time at randomly fucking around. 2) they have very rigorous reporting of issues including detailed repro steps, environment information, issue categorization, and (if the technology is provided) stack dumps.
Perhaps a company that provides this service specifically would work? Especially if the company had a technology aspect that allowed them to automate their own testing. Testing as a partnership service sounds like a business idea that makes great sense to me yet would be a difficult sell. It's rare to acknowledge that defects are guaranteed to exist, that a systematic plan to discover them can be created, that the earlier the discovery is found the lower the cost (exponentially) is to fix.
On the other hand those great QA of my past also had very strong domain knowledge of what they were testing. The audit step to create the plan would be important: the best QA really need to know the intended results for everything inside and out.
It all feels like a pipe dream to me, unfortunately. The norm seems to be "we don't want to invest in Quality Assurance, but we want Assured Quality, so just don't make mistakes!"
My use case is when interviewing candidates I often ask them to rate themselves on a scale of 1-5 in the languages they know, and then ask them increasingly 'tricky' questions in each language to get a feel for how their "personal" scale aligns to their real knowledge. This works fine if we have an overlap of several languages, but in the case where I know nothing or very little of one of the languages they know I lose that data point.
I find it valuable to know what a "I am a 1 at X" vs "I am a 3 X" vs "I am a 5 at X" means to them, since I've found little correlation between how harshly someone rates themselves and their true ability. Sometimes self-rated 5s are really 5s by my book, sometimes self-rated 3s are really 5s by my book, and sometimes self-rated 5s are really 2s by my book. So I want to know how "my scale" translates to "their scale". If it was more formalized I'd go as far as to get a "confidence quotient" for a person as self-critical and self-confident people can be fantastic engineers or horrible engineers.
Does anyone else do this process when interviewing?
One (contrived) paradox: 99 people in the world online in San Francisco and 1 online in London. One more person in San Francisco joins. Do the previous 99 SFers suddenly find they are talking to the new SFer and not the Londoner? Who does the Londoner see they are talking to?
Another (very contrived) paradox: 100 people are logged in who are all located on the edge of a perfect circle. One more person logs in who is located directly at the center of the circle. It's clear who is closest to each of 100 original people (presumably the person on the opposite side of the circle is 'swapped') resulting in each of the 100 original people now talking with the center person, but the center person can not be talking to all 100 people and there is no distance-based criteria for determining which of the 100 to not talk with.
These seem like contrived examples, but as soon as the total user count is greater than the 'nearest X' count they must be addressed. A solution would be fascinating, I don't see a clear one!
- For everyone: Outside of the above benefits, what concerns or issues do you see with a thread like this, and would you support some sort of recurrence? I think it's worth some sort of recurrence. The biggest issue I saw with it was that it seems like it will unfairly generate more interest in the 'top comments', which in a thread like this would ideally not be ranked by anything more meaningful than who responded first. I would like to hear feedback from those who were listed far down in the thread as to how their experience was, compared to say 'jader201' who says he had a great experience with it (but was within the top 5 most of the time)
I also noticed there were essentially 3 kinds of posts. Purely "mini resume" posts, posts with "this is who I am", and posts with "this is what I'm looking for". I'd be curious as to how different tone resulted in different responses.
Interesting experiment!
edit: answering my own question, it seems to work just fine
https://www.youtube.com/user/Vsauce --- IMHO the best youtube channel in existence. Every video is a rabbit hole of interesting questions and tangents with fantastic presentation and weirdly uplifting closing points.
https://www.youtube.com/user/pbsideachannel --- Smart thought provoking videos that use internet memes, gaming, anime, and such as the launch off points.
https://www.youtube.com/user/1veritasium --- Well presented science videos with a focus on the joy of learning.
[0] - http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines
Do you have any recommendations to make fish play better with shell scripts intended for bash?
I hate this trend in web design.
edit: Have to say, the post-sign-up onboarding tutorial is REALLY well done!
MemSQL sounds too good to be true sometimes, but I want to believe. Just wish it was open source.
[0] http://dom.as/2012/06/26/memsql-rage/ (hn discussion: https://news.ycombinator.com/item?id=4162488 )
FWIW I use VS2012 for Javascript development daily. I also add in ReSharper, the wonderful Web Essentials extension (http://vswebessentials.com/) and a few other extensions I adore ('Productivity Power Tools 2012' and 'Highlight all occurrences of a selected word'). I find the result to be exceptionally good.
Each step away from games has lead to more sane company environments and higher proportional incentives. The reality of games is that programmers are underpaid in comparison to other industries. If a web programmer with X years of experience can command a salary of Y you can expect a game programmer with X years of experience to command approximately 2/3 * Y. Exact same geographical region.
In return for being underpaid you will encounter far more 'crunch time'. I was fortunate in prioritizing this concern in the companies I chose to work for, but many of my friends in the AAA games industry have become completely used to working 10 hour days, 6 days a week, for 3-6 months straight at a time. Every. Single. Fucking. Year. Around July is when it begins; holiday launch schedules being the driving factor.
On top of this, as illustrated in TFA, even if your game is a huge success you have extremely little job security. Saying the industry is entirely hit driven is actually missing the point; the issue is most AAA game studios are essentially huge, expensive, single-focus (and usually single-project) consultancies. Even if you have a success the lions share of the returns is going to go to the publisher and you are immediately back to pitching to the publisher to keep the lights turned on.
So why is it this way? IMHO there are two main reasons.
The first is because AAA titles are ridiculously expensive now. Internally financing one is completely out of the capabilities of any studio at this point. In the past it was possible to save from a good success and self-finance the next: no way now. In the past it was possible for a rag-tag group of passionate developers to have a AAA breakaway success. Impossible now.
The second is because it's something lots of people dream of doing. The only sane reason to work in games is the exact reason most people who work in games continue to work in games: they love it. They love games. They love the tech in games (which, compared to the CRUD factories the vast majority of programming gigs outside of games, is really fucking awesome). They are following the advice of 'do what you love' and paying for it. Because there are TONS of other people that also love it.
It's stunning the amount of turnover in the games industry. 5 years of experience is senior. 10 years is old school veteran. Because people burn out and leave. Because there is an endless supply of less experienced cheaper developers to fill in the gaps.
The answer 'go indie' is just naive. For every indie success there are ungodly numbers of complete failures and you can no longer twist the knobs of a publisher's titan AAA marketing machine to stack the deck. Going indie is doing a startup which is impossible to fund and which has no hope or aspirations of Facebook level success. It is a giant success in the indie game world is to be successful enough to just support yourselves! It is something to be done by those with the love and passion for doing so for the reason of having the love and passion of doing so. It's never a rational decision from a purely financial point of view. I have the utmost respect and admiration for those who follow this path precisely for this reason.
The games industry is an entertainment industry. It's more apt to compare game developers to musicians or actors or writers in the way the economics operate. It's not a business; it never will be. And honestly, I do miss it.
Given the context I think it isn't so much that Walter is saying you can't have good error messages without semicolons. He's saying you can't have good error messages without redundancy (in this example a statement terminator).