Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

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.
 
  • Locked thread
carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

silvergoose posted:

same but I work in email related crap

also I don't use that regex, the chars@chars.chars is mostly good enough, esp's can take care of the rest.

could this fail on my work address, shortname@us.company.com?

carry on then fucked around with this message at 17:08 on Jul 15, 2017

Adbot
ADBOT LOVES YOU

cinci zoo sniper
Mar 15, 2013




hifi posted:

email rfc

oic

hifi
Jul 25, 2012

carry on then posted:

could this fail on my work address, shortname@us.company.com?

you can use $ to match the end of a line

gonadic io
Feb 16, 2011

>>=

hifi posted:

email rfc

more like rtfm

necrotic
Aug 2, 2005
I owe my brother big time for this!

carry on then posted:

could this fail on my work address, shortname@us.company.com?

Best way is to just check for +@+ and then send a validation email. Hopefully they aren't using \w@\w\.\w because yeah then it wouldn't work (nor a shitload of other valid domains)

silvergoose
Mar 18, 2006

IT IS SAID THE TEARS OF THE BWEENIX CAN HEAL ALL WOUNDS




carry on then posted:

could this fail on my work address, shortname@us.company.com?

Chars can include more dots, worry not.

The worry about not getting transactional emails is receipts, airline confirmations, etc. *shrug*

Ellie Crabcakes
Feb 1, 2008

Stop emailing my boyfriend Gay Crungus

cinci zoo sniper posted:

saw this regex example another day:
code:
(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ 
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
 \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
)*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
 \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] 
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] 
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
 \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
?:\r\n)?[ \t])*))*)?;\s*)
checks if email is valid

fritz
Jul 26, 2003

hifi posted:

you can use $ to match the end of a line

you can use $ to exchange for goods and services

There Will Be Penalty
May 18, 2002

Makes a great pet!

darthbob88 posted:

The author, and I'm pretty sure you can't *actually* validate an email with a regex, given the way you can nest comments arbitrarily deep.

perl and pcre support recursive regular expresions, you can refer to the entire regex or a subpattern.

as an aside, look at the fucken tests for that thing:

http://cpansearch.perl.org/src/PDWARREN/Mail-RFC822-Address-0.3/test.pl

OldAlias
Nov 2, 2013

I'm abigail(the bitch)

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

OldAlias posted:

I'm abigail(the bitch)

:captainpop:

Luigi Thirty
Apr 30, 2006

Emergency confection port.

king roy(the rat)

Maximum Leader
Dec 5, 2014
hello im abigail and this is my valid email Abigail (foo) (((baz)(nested) (comment)) ! ) < (one) abigail (two) @(three)example . (bar) com (quz) >

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
email addresses were a mistake

cinci zoo sniper
Mar 15, 2013




tqdm thing someone recommend me earlier itt owns, despite the odd bug im getting in pycharm console when it duplicates/triplicates itself

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Symbolic Butt posted:

email addresses were a mistake

counterpoint: they're the only widespread form of mass electronic communication that isn't under the thumb of one corporation or another

JawnV6
Jul 4, 2004

So hot ...

NihilCredo posted:

counterpoint: they're the only widespread form of mass electronic communication that isn't under the thumb of one corporation or another

https://mako.cc/copyrighteous/google-has-most-of-my-email-because-it-has-all-of-yours

cinci zoo sniper
Mar 15, 2013




current i/o library status:



loving matlab

cinci zoo sniper
Mar 15, 2013




the good news is that i most likely can work with v 7.3 as is. the bad news is that i have chunk of unknown unidentified matlab files that can be any of the 4 versions

e: great, its no 7.3

cinci zoo sniper fucked around with this message at 20:38 on Jul 16, 2017

Luigi Thirty
Apr 30, 2006

Emergency confection port.

remember the guy in shsc who had to install SAS on an ibm system z mainframe and it tried to install 4gb of java poo poo and run a graphical installer via X11

fritz
Jul 26, 2003

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum

Luigi Thirty posted:

remember the guy in shsc who had to install SAS on an ibm system z mainframe and it tried to install 4gb of java poo poo and run a graphical installer via X11
no, remind me

cinci zoo sniper
Mar 15, 2013




Sweevo
Nov 8, 2007

i sometimes throw cables away

