Jump to content

Call for Coders 2017

I like this project, let's bring back the freedom of global content creation :)

I would like to help the, but i'm not a well programmer. So if there is a way that i can help to make the plane fly, like giving  ideas or testing of software or web interfaces, let me know ^^

Link to comment
Share on other sites

Link to post
Share on other sites

Timed challenge is probably not the best way to go about this in my opinion.

The software can never be perfect. It can only be improved over time.

Link to comment
Share on other sites

Link to post
Share on other sites

Interesting seeing the polarity on the choice of platform(s) and language(s). Obviously nothing is 100% this or 100% that—choosing the right tool for the job is key in all parts of the production; but I think the video does a pretty good job outlining the kind of person who'd fit in well in the current environment. ;)

Cheers,

Linus

Link to comment
Share on other sites

Link to post
Share on other sites

I'm just 15. But I really know how to make Android apps. Material design and everything. I learn really fast too, so implementing web sockets in android would be no problem. AND I CAN WORK FOR FREE. Just give me a GitHub repository and I will make this great. I'm not as bad as I may sound. Started coding when I was 7 years old. Also have experience building backends and using them my apps. I'm not one of those conservative developers. I use the new stuff from Google fast.

 

I just hope they don't think of my age to much. Please help me make them see this.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, echos said:

 

This is not good, the posting ended up in /r/recruitinghell.

 

And for the fun of it, let's play a game of guess the programming language.


use std::cmp::Ordering::Equal;
use std::collections::HashMap;
use std::fmt;

enum Result {
    Draw,
    Loss,
    Win,
}

#[derive(Default)]
struct Stats {
    won: u32,
    tied: u32,
    lost: u32,
}

impl Stats {
    fn new() -> Self {
        return Stats { ..Default::default() };
    }

    fn add_result(&mut self, result: Result) {
        match result {
            Result::Draw => self.tied += 1,
            Result::Loss => self.lost += 1,
            Result::Win => self.won += 1,
        }
    }

    fn played(&self) -> u32 {
        return self.won + self.tied + self.lost;
    }

    fn points(&self) -> u32 {
        return (self.won * 3) + self.tied;
    }
}

struct Team<'a> {
    name: &'a String,
    played: u32,
    points: u32,
    won: &'a u32,
    tied: &'a u32,
    lost: &'a u32,
}

impl<'a> fmt::Display for Team<'a> {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:30} | {:2} | {:2} | {:2} | {:2} | {:2}",
               self.name, self.played, self.won, self.tied, self.lost, self.points)
    }
}

fn add_game(teams: &mut HashMap<String, Stats>, team: String, result: Result) {
    teams.entry(team).or_insert(Stats::new()).add_result(result);
}

pub fn tally(input: &str) -> String {
    let mut teams: HashMap<String, Stats> = HashMap::new();

    // Process game data
    for line in input.lines() {
        let game: Vec<&str> = line.split(';').collect();
        if game.len() == 3 {
            let (team_a, team_b, result) = (game[0], game[1], game[2]);
            match result {
                "draw" => {
                    add_game(&mut teams, team_a.to_string(), Result::Draw);
                    add_game(&mut teams, team_b.to_string(), Result::Draw);
                },
                "loss" => {
                    add_game(&mut teams, team_a.to_string(), Result::Loss);
                    add_game(&mut teams, team_b.to_string(), Result::Win);
                },
                "win" => {
                    add_game(&mut teams, team_a.to_string(), Result::Win);
                    add_game(&mut teams, team_b.to_string(), Result::Loss);
                },
                _ => (),
            }
        }
    }


    return tally_fmt(&teams);
}

fn tally_fmt(teams: &HashMap<String, Stats>) -> String {
    let mut results: Vec<Team> = teams.iter()
        .map(|(name, ref stats)| Team {
            name: name,
            played: stats.played(),
            points: stats.points(),
            won: &stats.won,
            tied: &stats.tied,
            lost: &stats.lost,
        })
        .collect();

    // Ordered by points desc and name asc
    results.sort_by(|a, b| match b.points.cmp(&a.points) {
        Equal => a.name.cmp(&b.name),
        other => other,
    });

    // fmt
    let header = "Team                           | MP |  W |  D |  L |  P".to_string();
    let mut output = vec![header];
    for result in results {
        output.push(format!("{}", result));
    }
    return output.join("\n");
}

 

