HN user

nbrochu

109 karma

Serpent.AI

Posts8
Comments37
View on HN

Location: Montreal, Canada

Remote: Yes, open to on-site as offices reopen

Willing to relocate: No

Technologies: Python, Web (Backend & Frontend), Data (ETL, Processing, Search, Dashboards), Image Processing, Computer Vision, Machine Learning, Reinforcement Learning, GUI (Qt)

Résumé/CV: https://github.com/SerpentAI

Email: On my Github page

13 years in the industry; Mostly in startups and R&D departments. Spent the last 3 working on my own projects / research following an acquisition. In that time, I authored the Serpent.AI framework, released a handful of Python packages and worked on a few curios (e.g. custom style transfer implementations, auto-painting application with NumPy and OpenCL). I'm a pretty collected, friendly person; Competent and professional. I prefer working in smaller teams / companies (more hats to wear, closer to product) with insightful and good-natured colleagues.

Location: Montreal, Canada

Remote: Yes (Exclusively in the current circumstances; Open to on-site later)

Willing to relocate: No

Technologies: Python, Web (Backend & Frontend), Data (ETL, Processing, Search, Dashboards), Image Processing, Computer Vision, Machine Learning, Reinforcement Learning, GUI (Qt)

Résumé/CV: https://github.com/SerpentAI

Email: On my Github page

12 years in the industry; Mostly in startups and R&D departments. Spent the last 2 working on my own projects / research following an acquisition. In that time, I authored the Serpent.AI framework (streamed it on Twitch), released a handful of Python packages and worked on a few curios (e.g. custom style transfer implementations, auto-painting application with NumPy and OpenCL).

I was planning to return to the working world in the later half of 2020 but with the COVID 19 situation, I figure it's wise to start considering it now. I'm a pretty collected, friendly person; Competent and professional. I prefer working in smaller teams / companies (more hats to wear, closer to product) with insightful and good-natured colleagues. I'm alright with freelance too if you don't have payroll in Canada.

Location: Montreal, Canada

Remote: Yes (Exclusively in the current circumstances; Open to on-site later)

Willing to relocate: No

Technologies: Python, Web (Backend & Frontend), Data (ETL, Processing, Search, Dashboards), Image Processing, Computer Vision, Machine Learning, Reinforcement Learning, GUI (Qt)

Résumé/CV: https://github.com/SerpentAI

Email: On my Github page

12 years in the industry; Mostly in startups and R&D departments. Spent the last 2 working on my own projects / research following an acquisition. In that time, I authored the Serpent.AI framework (streamed it on Twitch), released a handful of Python packages and worked on a few curios (e.g. custom style transfer implementations, auto-painting application with NumPy and OpenCL).

I was planning to return to the working world in the later half of 2020 but with the COVID 19 situation, I figure it's wise to start considering it now. I'm a pretty collected, friendly person; Competent and professional. I prefer working in smaller teams / companies (more hats to wear, closer to product) with insightful and good-natured colleagues. I'm alright with freelance too if you don't have payroll in Canada.

Location: Montreal, Canada

Remote: Yes (Exclusively in the current circumstances; Open to on-site later)

Willing to relocate: No

Technologies: Python, Web (Backend & Frontend), Data (ETL, Processing, Search, Dashboards), Image Processing, Computer Vision, Machine Learning, Reinforcement Learning, GUI (Qt)

Résumé/CV: https://github.com/SerpentAI

Email: On my Github page

12 years in the industry; Mostly in startups and R&D departments. Spent the last 2 working on my own projects / research following an acquisition. In that time, I authored the Serpent.AI framework (streamed it on Twitch), released a handful of Python packages and worked on a few curios (e.g. custom style transfer implementations, auto-painting application with NumPy and OpenCL).

I was planning to return to the working world in the later half of 2020 but with the COVID 19 situation, I figure it's wise to start considering it now. I'm a pretty collected, friendly person; Competent and professional. I prefer working in smaller teams / companies (more hats to wear, closer to product) with insightful and good-natured colleagues. I'm alright with freelance too if you don't have payroll in Canada.

This is a great resource.

Programming has always been a second-class citizen on Twitch and has quite the fabled history. It started with people uniting under specific games when nothing other than gaming was allowed. A "Game Programming" category was eventually added as a special exception. Then Twitch launched Creative as the first non-gaming category. There was initial hype, Game Programming slowly died as a result and Programming was eventually made a sub-community of Creative (i.e. not visible in the directory). Then IRL launched, proceeding to lobotomize Creative and therefore what was left of Programming. When IRL got out of hand, Twitch broke it down in multiple categories and for a glorious 14ish days, there was a full-blown Programming category visible in the directory. It was too good to be true though and the recently launched and anemic Science & Technology (as part of the IRL break-up) needed to be saved from the embarrassment it was so they deleted Programming and told people to stream there instead. We are back to people thinking there is no programming content on Twitch.

Sad because it's a solid category with a lot of good content that no one can find. Never understood Twitch's stubbornness in not exploring it as decent vertical to develop.

Another resource worth checking out even if the formatting is a little jarring is https://github.com/bnb/awesome-developer-streams. There is a lot of overlap but it lists what people do on their channels.

Not really a guide. Just a few bullet points.

Start messing around in OBS (https://obsproject.com) and get as comfortable as you can using it. You can compose scenes, transition between them, set up your audio and video encoding and preview everything without streaming. You can make local recordings test things like volume levels and audio sync. It's fantastic software and it's how you will operate your stream.

For programming, things are as simple as they come: Have a main scene that does display capture and perhaps overlay a camera. You can add more bells and whistles if you want; the tools are pretty intuitive. I recommend also making scenes for "Starting Soon", "BRB" and "Stream Over". Having a browser in guest/incognito mode is a good idea. Be mindful of stuff like API keys, secrets, passwords and personal information.

Once you are ready to make the leap, you can link your Twitch account to OBS and when you press "Start Streaming" you'll be live shortly on your channel.

Before you do though, you'll want to spend a little time in your Twitch dashboard to set up stuff like titles, categories, tags etc.

There is a lot more to it that you'll figure out along the line. Live streaming is an iterative process and a skill / hobby that you perfect over time. Have fun!

I have done it for about 1.5 years straight, 24+ hours a week. Currently on an extended break to recharge my batteries but I'm definitely going back. It's slightly addictive and you come to miss it. The best part is you eventually end up knowing the other programming streamers which builds a sense of community.

In my personal experience, the productivity hit is overstated. It's absolutely harder to focus because of chat and the discussions that come with it, yes, but at the same time you have a camera pointed at your face and your screen is shown to the world. Whatever you normally do to distract yourself and procrastinate... I can guarantee you don't.

You also build a resistance to interruptions over time, which is an amazing skill for a programmer to have. I didn't believe it to be possible, but it eventually became so easy to pause what I was doing, interact with chat for a few minutes and instantly resume where I left off after.

To go even further, it's a great way to put in consistent work and keep motivation up for large, long-term projects. I have built the entirety of the Serpent.AI Framework (https://github.com/SerpentAI/SerpentAI) while live on my Twitch channel and I'm not sure I would have ever shipped it otherwise. The interactive nature of live streaming can give you that nice push on days you don't quite feel like it.

Streaming programming is not for everyone but I still recommend to give it a try. The experience is hard to put into words. I've had a blast and got to know great people.

Oh it's here! :)

My goal with Serpent.AI is to lower the barriers to entry when it comes to using games as sandboxes for code experiments. It unlocks your entire existing game library (Steam, DRM-Free etc.) to be used as potential game agent environments and it does so natively! No Docker containers, No VNC. It is simple enough for beginners & hobbyists to dabble in, but also powerful enough to drive serious machine learning and AI research. The framework provides structure and conventions so you can focus on your experiment exclusively. It also doesn't try to dictate how you solve your problems. Your game agent is your canvas!

My goal with Serpent.AI is to lower the barriers to entry when it comes to using games as sandboxes for code experiments. It unlocks your entire existing game library (Steam, DRM-Free etc.) to be used as potential game agent environments and it does so natively! No Docker containers, No VNC. It is simple enough for beginners & hobbyists to dabble in, but also powerful enough to drive serious machine learning and AI research. The framework provides structure and conventions so you can focus on your experiment exclusively. It also doesn't try to dictate how you solve your problems. Your game agent is your canvas!

This has been my main side-project / hobby for the last few months. I am building a framework to facilitate the creation of agents that can interact with games.

You can think of it as a minimal, one-man OpenAI Universe. The main difference is that you can set it up to interact with native games you own. No VM + VNC setup or depending on available games/environments like Universe! It takes less than 10 minutes to write a plugin to add support for any Steam game.

The framework provides 2 major features: First, it sets up the game agent loop for you. Frames are captured and fed to your agent, you process them the way you want (can be anything from pure computer vision to reinforcement learning) and are able to send actions back to the game. Second, it ships with multiple blackbox implementations of algorithms that are compatible with the architecture of the framework. This second part is a total WIP.

On stream right now, I set up an experiment in The Binding of Isaac: Rebirth to see if we can learn to defeat bosses in game using the DQN family of algorithms. The current version uses 2 DDQNs each using Prioritized Experience Replay. 1 controls the movement and the other is in charge of the shooting. This is already v11 so there are a lot of iterations and chat has been great for discussing possible improvements.

Code is in Python. Linux only for now but Windows support is on the roadmap. Pre-release repo: https://github.com/SerpentAI/Serpent

Happy to answer any question!

Really nice and can see why you needed the performance for this project. Funny that you mention Super Hexagon because it's the game I'm using for my POCs!

Thank you so much for sharing this! I'm working on something similar right now (a framework to build game agents using computer vision tools) and I just went from capturing at 10-15fps with ImageGrabber, to 15-25fps with FFMpeg and finally 70-80 fps with this technique. Insane!

I kept it simple: Reverse order = Number of points i.e. #3 on front page = 28 pts etc.

Points are accrued every time a snapshot of the front page is taken.

There is a flaw with this system in that outside of peak hours, some less important item might hang around the front page a little longer and earn a too many points but I feel that it still works well enough to catch up with HN Content.

Feel free to add HN Recap(http://hnrecap.com) to any list that may exist. I built it a while ago to help me get daily, weekly and monthly summaries of Hacker News.

It has it's own scoring system, archives and Instapaper support. The plan is to use the data to start a daily podcast quickly summarizing the top news of the previous day in 10-15 minutes.

Alright so I read the feedback and it seems there is at least a little bit of interest in this. Here is how I will proceed: I'll make a FREE daily newsletter you can sign up to using MailChimp (or some other good alternative... feel free to suggest) where I list the domains. I will most likely experiment with putting a small percentage of the names on the list for sale everyday and I guarantee prices will always be $50 and lower.

I will post a link to the signup form on this page and maybe also submit it as a new entry. Be on the lookout for it if you want in.

Oh and some more available names for you all :) Enjoy!

arcadehud.com backmaker.com barkmap.com beaminfo.com booktakers.com bubbleless.com cablezap.com clicksir.com clothi.com codecollect.com condovia.com connectmix.com coopsquad.com crowdlead.com discodeep.com duelpit.com echocoach.com flatside.com fluxplay.com gametrex.com gatespell.com hipstatus.com jamshell.com liveways.com mailslide.com marketsensor.com metastyles.com meterclicks.com patterndeck.com picacast.com pitchlove.com playsync.com presshack.com pushcamp.com reptable.com sheetstrip.com shieldset.com sleepmeter.com smartscaling.com springsites.com tagsmash.com talentlever.com torquefive.com travelgage.com wordables.com

I'm actually on Dan's newsletter too and though he seems to be doing quite good, I personally find his domains are overpriced for the quality. It feels to me like he is targeting the domainer market with the quality, but at prices that exclude bulk buyers like them.

I agree with your observation and realize I probably worded my post wrong. The idea is not for you to periodically watch the lists waiting for your perfect domain. That won't work. It is more to just casually browse it, and if one just screams at you, you get it at a reasonable price (< $50) or even at reg fee.

And about the quality of the names on my list, everything is relative. I try to focus more on a niche (startup/service/product/blog names) even though I have quite a few good names available in other markets too. If you are looking for something outside of what I'm listing, of course quality seems a little lower. Five names on my little sampler got registered in a few hours so I believe there is some sort of interest.

In my opinion, most domain name related problems truly cannot be solved with a programming approach. One that can, however, is extracting gems out of dropped and available domains. I'm not saying it's easy, but I plan on working on it!

http://hnrecap.com - Daily, Weekly and Monthly HN Summaries (Has: Its own point system, Instapaper support, Treemap visualisation and Archives). Thinking of maybe starting a weekly podcast!

Also a project in the early stages which aims to make it easy to find great available domain names for projects/startups. A lot of hackery going on here. :)

I was having the same issue so I created a simple site that polls the site every 2 minutes and attributes points according to where in the top 30 a story was located and maintains the rankings for every day.

It is ridiculously simple, but I find I have a much better experience with HN content while using it and the top benefit is that I can afford to miss a day or two and still manage to not miss anything. Check it out! It may (or may not) prove to be useful for you too. Also, no ads or similar annoying stuff. :)

http://hnrecap.com

P.S. It is currently a bit messed up (stories are entered multiple times in the table) because of how (poorly!) I handled articles that make it across many days in the hour that it took me to code it. I will fix that ASAP and add support to view the recap for past dates and search the site.

Having never been there, I was pretty interested in using the site to discover the Chapel... until 4-5 minutes in and the Flash still wasn't fully pre-loaded on my 50 Mbit connection!

While the final size of the download might remain the same in the end, only loading the requested zoom level à la Google Maps instead would give it a way more acceptable "instant-like" feeling. Pre-loading the entire thing before users can interact is just plain bad usability.

If it wasn't a famous landmark, I would have left the site within 30 seconds. Still, I applaud the initiative and am happy to have seen the place in such details!

In the spirit of making things easier, it would be great if you could also post how open you are to qualified applicants from other countries and what help you can provide, if any, with visas/citizenship.

This might seem like a fringe request, but I am sure there a quite a few awesome, available developers willing to actually relocate to a neighboring country (Canada/USA & vice versa, is pretty frequent AFAIK) to tackle an interesting opportunity.

I, for one, wouldn't mind relocating to the US (from Canada) if I liked the opportunity/challenge/team. I have no problem finding job openings for which I am qualified and interested in, but applying usually ends up being a waste of time for both parties when it is not clear whether or not it is possible.

Seriously, if you are open to it, don't keep it a secret! Help us find you! :)

Got a little bug with location... For some reason, it thinks "Montreal, Canada" is located in Ontario, so I kind of warped your results without knowing.

Also, and I know this is probably not intentional, but most people outside the United States will cringe when they see "and the rest of the world" with only a map of the states on the page.

Other than that, I liked the results page and all the statistics it provided!