i mean straight into the bin without spending 10+ years in the box of might-come-in-handy-someday first

im a fucking monster

anthonypants posted:

no, remind me

quazi posted:

Everybody is familiar with the concept of a bloated installer. Stuff like iTunes, NVIDIA drivers, the whole OS.. and not just Windows -- Mac users are having to deal with this crap too. Everything is getting too fat, and it's not just the nerd siting in the chair.

The absolute last platform I expected to see a bloated installer was an IBM mainframe running z/OS. For those of you not familiar with it, this is a text-based world full of simple-looking stuff that performs insanely powerful tasks. The closest thing I can equate it to is Unix or DOS, and even then, that analogy breaks down within seconds.

Even though I've only been a system admin for four years, I still have experience with products like: IOF, CA Disk, TMON, MXG, Syncsort.. Due to the spartan interface on this platform, products don't install anything remotely looking like a whiz-bang feature. Most mainframe programmers pride themselves in writing software with as little overhead as possible. Most of the time, an installation routine involves a series of batch jobs where you edit some dataset names to point them in the right direction, run those jobs, edit a couple config files, and boom -- you've installed something!

For the longest time, the most complicated install procedure I encountered was to verify that a handle in CA Disk was configured to view dataset control blocks in such a way as to make the backup utility jobs not mark the 'last accessed' field in datasets they were looking at. Stuff like that can twist your brain into knots if you're not careful, but even then, configuring it was a matter of setting a parm and executing a job.

Most software weighs in between 10MB and 100MB, while CA Disk was around 600MB. (oooh! it nearly filled a 3490 tape!) But when you consider that it's a third-party replacement for a fundamental part of the OS, that's kinda expected.

Enter SAS, an 800-pound behemoth of statistical analysis software. We've got several departments who rely on this, and since I'm the junior sysadmin, it's naturally my job to make sure the software is kept up to date.

I log into the SAS website and find the latest installation file (Release 9.2). It's 8MB. I think, "that's not bad for something that does so much! This mainframe platform sure is efficient!"

I then follow the instructions and upload it to the Unix side of the system. (Background) All of the latest IBM mainframes are divided into two sections -- z/OS and Unix, where the Unix side is also known as OMVS (Open Systems). The OMVS side is more of a vestigial growth that hangs off z/OS, but the two sides have complete read-write access between eachother.

The next step in the process is a bit baffling. "Set up an X Window server on your workstation." It turns out that the installer is a panel-driven wizard, and now the mainframe, which up until this point has only dealt with a text interface, now has to drive a graphical interface. I can't help but wonder what the hell the installer could possibly be doing in the background that I couldn't do by hand, but I was curious to see this. (Also, it's the only method for installing the product.)

My supervisor hooks me up with an IBM-recommended X-server, and upon running the SAS installer and connecting it to my workstation, a little "Press 'Next' to continue the SAS installation process" window pops up on my machine! Sure as poo poo!

But as nice as that sounds, that's when everything starts going to hell. My mainframe user account spikes to 100% CPU usage and stays there as long as I have the X-server connected. This triggers a resource shortage, which triggers a red message on the master console, which leads to a phone call from the folks in the datacenter making GBS threads themselves asking me if they need to worry about this. The next big surprise is that this installer doesn't actually install the product, it's just a downloader. Remember when I said that we mainframe admins consider a 600MB installation a big thing? Well, the SAS Downloader pops up a message warning me that I don't have the space to download all 7.8GB of the product.

SEVEN POINT EIGHT GIGABYTES?! GREAT SCOTT

I feel the need to remind you that this is a product for a text-based interface. "What the hell?" doesn't even begin to describe what I'm thinking. First, what could possibly be in it? Second, our system cannot allocate an OMVS volume big enough to contain it, and I'm pretty sure a company with such a rich mainframe heritage as the SAS Institute would be well aware of this type of limitation. (OMVS volumes are actually z/OS datasets, and the largest dataset we can allocate is 10,000 cylinders*, which comes out to a little bit less than 7.8GB.)

*-- There are ways around this, but it's drat tricky once you've put the machine in production.

I hop back on SAS's website and find a Windows version of that same downloader, along with instructions for downloading the data to my workstation and then uploading it back to the mainframe. Even though I don't have the space to upload it, I want to see what's in it.. And yes, I verified with SAS tech support that both the z/OS and Windows versions of the downloader get the exact same data.

I use WinDirStat to try to find out what is making this sucker so damned big.

- It has a tree with over 1500 subfolders.

By file type:
- There are over 500 JAR files (which it probably uses), and they weigh in at 1.8GB.
- There are nearly 100 ZIP files, and they're 1.6GB.
- Some "PAX" files.. 1.3GB.. (if they're what I think they are, they're kinda like zips)

But the next one is so funny it makes me cry inside:
- 191 EXE files, 853MB.

You know, "Windows executables".. Programs that run on Windows. Programs that have no business taking up precious space on a mainframe because z/OS considers them to be complete gibberish. The average mainframe is so big that it makes a Windows box look like a cell phone, and ours is no different. It needs Windows EXE files like a fish needs a bicycle. "What the gently caress is this poo poo doing here, SAS?!"

I check the folder tree, and there's 200MB of .Net redistributables and service packs, 220MB of ACE redistributables (in nine different languages!), 176MB of JET redist (in 20 languages), and over 1GB of products that can only be installed using their respective "setup.exe" files. It turns out that the SAS Download Manager grabs the installation data for every single platform for which SAS is available, and it doesn't give you the ability to 'uncheck' any of it. It's all 7.8GB or nothing.

I call SAS tech support to see if there's any way to get a smaller installation package (similar to the previous version, which was about one-tenth the size)..
-- Their answer: "no."

-- Me: Can I just delete all of the EXE files, and remove the folders that are obviously installing stuff that is foreign to the mainframe?

-- Them: "Uhh.. that's a bad idea. This installer is Java based, and Java is cross-platform and it might need to access some of that data and possibly execute some of those exe's in the background."

Let's just say the conversation fizzled from there and I gave up.

gently caress it, we're sticking with SAS Release 8.2 until the end of time. :suicide:

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)