I want to say D but that does not use the let keyword so I'm going to go with rust

Link to comment
Share on other sites

Link to post
Share on other sites

I can help for free if it's open source. C/C++ developer with experience in FFmpeg hardware accelerated encoding, and scalable network delivery

Link to comment
Share on other sites

Link to post
Share on other sites

A timed challenge is a little concerning because I'm dyslexic so reading/interpreting a brief could easily eat into my coding time. I would hate to be penalised because of it.

Link to comment
Share on other sites

Link to post
Share on other sites

22 hours ago, nicklmg said:

Submit your application: https://goo.gl/forms/7DkgeTvCRxKbTnPM2

 

We're building something awesome, and you could be a part of it. Let's take over the galaxy together.

 

 

The form that it keeps bringing me to is rather broken. it will not let me send at all and it will not let me select yes or no. Help?

Link to comment
Share on other sites

Link to post
Share on other sites

uh oh. Front end engineering, J2EE, .NET are my strongs :) but but I wanna work for you! 

Intel Core i3 2100 @ 3.10GHz - Intel Stock Cooler - Zotac Geforce GT 610 2GB Synergy Edition

Intel DH61WW - Corsair® Value Select 4GBx1 DDR3 1600 MHz - Antec BP-300P PSU

WD Green 1TB - Seagate 2.5" HDD 1TB - Seagate Barracuda 500GB - Antec X1 E.

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, nicklmg said:

Submit your application: https://goo.gl/forms/7DkgeTvCRxKbTnPM2

 

We're building something awesome, and you could be a part of it. Let's take over the galaxy together.

 

 

Hey guys. I'm a DevOps Engineer with around 7 years' experience building managing thousands of servers on the cloud. Would be glad to help architecture and implementing your infra and devops stuff. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 2017-04-21 at 9:08 PM, Kevv4 said:

Why did you choose to go with NodeJS as the back-end? Seems a bit odd if you're going to make anything somewhat large?
Also, why not make it open source and have the community contribute to it? 

I'm a sad .NET cat atm :(
 

sadcatsmall.jpg

The sad .NET cat could become a happy Node cat. Just saying

Link to comment
Share on other sites

Link to post
Share on other sites

On 2017-04-21 at 9:23 PM, UnbrokenMotion said:

I'd love to help, but while my JavaScript skills are strong, I have no experience with NodeJS :(

Node JS is actually really easy to learn. Go and watch some of NewBostons videos about it.

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, echos said:

 

This is not good, the posting ended up in /r/recruitinghell.

 

And for the fun of it, let's play a game of guess the programming language.


use std::cmp::Ordering::Equal;
use std::collections::HashMap;
use std::fmt;

enum Result {
    Draw,
    Loss,
    Win,
}

#[derive(Default)]
struct Stats {
    won: u32,
    tied: u32,
    lost: u32,
}

impl Stats {
    fn new() -> Self {
        return Stats { ..Default::default() };
    }

    fn add_result(&mut self, result: Result) {
        match result {
            Result::Draw => self.tied += 1,
            Result::Loss => self.lost += 1,
            Result::Win => self.won += 1,
        }
    }

    fn played(&self) -> u32 {
        return self.won + self.tied + self.lost;
    }

    fn points(&self) -> u32 {
        return (self.won * 3) + self.tied;
    }
}

struct Team<'a> {
    name: &'a String,
    played: u32,
    points: u32,
    won: &'a u32,
    tied: &'a u32,
    lost: &'a u32,
}

impl<'a> fmt::Display for Team<'a> {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:30} | {:2} | {:2} | {:2} | {:2} | {:2}",
               self.name, self.played, self.won, self.tied, self.lost, self.points)
    }
}

fn add_game(teams: &mut HashMap<String, Stats>, team: String, result: Result) {
    teams.entry(team).or_insert(Stats::new()).add_result(result);
}

