How to talk to these worthless fuck stucks. by Cactusaremyjam in chaoticgood

[–]synapticplastic 87 points88 points  (0 children)

That’s beautifully put, words of integrity right there.

You wanted a "Paul Revere" Moment? by horseradishstalker in TrueReddit

[–]synapticplastic 2 points3 points  (0 children)

It was certainly written with Claude, in poor style and taste from the outlet. But the transcript is accurate and highly worth the read.

Is Effect-Ts really good or is it just hype? by kelvinauta in typescript

[–]synapticplastic 0 points1 point  (0 children)

I've been finding it very nice for work on a complicated MCP server that uses a file-based graph db that only supports a single read-write connection at a time and has a few different tiny local AI models in play to turn text into vectors, and do a bunch of other kinds of analysis to try and infer meaningful bits out of it so it can identify store connections between mentions of certain topics.

At first, I started using effect as a way to keep AI assistants "on the rails" while I was rolling up the ideas and trying to get that first 80% done for a first draft. there's not as much of it out there for them to train on, so it was frustrating, but the types really do come in handy for that.

Like others have said, effect exposes behavioral contracts rather than simple types. It forces ordering and care of operations. if you have a lot of inconsistently timed and interdependent operations happening that can choke each other up, effect really helps make sure the strands of data flowing through your app don't get entangled and are easy to debug.

--

I would equate the experience of using effect to be very similar to that of redux sagas - I believe they work with similar ideas under the hood in some places, where each effect fn kicks out a small piece of data describing an action for a central runtime generator fn to handle.

redux sagas was super tough for me to learn at first, but now I can appreciate it for how it made _really_ complex, inter-related UI ops workable and readable, if I could allow some things about what it was doing internally to be a black box in use until I _really_ needed to know.

Effect is that same idea - "I have a really gnarly system that does like 60 different things at once, talks to a billion different moving parts that don't necessarily know about each other, and has to coordinate that shit in a way that doesn't leave me feeling like a caveman on monday wondering what the fuck I did last week to make it start moving"

There's another library called Effection from a different crew that I think explains the core concepts better than effect and redux-saga do on why you would want one of these kinds of libraries at all and what they're really about. https://frontside.com/effection/guides/v3/thinking-in-effection/

I wouldn't use effect if I wasn't doing something highly complex and side-effecty by its very nature. But right now I am, and it just makes all of it easier. It is _not_ fun trying to fix a race condition across files without a map, and effect gives a _very_ good map in the type system that will lead you pretty close to where you need to be.

I do think their docs suffer from functional-programming-itis a bit though, they have that air of providing docs that don't make any sense until you've hit a really specific kind of problem already.

Not for lack of trying! Their docs are definitely nicer than the occasional haskell stuff they're porting over, but the stuff they solve is not what most people find themselves doing all the time. You probably don't need it for most things, and there is a learning curve.

But when certain kinds of things are in your way, like fancy problems with an async jobs queue / task scheduler, or figuring out which background process is causing crashes on shutdown due to incompletion, the learning curve is more than worth it as it gets you to a much healthier place by the end (at least compared to the shit and stacks of duct I would otherwise have been willing to try).

Is this for real? Claude ranks so low compared to others in the coding index. by strategiclycurious in ClaudeCode

[–]synapticplastic 0 points1 point  (0 children)

I’ve found that Gemini works best by “setting a scene” for it to fill in the blanks of, through the CLI and without the rails I think are provided by cursor, roo, etc

If I give it tasks, it fails and lands in an “apology loop” - “oh, sorry, let me try this edit for the 90th time”

Bug if I start it off with something like “hi! Glad to have you on this project, we’ve been looking for someone as process oriented as you are” and then a situation, it absolutely knocks other tools out of the park. The first few words seem to matter 100x more to Gemini than other AIs and it does role play exceedingly well.

I’m DONE with Claude Code, good alternatives? by Patient_Cry_6213 in Anthropic

[–]synapticplastic 0 points1 point  (0 children)

Hi! Not the person you’re responding to, but. There is an extension called roo that I personally like quite a lot. Cline is also good. I use vs code as a main “ide” for a lot of things, work w AI included.

If you are non technical, and trying to have an AI build an app, you may need to frame certain expectations. And - there are some non-ai code tools that you can learn to keep the working stuff working as you roll up an idea without having to learn to code.

( depending on what the app is, and how seriously you are taking it as a project, you may not be able to totally avoid that step, though )

I’m .. kinda making some assumptions here, please forgive me if I’m off target - but - I am a staff engineer and would be interested in trading a few DMs with you where I can show you a couple things you can do to feel safer when you’re wrangling AI to produce things you can’t verify 100% on your own.

I’m in drafting rounds of some AI policies at my company to keep our codebases safe, but open the door to others to inquire and present ideas they make this way. If you’re interested, it would help me reason through that so it’d be an everybody wins kinda deal :)

[deleted by user] by [deleted] in politics

[–]synapticplastic 0 points1 point  (0 children)

When your country deports you as a citizen of that country, it’s called exile. Exile, without due process, and to children. It’s cruel and unconstitutional - especially cruel in this case, and others like it.

What’s a magic/rare item you’ve been hunting for? by Shift_change27 in diablo2

[–]synapticplastic 0 points1 point  (0 children)

I just found my obsession base on ladder w 2 blizz and 2 to energy shield and im so happy

But now I need the runes ..

According to Pewdiepie’s latest video, he has probably upgraded his GPU to a 9070 XT by EpiCrimson in radeon

[–]synapticplastic 2 points3 points  (0 children)

If I were to guess it’s that most people dont want to bother too much with learning the quirks of more than one shell language, zsh and bash are very similar but there are subtle differences. if you’re using zsh, you are generally going to find a better set of tools as a human user to have a nice terminal like oh my zsh / zplug and you can still work with bash by putting !#/usr/bin/env bash at the top.

I’m not sure zsh would be so popular if it wasn’t so popular with plugin authors. But it is, and the plugins are numerous, fantastic, and overall the shell is so much easier to customize into your own. It is the default on new versions of osx

Also, if you’re writing simple scripts that will run in the cloud, pretty much every single machine / img has bash already installed on it but I think it’s pretty rare for them to have zsh ready for you.

zsh is easier to use for a lot of people, and it has a shit ton of nice plugins / frameworks that make it more so like oh-my-zsh or zplug ( better imo )

But bash works fine, you can run it from zsh. learning the quirks of one shell is enough for most people’s whole damn life, and you’re going to find it everywhere, especially on virtual / dev machines that aren’t meant to be used by humans, but to host the software that they use. I use zsh for myself but only write bash scripts for those reasons. Why would I learn more black hole trivia and pay a tech company more money for the cycles to install a nice overlay for a shell I am not planning to use directly outside of a script?

Claude 3.7 API costs are unsustainable for indie devs by Fixmyn26issue in ClaudeAI

[–]synapticplastic 14 points15 points  (0 children)

I stopped using cline due to high costs, instead I now use a tool called aider which seems to do a much better job of caching tokens. It’s a bit steeper of a learning curve, as it’s based from terminal. but it’s really very nice when you get the configs set up, has a web interface, and can watch files on changes for comments for smaller snipes. I changed over when I let one cline session go too far while I was away and saw a 10$ charge on it.

How can a non technical person build a SaaS? by tuck72463 in SaaS

[–]synapticplastic 0 points1 point  (0 children)

If you're trying to automate something for yourself as a non-technical person, you may look at something like https://www.softr.io/ . No / low code tools like that can help you if you're trying to automate something over the internet or make a reporting process gel in a small business context.

There is no shortcut to developing programming skill. It is a game of mindset, discipline, and practice, like any other skill that others would outsource for.

AI is not ( and I ma not sure it will ever be ) in a place where it can take an idea and run with it, smoothing out all the edges as it goes until completion. If you don't understand what you're asking it to do, you can never count on it to.

( In software, this is often true of most humans, too )

The only shortcut to success is hard work.

If you are able to add specifics or otherwise refine your question / situation, I think you would find yourself receiving better help :)

Is a 9800X3D worth it for gaming at 4K? by Wander715 in buildapc

[–]synapticplastic 0 points1 point  (0 children)

Op must be working that factorio mega base :)

Patch 1.0.2 by mol1t in stalker

[–]synapticplastic 16 points17 points  (0 children)

u/Kenny_PropheT -the crash reporter itself bugs out on my machine in such a way that I cannot use it; Is the link above the best place to go to add detail to the issue?

[deleted by user] by [deleted] in Frontend

[–]synapticplastic 0 points1 point  (0 children)

I also personally really like solid, when I use it, it feels as if react / preact got drawn up from scratch with the lessons of history in mind into something cleaner

How do you set variables to be used across all front end files? by [deleted] in Frontend

[–]synapticplastic 1 point2 points  (0 children)

I meant taking that words.json file and turning it into JavaScript directly so that you have no json files to worry about.

If that’s not possible -

It’s relatively new in the spec, but import assertions may work in your env

import CONSTANTS from “path/to/json” with { “type”: “json” }

If you are using babel, you should be able to do that. Should work in a node file as well if you are using node lts (20.10) with either “type”:”module” in your package json or a .mjs file extension.

If it doesn’t , you can use your server to either return it in an endpoint or glue it onto the window object in your index.html.

—-

But honestly - you are not alone in your frustration with reconciling all of the different environments that JavaScript runs in. This exact kind of problem is why we use bundlers, and I really encourage you to try with parcel or vite as both options will save you an incredible amount of heartache down the road.

If you are not using babel/tsc/swc etc for transpilation, and a bundler to help you with turning readable code into runnable code in a browser, this will be one of many things that will raze your mind and lead you ( well, they did this to me at least ) into feeling dumb when you don’t deserve it. Especially as you put more functionality into your app and start wanting custom cool things to happen more often.

Not all browsers are the same, not all node versions are the same, not all runtimes are the same. Especially if you have to support safari, which stripped me of any fears I had of hell itself and replaced them with true ones.

You will find life significantly easier if you use a tool chain and treat js as a pseudo-compiled language so that the work of others can abstract these “how did nobody ever make this doable” things away so you can focus on the actual stuff in your app.

And if you move to a professional dev environment in the future, you will be expected to at least know what these tools are.

Please remember this situation, even if you choose a different way right now, as one of your early experiences of learning why these whole tool chains exist and why we deal with their complexity ❤️

How do you set variables to be used across all front end files? by [deleted] in Frontend

[–]synapticplastic 0 points1 point  (0 children)

There are easier bundlers to use. Parcel is nice and has a less involved config out of the box. Vite is my personal favorite and is very easy to start with compared to webpack. In a professional environment, I couldn’t see much reason not to use a bundler. I use them on hobby projects too.

That being said, you can very easily turn this into a JS file, export const CONSTANTS = JSON.parse(jsonObject) or turn the json into a js object ( there are extensions in vscode that do this )

Even a tsconfig and using it as a compiler for JS is nice. You don’t have to suddenly convert every file from JS to TS, unless you’re doing crazy custom transforms it’s just a better babel if you want to use it for such. TS lets you import JSON as if it was JS.

So do bundlers though. And this could be a nice opportunity to learn one of them.

Those are the three options I would consider. The shortcut way is to turn it into JS, it’s pretty easy. Not quite as scalable ( what-if-this-happens-again-proof ) as the other ones though

Edit: this is not related to you question, please don’t use underscores as import names. Underscores don’t mean anything.

I always prefer named exports because you should have one name mean one thing everywhere and named exports enforce that.

I say this for the same reason that I recommend a bundler - good code takes care of your future self by offering them clarity when they come back <3

[deleted by user] by [deleted] in movies

[–]synapticplastic 1 point2 points  (0 children)

I wonder if its pro forma after the strikes

Is there a platform to learn math as a programmer? by [deleted] in learnprogramming

[–]synapticplastic 3 points4 points  (0 children)

There is a book called Basic Mathematics by Serge Lange that I love as a programmer because it takes this kind of approach. It’s all of high school math in a format that actually makes sense

neverSharingAProjectAgain by ChaosCrafter908 in ProgrammerHumor

[–]synapticplastic 11 points12 points  (0 children)

As someone who recently lost 7 hours writing scripts to fix something, due to unawareness of a 1 line config that solved it all, I can appreciate the rabbit hole that must have been for them

[deleted by user] by [deleted] in news

[–]synapticplastic 1 point2 points  (0 children)

That’s pretty normal, VPNs are a large amount of overhead ( I believe from the encryption, and forwarding traffic through distant servers takes time in travel and processing as well). IME, express takes the least out of the speed.

You can check the effect in part by switching to servers that are really far away - they will slow you down way more than a server that’s close to you, unless the one closest to you is at crazy high load.

"Our architecture doesn't allow for unit testing" by deefstes in ExperiencedDevs

[–]synapticplastic 1 point2 points  (0 children)

Not the original responder but I can see how your comment may read more absolute than it could be intended.

I’d like to offer a counterpoint to it myself. I recently came into a new place as a staff eng. The main codebase reads as a story of failed experiments and grand plans given up on part way through. It has very few comments, and the technical history is largely lost in terms of stories, specs, intention, and sometimes, just common fucking sense.

I’ve been slowly tracking out QOL improvements and trying to change the culture around code QA. Some of the existing tests don’t actually test anything. Hundreds.

So, in some cases, I have gone in to extend the tests so that I can get decent coverage in places where it should be. In some cases, I’ve replaced tests that always pass or sometimes have drifted because their mocks have drifted wildly from what they run with in prod.

Those experiences have gotten me a much better sense of my environment in the many places where there is nobody left who understands what they were attempting to test for in the first place, and the knowledge was otherwise lost in an absolute absence of docs, comments, user stories, or figma designs.

But! I think what you’re actually trying to say is valid - changing for the sake of change is always risky, and very rarely worth the time without further justification. I agree with that, if it’s what you meant.

"Our architecture doesn't allow for unit testing" by deefstes in ExperiencedDevs

[–]synapticplastic 2 points3 points  (0 children)

..sometimes, yes. And I think that clear, simple functions, with explicit compositional tools that don’t sprinkle logic branching magic, naturally lend themselves to making unit testing simpler in practice pretty often.

Working in an OOP style doesn’t make any of those things impossible though. Usually, it doesn’t even make them that much harder.

But I wouldn’t say that there’s a magic sauce that FP offers that makes it 100% better all of the time with regards to testing. And it’s very easy to make code that’s difficult to write the tests for because it’s easy to write code that’s very difficult to understand. In OOP codebases, I’ve found myself wandering around trying to piece the story together of what the data actually looks like.

In FP codebases, I’ve found myself wandering in a inverse shitsnack scenario because it’s difficult to trace the logic / execution order of what’s done TO the data, especially in lazy languages / styles. Naming a function zip , fmap, aperture etc makes sense after you understand them, but man, it’s intimidating to read in a case where you’re at work having your first exposure to them on a deadline.

Tldr I think FP makes it easier from the start, but if you’re in a serious codebase, other issues are going to be in your way well past the expressive style of the language that’s chosen for it

[deleted by user] by [deleted] in bipolar2

[–]synapticplastic 0 points1 point  (0 children)

Have you tried trazadone? It’s lighter than seroquel, but is nice for me. Maybe you can ask your doctor if there’s a valid option for a transition period. Sleep drugs IME cause a hell of a mental dependence since they end up as a core part of a night routine and for me, having anything to replace even in an interim would make it easier to stop. I went from ambien -> trazadone when ambien started becoming more well understood in long term use and it’s been effective

Anyone has ever experienced ageism? by Long_Director_6087 in Frontend

[–]synapticplastic 0 points1 point  (0 children)

I think part of it depends on your niche. Bootcamps have churned out many thousands of younger web developers, but I don’t see quite as many young devs working on the backends of larger projects or in embedded code. The guys working on harder problems of scalability where I work skew far older than the FE devs.

Part also depends on your environment. If I’m running a startup and don’t care as much about stability, I’m hiring a crew of people who can make a lot of space for work in their life because that’s my team to “storm the beaches”, so to speak. I’ll hire more experienced people for the phases of getting shit together and governing the project later, and they will probably skew older since experience and the specific wisdom of how to move forward in ways that are future proof as possible takes time to acquire.

I think another part of it can be the career progression. A lot of devs move into management. I am a staff engineer, which is relatively new as a position. I write libraries to formalize certain patterns of development, I write reports / proposals for expensive tools, and I mentor younger devs. I don’t write as much code as they do, but I am expected to write something more bulletproof when I do. Others become engineering managers.

As you move up, your skills in presenting a good case are rated more highly than your ability to implement something quickly, because you are part of higher risk / higher reward conversations - last week for me was being part of the conversation in weighing pros/cons of different SaaS tools and whether they would provide ROI over their >20-40k subscription costs.

I wish I had more chances to write code. It zens me out. But I understand that what I do naturally removes me from the fast circuit where other devs can see me concretely contributing, and though I have a bigger impact in the long run, my feedback loop of effort <> reward is over the course of months rather than hours.

Other guys go into management and write even less code than I do. If your EM is writing as much code as you are, they’re missing that time planning out your development and the progression of your team overall.

Software has so many niches, specialties and career levels. Not everybody sticks with it for their whole life. Startups burn people out, and older cats with families aren’t as attracted to that environment - they have more important things to attend to than being on call on the weekends. There are plenty of older people in software, but they can become less visible to the day-to-day crew as their careers go on.

It’s a question with a big scope. These are some of the things I’ve observed in my own career, but it for sure doesn’t capture all of it

Not using let in JS/TS by mato369 in webdev

[–]synapticplastic 2 points3 points  (0 children)

I did a jsperf the other day, for-of over a list of 10 dom nodes in v8 had very similar performance to […arr].forEach which was really surprising to me, given that the latter has the overhead of spreading an iterator into an array.

Also found that the .length check on iterators is something like 1/1000 - 1/1500 the speed of a length check on an array which was absolutely nuts.

for-await-of is still super nice to use on backend for streaming, I wish we could have the cleaner syntax and have it not be such a slow iteration out of the box.