Settings

Theme

Stockfighter's Jailbreak CTF trainer is live

stockfighter.io

155 points by alt_ 10 years ago · 85 comments

Reader

j4pe 10 years ago

I rarely want to like a product more than I want to like Stockfighter, because of both the people involved and the underlying concept.

But there are a million other things I want to sink time into improving. Music, my Starcraft MMR, boxing. To finish a day hacking and coding, come home, and - for months, if I want good results - do more hacking and coding feels like an exhausting prospect. Even if the scenario is fun, it feels contrived.

I'm not presenting any solutions. Maybe I'm just not the target market, because I don't have the desire right now to code all day and then code some more. But I wonder how big that target market is?

  • doktrin 10 years ago

    > because I don't have the desire right now to code all day and then code some more

    Tell me about it. Speaking only for myself, I have near-constant coder's guilt - a term I just made up to describe the nagging voice in my head that keeps telling me I should be coding more in my free time. It sounds something like this :

    "somewhere a rockstar wizard ninja is writing a C compiler in Haskell and here you are wasting your time with Overwatch, you miserable slacker"

    • tinco 10 years ago

      Hi man, I just interrupted my game of Overwatch because a colleague pointed me to this comment. My C compiler in Haskell is located here: https://github.com/tinco/nanc it's not fully functional yet, but will be soon ;) Also, just got owned by a team with 3 tracers :(

      edit: Just read what this thread is about. I really like to program, so much so that I usually find an hour or two per day to code (not every day, check my github streak if you want) Usually it's between 11pm and 1am, after dinner, after a movie with my partner, when she's playing a video game or watching a series, I do some coding.

      So I also play video games or watch movies. I like competitive games, mostly SC2, DotA and now Overwatch, but I don't worry about my MMR the way I used to when I played over an hour per day. Compared to achieving a high MMR building a ninja rockstar software project like a C compiler in Haskell is easy. Who is going to compete with me? It's a crazy idea anyway! I just work on it a couple hours per week, and after a year or two it'll be an impressive project no matter what. It's got everything I learned in it.

      Regaining the MMR I had in SC2 back in University will take me months of hard practice, but when I feel like continuing my C compiler, the commits are still there. The C compiler stems from a deep passion I have and a deep frustration I feel with the state of the art, that's why even if I don't dev on it for a few months, I'll go back to it eventually and continue. So... I can relax and play Overwatch for an hour or two, no worries. (Overwatch is much more forgiving than SC2 or DotA btw.)

      • lj3 10 years ago

        Do you code for your day job, though? Your profile suggests you may be a technical manager. I'm guessing you don't code for 8-10 hours a day, then come home and code for 1-2 more hours[0]? That's the argument the parent is making. I know that I personally am only good for 4-6 hours of productive coding. Any more than that and I write bugs, not code.

        [0]: If I'm wrong and you're doing 10-12 hours of productive code a day, then good god man, what's your secret?!?

        • tinco 10 years ago

          Haha, yeah you are correct. Unfortunately I usually don't get more than a few hours of code in per day at work. I lead a small development team, besides that I also assist in sales and communicate with customers.

          Today was a good day and I spent about 6 hours staring at code at work, and maybe will get about a half hour of hobby coding in before I go to bed. I would agree that anything above 8 hours of real coding is pretty superhuman, though it looks like some people on github are achieving it.

      • doktrin 10 years ago

        > Hi man, I just interrupted my game of Overwatch because a colleague pointed me to this comment. My C compiler in Haskell is located here: https://github.com/tinco/nanc it's not fully functional yet, but will be soon ;) Also, just got owned by a team with 3 tracers :(

        Haha what an unexpectedly fantastic response. Kudos on your cool side project, and triple Tracers sounds like the pinnacle of frustration :P (is this a new meta? I was just watching a top tier EU game where one team rolled 3 tracers + 2 winstons)

        > Overwatch is much more forgiving than SC2 or DotA btw

        Couldn't agree more. I personally find SC2 almost too stressful to play competitively these days (as a 30 year old fogey), and the match length of your typical MOBA is also a major turn off for a casual like me.

        > So I also play video games or watch movies. I like competitive games, mostly SC2, DotA and now Overwatch, but I don't worry about my MMR the way I used to when I played over an hour per day. Compared to achieving a high MMR building a ninja rockstar software project like a C compiler in Haskell is easy. Who is going to compete with me? It's a crazy idea anyway! I just work on it a couple hours per week, and after a year or two it'll be an impressive project no matter what. It's got everything I learned in it.

        I'll be using your experience for inspiration. I also love coding - particularly once I get started - but lack the discipline to make a habit out of it in my spare time. Hopefully in a few months I'll have some similarly interesting work to show for myself :)

        • tinco 10 years ago

          Could very well be then! They played 3 tracers a winston and a Mei. (Winston had a play of the game smashing four of us in Mei's ulti :\)

          I'm 29, experience the same with SC2, it's just not fun if all you can do is to learn the meta and polish your mechanics.

          Whatever you build, make sure it's test driven! Nothing beats sitting down to work on your project and the only thing you need to do is to run the test suite to remember what you should work on next. It also helps you chop your project up in fun achievable sized bits. I make it a point ending every session with 1 red test.

        • girvo 10 years ago

          I know on console 3 Tracers, a Winston and a Mercy will wipe basically any other composition right now, at least until someone comes up with a decent counter. Pharah does alright against it, but if the Tracers are good, well, look out...

    • mod 10 years ago

      Mine is even a little more annoying than yours. It doesn't like me doing productive things.

      "somewhere a rockstar wizard ninja is building a passive-income side project and here you are wasting your time tending a garden and working in your woodshop, you miserable idiot with stupid priorities."

      • toomuchtodo 10 years ago

        > tending a garden and working in your woodshop

        After doing tech for 15 years, that sounds glorious.

        • maxerickson 10 years ago

          Have you ever weeded a garden for a summer? It's quite a chore.

          • toomuchtodo 10 years ago

            Have you ever spent days fighting poor decisions you'll end up accountable for through no fault of your own? Gardening and woodshop please.

    • eterm 10 years ago

      I suffer from this badly, I'm slowly coming to the conclusion that I'm just not that good at any of it. I get the basics, I even do it for a living, but I'm never going to be driven to create products.

      I want to be able to make something, I also really want to be able to finish my progress on cryptopals, or finally get a real bounty on hackerone, but I'm just not good enough.

      And I get caught thinking, well if I just didn't spend so much time playing computer games, or wasting time I could do that stuff.

      But is it true, or am I just using them as an excuse, so I don't have to face up to the fact I'm just not that good at it. It's easier to blame my laziness than blame the fact that I struggle to produce output and struggle to find meaningful[1] vulnerabilities.

      If I ever do find myself unemployed, then I'd hit stockfighter up straight away, that would I guess give me the motivation to work at the stuff. I think there's a fundamental "understanding gap" between me at the problems presented though. In the same way that I can look at a demo scene write ups and understand the concepts they're talking about but there's this vast chasm between the work I do and the work they do, and it's not clear how to bridge that gap.

      Maybe I should read less hacker news and spend more time practicing the craft. But hey, I'm back in the "if only I worked harder" trap.

      [1] Sure, I can find open redirects, maybe the occasional http subdomain leaking a cookie from the https root domain, maybe even an open endpoint, but finding vulns worth paying for[2] is difficult when dealing with sites which already care enough to have bounties.

      [2] It's not about the money, I'd likely not even claim it given the typically small amounts paid out and the hassle of declaring it, but I'd like to bag a bounty for pride sake.

    • wdmeldon 10 years ago

      > you are wasting your time with Overwatch

      No time spent playing Overwatch is time wasted.

  • hkmurakami 10 years ago

    It's likely also a sign that you're reasonably satisfied with your professional situation. :)

    • hbhakhra 10 years ago

      I can relate to this. When I was on a project at work once maintaining legacy code, I got no fulfillment so I had about 3 side projects going at once. Now that I am back to interesting stuff at my day job, my motivation for side projects has gone way down.

    • trentmb 10 years ago

      Or the opposite- working a job you don't like just leaves you drained...

