Live data from Hacker News

Starfighter, Summer 2015

sockpuppet.org

81–90 of 112 posts

Re: Starfighter, Summer 2015

#81
post #73

Earlier quoted context omitted.

Why would a developer work in such a place? I imagine you would be forced to be all professional yet always play second fiddle to the traders, no matter great your skills were. But then again I am probably the only one who is disappointed over this announcement - the game sounds really boring to me.

> Why would a developer work in such a place? I imagine you would be forced to be all professional yet always play second fiddle to the traders, no matter great your skills were. This is generally the case at most places where software development is done, even when the software is the product . For example, as any developer working at an "enterprise software" shop -- despite being the "producers", you're still behol…

But also in general, in places like that there is also a huge priority placed on having absolutely the best infrastructure & systems reasonably affordable in order to empower the traders. For example, of Fidelity's ~45,000 employees, about 14,000 work in technology roles (both internal IT and product stuff). To me that's an insane ratio for a non-tech company ...

... but, if you talk to any big-finance leaders these days, they'll probably admit to you that their tech is their competitive advantage (and not just in HFT, either).

Re: Starfighter, Summer 2015

#82
post #69

Hmmm, personally, I have rather mixed feelings about this. I'd really like to be excited, but so far, I'm not. (And, on a somewhat tangential note, also I'm fairly surprised not to see any voices similar to mine here in the comments; am I the only one? hard to believe; or maybe others like me just shrug and don't bother to write? sounds more probable, to me at least.) I tried to analyze my thoughts on that; I'll try…

I felt the same way, and I'm happy that I happened upon your post. It just doesn't sound interesting to me. Maybe I had my hopes too high, or maybe my idea over the course of dreaming about this ballooned to be something completely different. Or perhaps I just did not fully understand the concept at the time of that first blog post.

Re: Starfighter, Summer 2015

#83
post #73
post #34

Earlier quoted context omitted.

Wow, THT! I was their Director of IT around 2007-2010. Thanks for the trip down memory lane!

Why would a developer work in such a place? I imagine you would be forced to be all professional yet always play second fiddle to the traders, no matter great your skills were. But then again I am probably the only one who is disappointed over this announcement - the game sounds really boring to me.

Imagine is the keyword in your statement. Different firms are going to have different cultures. There are places where the developer is essentially the trader and as far as professionalism goes, I could easily be mistaken for a startup employee with my jeans, t-shirt, and Nikes.

Re: Starfighter, Summer 2015

#84
post #80

I'm surprised tptacek delegated the AVR emulator to elptacek, rather than write it himself, since he had already done the MSP430 emulator. On another topic, presumably the handheld devices for traders and gophers have a UI of some kind. Has this UI actually been implemented? And if so, what kind of UI is it, and will players need to interact with it? Or will players just be getting down and dirty with hacking the dev…

What things work well for blind users, and what things don't?

I'm going to try to be thorough here, and tailor the following for something like Starfighter that's intended for hackers or aspiring hackers, but this probably won't be exhaustive.

What does work:

- Native apps that use the platform's standard controls

- Native apps that have custom controls but implement the platform's accessibility APIs (this is a lot of work)

- Web apps that use standard HTML elements in the intended ways (e.g. links, form fields, headings, lists, tables that actually represent tabular data...)

- Web apps that implement custom widgets (e.g. a div or span that's actually a button) and provide the appropriate ARIA (http://www.w3.org/WAI/intro/aria.php) properties and keyboard focus behavior

- Flash apps that implement the Flash accessibility API, or use standard Flash or Flex controls and are compiled with accessibility enabled. I really don't know much about this.

JavaScript as such is not a problem for any remotely recent screen reader or other access technology. Neither are dynamic page updates, a.k.a. Ajax or single-page apps. Though in some cases, it may be helpful to mark a dynamic area of a page as an ARIA live region so screen readers will read new content automatically; the textbook example is a chat app.

- Late addition (because it was so obvious to me I almost missed it): anything command-line or terminal-based (second late addition: as long as the user can use their own terminal emulator).

What's not ideal but still basically usable for a tech-savvy blind user (i.e. anyone who's actually going to play Starfighter):

- In web apps, links or buttons that are images with no text equivalent (e.g. alt or title attribute), but where the meaning can be deduced from the link or image URL; in some screen readers, users can even add their own labels for these

- In web apps, elements that are effectively buttons (i.e. they have a click event handler) but are just generic divs or the like rather than actual links or buttons, and don't have the appropriate ARIA role; a user can usually deduce from context that these are buttons in disguise, and use a screen reader command to click them

What isn't generally considered accessible, but can be used with some effort through a screen reader feature or plugin:

- Textual information that is presented as an image, where all the info the user needs is in the text itself (e.g. not in any actual graphics, highlight colors, or the like), and the user doesn't need to click within that part of the screen; in that case, the user can use OCR to get at the text

What isn't generally considered accessible, but could be spun as just another challenge for the aspiring blind hacker wanting to play Starfighter, to be overcome by writing scripts for their screen reader or something like the Greasemonkey add-on for Firefox:

- Pseudo-buttons (as above) that are HTML inline elements (e.g. spans) rather than block elements (e.g. divs). The screen reader will probably present these as a single block of text with no immediate way to click on individual pseudo-buttons, but a hacker can probably write a script to add the appropriate ARIA role to these elements or do something equivalent at the screen reader level.

- In web apps, information that is presented visually without using appropriate semantic markup or ARIA attributes, but where the visual state of the element can be deduced from something like its class or id attribute, or even the presence of specific CSS in the style attribute. An example would be a list view or grid widget where the currently selected item is highlighted; assuming the selected item has a distinctive class or style attribute, a hacker should be able to write a script to add the appropriate ARIA attributes or do something equivalent at the screen reader level.

- A scenario like the one above where text is presented as an image, but the user now has to click inside that part of the screen. If the location of each clickable area (e.g. button) in pixels is a constant, then a hacker should be able to define hotspots in their screen reader, possibly with a little sighted help.

- On Windows, native apps that implement a custom UI and don't implement the platform's accessibility APIs, but use GDI (the original, obsolescent Windows graphics API) to draw to the screen. Since the early 90s, WIndows screen readers have used some truly hideous hacks to cope with this rather common scenario (if interested, the best explanation I know of is in this rather FUD-y piece I co-wrote years ago: http://ur1.ca/n4eyk). Windows screen readers have heuristics for things like detecting highlighted text and working with custom edit controls by detecting the position of the caret. And people have written very elaborate (and fragile) screen reader scripts to make various niche Windows applications usable.

What really isn't feasible to work around, even with hacking:

- A scenario like the one above where text is presented as an image, but now the user has to know the foreground or background color of some of the text, e.g. to know which item in a list is selected. I'm not aware of any screen reader OCR feature or add-on that can provide that info.

- On platforms other than Windows, custom widgets that don't implement the platform's accessibility APIs basically boil down to the same thing as above. Ditto for a web app that implements its UI using canvas, WebGL, or the like.

- Late addition (another one that was too blindingly obvious to me): Graphics that have no text equivalent (e.g. alt or title attribute in a web app), and where the user doesn't have anything else to go on, like a link URL, image URL, or element ID.

I'm happy to discuss any of this in more depth, on or off HN (see my profile for slightly obfuscated contact info). I guess the question of what does and doesn't work is such a natural first question for any developer new to accessibility that lists like those above should really be published somewhere easy to find, albeit with less of an emphasis on scenarios that require workarounds by a user who's a hacker or aspiring hacker.

Re: Starfighter, Summer 2015

#85
post #69

Hmmm, personally, I have rather mixed feelings about this. I'd really like to be excited, but so far, I'm not. (And, on a somewhat tangential note, also I'm fairly surprised not to see any voices similar to mine here in the comments; am I the only one? hard to believe; or maybe others like me just shrug and don't bother to write? sounds more probable, to me at least.) I tried to analyze my thoughts on that; I'll try…

I'm a longtime professional developer and Starfighter doesn't appeal to me either. I don't see why I'd spend time on it instead of on paid work or a personal project or open source, all of which would demonstrate my value to an employer and reward me more than playing a game.

I've followed Patrick McKenzie since before BCC and this is the first thing that I don't get. Maybe it'd appeal to me if I played computer games.

Having said all that, I'm not meaning to be negative. Clearly it does appeal to some people. I really only wrote this so akavel would know that he/she wasn't alone! I think uninterested people generally don't comment and it's impossible to be against someone creating a product like this so naturally all the comments are from interested people.

Summary: Nothing against it, it's just not for me.

Re: Starfighter, Summer 2015

#86
post #85
post #69

Hmmm, personally, I have rather mixed feelings about this. I'd really like to be excited, but so far, I'm not. (And, on a somewhat tangential note, also I'm fairly surprised not to see any voices similar to mine here in the comments; am I the only one? hard to believe; or maybe others like me just shrug and don't bother to write? sounds more probable, to me at least.) I tried to analyze my thoughts on that; I'll try…

I'm a longtime professional developer and Starfighter doesn't appeal to me either. I don't see why I'd spend time on it instead of on paid work or a personal project or open source, all of which would demonstrate my value to an employer and reward me more than playing a game. I've followed Patrick McKenzie since before BCC and this is the first thing that I don't get. Maybe it'd appeal to me if I played computer game…

Here's our stock answer to this question, which seems to come up a lot:

A lot of very talented people won't want to participate. There are amazing engineers with families whose discretionary coding time is committed entirely to open-source projects. It is not our thesis that we can or should pull those people away from that work.

But those people also have no trouble getting noticed by employers.

Our target candidate is in the workforce but underemployed. They have an aptitude for solving hard, lucrative problems. But they've never had the chance to get their hands dirty, and so nobody will give them that chance. Our target candidate is a .NET line-of-business backend software developer at a boring insurance company who is secretly one of the industry's best distributed systems software debuggers. They shouldn't be wiring yet another database row up to yet another Struts HTML form. They should be optimizing the wire protocol for a RAFT implementation at a software company. Only: nobody knows that yet, not even that candidate.

Those people exist. We think they exist by the thousands. I ran a recruiting project at scale for several years looking for them. We found them, over and over again. It was an incredibly gratifying experience for me, and so: I started a company to do it full time.

You're not one of those people. That's just fine. We're just going to find some great new people for you to work with.

What we can add to that now is:

If you're the kind of person who will mess around with microcontroller assembly for fun, or who will write tooling for random APIs just to see what they can make them do, you might be interested in goofing around with the Starfighter CTF regardless of your professional interests.

We had to pick a couple things to start with, and we think we picked ambitiously: low-level systems programming and high-frequency trading.

Re: Starfighter, Summer 2015

#87
post #16

does this support gcc-avr?

Clarify? Are you asking if you'll be able to compile something with avr-gcc and upload it to the emulator? If so... maybe. All of my test code was compiled with Crosspack AVR libc. The bundle has its own test code which was very useful.

Yes, sorry, I asked in haste. "Can I compile with gcc-avr and use that rather than your fine compiler" was the actual intended question.

Re: Starfighter, Summer 2015

#88
post #69

Hmmm, personally, I have rather mixed feelings about this. I'd really like to be excited, but so far, I'm not. (And, on a somewhat tangential note, also I'm fairly surprised not to see any voices similar to mine here in the comments; am I the only one? hard to believe; or maybe others like me just shrug and don't bother to write? sounds more probable, to me at least.) I tried to analyze my thoughts on that; I'll try…

There's a lot of interesting engineering that goes into finance. It's hard to get into the domain where milliseconds are of crucial importance and not involve some seriously hairy engineering. Finance, even aside from the practical engineering aspects, can be full of deliciously crunchy theory and mathematics. It isn't all fifty year old frat boys getting shithammered in tawdry NYC bars (though that part can be fun too when they no longer care what is ordered on the corporate tab ;)). Consider this: google is essentially a gigantic clearinghouse for advertising, a topic I think few here are likely to feel deep personal passion about, and yet how much interesting tech have they cranked out over the course of their corporate existence?

As for reward for effort expended the goal seems to be finding interesting work, and this sounds like a lot more fun than taking time off work to go mumble about the same old things from Cormen while sweating in front of a whiteboard to me, but ymmv. Speaking only for myself, presuming for a second that I have time to mess with this when it is released (no sure thing, full time job and two young kids...), even if I don't get a job out of it, learning something about AVR, security, etc. sounds like a worthwhile return on time invested.

Re: Starfighter, Summer 2015

#89
post #80

Earlier quoted context omitted.

What things work well for blind users, and what things don't?

I'm going to try to be thorough here, and tailor the following for something like Starfighter that's intended for hackers or aspiring hackers, but this probably won't be exhaustive. What does work: - Native apps that use the platform's standard controls - Native apps that have custom controls but implement the platform's accessibility APIs (this is a lot of work) - Web apps that use standard HTML elements in the inte…

This is fantastic, exactly what I'd hoped to get as a response.

There are probably lots of places where we'll need to make improvements, but, for what it's worth, we're all React wrapping standard Bootstrap components, with all their annoying semantic markup (which I am now starting to see the point of).

I'll ping you offline soon for more info. Thanks again.

Re: Starfighter, Summer 2015

#90
post #89

Earlier quoted context omitted.

I'm going to try to be thorough here, and tailor the following for something like Starfighter that's intended for hackers or aspiring hackers, but this probably won't be exhaustive. What does work: - Native apps that use the platform's standard controls - Native apps that have custom controls but implement the platform's accessibility APIs (this is a lot of work) - Web apps that use standard HTML elements in the inte…

This is fantastic, exactly what I'd hoped to get as a response. There are probably lots of places where we'll need to make improvements, but, for what it's worth, we're all React wrapping standard Bootstrap components, with all their annoying semantic markup (which I am now starting to see the point of). I'll ping you offline soon for more info. Thanks again.

Ah, now we can talk specifics. I look forward to talking with you more off HN, but for now, check out the Bootstrap accessibility plugin from PayPal:

https://paypal.github.io/bootstrap-accessibility-plugin/

Addendum: Accessibility validation tools exist, but the best way to test accessibility is with a real screen reader or other assistive technology. On Mac, the VoiceOver screen reader is built in; just press Command+F5 to turn it on, and go through the tutorial. On Windows, there's an excellent open-source screen reader called NVDA (http://www.nvaccess.org/). On desktop Linux, there's the Orca screen reader for GNOME and (less well supported) Unity. The screen reader for iOS is also called VoiceOver, and on Android, there's TalkBack. They can both be found in Settings. Note: On mobile platforms, screen readers change all the touchscreen gestures. FWIW, the majority of blind programmers I know use Windows as their primary platform for real work, and iOS as their primary mobile platform.

Post reply on HN