New around here? Register your SA Forums Account here!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





MALE SHOEGAZE posted:

seriously considering giving school another go atm. obviously to pursue at least a masters but if i'm gonna do it i guess i should do a phd. i'd have to do most of undergrad though, which would be costly. and weird.

if you have 2+ years of experience a masters isn't going to open any doors for you. a phd might -- but mostly doors that should stay closed

Adbot
ADBOT LOVES YOU

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





MALE SHOEGAZE posted:

ok what’s the best blogging option in 2018? this is about shameless self promotion and not a burning passion to share my ideas with the world so im willing to pay i guess. ideally there’d be analytics i guess. not sure about comments: id guess that comments generate more traffic but it gives people an opportunity to point out how stupid i am right there in the blog, as opposed to offsite.

also people with blogs: do you think it’s helped your career much?

medium and no, it has not. i wrote some rebuttals to antirez promoting dumb and broken things you could use redis for and i got six months of people begging me to help them fix their redis problems

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





aws lambda is good for when you want to do something in response to an sqs message, an sns notification, a dynamodb stream event, a cloudwatch event or a kinesis message. it's garbage for responding to http requests tho. i assume 'knative' has similar characteristics

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Pie Colony posted:

those would be http requests though?

sure, i just meant api gateway -> lambda is terrible and you shouldn't use it

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





SpaceAceJase posted:

Yo, what's a good ETL/workflow engine for parsing CSV files, and doing stuff like error trapping at certain steps?

Js or PHP options please. I'm a terrible proframmer

dbt. it's python but it's a command line tool so you don't need to know python

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





redleader posted:

are there any libraries/frameworks/tools/etc for doing etl? surely it must be a solved problem by now.

i ask because at work we have a bunch (idk, 100+?) of integrations that just do endless variants of 'slurp data in, mangle data, fart data out'. of course, each one is usually its own bespoke little thing, handcrafted with varying degrees of quality, failure handling, logging, retrying logic, and just generally giving-a-poo poo. this is surprisingly a bit of a problem for our ops team, who spend a lot of time chasing these lovely imports and exports

dbt is great for stuff that fits in a single db. spark is good for everything else

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





cinci zoo sniper posted:

although reading more im not sure id consider dbt to be an etl tool, not in the context commonly used in modern discourse at least

it's the T and maybe the L part, depending on your needs. it's obviously not suitable for every ETL process but it's great when it is suitable

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





NihilCredo posted:

here's a real life scenario: products have VAT rates. those VAT rates can occasionally change over time, meaning both that a product can be moved to a different VAT rate, or that a VAT rate can be increased or decreased by a percentage point or two (let's keep it simple and say it's one VAT rate per product (it's not)).

is there a unit testing book that will teach me how to structure an invoicing system in such a way that I can test that it won't apply the wrong VAT rate when an invoice is created, edited, modified, or duplicated, even if the VAT rate for a product changes at some point?

"Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?"

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





aws is mostly expensive because people are terrible at capacity planning and also love to do absurb things like have every db insert routed through two layers of proxies, a kinesis shard, a dynamodb table, three lambdas and a couple sns topics

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





MALE SHOEGAZE posted:

tail call elimination is apparently an unsolved/potentially unsolvable problem w/r/t lifetimes/borrowing so fully embracing functional would probably be a bit weird.

but i agree. i want the language to succeed since i'm investing in it. member functions are probably the part of OOP people actually want, (even though they're orthogonal to OOP), and rust provides them without most of the bad stuff. it seems like a reasonable tradeoff to me.

tail call elimination is blocked by the llvm calling convention they picked, i thought?

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





kotlin is pretty mediocre. platform types are really frustrating and it's adt/pattern matching support is disappointingly primitive

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Finster Dexter posted:

I have a random dumb question...

What does it take to do consultancy? Like, if I wanted to offer consultant services as a "highly experienced" software developer and architect, do I need to know anything beyond cs basics and various software designs? I feel like I could easily go into a business and tell them how they're doing everything wrong, and come up with a plan for fixing things.

Anyone here do this kinda stuff or is it really awful somehow?

i did consulting for about a year while i was being a diva about getting a 9-5 and it was alright but not something i'd want to do long term. i got started by telling a company that interviewed me as a first engineering hire that their recruiter was doing them no favours if they were bringing them people with my background for the product they were trying to build. they picked me up as a consultant to help them recruit and vet their initial product and development teams. they recommended me to some acquaintances who were also trying to build out a tech team with little knowledge or experience so i did it again for them. then one of their investors hired me to overhaul a struggling portfolio companies technical team (evaluate the talent they had, recommend who to keep and who to get rid of, come up with an implementation plan for their product problems and help hire replacements). that led me to doing AWS consulting for a few companies that were struggling to make the transition from heroku/digital ocean to AWS

the money was okay but i consistently worked way more hours than i billed, argued a lot with my clients when they wouldn't listen to me and did a lot more implementation than i really should have

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





redleader posted:

out of curiosity, how'd you go about doing this? office space style interviews? sitting in on meetings? looking through commit history?

they brought me in to their office for three weeks where i pretty much just hung out, talked to employees, did little mini seminars on how to use tickets, kanban, code reviews, git, automated testing, continuous integration, writing apis, etc. it was pretty easy to spot the people who were in over their heads and the people who were deadweight

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





bob dobbs is dead posted:

1. do weekly invoicing
2. invoice for highest you can get away with minus one dollar

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





DONT THREAD ON ME posted:

all of the C++ code i've looked at so far would be bad code in other languages.

congrats, you've mastered c++

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Thread has like the worst instincts ever: phd? c++?? gamedev???

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





jit bull transpile posted:

names should be a natural key for a record related to a human that is mutable only by the human themselves.

I’m sorry we already have a John Smith using our app, you’ll have to change your name

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





for http api errors you should probably just support this, applied in order:

# 401 Not Authorized

do you require authentication? if there's no valid authentication credentials in the request return this

# 404 Not Found

does the resource (path) not exist or the authenticated client is not allowed to know about it? return this

# 405 Method Not Allowed

does the path exist but someone tried to DELETE it or whatever and you only support GET? do this. don't use this for methods you do support but don't allow the currently authenticated user to do, instead use...

# 403 Forbidden

can someone else do what you tried to do (like POST to an endpoint) but not the currently authenticated user? here you go

# 406 Not Acceptable

did someone ask for `application/xml` in the `Accept` header but gently caress xml? this code is good but you might just want to serve whatever default you offer (let's be honest, it's `application/json`) and ignore the `Accept` header and not use this response at all

# 415 Unsupported Media Type

i've never actually seen anything use this, but if someone sends you a request with `Content-Type: application/vnd.myawesomemimetype+json` and you don't know what to do with it you can return this

# 400 Bad Request

use this for any sort of client error. like invalid json or missing required fields or primary key conflicts or whatever. in theory, you could return `422 Unprocessable Entity` instead, but 400 is more common and they mean basically the same thing these days


for clients, you should treat any 4xx response as an error on your end and any 5xx response as a signal to try your request again. the status codes (if the server is using them correctly) are useful for figuring out exactly what went wrong but all of them basically mean you did something wrong and trying again won't work (unless it's a 429 Too Many Requests, which should really be a 5xx error) so go figure your poo poo out. the order of application above is probably the most useful to end users given the constraints of http status codes. this does mean you can't be like 'you're unauthorized, the resource doesn't exist, we don't support the `CHILL` http verb, you wouldn't be allowed to do that anyways, we don't serve that response type, we don't understand your request and even if we did it's wrong anyways` but if clients make multiple errors they got bigger problems anyways

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





people write SPAs in complicated frameworks because users want mobile app like features, complexity and performance in the browser. if you're writing your blog in react you're probably overengineering it but if you're trying to deliver something like gmail or asana or even something fairly simple like youtube you quickly reach a place where the complexity of managing a specific client's state becomes way more tractable with something like react than with something like rails + turbolinks

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





DELETE CASCADE posted:

you're probably not the only one, i mean technically if you're doing a strict "microservices architecture" then you get a database per service, right? my question in that case would be the same: how do you join across them? even if your "database" is really just a schema or set of tables in a centralized server or cluster, if your team's ids don't match any other team's because everything was developed in isolation, unless you have id mapping tables all over the place, how do you combine information from the backends of separate applications? do you just not ever need to do that?

in practice you just join the application layer and make sure you handle referential integrity problems at that level. like if someone wants to see all `tags` for a `post` or something you shouldn't just retrieve the tags via the post id, you should also check that the post id is still valid. you can't do this transactionally but it rarely matters with this kind of thing. if you do need transaction and strict referential integrity, just put the related things in the same db and use the same microservice to manage them

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





gonadic io posted:

"One of the cool features of the function programming style is that code can be safely rewritten using a set of rules." it's like the person heard of functional purity/referential transparency (that scala doesn't really offer without cats-effect) but completely misunderstood what it meant (and then declared themselves the expert of it)

this describes my experiences with scala perfectly

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Cold on a Cob posted:

i mean unless you're doing hobby projects in PL/SQL in which case

what the gently caress

i wrote a rest api in 100% postgres for funsies

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





kotlin sucks too. gently caress platform types

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





redux is great if you think of your store as an api you interact with via actions (writes) and selectors (reads). use redux-observable for async stuff and complicated flows and you can make your containers fully declarative. once you start trying to get out of that mode things get lovely though

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





jit bull transpile posted:

goats are so fuckin cute I love them

my brother got a goat as a gag wedding present from his groomsmen (he lived on a farm at the time, but as a tenant not a farmer). he and his wife kept it. it got along great with their dogs

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





DONT THREAD ON ME posted:

a ton of smart people have worked hard to make javascript usable in a browser. it’s much better than it used to be and it’s amazing what’s been accomplished.

but there are exactly 0 reasons to execute javascript outside your browser, there are so many better options. the only javascript you should execute outside your browser is your flavor of webpack, and even that should have been written in a good language.

typescript is the best language to write serverless stuff in, by a lot

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Sapozhnik posted:

boy i had a really lame and weird dream last night where the yospos programming threads had been taken over by unironic c++ likers, crazy poo poo huh

I miss the old days where monad lovers ruled the threads

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Private Speech posted:

is PHP still horribly poo poo

a lot of our (externally-developed) customer web stuff runs on it and it at least -looks- relatively competent

they use like two dozen frameworks and typescript and react and stuff

but then its php

nah it's actually okay for getting poo poo done now. you wouldn't want to write anything complicated in it but it's maybe the best thing out there for crud webapps

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





DONT THREAD ON ME posted:

also please someone tell me how to distribute a transaction

you got two options, RAMP and sagas. RAMP is safer but harder to implement and not always possible. Sagas are easy to implement but a pain in the rear end

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





DONT THREAD ON ME posted:

anyone have any recommendations for setting up my terminal to look good at 80 character width? good looking minimal PS1s, fonts, etc. i traditionally arrange my shell horizontally below my ide but i want to try working with a vertical layout instead.

https://github.com/LazoCoder/Pokemon-Terminal

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





the saddest thing about the lack of an organized labour movement in tech is that workers literally already control the means of production

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





hackbunny posted:

now I wonder what hand-written test cases are for. do they help at all?

do you ever just deliver code without running it? probably not, right? you probably run some kind of verification or perform some manual steps to check your code actually does what you think it does. hand written tests just automate this so you can do it everytime you change any of the code without a lot of effort on your part

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





hackbunny posted:

at this point I'm mostly trying not to admit to myself I wasted almost a week writing superfluous tests

if you're writing tests just to satisfy some requirement that the code have tests you're probably wasting time, yes

each test should be a thesis about your code. in case of A then B, C and D should result. ideally, you write as many of these thesis before you write any code so that your code can be written in a way that makes it easy to write these tests and in a way that your implementation can be informed by your requirements. only write as many tests as you have questions about your implementation

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





PokeJoe posted:

I've been learning kotlin lately and I like it

google ‘kotlin platform types’ before it’s too late

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





Soricidus posted:

ctps: today i asked someone whether their json parser could handle large files, and they assured me it was fine because they just read one line at a time

i, uh, don't think i want to see their json parser

it’s easy to write an incremental json parser. the twitter firehose at some point was just an endless array of json objects. your first request you’d get ‘[ { ... }, { ... },’ and then each subsequent request you’d just get some comma separated json objects

if you wanted to consume this you needed a sax style json parser. yajl and jackson are probably the best known examples but there’s others

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





redux is great. what are the issues people have with it? the connecting react to redux part is kinda clunky but the tooling and testing benefits make it worth it imo

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





eschaton posted:

at least one of the advantages of a good ORM is that it can enforce constraints at both the database and application level by letting them be specified in one place

this never works in practice because some rear end in a top hat writes a script to directly update or insert rows

your db constraints should be exactly as strict (or stricter) than your application constraints

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





HoboMan posted:

ok, again i have not had to design poo poo before.

how to restfully have an endpoint that returns a resource filtered by another resource?

https://yourdumbservice.com/the-first-resource?the-second-resource=1

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





MononcQc posted:

what's your favourite heavy-weight text editor

the gmail composer

Adbot
ADBOT LOVES YOU

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





haskell is the velvet underground of programming languages

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply