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
Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Mr Dog posted:

this is some "where we're going we don't need eyes to see" poo poo

Adbot
ADBOT LOVES YOU

Luigi Thirty
Apr 30, 2006

Emergency confection port.

brb rewriting my 3D engine in MUMPS

VikingofRock
Aug 24, 2008




MALE SHOEGAZE posted:

use ag you idiot

I thought ag and grep had similar (also really really good) performance? So actually I'm confused as to why the OP is having issues with grep being a memory hog in the first place.

CPColin
Sep 9, 2003

Big ol' smile.
It's not memory; it's disk. When the disk access goes up, the rest of the system grinds to a halt, to the point where my mouse cursor will start skipping around. I think they took the drive that was in my machine when I got here nine years ago and put it into this machine (which I got like seven years ago).

Luigi Thirty
Apr 30, 2006

Emergency confection port.

Kevin C. O'Kane, writer of books such as The MUMPS Programming Language, IBM Mainframe Assembly Language, and The Constitutional Convention of 2022

quote:

In 2016, after years of immigration debacles, epidemics and lawlessness, the Democrat Party finally implodes. But from its corpse, an oligarchic, neo-fascist Progressive Party rises on a flood of fat cat cash. Its political philosophy is simple: representative democracy is an obsolete and outdated concept from another era. Modern governments should be controlled by experts, forceful leaders, not 18th century debating societies.

Through clever changes to the voting laws, a few well chosen dossiers supplied by the NSA, and a general amnesty, the Progressives seize control of the presidency. They swiftly consolidate their grip by exploiting the powers of the endless alphabet soup of Federal agencies to which lazy Congresses, over many years, delegated vast regulatory authority. Overnight, without a shot being fired, the nation slips into dictatorship.

Laws and policies once hammered out by Congress are replaced by an endless rush of ill-conceived executive decrees. The economy spirals into irreversible depression. The government responds in the only way it knows: print more money to service its ever growing horde of idle clients.

The nation shatters into chaos. Federal money becomes worthless. When Midwest farmers refuse to ship their product, large Progressive urban enclaves erupt in food riots. Soon, only smoldering, charred ruins remain. Industrial output collapses. States secede and print their own money. Mexican armies recapture large areas of the southwest. The country is paralyzed. But then ….

Read it while it’s still fiction.

Caution: Not recommended for moonbats, liberals, Clinton drones or Bernie’s Sandernistas.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

lomarf

this is my favorite mumps thing:
http://71.174.62.16/Demo/AnnoStd?Frame=Main&Page=a106001&Edition=examples
code:
P R I N T S (A,L)=1,(S,T)=I N G
  G I V E N A      
O F A=L:L:S Q:U=A  R E S B=E L O W (A*A),!
I S (U,R,E)=T H 1 N K I T=S G O O D

Luigi Thirty
Apr 30, 2006

Emergency confection port.

I'm pretty sure if I ever tried to write anything in mumps my head would explode, says the person who wrote a 6502 core and a DOS polygon rasterizer in TYOOL 2016

abraham linksys
Sep 6, 2010

:darksouls:

LeftistMuslimObama posted:

our tooling team has created a typescript->mumps compiler

holy poo poo

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Luigi Thirty posted:

I'm pretty sure if I ever tried to write anything in mumps my head would explode, says the person who wrote a 6502 core and a DOS polygon rasterizer in TYOOL 2016

the problem is anything u see on the internet is going to be from angry ex-employees or from defunct code. nobody is posting modern production-ready mumps code online because everyone who uses mumps keeps their poo poo super-proprietary. i promise you that if you read real code i write instead of the whacky examples i post here it'd be pretty easy to follow. but where's the fun in doing that instead of posting crazy poo poo all the time :)

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

NihilCredo posted:

have you guys tried Heidisql?

I'm blessed enough to use mssql at work but I've used Heidisql a few times when I couldn't run SSMS for whatever reason, and even with only partial mssql support it struck me as quite good

I've been using it lately.

https://twitter.com/symbolicbutt/status/763004271138836480

it looks alright and doesn't consistently crash over trivial queries like workbench does. But this is a super low bar so I'm not sure I fully endorse it yet.


I miss pgadmin

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

LeftistMuslimObama posted:

our tooling team has created a typescript->mumps compiler.

:eyepop:

:eyepop:


:eyepop:

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

LeftistMuslimObama posted:

our tooling team has created a typescript->mumps compiler and they are strongly considering making us use it instead of writing mumps directly. cant wait to debug generated mumps code instead of human-written mumps code. the performance is gonna be mind-bogglingly terrible. i bet halfway through next release they end up scrapping all the code written in it and rushing to rewrite it in mumps again.

your tooling team is terrible

LordSaturn
Aug 12, 2007

sadly unfunny

LeftistMuslimObama posted:

this is my favorite mumps thing:
http://71.174.62.16/Demo/AnnoStd?Frame=Main&Page=a106001&Edition=examples
code:
P R I N T S (A,L)=1,(S,T)=I N G
  G I V E N A      
O F A=L:L:S Q:U=A  R E S B=E L O W (A*A),!
I S (U,R,E)=T H 1 N K I T=S G O O D

thank you for finding this, I could never remember where it was to show the thread

LeftistMuslimObama posted:

the problem is anything u see on the internet is going to be from angry ex-employees or from defunct code. nobody is posting modern production-ready mumps code online because everyone who uses mumps keeps their poo poo super-proprietary. i promise you that if you read real code i write instead of the whacky examples i post here it'd be pretty easy to follow. but where's the fun in doing that instead of posting crazy poo poo all the time :)

while true, this does not make compilation to MUMPS cool or good

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Symbolic Butt posted:

your tooling team is terrible

management slobbers their dicks so hard (they're treated as the best and brightest) and like even if they handed you a macaroni picture of like the actual mumps virus it would still be our official platform for the next release.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

LordSaturn posted:

thank you for finding this, I could never remember where it was to show the thread


while true, this does not make compilation to MUMPS cool or good

i agree. if we're going to use mumps (and honestly the scalability arguments are more convincing than you'd think for sticking with it) i think we should continue to make people experts in actual mumps so they can write good code. transpiling to it from a language designed to band-aid over the flaws in javascript is just begging for weird bugs and terrible performance.

Bloody
Mar 3, 2013

just make a llvm backend that targets mumps

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Bloody posted:

just make a llvm backend that targets mumps

but that would require the foundations team to stop huffing their farts and learn a tool they dont already know instead of assuming they are repositories of all necessary knowledge that can just keep pooping things out and making us use them.

Bloody
Mar 3, 2013

ooh exciting idea, make a mumps back-end for llvm to compile <whatever> to mumps but then also make a mumps front-end to compile mumps to machines but then use these things together to compile mumps to mumps

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
lol why the hell is the netbeans installer a 200mb shell script that appears to embed binary assets as strings???

Luigi Thirty
Apr 30, 2006

Emergency confection port.

MALE SHOEGAZE posted:

lol why the hell is the netbeans installer a 200mb shell script that appears to embed binary assets as strings???

someone posted a horror story about the SAS installer trying to install an X client on their z-series mainframe to run a graphical Java installer

tef
May 30, 2004

-> some l-system crap ->

Valeyard posted:

auto incrimenting fields

autoincrements are the devil's plaything

jesus WEP
Oct 17, 2004


but what if you really dont want to bother working out candidate keys????

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Bloody posted:

ooh exciting idea, make a mumps back-end for llvm to compile <whatever> to mumps but then also make a mumps front-end to compile mumps to machines but then use these things together to compile mumps to mumps

i smell an xzibit meme coming on

code:
yodog
   s yodog = "yodog"
   w yodog_" we put "_yodog_" in "_yodog,!
   x "d "_yodog
   q

LordSaturn
Aug 12, 2007

sadly unfunny

LeftistMuslimObama posted:

the actual mumps virus

code:
job j job g job

jesus WEP
Oct 17, 2004


here is my story of some cj's adventures with databases

goal: warehouse some data from oracle into mssql

what id prolly do:
1. stored proc with an openquery in mssql, and an agent job to run it once a month

what they do:
1. use sqlplus to spool a query into a pipe-delimited file, which is kicked off using a shell script and scheduled in cron
2. on windows server, a scheduled task to run a powershell script to ftp said file
3. same powershell script opens excel and runs a vba macro to convert the pipe-delimited file into a .xlsx file
4. do some sort of import to the mssql table idk my ears were bleeding at this point

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

Luigi Thirty posted:

someone posted a horror story about the SAS installer trying to install an X client on their z-series mainframe to run a graphical Java installer

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:

GameCube
Nov 21, 2006

"warehouse" is not a verb.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

yeah thanks

jesus WEP
Oct 17, 2004


GameCube posted:

"warehouse" is not a verb.
how would you put it

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

LordSaturn posted:

code:
job j job g job

fortunately cache actually detects this and throws an error after 3 recursions now.

its still hilariously easy to actually lose the handle for a job still, though, since "job" is an assumed variable all over the fuckin place and could get rewritten by something you call with no warning.

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

LeftistMuslimObama posted:

our tooling team has created a typescript->mumps compiler

how was the person who brought this idea up not fired on the spot?

JawnV6
Jul 4, 2004

So hot ...

HappyHippo posted:

how was the person who brought this idea up not fired on the spot?

"its just like Facebook with php/c++!"

~Coxy
Dec 9, 2003

R.I.P. Inter-OS Sass - b.2000AD d.2003AD

Mr Dog posted:

:laugh:

you willingly use a Dell laptop

Dell is literally the best option for a work laptop

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

~Coxy posted:

Dell is literally the best option for a work laptop

sure if mac book pros don't count

Shaggar
Apr 26, 2006
Mac books are slow and outdated and come with bad software. They're bad laptops.

KidDynamite
Feb 11, 2005

how to interview at google for a mobile dev position?

HoboMan
Nov 4, 2010

KidDynamite posted:

how to interview at google for a mobile dev position?

Apply for one?

HoboMan
Nov 4, 2010

gently caress me
http://www.newtonsoft.com/json/help/html/Introduction.htm

Shaggar
Apr 26, 2006
newtonsoft json is the de facto standard json parser for .net. there are probably other ones out there but its what everyone uses and probably has the most documentation from the source and community

Adbot
ADBOT LOVES YOU

AWWNAW
Dec 30, 2008

yeah but Why The gently caress Does It Have That Dumb loving Web Cartoon In The Documentation

  • Locked thread