ahaha and i thought websphere was huge at around 1gb (mounted read only and every profile symlinks all files it doesn't need to write to back to that read only volume)

that's absurd

cinci zoo sniper
Mar 15, 2013




current idiocy status: i realised i have no idea what was my issue with java to look at javascript to begin with

it's me, thread :eng99:

cinci zoo sniper
Mar 15, 2013




im the biological equivalent of that mainframe installer of horror

CPColin
Sep 9, 2003

Big ol' smile.

MALE SHOEGAZE posted:

Not really all that rust influenced: I followed "Writing an Interpreter in Go" (https://interpreterbook.com/, and I did it in rust instead of go obviously), which implements a language it calls Monkey. Now I've mostly gone off the rails and am adding random pointless features.

Thanks for posting this. Just bought it, for exercise.

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news

this owns

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
:bisonyes:

cinci zoo sniper
Mar 15, 2013




just saw a repo issue "fix failing tests" :staredog:

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news
that happens all the time

Elysiume
Aug 13, 2009

Alone, she fights.
I've seen services have failing regression tests for years because at some point people cut corners and broke them, and nobody after then got time to fix the tests

cinci zoo sniper
Mar 15, 2013




judging by the state of that repo, tests will stop failing when other issues are fixed :v:

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news
if ur unit tests fail simply delete the unit tests

im a 10x programmer

Elysiume
Aug 13, 2009

Alone, she fights.

Mr SuperAwesome posted:

if ur unit tests fail simply delete the unit tests

im a 10x programmer
@Ignore("TODO")

actually that reminds me, I saw a suite of tests that had the entirety of each test wrapped in a try/catch that silently swallowed all exceptions, so the tests literally could not fail

Elysiume fucked around with this message at 09:38 on Jul 17, 2017

cinci zoo sniper
Mar 15, 2013




:eyepoop:

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news

Elysiume posted:

actually that reminds me, I saw a suite of tests that had the entirety of each test wrapped in a try/catch that silently swallowed all exceptions, so the tests literally could not fail
lmao nice

Mr SuperAwesome
Apr 6, 2011

im from the bad post police, and i'm afraid i have bad news
lots of people at CurJob do write pointless unit tests tho (testing that objects behave like objects or stupid poo poo like that), and because they're fragile and bad i do delete them

Adbot
ADBOT LOVES YOU

cinci zoo sniper
Mar 15, 2013




what's the deal with multiple jvms (jdk implementations)

  • Locked thread