dcw303 10 years ago

I was lucky enough to beta test this so I've had time to clear the trainer levels. And let me just say, wow. The tricks and turns you have to navigate to get through this are some of the best fun I've had sitting in front of a computer.

I like that people are evaluating this against things like Overwatch, because for me, Stockfighter is a form of entertainment. I still play video games occasionally, but in my growing adult years, I'm not able capture that same rush from winning.

Not so with CTFs. Maybe it's because I'm a relative newbie, but the dopamine rush I get from winning a level is incomparable. There is something about a solve, when you get that brainfeel where you just understand completely what is going on, that is unique. Perhaps that's what black hat hackers feel when they p0wn a system. The closest recollection for me is when I smashed through that top level brick in World 1-2 of Super Mario Bros, and I could run across the roof to win the level.

tptacek 10 years ago

You all have great timing. It's very likely that something will melt down soon, but I'm not going to notice, because I'll be in a chair getting my arm inked up. It's going to be a nine-fives kind of day!

Mean feedback about the UI, especially if accompanied by an even meaner summary of what you'd rather the UI does instead, is most welcome.

Later

(Erin's Calcifer tattoo is taking longer than expected, so if you want to wait like another 15 minutes before doing whatever unforeseen sequence of things in the UI that will hard-panic all the servers, your timing will be perfect).

  • weaksauce 10 years ago

    Can you make enter repeat the last command? s<enter> is kinda annoying. iirc microcorruption let you repeat the last command.

    edit: also, the password reset link doesn't go anywhere.

  • tzs 10 years ago

    Howl's Moving Castle?

  • nathas 10 years ago

    I was actually going to say I like the UI quite a bit at first glance. I haven't bit in yet, but overall I really dug the layout.

    • tptacek 10 years ago

      There are things I want to do with this UI that we couldn't do in Microcorruption --- ways to make assembly a little more accessible to programmers who aren't already from security or game development, where the people who crushed Microcorruption came from --- because the assembly was a flat marked-up blob of text. But there are definitely ways in which it's a step back.

gue5t 10 years ago

The user interface is appalling. Whoever designed this has managed to produce worse ergonomics than a single 1970s-style terminal, for essentially a similar set of tasks (editing text+binary files and piping data through commands).

I see some discussion of "files", but seem unable to list them or explore the filesystem. I don't know if this in-game filesystem is supposed to be on the "AVR" device or an imaginary "developer machine". Where do the outputs of running commands like "compile" go? Why can't I inspect the compiler? What actually comprises the state of the system I'm interacting with? If this is notionally to find good developers, why is the UI sandboxed inside a web browser, where building and using tools (which is what good developers and reverse engineers do) is incredibly painful?

Half the commands produce no output and make no visible change to any state, e.g. "load garbage". Almost all commands silently ignore extra parameters. There's no tab completion, no history search, commands don't even show up in the output log...

Links and commands seem to randomly be assigned to either always open in new tabs or load in the current tab of the browser, both in the "debugger" and help pages.

Moving through command history puts the cursor at the left hand side of the prompt. There's noticeable latency when single-stepping the program, which is just astounding.

Did nobody try to use this shit, even a little?

  • tptacek 10 years ago

    Snif. My feels. Right in the feels! Try as hard as you like though, you cannot make comments like these unproductive!

    * You cannot "explore the filesystem". The "files" are really just bookmarks in case you want to switch between different C-like programs to deal with a level. I hate the UI more than you do, but suggestions very welcome.

    * You mean "compile" as in, the debugger command? What would you like it to print? Before we split the source editor off into its own page (it used to live in a tab, and it just didn't work), the CLI was an important way to interact with the compiler. Now the command is vestigial. I suppose I could just make it print out the bytecode instructions from the compiler.

    * What does "inspect the compiler" mean?

    * How can I surface the documentation that explains the relationship between the compiler and the system so that it is more apparent that it exists? It's clear you didn't see it.

    * Hate the web interface? You're in luck! https://starfighter.readme.io/ --- skip to "Microcontroller API reference".

    * I have a hit list of improvements to the command line, but if you have more suggestions, I'd be happy for them.

    * The "latency" you're seeing when you single-step programs is... the network? The clientside UI code?

    Just a little, is the answer to the last question.

    • gue5t 10 years ago

      Sorry for being rude.

      It seems strange that there are a set of names associated with blobs of data (source code) but the tools for managing that name->blobs map (querying which names are mapped, removing a mapping from the map, etc.) are incomplete. The source code editor allows views and updates, but I don't see how I would do garbage collection, and one can't perform views or updates from the debugger, but is expected to refer to the names there (in the "compile" command, and possibly others?).

      Also about the "compile" command in the debugger (which is what I meant), it's unclear what state is mutated when I type "compile level_1.cg" and hit enter--it claims to have compiled and loaded 361 bytes, but I don't see a location into which they were loaded (checking the memory tab shows 32 bytes that don't resemble a program binary... is there somewhere else I should be looking?). If I subsequently type "run", it claims "no valid compiled program loaded". Is the program that I compiled and which was reportedly loaded not valid? Or do the "compile" and "run" commands' output refer to different notions of "loaded"?

      By inspecting the compiler, I mean seeing what it does and how. Is the compiler inside or outside the trusted codebase of the handheld trading thing? Is there a way to hand-craft bytecode?

      I also don't really understand why "compile" would load anything into anything else. Maybe there's a more clear name for the command?

      Or, if you can remove the entire command prompt in favor of a more streamlined read-edit-test workflow, that seems ideal in terms of intelligibility. I would suggest making the programmatical interface more prominent (present it as a first-class alternative to the Web one). Since the idea of the site seems to be demonstrating developer ability, I expect many users will be put off at the notion of using a Web UI to do significant amounts of programming; even JS coders don't live in the one-line REPL of a browser inspector.

      How do I get to those docs? I browsed the list on the left of https://www.stockfighter.io/trainer/dox but didn't see anything that explained where programs are stored after compilation. The "Command Reference" mentions compile, but the relationship between compile/run/flash/vmload/vmexec isn't clearly described; is "run" simply a convenience wrapper around the others (excluding compile)? What does the "vm" prefix imply? Why does compile take an argument, but the rest don't? Is there utility in, say, compiling and flashing, but not vmloading, a program (e.g. cache invalidation if we can flash underneath a different running program)? Or is this needless flexibility?

      I originally skipped the guided tour, figuring that since I'm familiar with machine-level debugging and AVR in particular it would be a waste of time, but now see that it explains some of the expected workflow, though it's mixed with explanations of basic architecture concepts.

      • tptacek 10 years ago

        If it keeps you generating feedback like that, be as mean as you like! I need stuff like this.

        The source file thing is definitely strange. I could just lose it entirely; save your own files! That's how the termbox client works. It made slightly more sense when it was driven from the CLI.

        "compile" in the debugger is vestigial, but if we think it makes sense to have it do something useful, let's have it do something useful. I'll have it do what the compile button does, and also print a summary of the generated program. It'll be immediately clear what it does. I'll make "load" do something sensible too.

        I think more people want me to have a command line than want a completely streamlined interface, but I think I have some work to do on making the command line work better.

        There is utility, later on, in looking more carefully at the individual steps of getting a program to run, but there is not much utility to it in earlier levels. I can hide those commands earlier; I didn't because that'd be kind of a tell. Earlier on this year, I wanted this interface to capture more of the annoyance of figuring out a realistically complicated target (rather than it being immediately clear what your objective was), but I'm moving away from that now.

        It's definitely very tricky to write documentation for this that makes sense to reversers or embedded devs and that works for the people who've never done any of this kind of stuff. Maybe I shouldn't be trying to accomplish both things in one set of documents!

        My #1 takeaway from your original comment: I need to do an audit of all the command line commands and have them all be discoverable by running them and seeing what happens. That is definitely not the case right now, and it's a very easy gap for me to close.

        There shouldn't really be anything you can do in the web interface that you can't do in the API.

  • archimag0 10 years ago

    - Can't have the compiler side by side with the debugger, even though there's plenty of room on the screen

    - When the PC jumps, the highlighted instruction doesn't follow, leaving you lost when stepping through a program

    - Can't hit enter on a blank line to repeat previous command

    - No 'finish' debugger command?

    - Seem to end up in random functions when stepping over simple instructions

    - Am I supposed to type 'flash' or 'run' to execute my compiled program? Sometimes the one I just compiled gets executed, sometimes the one I compiled previously - how can we view what's being executed?

    I really enjoyed microcorruption, and thought that UI was fine, but this feels like a step backwards.

    • tptacek 10 years ago

      Enter on blank lines: easy enough, will do.

      Putting the compiler in the debugger was how it used to work. Everyone hated it. Also: it's using Ace, which really grinds Chrome. I can easily add a pure textarea tab that will let you edit code, if you _really_ want it.

      To run a C program, do one of two things:

      * Compile it in the source editor, which will generate a blob of compiler output (which is deliberately not documented) that the browser will cache.

      * Use the "flash" command to write it to SPI flash.

      * Use the "vmload" command to send a SPI message to the AVR to reload the program from the SPI flash.

      * Use the "vmexec" command to send a SPI message to the AVR to execute the program.

      OR

      * Compile it in the source editor

      * Type "run", which does all the rest of those things.

      I like Microcorruption's UI, too. I gave this one more to do. I agree: it's not there yet! Working on it. How elaborate do you want the web-based debugger built on this API to be? :)

      (I'm serious: thanks for the feedback. This section of the thread is the stuff I was hoping to get).

      • archimag0 10 years ago

        Thanks for replying - I just wanted to dive in and get stuck into the levels, but found the UI so confusing that I just gave up - particularly as someone with no AVR experience, and with the tutorial dying half way through.

        The biggest pain point was figuring out what was executing. As I mentioned, I would be playing around in the compiler, hit compile and save, and then attempt to run it in the debugger. The 'run' command either seemed to have no effect, or would run a previously compiled program, not the one I'd just written. Even typing 'reset' didn't help.

        The memory didn't seem to be updating in real time either, which made things even more confusing!

        Running in Firefox if that makes a difference.

  • nialo 10 years ago

    I haven't tried this, but https://github.com/ketchupsalt/debugger might be of interest to you.

    More generally, it's not actually sandboxed inside a web browser, you can interact with system through REST-ish API as well. see https://starfighter.readme.io/docs/retrieve-device-status for some documentation on that. It's obviously pretty inconvenient to get a full debugger type experience that way, but I don't really see how they could make it less sandboxed, given the constraint that the authoritative copy of everything must run on their servers for security.

    I do wish all the commands gave some sort of feedback, load in particular is super frustrating that way.

    • gue5t 10 years ago

      This line seems like a bug to me (assigning the int 16 to a variable that should be of an enumerated type {I8, I16, I32, S, R}, though I don't know if Go has those):

      https://github.com/ketchupsalt/debugger/blob/master/commandl...

      • tptacek 10 years ago

        There are probably a zillion little bugs in that thing (I haven't used it in months) but if people really want it to work, I'm probably less than 4 concerted hours from making it workable.

    • tptacek 10 years ago

      Which "load" command? What's the feedback you're looking for?

      Did you write a C program, click the compile button, and now want to run it? Just type "run".

      There's an in-game reason why we break out the flash/load/exec commands the way we do, but "run" does all the fiddly steps.

      • nialo 10 years ago

        I want typing "load foo.cg" and hitting enter in the debugger to print _something_, almost anything. Ideally it would print different things depending on whether foo.cg actually exists and is a valid file to try to load or not. Just some sort of feedback indicating that the command actually did something would be great.

        I like the different load/flash/vmload/vmexec commands, I've certainly needed to stop at points in the middle to inspect the debugger state.

        • tptacek 10 years ago

          Oh.

          Yep, like "compile", that command is vestigial (the source editor used to live in a tab, and, ironically, the file saving stuff made more sense that way, driven from commands on the CLI).

          Yep, I can make "load" do that. Give me a few hours, though! It's an easy task, but I'm tethered through my iPhone right now.

          • nialo 10 years ago

            I personally am in no rush for this, all my discretionary coding time is currently going to a work sample for an opportunity Starfighter found me at the moment.

  • kbenson 10 years ago

    > Did nobody try to use this shit, even a little?

    Isn't that moving a bit beyond useful or informative and helpful to a discussion to aggressive and antagonistic? Is this free game/tool/resource actually causing you that much agitation?

    • tptacek 10 years ago

      There was a lot of useful stuff in that comment!

      • kbenson 10 years ago

        Yes, which is why I focused on the the last little bit which I think wasn't really productive at all. It expressed frustration, which I understand, but in an antagonistic and condescending way which doesn't add to the point at all. It's easy for a tone like that to poison a thread.

        I'm glad, as one of the people it was directed towards, that you can take it positively.

citizens 10 years ago

"Starfighter is a new, weird kind of recruiting company. We detect and market underpriced programming talent. We do that by creating opportunities for programmers to casually and effectively demonstrate aptitude."

Having a hard time parsing this. Do you find underpriced talent and help them get paid more?

  • pchristensen 10 years ago

    Susie works making crud apps for a boring insurance company. She is a brilliant programmer but due to where she lives, personal situations, she hasn't faced a challenge that lets her know the extent of her abilities, etc, she is working below her potential.

    Susie creates a novel solution to one of Stockfighter's games. Stockfighter uses that solution as evidence to present her to companpanies as a great engineer. She gets job offers for more money, challenge, and satisfaction than she currently has.

    • FilterSweep 10 years ago

      Susie writes great crud apps in Django/RoR/Node/MEAN/ASP/etc ad nauseum, and in order to get a raise, she must write a novel C program off a minified library that compiles to bytecode while using exact memory addresses as a debugger?

      How does this solve Susie's problem?

      • imron 10 years ago

        Most developers can write crud apps without any issue.

        Not all of them have problem solving skills that translate well across different technologies.

        It's not about looking for people that meet a specific checklist of tools/languages, it's about finding people who can solve problems - even in fields they are not familiar with. The latter is far more useful trait for an employee to have.

      • hyperpape 10 years ago

        It doesn't, unless Susie discovered she liked really low level stuff a few years ago.

        It's definitely not equally applicable to everyone, and that's ok.

        • saturdayplace 10 years ago

          In case anyone in the thread above didn't know, there is a different set of stockfighter challenges to play that involves writing code that accesses a REST API that be more aligned with Susie's interests in that case.

    • bdavisx 10 years ago

      Except according to an earlier posting from someone who went thru the process -- they didn't get a direct offer: they still had to go thru technical interviews. I thought a big point of this was that you could skip the BS technical interviews and prove yourself thru this.

      https://news.ycombinator.com/item?id=11433414

      While it's a great service, this takes a lot away for people who are great programmers but might not be great technical interviewers.

      • tptacek 10 years ago

        We're just recruiters. We exert pressure where we can and get process breaks from most of our clients, but we're a tiny little company. Everyone gets interviewed.

        Nobody wants to eliminate tech job interviews more than I do.

      • kbenson 10 years ago

        To be fair, regardless of where the lead was sourced, if I was responsible for hiring a new programmer, I would make damn sure I had an interview with them that contained at least a technical portion. It's irresponsible not to, I wouldn't be doing my job. If the new employee turns out to not be able to code their way out of a paper bag, I'm sure I would catch at least some of the flak.

        Trust but verify.

    • hkmurakami 10 years ago

      Additionally, Stockfighter will get a placement fee for Susie from her new employer. This will allow Stockfighter to continue operations independently, and will let them help more Susies find better employment opportunities in the future.

    • logicalmind 10 years ago

      Is that really the problem though? In my circle, plenty of people are doing the boring crud apps at random big company. The problem is that they're paid very well. So taking a job that is more challenging often involves taking less money, for more risk, with a small possibility of a payoff. Is there really a surplus of highly interesting tech positions with better than average pay that are desperately looking for people? If you're struggling to find talent, you're probably not paying enough.

      • superuser2 10 years ago

        >The problem is that they're paid very well

        Are you sure? Tech companies you've heard of on the west coast (other than Amazon) are paying their most junior people at least $100k. When I looked at big boring insurance companies in the Midwest (toying with the idea of staying close to home) I was seeing closer to $50k for entry level and $80k for mid-career.

      • kbenson 10 years ago

        This invariably comes up whenever this is discussed, and what's usually referred to is that many people have a fairly narrow perception of what interesting tech work is, and sometimes exposure to other industries, or even interviews in other industries, can expand what they view as interesting work. Apparently, many industries have a problem sourcing good technical talent, even if they have the need and the ability to pay.

        You might not think a position at an insurance company sounds interesting, but if the CTO starts explaining their plan on integrating their major departments with a new application they are developing from scratch (and maybe you get to help make ground floor decisions, like language), and needs to contain some interesting data warehousing to make sure that the statisticians and actuaries can access the data in heretofore impracticable ways, that might just tickle your fancy.

      • lazerwalker 10 years ago

        tptacek, one of the Stockfigher founders, comes from the world of security consulting. That strikes me as exactly the right sort of niche: incredibly high-paying even relative to cushy crud apps, but there isn't really an obvious inroad for even an experienced programmer to make the shift over to doing security work.

        I'd imagine there are other specialized software engineering fields with similar problems.

  • tptacek 10 years ago

    Yes, that's the thesis. I mean, we're happy to represent anyone capable! But we're particularly interested in the people with no resumes.

  • jsprogrammer 10 years ago

    They classify players to a market price and alert on those who are currently paid less. Presumably, they then attempt to capture from the difference by recruiting CTF players to market players.

  • kbenson 10 years ago

    Presumably, if they are able to entice those people away from their current employment, they are offering something better, whether it be more money, more fulfilling (which can be for many reasons, such as being more challenging), or allows a better lifestyle. If nothing else, if gives those undervalued employees that have been identified a metric by which they, and their current employers, can judge their worth on the market.

  • aphextron 10 years ago

    Sounds like a brilliant business model, honestly. The world is brimming with brilliant programmers who are, for one reason or another, not able to reach their full potential due to outside constraints (third world countries, lack of tech investment, etc)

nsfmc 10 years ago

I know this is a low-quality comment, but i just want to congratulate the whole stockfighter team for getting the jailbreak ctf out. it looks like it was a ton of work and looks fantastic. as somebody who was excited about it after trying my hand at microcorruption, i'm super excited to see this finally. hats off!

  • nsfmc 10 years ago

    one comment on the trainer: when you click on the Jailbreak link, it just drops you into the debugger, if you, like me got lost, run the `tour` and then click on the little person+ head and go to the documentation and go through the quickstart.

    yay!

  • tptacek 10 years ago

    Thank you!

    This is just an early demo version. It's going to get pretty bananas in a few weeks. Noisy testers are very welcome; we're going to start spoiling the "full CTF" levels next week for beta testers.

lifeisstillgood 10 years ago

I am a bit worried that stock fighter is the wrong approach. If Susie wants a better job inwould recommend my path:

- if you want to find a better paying job, take each lunchtime and call every job advert you qualify for that pays 20k more than you earn. Do this for three months. You will get the raise.

- even better is to supplement this with LinkedIN, blog posts, network maintenance (when did you last have call or have coffee with your previous boss?)

- do this for the next three jobs.

You are now at the pay ceiling for your skill set. Well done.

Now ... err ...

Start your own business, preferably selling something that scales (your time does not scale and you are selling it at pretty much the max - say 100-150k)

s3nnyy 10 years ago

Dev hiring is a sourcing problem, not a filtering problem.

The people behind starfighter are brilliant and I respect them big time. So, probably they know what they're doin. I am excited to see how they want to solve dev hiring since starfighter looks more like a product that does filtering, not sourcing.

(I am thinking since a long time to build something that leverages Github to find and reach out to engineers; e.g., when a company looks for Angular people to just parse the Angular repo for engineers that watch / contribute to the repository and reach out to them. if you have any ideas on this or want to help, please shoot me a message).

  • lj3 10 years ago

    It's both. They're focusing on the sourcing part, which is commendable, but I'd still like companies to engage a better filter. The one most have now is the equivalent to trying to hammer square pegs into round holes with bit of wood they happened to find.

    Unfortunately, changing that appears to be a very tricky social problem. It's going to take a recruiter (or recruiting company) with such a great reputation and track record that companies trust that recruiter's judgement in personnel implicitly. But how?

  • aphextron 10 years ago

    Please don't unleash another method of spamming developers on the internet. We already get 10 linkedin requests a day for the hottest coolest new idea.

mcphilip 10 years ago

Question: are frequency, consistency, and productivity important metrics for bubbling up users that get noticed as really good candidates?

I poke around every now and then on stockfighter but am definitely not looking for a job change in the near term. Is this use case something y'all support?

Thanks!

yagyu 10 years ago

wow, I just found microcorruption, now it looks like there's man-months of fun ahead.

Technical comment: "forgot password"-link is not wired to anything? Not working for me on FF at least.

archimag0 10 years ago

Is the server struggling again? None of my input into the UI seems to be having an effect.

  • tptacek 10 years ago

    I'm getting crazy high latency just through the login page. Looking into it. The emulator servers (a pair of m3.mediums) are barely breaking a sweat.

  • Retr0spectrum 10 years ago

    Yeah, I'm getting some rather high latency on my inputs.

rando289 10 years ago

So it's proprietary?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection