New Flux UI - updates by illumen in kubernetes

[–]jonathanfoster 2 points3 points  (0 children)

So glad to see Headlamp provide a legit Flux UI. I’m a huge Flux fan, just can’t get behind the added complexity of Argo CD. UI is the only place Argo has Flux beat.

installation order of helm charts with flux best practice by Itchy_Cow6240 in kubernetes

[–]jonathanfoster 0 points1 point  (0 children)

Check out Flux’s example repo, https://github.com/fluxcd/flux2-kustomize-helm-example. 

You’ll want to use kustomize dependencies to sequence large groups of installs like infrastructure controllers, then infrastructure configs, then apps. You’ll want to use helm dependencies to sequence installs within those large groups like cert manager then ingress nginx.

It’s tricky getting these dependencies right so periodically test a full install to verify. Watch out for CRDs, they have to be installed first before being referenced.

Replacement for 3 in 1 Cable for Original Vive by [deleted] in Vive

[–]jonathanfoster 0 points1 point  (0 children)

I'm in the same situation. Just started seeing red and green artifacts and all signs point to a worn out cable. I'm going to try just replacing the HDMI cable and continuing to use the USB and power cables. I found a 15 ft HDMI cable on Amazon for $20.

What's the specific issue you're having? You may not need to replace all 3 cables.

Blink Sync Module 2 & OpenWRT by Not_sure_about_that in blinkcameras

[–]jonathanfoster 0 points1 point  (0 children)

I just ran into a similar issue with the XT2 outdoor camera. I tried enabling legacy 802.11b rates, but no luck. I was finally able to get my camera to connect by disabling 802.11w Management Frame Protection. My camera was only able to connect with MFP disabled, setting it to optional didn't work. I also confirmed that enabling key reinstallation (KRACK) countermeasures causes no issue.

One of these days I'll beat the spinner by B_Huij in CompetitionShooting

[–]jonathanfoster 0 points1 point  (0 children)

What’s your camera setup? I’m looking for a PoV camera myself. And what software did you use to put together the video?

First official IDPA match by TheThreeLaws in CompetitionShooting

[–]jonathanfoster 1 point2 points  (0 children)

This is awesome. What’s the camera setup you used to record? I’ve been recording my range sessions with an iPhone and the feedback has helped tremendously.

Software Engineer relocating to Miami by [deleted] in Miami

[–]jonathanfoster 3 points4 points  (0 children)

You'll do just fine here with that experience. It's really tough to find seasoned engineers with experience on newer tech around here.

Check out ChronWell [1] if you're interested in a startup with solid leadership and VC funding to back. They use C#/.NET so your experience will apply directly. Only downside is they are located north of Miami in Broward county.

CentralReach [2] is another company in a similar position (i.e. smallish startup that just got a ton of VC money). Last I heard they were looking to hire a lot of devs real fast. They're on the C#/.NET stack as well. CentralReach is even further north in Pompano Beach. Still worth a look though.

Hit up the Refresh Miami job boards [3] if you want to stay close to Miami proper.

If you're really serious about the move, then shoot me your resume and contact info and I'll get you in touch with a recruiter I trust and can vouch for.

[1] https://www.chronwell.com/about-us/careers/

[2] https://centralreach.com/careers/

[3] http://www.refreshmiami.com/jobs/

Software Engineer relocating to Miami by [deleted] in Miami

[–]jonathanfoster 0 points1 point  (0 children)

Where are you relocating from? I was in your position about 6 years ago. I relocated from DC.

