[Programming] Initial commit

InfidelInfidel HereticRegistered User regular
as5fyie9tly7.png
LICENSE wrote:
Creative Commons Legal Code

CC0 1.0 Universal

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

OrokosPA.png
«13456727

Posts

  • InfidelInfidel Heretic Registered User regular
    So how are y'all doing with the Silicon Valley Bank fun times? Ya good?

    OrokosPA.png
  • zerzhulzerzhul Registered User, Moderator mod
    I appreciate this thread title.

  • TelMarineTelMarine Registered User regular
    Infidel wrote: »
    So how are y'all doing with the Silicon Valley Bank fun times? Ya good?

    Supposedly within the 250k limit, but there has been zero communication so far.

    3ds: 4983-4935-4575
  • crabjuicecrabjuice Registered User regular
    TelMarine wrote: »
    Infidel wrote: »
    So how are y'all doing with the Silicon Valley Bank fun times? Ya good?

    Supposedly within the 250k limit, but there has been zero communication so far.

    Small but common misunderstanding here: 250k isn't a limit but the guaranteed minimum that the FDIC will recover for a depositor. The FDIC will do their best to recover all your money. From my understanding.

  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    Nobody I know has been impacted…or at least they haven’t said if they are. So hopefully my friend group isn’t exposed to that particular mess.

  • BahamutZEROBahamutZERO Registered User, Moderator mod
    edited March 2023
    Yeah it is likely that all deposits will be returned, that is what the FDIC always aims to do and generally succeeds, it just might take a bit because they're liquidating the bank's assets to cover the shortfall. The $250k number is just the floor guaranteed amount depositors will get back.

    BahamutZERO on
    BahamutZERO.gif
  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    Yeah it is likely that all deposits will be returned, that is what the FDIC always aims to do and generally succeeds, it just might take a bit because they're liquidating the bank's assets to cover the shortfall. The $250k number is just the floor guaranteed amount depositors will get back.

    Which is all fine as an individual, except these are businesses which will have accounts well in excess of the minimum. And getting your hands on money beyond the minimum may take some time to sort out. IIRC 97% of SVB's accounts are above the 250K minimum. Given they are apparently the VC bank there's a lot of assholes puckered right now.

    Everybody, let's thank Peter Thiel for engineering a run on the bank! Not clear what would have happened if he hadn't done it since their long term portfolio was problematic, but certainly his "GTFO now" order to VC's under his direction was an immediate cause of the bank run.

  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    Behold, a thing of beauty.

    Fizz Buzz in Tensorflow:

    https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/

  • BahamutZEROBahamutZERO Registered User, Moderator mod
    Orca wrote: »
    Yeah it is likely that all deposits will be returned, that is what the FDIC always aims to do and generally succeeds, it just might take a bit because they're liquidating the bank's assets to cover the shortfall. The $250k number is just the floor guaranteed amount depositors will get back.

    Which is all fine as an individual, except these are businesses which will have accounts well in excess of the minimum. And getting your hands on money beyond the minimum may take some time to sort out. IIRC 97% of SVB's accounts are above the 250K minimum. Given they are apparently the VC bank there's a lot of assholes puckered right now.

    Everybody, let's thank Peter Thiel for engineering a run on the bank! Not clear what would have happened if he hadn't done it since their long term portfolio was problematic, but certainly his "GTFO now" order to VC's under his direction was an immediate cause of the bank run.

    FDIC said all deposits are available to retrieve today in full somehow, no idea what bucket they're getting that money from though.

    BahamutZERO.gif
  • PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    All insured deposits. They will magic that money out of thin air to make it exist ASAP

  • BahamutZEROBahamutZERO Registered User, Moderator mod
    edited March 2023
    Alright, you don't have to believe me, but the press release said ALL deposits and I don't have any specific reason to think they're lying yet.

    "After receiving a recommendation from the boards of the FDIC and the Federal Reserve, and consulting with the President, Secretary Yellen approved actions enabling the FDIC to complete its resolution of Silicon Valley Bank, Santa Clara, California, in a manner that fully protects all depositors. Depositors will have access to all of their money starting Monday, March 13. No losses associated with the resolution of Silicon Valley Bank will be borne by the taxpayer."

    This was stated yesterday. If anyone can't get their company's billion dollars out or whatever I'm sure we'll hear about it today.

    BahamutZERO on
    BahamutZERO.gif
  • PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    Ah well it sounds like the central bank is guaranteeing everything then. Probably a good move

  • InfidelInfidel Heretic Registered User regular
    Right, sounds like they're making moves to protect against what some of us were fearing, what with companies talking about "uhhh are we gonna be able to fucking make payroll??"

    When you stop being able to make payroll that goes south real quick.

    Know some companies have been having internal talks and from what I've seen it's all been "okay here's the update, we're okay..."

    OrokosPA.png
  • dporowskidporowski Registered User regular
    In general, the FDIC has made sure everyone gets paid. It's just if you're > the 250k guarantee, you may have to wait while they sell off the bank's office furniture, but historically you get your money.

    They do not, in any way, fuck around.

  • urahonkyurahonky Cynical Old Man Registered User regular
    I'm working on a new project for my contract and I'm the only senior developer on it currently. It's absolutely a madhouse. There are 5 junior devs all in the same-ish codebase and it's like the wild west out here in terms of code quality and doing things. I don't mind helping out my fellow developers but sometimes I feel like these kids didn't pay attention to anything lol.

    Like this guy was like "I don't understand why this bit of code isn't running" and so we took a look at it. And it looks like it was iterating over the string that he passed in. Now this is 100% the fault of javascript even allowing you to do this dumb shit but whatever he didn't want to take the time to convert the project to typescript. So I ask him what he's passing into the function, and it was a string. So I told him to look at the function and see what the parameters are... And he scrolled to the function and it was taking the parameter (named values) and iterating over it with a forEach. So it was expecting an array and he passed in a string. And I wanted it to be a teaching moment so I asked him what he would do to fix it. I had to stop him like 3 minutes later because he was down and dirty in the weeds talking about rewriting the function to do a thing if a string was passed in...

    Basic troubleshooting steps. It didn't finish the work he was working on but it got to the point where he was pulling the data correctly after I helped him fix that one call. Then something else broke and then he looked at me like a sad puppy trying to figure out what was going on. I basically told him he's going to need to drop some console logs and walk through the code and see if the logic he presented is actually being executed the way he expects and to ping me if he gets stuck again.

  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    A 1:5 ratio of juniors to seniors is uh, not correct. In theory this should be a mentorship opportunity for them, but that has to be 1:1 maybe 1:2.

    Also, console.log? What is this, 2011?

  • dporowskidporowski Registered User regular
    I mean you got any idea how much print() I use?

  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    dporowski wrote: »
    I mean you got any idea how much print() I use?

    So much for the paperless office!

  • TelMarineTelMarine Registered User regular
    So I just spent the entire day trying to figure out why GoLand debugging (which is actually delve) stopped working properly in my Ubuntu virtual machine a couple months ago. Summary: it still doesn't work despite trying a dizzying amount of different things and I don't know why. My only conclusion now would be related to the the OS, possibly.

    The problem is as follows: sometimes, just out of no where, the debugger will get an "unexpected fault" just stepping over standard code (and it's not a nil/null pointer problem) or when attempting to step INTO a function, it acts like you said "continue to next break point", completely skipping stepping into the function. It doesn't always happen, but it does happen on the exact same lines of code every time, no matter the project. I tried a mixture of upgrading/downgrading versions of GoLand, delve, Go, and dependencies, nothing worked (even going back in time to nearly a year ago on some code when it definitely worked). I tried upgrading from Ubuntu 20.04 to 22.04, didn't work. I then created, from scratch, a Debian 11 virtual machine, installed the bare minimum to get the code and debugger to run, and I ran into the exact same problem. Here's the thing, the debugger works perfectly fine on macOS on the exact same code bases. Hence, my theory is some random library/dependency in Ubuntu/Debian got updated that was some kind of indirect dependency for delve, and now debugging these particular projects just don't work properly anymore, for whatever reason. Here's an even more interesting oddity. So I explained that there are lines of code that always break if you try to perform a step over or step into. However, if you set a breakpoint on the line AFTER the offending line, the program is able to execute the offending line no problem. No faults, nothing. WHAT THE HECK.

    3ds: 4983-4935-4575
  • PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    Broken instruction set decoder? A typical way of doing this (on x86 at least) is to replace the first byte of the instruction with 0xCC which is the one byte debug trap and then replace it (or simulate the instruction) and resume the context, but if they decoded it wrong and replaced the wrong byte or simulated the instruction incorrectly it would crash

  • TelMarineTelMarine Registered User regular
    Phyphor wrote: »
    Broken instruction set decoder? A typical way of doing this (on x86 at least) is to replace the first byte of the instruction with 0xCC which is the one byte debug trap and then replace it (or simulate the instruction) and resume the context, but if they decoded it wrong and replaced the wrong byte or simulated the instruction incorrectly it would crash

    Hmm, so possibly an issue with VirtualBox and macOS? Didn't think of that.

    3ds: 4983-4935-4575
  • urahonkyurahonky Cynical Old Man Registered User regular
    admanb wrote: »
    A 1:5 ratio of juniors to seniors is uh, not correct. In theory this should be a mentorship opportunity for them, but that has to be 1:1 maybe 1:2.

    Also, console.log? What is this, 2011?

    It seems like everyone on this team is proficient (or so they say) on other languages. Which I get. But like basic troubleshooting steps are universal.

  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    If your education/experience has been hyper-focused on "how to develop software in Java" I can understand how someone would lack the toolset to extrapolate that there must be a better way.

  • InfidelInfidel Heretic Registered User regular
    admanb wrote: »
    A 1:5 ratio of juniors to seniors is uh, not correct. In theory this should be a mentorship opportunity for them, but that has to be 1:1 maybe 1:2.

    Also, console.log? What is this, 2011?

    Out of all the places I've seen and teams I've witnessed, I'd say 1:2 is about the ideal to shoot for.

    You can juggle a couple people for mentorship (and triple up on topics!) effectively but beyond that you're making it real difficult, and trying to limit yourself to 1:1 direct mentorship just undercuts your ability to scale up a team and productivity. Empowered and enabled non-seniors get a lot of shit done, especially cause the seniors juggle a bunch of other stuff like meetings and non-coding and mentorship itself.

    OrokosPA.png
  • dporowskidporowski Registered User regular
    admanb wrote: »
    If your education/experience has been hyper-focused on "how to develop software in Java" I can understand how someone would lack the toolset to extrapolate that there must be a better way.

    And in fairness, "a string is an array of characters" is, while logical and technically correct, also not what you intuitively expect out of the damn thing. Swift has native .publisher operators to publish basic types, and guess what String.publisher does? (Hint: It's not publish the damn string as a string. :| )

  • urahonkyurahonky Cynical Old Man Registered User regular
    Infidel wrote: »
    admanb wrote: »
    A 1:5 ratio of juniors to seniors is uh, not correct. In theory this should be a mentorship opportunity for them, but that has to be 1:1 maybe 1:2.

    Also, console.log? What is this, 2011?

    Out of all the places I've seen and teams I've witnessed, I'd say 1:2 is about the ideal to shoot for.

    You can juggle a couple people for mentorship (and triple up on topics!) effectively but beyond that you're making it real difficult, and trying to limit yourself to 1:1 direct mentorship just undercuts your ability to scale up a team and productivity. Empowered and enabled non-seniors get a lot of shit done, especially cause the seniors juggle a bunch of other stuff like meetings and non-coding and mentorship itself.

    Yeah I'm pretty consistently getting into huddle sessions with all the devs to help them connect to a docker instance that's running a mysql database. And walking them through how to see the data from DBeaver or whatever SQL tool they're using. There is another senior guy on this team but he's being pulled into other sides of the project so I'm kind of out here trying to keep this ship running correctly without sounding like a fascist dictator on how a PR should look lol.

  • urahonkyurahonky Cynical Old Man Registered User regular
    I also want to point out that I really don't mind helping out other people. It's payback for having you guys help me out all those years ago. Just trying to pay it forward haha.

    But it's like my mornings are all meetings with sprint retros and whatnot. Then lunch happens and then post lunch I get an hour or so of dev in and then the messages start flowing in with support requests. I'm not one to leave them to the wolves so I'll gladly help out. But my tickets barely move some days and I hate feeling like I'm not pulling MY weight even though I kind of am.

  • TelMarineTelMarine Registered User regular
    Sounds like a company that thinks ChatGPT will be able to code for them. Just hire juniors that copy from Stackoverflow and you're done.

    3ds: 4983-4935-4575
  • urahonkyurahonky Cynical Old Man Registered User regular
    edited March 2023
    One guy I'm dealing with a lot is having issues saving values to redis and retrieving them. It's the easiest thing in the world. You do a redis.get() on the value you want and if it doesn't retrieve it then it's a cache miss. If it's a cache miss you have to ping the SSM parameter store to get the value. Once you have the value you do a redis.set(name, value) and then the next time you call redis.get() on the name you're golden.

    e: He's clearly more of an architect though. He got the IAC done in no time at all and it seems to do it's business. But this is basic development stuff and he's struggling with it.

    urahonky on
  • TelMarineTelMarine Registered User regular
    urahonky wrote: »
    One guy I'm dealing with a lot is having issues saving values to redis and retrieving them. It's the easiest thing in the world. You do a redis.get() on the value you want and if it doesn't retrieve it then it's a cache miss. If it's a cache miss you have to ping the SSM parameter store to get the value. Once you have the value you do a redis.set(name, value) and then the next time you call redis.get() on the name you're golden.

    e: He's clearly more of an architect though. He got the IAC done in no time at all and it seems to do it's business. But this is basic development stuff and he's struggling with it.

    He's not reading the documentation? I would imagine that's one of the first basic examples.

    3ds: 4983-4935-4575
  • urahonkyurahonky Cynical Old Man Registered User regular
    TelMarine wrote: »
    urahonky wrote: »
    One guy I'm dealing with a lot is having issues saving values to redis and retrieving them. It's the easiest thing in the world. You do a redis.get() on the value you want and if it doesn't retrieve it then it's a cache miss. If it's a cache miss you have to ping the SSM parameter store to get the value. Once you have the value you do a redis.set(name, value) and then the next time you call redis.get() on the name you're golden.

    e: He's clearly more of an architect though. He got the IAC done in no time at all and it seems to do it's business. But this is basic development stuff and he's struggling with it.

    He's not reading the documentation? I would imagine that's one of the first basic examples.

    Sad part is that I gave him the code that I used on another project. All functions written with documentation lol

  • OrcaOrca Also known as Espressosaurus WrexRegistered User regular
    Amazon announced another 9K layoffs today, and this one to occur next month.

    Interesting how all the big companies are now going to a long rolling layoff to really twist the knife. They're clearly trying to get some good attrition going.

  • thatassemblyguythatassemblyguy Janitor of Technical Debt .Registered User regular
    Orca wrote: »
    Amazon announced another 9K layoffs today, and this one to occur next month.

    Interesting how all the big companies are now going to a long rolling layoff to really twist the knife. They're clearly trying to get some good attrition going.

    This is from their AWS/cloud and twitch this time.

    Definitely does not spark joy for folks who are about to job hunt.

  • CarpyCarpy Registered User regular
    Tossed this in the jobs thread but it's probably relevant in here too

    https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/
    GitHub wrote:
    This week, we discovered that GitHub.com’s RSA SSH private key was briefly exposed in a public GitHub repository

  • CarpyCarpy Registered User regular
    Pdf's are a miserable format. Trying to extract transactions from some bank statements and what's nominally a 3 column table ends up parsing with cells mainly in column order but sometimes intermixed and sometimes cells get merged but long cells get split sometimes and it's all just a mess.

  • JasconiusJasconius sword criminal mad onlineRegistered User regular
    anyone ever migrate web servers.... i'm wondering if I need to copy my SSL certs over or if certbot is just magic and if I point my DNS at the new server and do certbot it will Just Work (tm)

    ive been googling around how to migrate letsencrypt certs and finding very little and usually that means my mental model of the problem is wrong and i can just leave my old cert behind and make a new one

  • PhyphorPhyphor Building Planet Busters Tasting FruitRegistered User regular
    yeah you can just create a new cert as if it was a fresh setup

  • InfidelInfidel Heretic Registered User regular
    You should copy over your certs and then migrate your DNS and then do a renew on the new one afterwards (and remove the renew on the old one).

    Otherwise you would have to tolerate some downtime as your server isn't sending certs yet and the domain is HTTP/HTTPS agnostic.

    OrokosPA.png
  • urahonkyurahonky Cynical Old Man Registered User regular
    Question:

    When writing a rest API... If I have something like this:

    /customer/{id}/rewards

    When you get the rewards data (in an array) does it make sense to include the customer id in there as well?
    {
    [
        rewardId: 1,
        amount: 10,
        customerId: 555
    ]
    }
    

    To me the id doesn't fit because it's a rewards data element and not customer.

  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    I agree with you.

Sign In or Register to comment.