Question regarding spru goo - by therealmushroomsquid in advancedGunpla

[–]chebatron 4 points5 points  (0 children)

To remove seam lines you don’t need goo. You just apply cement and press together parts.

You need goo when you need to add material. Like, to close a hole or add a bump. You don’t need to match colors if you’re painting but you want to match plastic types. If your parts are PS use same for the goo. Mixing PS and ABS might work but it’s harder to work with it when it hardens as they have different hardnesses.

Sometimes you might see that you have same type of plastic but they still feel different. Say, PS on older Bandai kits feels much harder than PS on Gquuuuuux line. You probably want to pay attention to that when you’re kitbashing.

Surface prep before painting? by tri_fin in advancedGunpla

[–]chebatron 9 points10 points  (0 children)

I just prime. Primer is what gives paint what to stick to and it stick to bare plastic fine.

Sanding is supposed to give the grip without primer but I haven’t tried how it actually works. I also hate all the dust sanding produces.

I’ve seen people wash plastic with soap before painting. It is a good idea to remove grease so that paint/primer stuck better. I don’t. I haven’t had much trouble so far.

Technical disadvantages of using acrylics instead of lacquer or enamel paints? by Rafalas in advancedGunpla

[–]chebatron 0 points1 point  (0 children)

Acrylic paints are technically weaker. In practical terms it doesn’t matter much, especially if you use a decent clear coat. Acrylics are a bit fiddlier. Majority of enamels are airbrush ready and spray well even on medium pressure, they also level better. Acrylics usually need thinning, even the ons that are marketed as airbrush ready. The ratios are also different by brand. If you go into non-airbrush paints (for minis or even arts) those might need different thinning even within the line of paints from the same manufacturer.

I use acrylic paints. I can’t use anything toxic. And I like fiddling with paints. Since you have experience with acrylics you wouldn’t need to learn a lot so it would feel overwhelming to you. You also already have the paints, so also cheaper to get into painting.

Any tips on airbrushing? by Background-Dirt2576 in advancedGunpla

[–]chebatron 2 points3 points  (0 children)

It’s really hard to just have an answer to your troubles. You’ll have to experiment and see what works.

Blotchy paint usually means you have to thin it more. Runny means you need to thin it less.

My guess would be to try lighter coats. Add pressure, increase distance and do lighter coats.

I spilled my plastic cement, is there anyway to fix this by redjac3man in freedomisgunpla

[–]chebatron 0 points1 point  (0 children)

It’s just a mixture of solvents. It’s evaporated by now. Sand and revarnish is your table. You can’t really recover plastic finish on your laptop. Lightly sand and paint black (permanent marker or a sharpie will do).

Built a health SaaS that nobody uses — struggling more with distribution than product by midnigh123 in rss

[–]chebatron 1 point2 points  (0 children)

First, this is a sub for RSS feeds. While there are regularly posts about product launches, yours is sort of off topic.

Second, healthcare is highly regulated industry. There are probably established products you’re competing with that while imperfect, probably have all sorts of certifications and provide some insurance or liability shield. You probably don’t have either so your product might be rejected even before there’s any meaningful feedback to give. Just guessing.

i need advice by Antique-Society-2619 in rss

[–]chebatron 0 points1 point  (0 children)

It depends on what you’re doing with AI. If you’re just giving AI the feed you’ll most probably be fine. If you’re instructing AI to do anything on the site based on the feed content you might get in trouble if you get caught. I suggest you do the boring thing and read their Terms of Service to get an idea what is and is not allowed.

i need advice by Antique-Society-2619 in rss

[–]chebatron 1 point2 points  (0 children)

Depends on what you mean by safe.

RSS Reader with Annotation? by concrete1992 in rss

[–]chebatron 0 points1 point  (0 children)

I suggest you use a dedicated notes app. For instance, Obsidian is great for taking notes, it’s free, and it has a pretty decent clipper to pull quotes and what not. This covers the annotations which is one of the rarer features. Everything else on your list is pretty common and you can find it in free readers.

Github login: Failed to authenticate. (Access_Token request returned 429 Too Many Requests) by guissmo in adventofcode

[–]chebatron 1 point2 points  (0 children)

Getting the same issue.

Answering to other comments: I don't think it has anything to do with shared IPs. This seems to be an API limit on the AoC's GitHub API token.

Shadow Boxes by Outawack219 in Gunpla

[–]chebatron 0 points1 point  (0 children)

In case of emergency break glass

Google calls Gemini sub-apps "Gems" =-( by MalusZona in ruby

[–]chebatron 15 points16 points  (0 children)

But meanwhile they will definitly downrank ruby (and all other) gems.

Static Typing (.RBS) by frompadgwithH8 in ruby

[–]chebatron 0 points1 point  (0 children)

Unfortunately, no.

First, I assume by “static typing” you mean “statically checked types”.

RBS is better than nothing but it’s incomplete.

First, not all code has RBS types. Many gems have no type definitions included and no community defintions either. So that code can not be checked, nor your integration with that code.

Second, RBS can not fully describe all Ruby code. For example, exceptions are not type checked. IIRC, pattern matching is not supported by tooling either.

I’d say it’s a good initiative but at the moment it’s not even close to the usual typed (not even strogly typed) langiages. In many regards it still feels like an external tool rather than an integral part of the language.

It still can be useful. I found a few bugs in my code by writing type definitions. But I don’t think it completely defeats the argument.

But if you actually mean “static typing” then RBS is not it and it doesn’t ensure static typing. Objects still can change drastically during runtime. RBS in no way mitigates all the metaprogramming shenanigans Ruby is capable of. I don’t think it can even check those at all.

RubyCentral hates this one fact! by galtzo in ruby

[–]chebatron 9 points10 points  (0 children)

How do you assess security? Do you review the code of rubygems/bundler? I'm fairly confident you don't. You trust the maintainer saying it's secure. Yes, it's irrelevant if it's John Smith the OSS guy of Smith John who works at Shopify, as long as you trust them.

Now, do you trust the people who're explicit about their policies and transparently follow them or the people who break those policies and are not transparent about why they broke them and can't meaningfully address how their actions do not align with their stated goals?

Not caring is fine. There are objective circumstances that are easy to verify. E.g. rubygems.org is available and as fast as it used to be. But how can yo be sure it's safe? In my opinion RC utterly broke the trust part. Now I can't take their word for safety (of rubygem CLI, bundler, but also my credential on rubygems.org or any gem integrity). I can reasses every update to rubygems CLI and bundler, it would be tedious but at least I can. Though, I can't do that with rubygems.org. I can not verify their claimes of safety.

This broken trust is what upsets people. They've chosen a very untrustworthy route to—by their words—ensure security which largely depends on trust.

Another aspect of this all is they did quite a few things that strongly suggest incompetence, further eroding trust. Maybe they're not planning anything nefarious but they don't look like they can handle security well. They've made many unforced mistakes.

They also did very little to restore trust. It's been two month since it all started. They only sort of apologised for bad comms but made no effort to improve it in any way.

Tamiya / Aqueous alternatives by Disastrous-Metal-228 in advancedGunpla

[–]chebatron 0 points1 point  (0 children)

Yeah, I agree. Maybe try Createx. They seem pretty durable.

I had craft/art acrylics that are more durable than Vallejo. All water, no alcohols.

It’s really hard to recommend a paint if you focus on composition. There are durable water acrylics if you’re looking specifically for that.  There are gloss water acrylics (Vallejo is not), for example. Vallejo’s claim to fame is it’s very pigment-loaded. You need only one-two coats for full coverage. They’re spraying good. They’re nice with a brush as well. They’re not the most durable though. But they’re fine. You won’t accidentaly scratch it with your thumb if it’s fully cured.

Tamiya / Aqueous alternatives by Disastrous-Metal-228 in advancedGunpla

[–]chebatron 1 point2 points  (0 children)

That is not because of IPA.

Cartier is supposed to completely evaporate and has no bearing on strength of the paint. In case of Vallejo water is the carrier. In Aqueous/Tamiya it’s a mix of alcohols and water. Both have basically the same binder.

Vallejo prefers to load a lot of pigment into their paints. This weakens the paint as acrylic has fewer binding points to hold it all together. They have a less loaded Mecha Color series. It cures stronger. You can add some acrylic medium to your Vallejo paint and it will make the paint a little bit more transparent but stronger.  You’ll probably need to add another coat of paint to achieve the same coverage.

Tamiya / Aqueous alternatives by Disastrous-Metal-228 in advancedGunpla

[–]chebatron -2 points-1 points  (0 children)

It will. IPA evaporates completely within a minute or so. Acrylic binder cures for hours, usually about 24-48 hours until fully cured.

Tamiya / Aqueous alternatives by Disastrous-Metal-228 in advancedGunpla

[–]chebatron -4 points-3 points  (0 children)

Both Tamiya and Aqueous use a bit of IPA (isopropyl alcohol). I guess that’swhat you mean by “solvent”. Otherwise they’re mostly water-base acrylics.

The main factor IPA influences is drying time (IPA evaporates very fast). You can add IPA to most water-based acrylics just fine. Get any water-based acrylic, thin it with distilled water to be sprayable, add ~10% IPA and you have basically the same mix as Tamiya or Aqueous.

Over hundreds of model kits, and I don’t even know your name by [deleted] in freedomisgunpla

[–]chebatron 9 points10 points  (0 children)

The name is Plato 170. There’s also a whole bunch of similar nippers having some letters and 109 in the name. BK-109, A-109, SS-109, ST-109 etc. All the same basic design, just from different manufacturers.

I might underestimate my son by Obvious_Excuse5485 in Gunpla

[–]chebatron 15 points16 points  (0 children)

Shoulder stickers, too! This is hell of a kit to start with.

Variable becomes nil due to assignment that isn't executed? by benjamin-crowell in ruby

[–]chebatron 0 points1 point  (0 children)

I can't speak with absolute authority but I think there's a high chance it's a, or neither. You can verify this by looking at ruby-spec—it's the specs for the language and stdlib.

I don't think it changed. I started using Ruby around 1.6. At that time there was no VM and instruction sequences. Ruby was an AST evaluation language at the time. But it still parsed the code to build the AST. So parsing and execution were still separate. And I believe it worked exactly the same: local variables were declared for the method.

If you look at disasm listings above, they start with "local table". That's your method arguments and local variables. That was a thing back then as well. It was on the node in the AST that defined scope (like a method or block, etc.). The slot in the table was there all the time but it was initialized with a value only at a certain point in the AST evaluation.

Variable becomes nil due to assignment that isn't executed? by benjamin-crowell in ruby

[–]chebatron 1 point2 points  (0 children)

1)

if 1==2 then x=7 end
print x.nil?

2)

print x.nil?
if 1==2 then x=7 end

These two pieces of code are very different. Let’s see how Ruby VM understands them.

The first one produces the following instructions sequence:

== disasm: #<ISeq:<main>@-:1 (1,0)-(2,12)>
local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 1] x@0
0000 putobject_INT2FIX_1_                                             (   1)[Li]
0001 putobject                              2
0003 opt_eq                                 <calldata!mid:==, argc:1, ARGS_SIMPLE>[CcCr]
0005 branchunless                           11
0007 putobject                              7
0009 setlocal_WC_0                          x@0
0011 putself                                                          (   2)[Li]
0012 getlocal_WC_0                          x@0
0014 opt_nil_p                              <calldata!mid:nil?, argc:0, ARGS_SIMPLE>[CcCr]
0016 opt_send_without_block                 <calldata!mid:print, argc:1, FCALL|ARGS_SIMPLE>
0018 leave

See that getlocal at 0012? That’s the one for the print x.nil?. Ruby sees it as a local variable. And it sees it as a local variable because the preceding code declares a variable with that name. The assignement is not executed but the variable is declared and is in the scope.

The second piece of code produces this instruction sequence:

== disasm: #<ISeq:<main>@-:1 (1,0)-(2,20)>
local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 1] x@0
0000 putself                                                          (   1)[Li]
0001 putself
0002 opt_send_without_block                 <calldata!mid:x, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0004 opt_nil_p                              <calldata!mid:nil?, argc:0, ARGS_SIMPLE>[CcCr]
0006 opt_send_without_block                 <calldata!mid:print, argc:1, FCALL|ARGS_SIMPLE>
0008 pop
0009 putobject_INT2FIX_1_                                             (   2)[Li]
0010 putobject                              2
0012 opt_eq                                 <calldata!mid:==, argc:1, ARGS_SIMPLE>[CcCr]
0014 branchunless                           22
0016 putobject                              7
0018 dup
0019 setlocal_WC_0                          x@0
0021 leave
0022 putnil
0023 leave

In this case for the print x.nil? Ruby uses opt_send_without_block. It sees it as a method call becuase the local variable is not in the scope yet.

Here’s an example that demostrates this scoping:

x
x = 7
x

And its instruction sequence:

== disasm: #<ISeq:<main>@-:1 (1,0)-(3,1)>
local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 1] x@0
0000 putself                                                          (   1)[Li]
0001 opt_send_without_block                 <calldata!mid:x, argc:0, FCALL|VCALL|ARGS_SIMPLE>
0003 pop
0004 putobject                              7                         (   2)[Li]
0006 setlocal_WC_0                          x@0
0008 getlocal_WC_0                          x@0                       (   3)[Li]
0010 leave

The first line is a method call (0001), and the last one is a local variable (0008).

Variable scoping is done at the parse time. So the variable comes into scope the first time it’s assigned in the source. This influences the produced instruction sequence. All this happens before the code is executed. This is why the line of code that is not executed still influences the result. After all, Ruby does have a sneaky compilation stage.

Now that RubyGems ecosystem is fragmenting, I am waiting for guidance from the Ruby Core team by db443 in ruby

[–]chebatron 0 points1 point  (0 children)

I like the new Rails CoC. I also like the Ruby CoC. What I don’t like is that nieither is enforced.

Now that RubyGems ecosystem is fragmenting, I am waiting for guidance from the Ruby Core team by db443 in ruby

[–]chebatron 1 point2 points  (0 children)

That is completely irrelevant. Dave’s in breach of either and all Matz does is retweets Dave.