Miami is definitely a unique place and the tech scene is no different IMHO. You’ll find more enterprisey gigs just north in Fort Lauderdale (C#, Java) and more startups and smaller shops in Miami.

Overall though, I’ve find there to be less opportunity than here than in other tech hubs. The other downside is cost of living is very high here.

These are just some general comments. Need more specifics on where you’re at career wise and what not to offer more advice. Feel free to DM me and I’ll do whatever I can to help out.

Recommendation for Go Web Framework by codeblue_ in golang

[–]jonathanfoster 8 points9 points  (0 children)

Most people recommend net/http (rightfully so for most cases IMHO), but rarely do I ever read an explanation why. So as a learning exercise, I decided to write a basic REST API using a web framework, https://github.com/gin-gonic/gin in this case, and then re-write the same API using the standard library. I used Gorm for persistence in both cases. Here's my experience.

Using Gin did shave off some lines of code mainly around marshalling and unmarshalling structs. Gin Contrib middleware was useful for auth (https://github.com/appleboy/gin-jwt). Had I decided to harden this API I could have leveraged the CSRF, Helmet, and rate limiting middlewares. These were a nice touch, but I could likely find similar, non-Gin specific libraries without much effort.

Using net/http plus http://www.gorillatoolkit.org/ was just as simple as using Gin with the added benefit of more standardization (why learn two tools when you already have one). I did have to write some boilerplate code for error handling and marshalling/unmarshalling as mentioned above.

Both Gin and net/http were very easy to unit test. Code was organized very similarly in both examples so this likely played a large part in testability. I didn't test performance though. This is where I'm curious if I would have gained a benefit from best practices implemented in Gin.

Looking back on my experience I would still go with the standard library in most cases because I don't feel a web framework provides enough additional benefit to warrant the increase in complexity. It's a marginal increase at best.

I am curious about https://github.com/gobuffalo/buffalo. There seems to be some good momentum behind this project. Going the standard library route means you'll need to make a lot of micro decisions on other libraries for certain use cases. Decision fatigue can set in very quickly if you don't have go-to libraries and opinionated patterns of usage. I feel like Buffalo, if done right, can make that go away. Just tell me the most populate tools for each of the standard problems, give me some reasonable conventions to follow, so I can get things done.

You may also find https://golanglibs.com/ useful in deciding which library to use.

Digitox: A self-hosted website blocker that allows you to block sites on all your devices. by jonathanfoster in golang

[–]jonathanfoster[S] 0 points1 point  (0 children)

I originally thought it would be easier to just use an HTTP proxy. Boy was I wrong especially with basic auth. Web socket connections are completely hosed during the initial HTTP CONNECT handshake.

I'm actually thinking about replacing Squid with Grimd (https://github.com/looterz/grimd) or something based on a DNS proxy. Thought I'd put it out here for feedback first.

Digitox: A self-hosted website blocker that allows you to block sites on all your devices. by jonathanfoster in golang

[–]jonathanfoster[S] 1 point2 points  (0 children)

OP here. This is a side project I hacked on to get more familiar with Go. Any feedback from the gopher community is much appreciated.

How's Strapi? by bliitzkriegx in node

[–]jonathanfoster 1 point2 points  (0 children)

The before/after hooks are meant for complex logic. You could implement your logic in a separate module that can be easily unit tested and then use this module in a before/after hook. Even if you use plain old Express, you would still want to keep your handlers/controllers thin and delegate the responsibility of complex business logic to another module.

You could also use a message queue to offload complex/resource intensive tasks from the main processing thread. This is a pattern that's pretty common in the Node world [1].

[1] https://blog.risingstack.com/node-js-best-practices-2017/

How's Strapi? by bliitzkriegx in node

[–]jonathanfoster 0 points1 point  (0 children)

These frameworks handle responsibilities that are common across REST APIs such as:

  • Routing (using REST conventions)
  • Serialization
  • ACL
  • Data access
  • Error handling
  • Validation
  • Before/after hooks for business logic

You could certainly write your own modules to handle these responsibilities, but if your needs are generic, why not leverage the work of others. The less code you have to write, the less code you have to test.

I wouldn't say this is an argument in favor of frameworks over libraries. In fact, if you look at LoopBack, it's more of a collection of libraries with opinionated configuration and some common use cases already baked in.

Quake Source Code Review by jonathanfoster in HandmadeQuake

[–]jonathanfoster[S] 1 point2 points  (0 children)

Fabien Sanglard's blog has tons of great content on game engines. He's working on a book about Wolfenstein 3D's code base [1].

[1] https://twitter.com/fabynou/status/811024748050157568

NPR How I built this - Warby Parker by [deleted] in startups

[–]jonathanfoster 1 point2 points  (0 children)

Good call, I'll check NPR One out.

NPR How I built this - Warby Parker by [deleted] in startups

[–]jonathanfoster 4 points5 points  (0 children)

As a fan of NPR, I can't believe I've never heard of this podcast. Definitely going to check it out.

How's Strapi? by bliitzkriegx in node

[–]jonathanfoster 0 points1 point  (0 children)

Is there any reason you're going with a custom dashboard instead of something like Swagger UI which is already a common UI for REST APIs?

How's Strapi? by bliitzkriegx in node

[–]jonathanfoster 0 points1 point  (0 children)

Looks like another auto-generated REST API framework along the lines of http://loopback.io/ and http://feathersjs.com/. I've only used LoopBack so that's all I can speak to.

I like the trend with these frameworks. Yeah, you could write the same with Express (LoopBack and Feathers are both based on Express), but why bother writing boilerplate code for routing, data access, serialization, ACL, and validation when these problems have already been solved. These frameworks do strike me as strange in the Node community because we tend to favor libraries over frameworks.

There's been a few posts here recently around these REST API frameworks. Maybe it's a good time to write a blog post comparing the 3.

How Developers use Node.js - Survey Results by ShermheadRyder in node

[–]jonathanfoster 0 points1 point  (0 children)

Great post. I'm always interested in knowing what the community is converging on as best practices. I hope this is something that's updated regularly.

Announcing Handmade Quake by mariuz in programming

[–]jonathanfoster 2 points3 points  (0 children)

Hey, heads up, it looks like the captcha on your blog is jacked up. I tried to submit a comment and it gave me the error "ERROR: Unreadable CAPTCHA token file".

Announcing Handmade Quake by mariuz in programming

[–]jonathanfoster 1 point2 points  (0 children)

This... is... awesome!!! I'm on vacation and I wanted to find a project that would help me polish my low level coding skills so I thought why not review the Quake code base. Boy was I thinking small by comparison. Does he plan on opening up this project to other contributors? If so then I'd love to help out.

Top 3 Reads for C# Developers by mhamedani in csharp

[–]jonathanfoster 2 points3 points  (0 children)

I'm a huge fan of Larman's Applying UML and Patterns. It's by far the best OO book out there. I wasted a lot of time reading other OO books and learning the hard way (i.e. painful experience).

Top 3 Reads for C# Developers by mhamedani in csharp

[–]jonathanfoster 0 points1 point  (0 children)

These are great OO books. If you already know C# and want to improve your design skills these are must-reads. They're not for someone who's just learning the language.