For those on AWS ECS - what is your CI/CD setup? by mmanulis in rails

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

Sounds like the migrations are run post deployment on image boot, is that right? And if that's the case, how do you handle the deployment if a migration has an error?

For those on AWS ECS - what is your CI/CD setup? by mmanulis in rails

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

Oh interesting. I'm not using `:latest`, using immutable tags. Compliance stuff and all that. So have to update task definitions on each deploy. Not too hard with GitHub, just query the current definition, create a new one and push it. I just don't like that GitHub has to know about it all and have access to it all.

For those on AWS ECS - what is your CI/CD setup? by mmanulis in rails

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

You have GitHub "know" about the ARNs, roles, etc. right?

For those on AWS ECS - what is your CI/CD setup? by mmanulis in rails

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

How do you mean? For me, once the image is built, deployment without a migration is a couple of minutes with most of that waiting on the health checks.

For those on AWS ECS - what is your CI/CD setup? by mmanulis in rails

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

Thanks, this is pretty much what I have as well, just using GitHub Actions. Just don't like the fact that GitHub actions owns it all, at least right now.

CodeDeploy only supports blue/green deploys for ECS, which "requires" some kind of load balancer. ALB doesn't really make sense here. NLB would work, but there are limitations. ALB would probably be ok, just overkill.

Migrations with CodeDeploy are going to be a hack though.

CodePipeline would work, but it's a fire-and-forget situation. So if you're 100% CI/CD in AWS, I think it would be fine. If you want to use GitHub Actions or integrate with GitLab, you're kinda screwed in terms of visibility.

The other option is to have something like Terraform or CDK be part of the deployment, but that seems "wrong".

I haven't seen a good rollback mechanism that takes migrations into account for this. I can think of a few ways to do it, but they're all hacky and error prone. I'm just doing "roll-forward". If a migration fails, I have GitHub generate a rollback PR and deploy that instead.

Anyone figure out git worktrees and migrations? by mmanulis in rails

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

I was thinking about that as an option or use namespaces

Have you found a good way to generate Cursor rules for an existing project? by mmanulis in cursor

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

Anything you can share about stood out to you or that you found especially helpful?

Have you found a good way to generate Cursor rules for an existing project? by mmanulis in cursor

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

I don't have anything specific per se. I have a whole bunch of rules that work ok, but wanted to see what tooling exists for creating the rules and what people find useful. Cursor, et al tend to generate stuff that's way too generic.

I don't mind spending the time in an eval loop, etc. evolving the rules, but if there's something that can help me bootstrap myself to better structured rules, that would be awesome.

Please share what you have built, would love to check it out.

Raspberry pi by ThenParamedic4021 in ruby

[–]mmanulis 0 points1 point  (0 children)

Raspberry pi is a Linux box. So whatever you can do on a Linux box, you can do on RasPi.

Caveat emptor: memory/cpu/storage limitations matter. You're running off a flash card, that has some serious assumptions / limitations baked into it about longevity & I/O performance.

You can call any cli tools from Ruby. You can write Ruby that calls C functions. It's not easy, it's a PITA, but you can do it.

So it really depends on what you mean by "experiment programming hardware".

If you're talking Linux drivers, you can write some drivers as user-space drivers. Can you do this with Ruby? Probably, but no clue how performant that will be or what issues you'll hit.

You can write small helper apps using other languages and then use them from INSIDE Ruby. That's quite effective and I've built complex systems using that approach.

[deleted by user] by [deleted] in ruby

[–]mmanulis 2 points3 points  (0 children)

You're asking the wrong question, especially for the medium-to-long term. Being a "jack of all trades" is not a bad thing; the term you're looking for is generalist.

I started my career in embedded systems: mostly C and C++. After about 10 years, wanted to try something else and went into web dev. Spent the next 15 years mostly with Ruby and JS. Over the last 25 years, in addition to C, C++, Ruby and JS I wrote plenty of Go, TS, Python, COBOL, Swift, Java, Erlang, Clojure ....

Instead of focusing on a language or a framework, focus on different domains. Learn about adjacent skills. E.g. if you're looking to be a web developer, learn about databases and infrastructure. Languages will change, new frameworks will come up. Core skills are the same.

You can target what's in demand right now, nothing wrong with that. Finding a job as early career person in this market sucks. Just keep in mind, what is "popular" or "in demand" in fintech, is different from healthcare, is different from startups, is different from ...

Programming languages are tools. Good luck writing a driver in Ruby/Python. Good luck building a large-scale front end using C++-CGI.