pub fn tally(input: &str) -> String {
    let mut teams: HashMap<String, Stats> = HashMap::new();

    // Process game data
    for line in input.lines() {
        let game: Vec<&str> = line.split(';').collect();
        if game.len() == 3 {
            let (team_a, team_b, result) = (game[0], game[1], game[2]);
            match result {
                "draw" => {
                    add_game(&mut teams, team_a.to_string(), Result::Draw);
                    add_game(&mut teams, team_b.to_string(), Result::Draw);
                },
                "loss" => {
                    add_game(&mut teams, team_a.to_string(), Result::Loss);
                    add_game(&mut teams, team_b.to_string(), Result::Win);
                },
                "win" => {
                    add_game(&mut teams, team_a.to_string(), Result::Win);
                    add_game(&mut teams, team_b.to_string(), Result::Loss);
                },
                _ => (),
            }
        }
    }


    return tally_fmt(&teams);
}

fn tally_fmt(teams: &HashMap<String, Stats>) -> String {
    let mut results: Vec<Team> = teams.iter()
        .map(|(name, ref stats)| Team {
            name: name,
            played: stats.played(),
            points: stats.points(),
            won: &stats.won,
            tied: &stats.tied,
            lost: &stats.lost,
        })
        .collect();

    // Ordered by points desc and name asc
    results.sort_by(|a, b| match b.points.cmp(&a.points) {
        Equal => a.name.cmp(&b.name),
        other => other,
    });

    // fmt
    let header = "Team                           | MP |  W |  D |  L |  P".to_string();
    let mut output = vec![header];
    for result in results {
        output.push(format!("{}", result));
    }
    return output.join("\n");
}

 

Rust ?

Link to comment
Share on other sites

Link to post
Share on other sites

When I saw your Youtube video this sounded really exciting to me, up until I saw you guys where trying to do this in Node.JS.

 

NodeJS is shiny, new and fancy, it's fast, but you will be held back by your DB before you'll be held back by your web stack. Caching is often the answer.

 

My main gripe with NodeJS is that it's hard to maintain. Debugging is poop and there are no real standards. Hence it isn't great for large projects.

 

IMO you guys should have gone with Python technologies, Django, Django-channels, Transcypt, etc. And possibly write transcoding servers in C++, C or even Cython (or just use a Python library that implements ffmpeg)! (Again whatever you pick Python is excellent here as glue language.)

 

If your service goes anywhere and your developers aren't one-trick Node ponies, I guarantee you'll switch away from Node.

Since 2010 (when Node was starting to gain traction) I tried to to give it a chance multiple times, but I can't live without exceptions, standards and proper documentation. I chuckled a bit when you guys mentioned agile-development just after NodeJS.

 

However I wish you guys the best of luck! Attempting to compete with Youtube is very bold!.

 

Edit: Maybe give these articles a read, It's about someone who tried to switch their project to NodeJS from Python, but eventually went back.

https://blog.geekforbrains.com/why-im-switching-from-python-to-nodejs-1fbc17dc797a

https://blog.geekforbrains.com/after-a-year-of-using-nodejs-in-production-78eecef1f65a

Link to comment
Share on other sites

Link to post
Share on other sites

Are you guys interested in having a guy solely for the design?
I don't have a degree or any kind of certificate, but I have plenty of experience with design and designchoices.

Link to comment
Share on other sites

Link to post
Share on other sites

I would like this job 

Current System: Tower: 32GB RAM, 2TB HDD, Quad Core i5(haswell), RX480, 128GB SSD

Future Systems: ? When I get a job I will think about it more

Link to comment
Share on other sites

Link to post
Share on other sites

11 hours ago, .js said:

Timed challenge is probably not the best way to go about this in my opinion.

The software can never be perfect. It can only be improved over time.

 

5 hours ago, Gwion101 said:

A timed challenge is a little concerning because I'm dyslexic so reading/interpreting a brief could easily eat into my coding time. I would hate to be penalised because of it.

