u/Blinity

420 post karma · 2,328 comment karma · joined Apr 2011

Blinity

I'm sorry to hear that happened. That type of thing has happened to me in left leaning communities sometimes too. I think people are tired of getting involved in "gotcha" conversations online and have stopped engaging in anything that looks like it could go in that direction. Either way, the internet is just a shithole.

If you're still interested in the abortion question: the key belief is that human "life" has to begin somewhere and defining it as starting at X weeks of a pregnancy is arbitrary. Thus, the only two "valid" options are life begins at conception, or life begins at birth. Conservatives choose conception and therefore aborting a fetus is identical to murdering a baby.

Abortion is one of Ben Shapiro's big issues. This video might be interesting. It's probably full of the "gotcha" moments I mentioned.

Steven Crowder also has a few bits on it. Here's one. This is definitely full of "gotcha" moments. I don't actually think Steven is open to having his mind changed in these segments.

Blinity

Isn't Jimmy Dore on The Young Turks? I find it hard to believe anyone on that show would even consider Trump. I thought it was a prerequisite to have a religious hatred for Trump.

Blinity

put a curfew on the people that have been staying there for multiple days the night before

I heard this at one point too - but Trump tweeted that this wasn't the case, at least not the night before. https://twitter.com/realDonaldTrump/status/1274056758319874052

Blinity

The big button that says "Donate" is 404'ing for me now. I hope everything's okay on their end...

Blinity

Wow. I totally missed this.

I can totally understand why the driver wouldn't stop then. It makes perfect sense to me to treat amber lights the same way I treat a yellow traffic light and the red stop sign the same as a red traffic light.

But this driver didn't give an opportunity to stop between extending the stop sign and sending the kid out. Traffic lights around me have a couple seconds where all directions of traffic show red lights before changing some to green.

Blinity

I work with a guy that unironically uses the term "failure mode" in normal conversation. From context clues I've determined that it means: ways that a process can function within the rules of said process but still cause undesirable outcomes or even critical failures.

The term is usually used when discussing problems and their potential solutions.

Example: John has to be in the office to approve payroll on the 15th and 30th of each month for employees to be paid. Only John knows the password to the payroll software.

Failure Mode: John gets sick on the 29th and cannot come into the office.

Outcome: Payroll wasn't approved and employees don't get paid on the 30th and are justifiably upset, potentially intending to sue the company.

Blinity

I agree with the sentament, but I've found this hard to put into practice. A few weeks ago my automated npm audit failed, citing issues with webpack-dev-server. When I updated from 3.1.3 -> 3.1.6 my lock file changed majorly. Like 100 new version dependencies and even a bunch of entirely new dependencies.

I'm going to have a very hard time convincing my product manager to let me drop everything to review 100 dependencies in the middle of an ongoing project. So from a practical standpoint, I really need to trust that my immediate, non-obsecure, wildly-popular dependencies are going to be reasonably secure.

I recognize that this is Not Great™, but if the alternative is reinventing the wheel because I can't use 3rd party code (therefore not working on components that are making my business more competitive), or using code that is known to be compromised... this isn't much of a choice.

Blinity

I just subscribed on Sunday after a multi-year hiatus. Does that count?

Blinity

I would totally assume that this was some knock off runescape private server if I didn't know better. IMO they should figure out a way to get the Jagex logo in there somewhere. I don't know why, but that would make me trust it more.

Blinity

Isn't the benefit of splashing that you stay logged in due to combat? If this "new splashing" doesn't prevent you from logging out, I don't see it can replace splashing?

Blinity

In my area (the US), "third party" refers to anyone that isn't on either end of the transaction. In the case of recruiting, one party is the hiring company and the other party is the candidate. Anyone else is a "3rd party".

I've never heard anyone use it the way you're describing.

Blinity

Check your local library for online resources. Mine offers a free Lynda.com subscription - yours might offer that too, or something similar.

Blinity

Is the barrier to entry much harder trying to get into backend using Java/C++/Python without a CS degree/work experience?

Yes, but not because front-end is inherently easier.

I'll give you a concrete example:

When you write backend code that runs on a web server, it doesn't matter who is actually using the page. The backend code runs entirely abstracted from the user, so you don't have to worry about fragmentation. There are some challenges - dealing with backwards compatibility of apis, dealing with sharded databases, and stuff like that - but those are easy to test with an automated test framework.

In comparison, your front-end code is extremely sensitive to what software your user is using. If your service starts getting more and more popular, you can expect a more diverse set of people will want to start using your stuff . There are all sorts of possible solutions: progressive enhancement, responsive design, accessibility, internationalization, using minification, and so on. Knowing how to properly measure all of the parts of the system to determine important demographics and special needs, and then figure out what solution to deploy, can be quite tricky.

Businesses need front-end talent. And front-end skills include many specialist skills that must be intentionally trained, but aren't included in most college computer science degrees. People that have spent even a year getting a deep understanding of CSS, JavaScript and HTML are more competitive than students graduating from computer science classes that often trivialize the complexities of these tools. These computer science grads will often suffer from the Dunning-Kruger effect assuming solid competency after picking up "skills" on the fly from StackOverflow and getting their website to work in desktop Chrome, for able bodied English speakers in the first world country. The lack of special training in front-end technologies from colleges means businesses must look at non-classically trained candidates.

Blinity

I don't understand how this is so clearly a scam...

Is it not possible that the "assignment" actually is a one to two hour problem and you're given a window of a week to complete it? I'd argue the an employer not giving me a weekend to perform an assignment isn't being reasonable. The window of a week guarantees that I'll have a weekend.

Blinity

What's the difference between a "Software Developer" and "Software Engineer"?

Blinity

This advice is awful. Disregard it completely.

Others have talked about passing a referal HTTP header to the target website. While true in most situations, this is entirely reasonable and I've never met a serious privacy advocate that would legitimately complain about this. Anyone seriously concerned about this has much bigger fish to fry in terms of privacy violations on the Internet.

The security angle has absolutely no teeth whatsoever. At best, whomever gave you this advice is arguing security through obscurity - that an attacker will see the URL in the href attribute and manually change the query string to something that executes an attack. As an example, if you had a URL that deleted users from the site called: deleteUsers.php?user=badUser, the attacker could change the variable to say: deleteUsers.php?user=TechNoob1997 and use that URL to delete your account. However, if your application security relies on people not being able to view the URLs, you've failed entirely. Because URLs are visible inside the Chrome network tab regardless of how they're loaded.

Blinity

This is total nonsense. As a native English speaker I can't parse what that person is trying to say.

I don't understand what this has to do with <a>. Of course, if you output user provided input without escaping it you will have a problem - but this applies to anywhere this happens in your code.

Blinity

I work with PHP and JS on a large scale, custom application. I'd put it closer to the software camp personally - but some might put that more towards web. It's square web software.

Blinity

As a pro, I could see myself offering code reviews to small to medium sized applications for free if there was some structure around it. And I'd need to know that the receiver of said code reviews was legitimately interested in learning the material. If the code I was reviewing was open source, I'd think of it just as an open source contribution.

Frankly, getting paid for this would make me less likely to do one. For some strange emotional reason I like the "purity" of me helping someone out rather than thinking of it as a job.

Blinity

Generally when I code review I like to actually test the code I'm working with and step through it witha debugger. I would probably not succeed when given 5 minutes to examine each code snippet under a presure situtation such as an interview. If you assigned it as homework, that might make things easier - but be mindful about assigning too much.

I only looked at the first and last one. For reference, my background is like 3ish years in PHP and JavaScript - I've never worked with C#. I don't know what LINQ is.

1:

A: Production SQL credientials are stored directly in the code. Anyone with git access right now, or in the future has access to the production database.

B: InvoiceTypes are magic numbers and determined by the invoices id. Does this mean that only invoices 50 - 59, 500 - 599, etc are of type 2? That doesn't really make sense. It's unclear what 2 and 3 are. I'd expect those to be a named constant for clarity.

6:

A. So that's just like... serving any file on the file system based on the user's query? What happens if the user requests some sensetive data?

In general, you should keep in mind that reading code is much hard than writing it. And the person reading it might need more than 5 minutes under pressure.

Blinity

Design patterns are interesting and important - but I'd deprioritize them below learning the fundamentals of a language you're working with.

Design patterns are often seen as subject matter of experts and knowing a list of design matters therefore makes you an expert. Don't fall into that trap. Design patters are only named attempts at solving recurring problems in programming. It doesn't even have to be good to be called a design pattern! If you don't have any experience with programming, you won't have repository of problems to think back on and I worry you'll totally miss the point of a design pattern resulting in misapplying it.

I'd stick to doing whatever you need to do to get stuff done and revisit design patterns when you have some experience under your belt. And when you do, think critically about what you're reading.

Blinity

Chicago suburbs. For context, my background at the time was in graphic communications - which is fancy speak for operating a printer. So nothing remotely related to programming.

Blinity

The average salary rate for your desired job title doesn't apply to you as an entry level employee. My first job as a software engineer was at 45K - and accepting that job was an excellent stepping stone for me.

Also, be bold. If you see an open position for a company, don't be afraid to look for employees currently working there and get an introduction by a mutual acquaintance.

Blinity

Ouf. Ouch.

That is, unambiguously, not understanding what a unit test is.

Blinity

Learning the command line is basically the only important thing.

Important topics include:

  • Basic navigation. Commands like :cd, mv, cat, less
  • What package managers are. Commands like: apt-get for Ubuntu, pac-man for Arch-Linux etc. Don't bother learning about all of them. Just pick the one for your distro and understand what it's attempting to do.
  • How $PATH works and why running $ python doesn't work when you literally just installed it.
  • Some text editor. I think vi (or, vim) is the most popular one. Also notable are emacs and nano.
  • How file permissions work. How to get access to anything via sudo. If you ever get a Permission Denied error, running with sudo is usually all you need to do.

I'd probably start with this pluralsight course: https://app.pluralsight.com/library/courses/meet-command-line/table-of-contents

I'd avoid spending time learning:

  • Bash scripting. I've rarely found a bash script helpful and could typically just use a PHP or Python script instead.
  • Any shell other than Bash. Other shells exist, but knowing about them is just random trivia. Bash is pretty much the only one that gets used nowadays.

The benefit of Linux over windows is in following along with online documentation. For instance, installing apache and PHP on a windows server can be a pain in the ass. If you look up insturctions for how to do it, you're get people telling you to $ sudo apt-get install httpd, which doesn't work on Windows because apt is an Ubuntu program.