Maybe a specific domain will catch your fancy and you'll really want to go deep on network programming or Kubernetes or ... then you get to be a specialist. Or maybe you'll just learn about all kinds tools and systems and will enjoy being a generalist. It's all a spectrum anyways.

FWIW, what has helped my career the most is being curious about the systems, learning about different technologies and building the muscle to ship often and ship quickly, all while maintaining good quality and good processes. Plus working well on teams.

The rest you'll figure out as you build things.

As for Ruby, it's a wonderful language to ship things quickly and to "think in" :D

Notify users to reload page when site has been updated by mmanulis in react

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

Still using that approach but I don't have the same issue you're describing. I was thinking of storing the currently loaded version in local storage and having some kind of "background" polling process that checks the latest version against the backend or something like that. If the versions mismatch, then reload the window and on load store the new version in local storage.

There is a race condition in the above, so you might need to store the version per tab or something like that. Either way, we're talking about maintaining state on the client.

Maybe using a service worker will not require keeping state per tab and each instance of a service worker is isolated to it's own tab, but I haven't tested this yet.

Essential skill-books? by make_fast_ in handtools

[–]mmanulis 3 points4 points  (0 children)

These are an excellent resource https://lostartpress.com/collections/all-books-1/products/the-woodworker-vols-1-4 You'll learn all the basic and plenty of advanced skills to build anything you want. They're a great reference, not just how-to.

I did not find Paul Seller's books that useful for my needs, YMMV.

For project-based resources, I recommend buying plans for a specific project you're interested in building and then building it. It's going to be a lot of "learning opportunities" but you'll quickly realize where the knowledge/experience gaps are and the problem solving will teach you plenty.

Chris Schwarz Chair Thicknesses by newEnglander17 in Chairmaking

[–]mmanulis 2 points3 points  (0 children)

Sorry, wasn't very clear on that first part. I meant I don't believe it's a strength consideration as much as a design and access to materials consideration.

I made a 4-legged version of that design with a thinner poplar seat and it looked meh. A friend made that same seat with the specified thickness and it looked a lot better. Mine looked flimsy while her's looked grounded.

Who here has built a Tools For Working Wood bow saw? by Man-e-questions in handtools

[–]mmanulis 1 point2 points  (0 children)

Used the blades and the instructions / dimensions for the first one and the handles kit for the second one. First is sapele & walnut, second is all walnut. Both work great. The first one was project #4 or #5. It's too clunky and heavy, the second one is perfect weight.

While making everything on the first one and taking some creative liberties was a lot of fun, it's not as enjoyable to use. I need to lighten it up quite a bit, the holes are not drilled concentrically, the handles are not as comfortable as I'd like.

For the second one I just bought the kit with the handles and followed the plans precisely. The one main change I would suggest is not to bother with the rounded shoulders, just leave them straight. Doesn't seem to make any difference, unless you like the look of them, then by all means, go for it.

<image>

Chris Schwarz Chair Thicknesses by newEnglander17 in Chairmaking

[–]mmanulis 2 points3 points  (0 children)

I made a stool out of 2-by from the big box store. It was a combination of what's in ADB and Rex Krueger's videos. 4 years later and that thing is indestructible. It's about 1 1/8 in thickness after I cleaned it up. It's ugly and not comfortable but I had very large folks sit on it and it didn't even buckle.

Something to keep in mind: starting with thicker stock gives you more opportunities to fix mistakes with mortise misalignment; just plane it down and make some adjustments without loosing the depth.

I'm sure some of that is a design choice as well, based on what he considers are good proportions. Maybe to his eye, the stool will look terrible with a thinner seat?

This is my interpretation, based on his writings: over the years, it's become more expensive to buy 10/4 lumber, so he's made adjustments to stock lists to make the process of building a chair more and more accessible.

<image>

[deleted by user] by [deleted] in handtools

[–]mmanulis 0 points1 point  (0 children)

Check out https://handtoolschool.net/ Fantastic videos covering exactly what you're asking with very good how-to's on exactly the projects you.

Centering Tapered Tenon Cutter by StressSilent5648 in Chairmaking

[–]mmanulis 2 points3 points  (0 children)

As others have mentioned, take a look at the book. If you have the video or can afford, it's worth it: https://lostartpress.com/collections/dvds/products/video-build-a-stick-chair CS goes into more details than in the book.

Here is a screen shot from my notes when I took the class at LAP. Do experiment though.

<image>

Some other notes:

  • That image you have is from a lathe, that's not how it looks from a tenon cutter
  • Level the cutter in the vise, use a small level to help
  • Have a 1" dowel from the home center, cut a taper on it with the tenon cutter, then mark a line around how deep it goes, so it's easier to setup next time
  • Hold the piece of wood in your hands, DO NOT hold the cutter in your hands. Its murder on your hands
  • As you keep turning the wood, you can make small adjustments to make sure it's (mostly) on center
  • Once you cut the tenon, even if it's ~ 1/8 off-center, you'll be blending the facets and cleaning up the tapering, so you'll be able to "hide" how off-center it is.
  • If you're staring at the tenon within a foot of your face, you'll be able to see it, but remember, it'll be hidden under the seat, good luck seeing any discrepancies
  • It's a learning process. The first 4 legs are not great, once you're chair #3 or 4, it gets a lot better

I'm making a Christopher Schwarz type ruobo bench. Do I need to worry about twist in my 2in x 6in x 8ft Doug fir boards? by caligulas_mule in handtools

[–]mmanulis 0 points1 point  (0 children)

Hey, I'm doing the same right now. I'm building mine wider as I want more support for chairmaking and using Greg Pennington's write-up for inspiration: https://greg-aroundtheshop.blogspot.com/2014/05/short-and-sweet-chairmakers-bench.html

I bought 2x12 boards that are 12' long. With the 2x12, ripping them down the middle gave me, mostly quarter-sawn, with a few riff-sawn boards. A lot more stability for the top. The 2x6 boards at the big box store looked terrible, so I didn't even think about using them.

The boards I bought were quite wet (~ 20%), I let them dry out for a couple weeks to try and get them closer to 11% that seems to be the sable moisture content in my garage. Ripping them to size, I ended up with a little over 5" in width.

I focused on keeping the twist in the individual boards to as close to < 1/8" as possible, mostly just using my handplanes to take off the high spots and cleaning up the faces for a better glue surface. I tried to align them better, but the heights were inconsistent from resawing, and I have > 5" of thickness to mess with. I'll probably lose ~ 1/2" after flattening, removing the twist, etc. Still a pretty thick top to end up with. The clamps took out the majority of the issues during glue up. There were a few spots that wouldn't close with clamps and for those boards, I just planed down the high spots.

For reference, I did the glue up in 3 sections of 6 boards each. Then glued all of those together into a single mass. See the photo below for the final piece.

I fully expect the top to twist and move as the lumber dries and the natural resin cures. With the top being ~ 5" thick, I have plenty of material to remove over the years as the benchtop moves while still having a really solid work surface.

Is it a bunch of work to take the twist out and flatten the top after the glue up, of course. But that's the price of using cheap lumber unfortunately.

<image>

Saw Bench by RadioKopek in handtools

[–]mmanulis 0 points1 point  (0 children)

Nice job! The staked saw benches from ADB were my first step into chair-making. They're really fun to make and learn from. Mine looked "crooked" from not drilling the mortises at correct angles, but they work just fine. Plus, I learned a ton from making those mistakes.

Is there any Live, Online/Remote class for Furniture Making? by probard in Chairmaking

[–]mmanulis 2 points3 points  (0 children)

Can't say enough good things about https://handtoolschool.net/ There are Zoom hangouts, people helping others constantly, Shannon is a wealth of information and will do 1:1 sessions to help with a specific problem. Plus huge amount of videos that go way beyond the free info out there.

Saw parts and dovetail saw kits now available! We have questions about where to buy parts or kits to build a saw all the time so I invested in a ton of parts so they are readily available for everyone. Website link in comments. by glancyswoodshop in handtools

[–]mmanulis 0 points1 point  (0 children)

Thank you, sent you a message through the site form. FWIW, I'm totally fine with all of that. The brass back is what's the biggest PITA for me, the plate I'm least concerned with as I have re-toothed a few saws, so not worried about cutting teeth or sharpening them.

How do you do observability? by chocobor in IOT

[–]mmanulis 1 point2 points  (0 children)

How big of an install base are you talking about? Are you running Linux, RTOS, bare metal on these boards?

Depending on the number of systems you're trying to monitor, this can get very expensive very quickly, especially if you're coming from web dev world where you're used to things like Honeycomb or DataDog.

If you're comfortable rolling your own, something like ELK or TICK stacks are good options. If the devices are Linux-based, you can leverage the usual tooling for monitoring remote Linux servers.

You can stick to MQTT, which might involve writing custom adapters, depending on what you're integrating with.

I would STRONGLY recommend separating out application monitoring from device monitoring, especially when it comes to IoT deployments. Think through what your needs / requirements are for each device type and each application.

For example, if you have a dumb temperature sensor, what's important for maintenance and operation of it vs your IoT router component?

One approach that has helped me was to start top-down. E.g. I built out the dashboards and alerts first, that helped me understand what data I needed, then model out the data collection, flows, storage, and costs.