At a previous company, I interviewed people who did timed challenges. A good company/interviewer does not do timed challenges because they expect a finished result or even a working thing. It's a really good conversation starter. You ask the interviewee about their decisions. What they did, why they did it. You ask them what they thought they did wrong, what they'd like to do differently, what they liked... It's a really good way to learn where they stand and gauge their capabilities. 

 

At least, that's how it should be, in my opinion (which I know is shared by many).

BTW - God tier beard.

- @Slick in a PM once

 

Link to comment
Share on other sites

Link to post
Share on other sites

Why is node getting all the hate? The thing node is good at is doing relatively small and simple things and of course the scalability of node comes from spinning up a shitton of instances with load balancers in front of them.

A microservices platform exists out of a lot of little building blocks which operate relatively independently from each other and communicate through some lightweight protocol.

 

That doesn't sound like node is a bad choice right? Node is a natural fit to building a small and simple part of your service that needs to be dynamically scaled, it's not a nice fit if you're thinking in terms of a monolithic architecture.

 

The thing with building a microservices platform is that you don't have to run every microservice on the same language, because it's all little blocks relatively independent from each other it doesn't matter that you as a block are running node and some other block is running ffmpeg on custom hardware (as some people here have stated they can help with) as long as it reacts according to spec when you talk to it.

I don't expect them to build their whole platform with node, I would even call it stupid if they were planning to do that. Node is not some language given to us by the gods that is good at everything. But it is a good fit for the architecture they have chosen as long as they use other things for the  more specialized stuff. (which coincidentally is exactly the thing netflix was doing the last time I checked)

 

The bigger problem (at least as far as I can see) will be the sheer work that needs to be done to deliver this. (as was, among other good things, also said by @digitalfury and @Erik Sieghart)

Hopefully the fact that they are making small independent pieces of code will allow them to let many members of the community help. Then they just need to write VERY good docs for the whole project, write the more niche things in house and pray to the gods that a stable and structured community forms around the project to (help) write the rest.

To be really honest with you, because of the amount of work that needs to be done (and some of the other points by the two guys above) I think a really big community effort (or some serious seed funding by an angel from the community?) is the only way this can be made.

 

PS: well the post ended up not really being about node, this got a little away from me

PPS: also there are a couple of smart(er than me) people saying smart things at his quora question "Why are large companies like Netflix using Node.js instead of Go?", and no it's not some all hail node fest.

Link to comment
Share on other sites

Link to post
Share on other sites

On 21/04/2017 at 8:23 PM, UnbrokenMotion said:

I'd love to help, but while my JavaScript skills are strong, I have no experience with NodeJS :(

 

Same here. Good with JavaScript (Specifically the JQuery library because the code looks so peng:x) but never touched NodeJS. Why did they choose node anyway though? The most I see node used is in opensource multiplatform desktop programs...

 

On 21/04/2017 at 8:26 PM, clementk said:

in the real world time = money so you need to know how to code fast.

 

That explains why EA games are so bug laden at launch while selling for hikey prices :o

 

On 21/04/2017 at 8:39 PM, Damianio said:

luke you "insert cursing word here" idea stealer! i was thinking about this ever since youtube started sucking 2 years ago. i wanted to make a site *EXACTLY like your "float plane club" site. you just copied my idea :P  

Bruhh people use night theme you know :(

Speedtests

WiFi - 7ms, 22Mb down, 10Mb up

Ethernet - 6ms, 47.5Mb down, 9.7Mb up

 

Rigs

Spoiler

 Type            Desktop

 OS              Windows 10 Pro

 CPU             i5-4430S

 RAM             8GB CORSAIR XMS3 (2x4gb)

 Cooler          LC Power LC-CC-97 65W

 Motherboard     ASUS H81M-PLUS

 GPU             GeForce GTX 1060

 Storage         120GB Sandisk SSD (boot), 750GB Seagate 2.5" (storage), 500GB Seagate 2.5" SSHD (cache)

 

Spoiler

Type            Server

OS              Ubuntu 14.04 LTS

CPU             Core 2 Duo E6320

RAM             2GB Non-ECC

Motherboard     ASUS P5VD2-MX SE

Storage         RAID 1: 250GB WD Blue and Seagate Barracuda

Uses            Webserver, NAS, Mediaserver, Database Server

 

Quotes of Fame

On 8/27/2015 at 10:09 AM, Drixen said:

Linus is light years ahead a lot of other YouTubers, he isn't just an average YouTuber.. he's legitimately, legit.

On 10/11/2015 at 11:36 AM, Geralt said:

When something is worth doing, it's worth overdoing.

On 6/22/2016 at 10:05 AM, trag1c said:

It's completely blown out of proportion. Also if you're the least bit worried about data gathering then you should go live in a cave a 1000Km from the nearest establishment simply because every device and every entity gathers information these days. In the current era privacy is just fallacy and nothing more.

 

Link to comment
Share on other sites

Link to post
Share on other sites

@Doldol

I agree. Node.js is great for small projects but doesn't have any development standards.

 

Also, picking node.js shrinks the developer pool down to developers who understand developing smaller web applications like many have pointed out node.js is used for. There is a lot more developers with diverse experience outside of node.js with javascript and jquery. There is a higher chances looking for a jquery developer who specializes in big web applications instead of a node.js developer.

 

Almost always when I'm making web applications I just use straight JQuery and Javascript for anything dynamic. The standards typically are defined by the style of the developer.

 

One of the biggest web development applications I created for a business took me 2 years to develop front end to back end. The standards for debugging were handled per module which was easy to control. 

 

The easy way always ends up being the wrong way in a long term project. I learned that early on in my development career.

 

Although it sucks always the best method is typically the closest to the original language without depending on any massive libraries or predefined standards that are outdated or simply missing from a popular choice of node.js.

 

The size of the project should have clearly defined standards for:

  • Which UI library to use as the standard
  • Module, Class, Library Management
  • Debugging, Testing, Version Control
  • Flexibility, Scalability, Usability, ect.

It's all important to make these decisions early on. One of the first project's I worked on it nearly doubled the time to complete that project because I ignored those factors until the very end.

 

Just my 2 cents but hopefully the information is found useful to make the best decisions for the longevity of their project at linustechtips.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm actually in the hunt for a job right now so this may be well timed. Any idea on timelines? I'm currently mid process with other companies but would prefer this opportunity instead. I am fairly familiar with the startup mentality and I believe would make a great candidate but I will need to jump at an opportunity soon

Link to comment
Share on other sites

Link to post
Share on other sites

I'm from England and am partially interested in the opportunity. (I'm not gonna lie, to be part of a team which gets to do so many amazing self-projects like linustechtips does is a dream come true). I'm not sure what their stance is on foreign applicants (for this job) or the fact that I don't have any nodejs experience, not even sure if I would want to move to Canada...

But I've been coding since I was 10 and I'm in my last year of university finishing up my degree, I have briefly used javascript and have worked with javascript (using a language which compiles to it). To be honest whilst typing this I'm mostly interested in your little code challenge! Could you guys send me the challenge? Even if I can't apply I would love to give it a try!

Thanks, hope you guys find a suitable candidate!

Link to comment
Share on other sites

Link to post
Share on other sites

I think you guys should ask Wendell on how to tackle this best.

In the video it seems you are going to build a new proprietary standard from scratch, not a very good idea if you are only tackling this project with limited amount of developers. Also the requirement are really high for one person, I believe it much better to split up the requirement for each development needs.

 

I work on Neo4j and cluster database system with .NET, I would like to contribute voluntary for free if you need such things.

Link to comment
Share on other sites

Link to post
Share on other sites

I'm a fan of LTT videos and how they go around talking between Linus and Luke about technology, I feel like it's me and my friends discussing the new technologies that come out.

 

I also happen to be a Software Engineer looking for a job with experience in full stack development, using AWS, several javascript libraries, php frameworks using MVC, and with mobile development experience (worked for Gameloft for 3+ years, specifically in Java Mobile and Android).

I'd love to share more info on my experience to see if I have more chance of working with you and to build great tools for Floatplane!

Link to comment
Share on other sites

Link to post
Share on other sites

Guest
This topic is now closed to further replies.


×