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.
 
  • Post
  • Reply
LP0 ON FIRE
Jan 25, 2006

beep boop
Tell me about Email; what is the history? Hasn't almost the same protocol been used for decades? Is marking a message read/unread part of the protocol?

Adbot
ADBOT LOVES YOU

nielsm
Jun 1, 2009



LP0 ON FIRE posted:

Tell me about Email; what is the history? Hasn't almost the same protocol been used for decades? Is marking a message read/unread part of the protocol?

Modern Internet E-mail is composed of primarily two standards: SMTP (Simple Mail Transfer Protocol) and MIME (Multipurpose Internet Mail Extensions).

SMTP is how messages get transferred from server to server.

MIME is the data format of messages.
Originally there was just SMTP, but eventually MIME evolved on top, as a standardized method of doing attachments and having alternate formats for primary message contents. (E.g. having a plain-text and a HTML version of the same message in a single package.)

What happens after a message has been delivered to its destination system is up to the software on that system. The software could deliver to a local mbox file where the user reads it via a commandline tool and just discards it afterwards. It could be delivered to an mbox file which the user then downloads via POP3. It could be delivered to a Maildir structure and the user accesses it via IMAP. It could be stored in an Exchange database and the user accesses it via ActiveSync. Or it could be stored in another proprietary database and accessed via a webmail client.

However, when the message is delivered to the destination system, the source is not involved at all. "Message has been read" is not a concept Internet E-mail has at all, just something client software invents for the convenience of users. In the view of the sending system, the only available status is "message has probably been delivered."

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

nielsm posted:

However, when the message is delivered to the destination system, the source is not involved at all. "Message has been read" is not a concept Internet E-mail has at all, just something client software invents for the convenience of users. In the view of the sending system, the only available status is "message has probably been delivered."

Some clients supported (and may still support?) the ability to send a "user has seen this message" receipt back to the sender, but it was always a proprietary hack and is very much not dominant in this day and age.

The modern workaround is to send an HTML email that embeds a 1x1 transparent pixel image served from your server using a custom request string, which you can then cross-reference with the emails you send to see who's actually opening their emails.

JawnV6
Jul 4, 2004

So hot ...

TooMuchAbstraction posted:

The modern workaround is to send an HTML email that embeds a 1x1 transparent pixel image served from your server using a custom request string, which you can then cross-reference with the emails you send to see who's actually opening their emails.
Gmail's been actively trying to prevent this since 2013 or so?

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

JawnV6 posted:

Gmail's been actively trying to prevent this since 2013 or so?

Well, good luck to them. Sounds like an arms race similar to the one waged against spammers that they eventually won.

...man. Remember when effective spam filters didn't exist? Those days sucked.

5TonsOfFlax
Aug 31, 2001
Gmail now proxies the images, specifically to defeat bullshit tracking stuff. https://support.google.com/mail/answer/145919?p=display_images&visit_id=1-636282355858556077-2053362118&rd=1

It mostly works.

B-Nasty
May 25, 2005


Not entirely. They wimped out on doing this properly, probably because too many poo poo email marketers (e.g. Constant Contact users) were up in arms about it.

Google doesn't pre-load the images, but only proxies them on user load so tracking references still let the marketer know you opened it. What they should've done is cache all external image links which would make the requests to the marketers a worthless deluge of Google's requests all at the same time regardless of what the user does.

I'm not entirely surprised an ad company doesn't put users first.

dougdrums
Feb 25, 2005
CLIENT REQUESTED ELECTRONIC FUNDING RECEIPT (FUNDS NOW)
I noticed gmail proxying images earlier this week. I assume its use is to prevent people from fetching IPs, user agents, etc. Of course it still indicates that the user loaded it, it's just less identifying information.

LP0 ON FIRE
Jan 25, 2006

beep boop

nielsm posted:

Modern Internet E-mail is composed of primarily two standards: SMTP (Simple Mail Transfer Protocol) and MIME (Multipurpose Internet Mail Extensions).

SMTP is how messages get transferred from server to server.

...


This is super fascinating and high quality; thank you. Feels like I'm reading a book.

The 1x1 image with the request and the Google thing to prevent it is blowing my mind too. Good to be aware a little more what's going on, instead of blindly using PHP to automatically generate emails for people.

LP0 ON FIRE fucked around with this message at 20:08 on Apr 20, 2017

dupersaurus
Aug 1, 2012

Futurism was an art movement where dudes were all 'CARS ARE COOL AND THE PAST IS FOR CHUMPS. LET'S DRAW SOME CARS.'

LP0 ON FIRE posted:

The 1x1 image with the request and the Google thing to prevent it is blowing my mind too. Good to be aware a little more what's going on, instead of blindly using PHP to automatically generate emails for people.

It's not just email, either. Tracking pixels (as they're called) are used to track web browsing, too

Eela6
May 25, 2007
Shredded Hen
I want to learn a bit of pascal so I can dive into the DOOMRL source code. What is a good way to learn the language? I know Python very well and a decent amount of Ruby and MATLAB. I've also poked around in Java, JS, and C.

Peristalsis
Apr 5, 2004
Move along.

Eela6 posted:

I want to learn a bit of pascal so I can dive into the DOOMRL source code. What is a good way to learn the language? I know Python very well and a decent amount of Ruby and MATLAB. I've also poked around in Java, JS, and C.

If you just want to learn something like Turbo Pascal, any used bookstore will probably pay you to take a Pascal textbook or 10 off of their hands.

LP0 ON FIRE
Jan 25, 2006

beep boop

dupersaurus posted:

It's not just email, either. Tracking pixels (as they're called) are used to track web browsing, too

That's nuts, and I'll probably try playing around with this.

mystes
May 31, 2006

dougdrums posted:

I noticed gmail proxying images earlier this week. I assume its use is to prevent people from fetching IPs, user agents, etc. Of course it still indicates that the user loaded it, it's just less identifying information.
Cross-Site Request Forgery attacks may have been a concern, too.

El Kabong
Apr 14, 2004
-$10
I work at a low-budget community college, have no coding/tech background, and need to figure out how to make a fillable pdf form that can populate(?) a searchable database.

How should I start jury-rigging this?

mystes
May 31, 2006

El Kabong posted:

I work at a low-budget community college, have no coding/tech background, and need to figure out how to make a fillable pdf form that can populate(?) a searchable database.

How should I start jury-rigging this?
If you don't have the full version of acrobat, then use LibreOffice to make the form and then pdftk or something to extract the data from the filled forms

Edit: You should be aware that this may be more effort than using something like google forms though.

mystes fucked around with this message at 23:44 on Apr 20, 2017

El Kabong
Apr 14, 2004
-$10

mystes posted:

If you don't have the full version of acrobat, then use LibreOffice to make the form and then pdftk or something to extract the data from the filled forms

Edit: You should be aware that this may be more effort than using something like google forms though.

I have the full version. Still use pdftk?

mystes
May 31, 2006

El Kabong posted:

I have the full version. Still use pdftk?
If you just need to do it once or occasionally and want to avoid any sort of programming/scripting it will probably be simpler to just use Acrobat then. I think you can just point it to a bunch of filled forms and it will spit out a spreadsheet with all the results?

If you want to set up some sort of script to do it automatically it will probably be easier to use pdftk or something like that.

baka kaba
Jul 19, 2003

PLEASE ASK ME, THE SELF-PROFESSED NO #1 PAUL CATTERMOLE FAN IN THE SOMETHING AWFUL S-CLUB 7 MEGATHREAD, TO NAME A SINGLE SONG BY HIS EXCELLENT NU-METAL SIDE PROJECT, SKUA, AND IF I CAN'T PLEASE TELL ME TO
EAT SHIT

What's the deal with file extensions?

I'm writing a function to rename a path if a file already exists, stick a _1 on the end of the filename or whatever. I was fighting with Python's pathlib (that only has a method to get the filename without the last suffix) and then I tried copying a file on Windows, and it acts the same

code:
hey.tar.gz
hey.tar - Copy.gz
Is this normal? It would make my life a lot easier if I could say gently caress it just append to the stem, but that looks pretty broken. .tar.gz seems like it should be treated as a kind of composite extension. I mean this seems like an edge case but are there any conventions around this stuff? How common are multi-part extensions?

nielsm
Jun 1, 2009



Yes, extensions are just a convention to consider whatever follows the last period in the name as a classification.

Except in original DOS 8.3 world where the period isn't stored, and instead the name is put into a fixed-width 11 byte field, and the final three bytes are printed after a period. And, if you make a file base name shorter than 8 bytes, it pads the rest with spaces. All in all, file name storage, wildcard matching, and paths in general, were weird in DOS.

The case of archivers and file compression software from UNIX land is a bit of a special case. The original function of compression software is to work with a single file, and entering "gzip foo.bar" will cause it to create the file "foo.bar.gz" and then delete the original "foo.bar" file! And similarly gunzip would re-create the name just by stripping the .gz extension off, and (of course) delete the compressed input file after writing the decompressed output.
So .tar.gz literally does mean a tar file compressed with gzip. It is just a gzipped file, which then happens to have an original name that ends in .tar, but it gets treated as a special case most of the time. I think the case only happens with specifically tar files, so if you want to generalize the special case, look for filenames ending with .tar before the common extension part.

nielsm fucked around with this message at 20:32 on Apr 21, 2017

baka kaba
Jul 19, 2003

PLEASE ASK ME, THE SELF-PROFESSED NO #1 PAUL CATTERMOLE FAN IN THE SOMETHING AWFUL S-CLUB 7 MEGATHREAD, TO NAME A SINGLE SONG BY HIS EXCELLENT NU-METAL SIDE PROJECT, SKUA, AND IF I CAN'T PLEASE TELL ME TO
EAT SHIT

Yeah I'm not messing with tar files, that was just the example that came to mind of a meaningful (?) chain of extensions. I was wondering if that happened more generally because if you strip that .gz ending you get some garbage, and it seems like a Bad Thing

But of course some people add periods in filenames anyway in which case it makes sense to add a suffix to the part before the last period :starecat: So is doing that the sort of accepted best practice? And it's only really tar.gz that anyone might care about otherwise?

nielsm
Jun 1, 2009



Yep, I don't remember seeing compound extensions that didn't involve .tar being the first of two.

LP0 ON FIRE
Jan 25, 2006

beep boop
bash scp:

I'm trying to transfer a file from my local computer to a host server over scp with a bash command without a password, and use a key instead so it does not have to prompt me for the password every time. I followed these directions:

https://blogs.oracle.com/jkini/entry/how_to_scp_scp_and

What more do I have to do? It still prompts me for a password. I checked if the key exists on the server after transferring with ssh-copy-id, and I set the permissions to 400 (even though I think all the require is 600).

edit I ran SSH in verbose mode, and I can't see anything where they server sent a public key packet.

LP0 ON FIRE fucked around with this message at 21:45 on Apr 21, 2017

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

nielsm posted:

Yep, I don't remember seeing compound extensions that didn't involve .tar being the first of two.

I'm pretty sure that if you compress a single file you can get e.g. file.mp3.gz (which incidentally would be dumb because mp3's are already compressed). But yeah, it's pretty rare.

baka kaba
Jul 19, 2003

PLEASE ASK ME, THE SELF-PROFESSED NO #1 PAUL CATTERMOLE FAN IN THE SOMETHING AWFUL S-CLUB 7 MEGATHREAD, TO NAME A SINGLE SONG BY HIS EXCELLENT NU-METAL SIDE PROJECT, SKUA, AND IF I CAN'T PLEASE TELL ME TO
EAT SHIT

All right, thanks guys! I like when the correct answer is 'do the easy thing'

Kilson
Jan 16, 2003

I EAT LITTLE CHILDREN FOR BREAKFAST !!11!!1!!!!111!

LP0 ON FIRE posted:

bash scp:

I'm trying to transfer a file from my local computer to a host server over scp with a bash command without a password, and use a key instead so it does not have to prompt me for the password every time. I followed these directions:

https://blogs.oracle.com/jkini/entry/how_to_scp_scp_and

What more do I have to do? It still prompts me for a password. I checked if the key exists on the server after transferring with ssh-copy-id, and I set the permissions to 400 (even though I think all the require is 600).

edit I ran SSH in verbose mode, and I can't see anything where they server sent a public key packet.

Is PubKeyAuthentication disabled in sshd on the server?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

LP0 ON FIRE posted:

bash scp:

I'm trying to transfer a file from my local computer to a host server over scp with a bash command without a password, and use a key instead so it does not have to prompt me for the password every time. I followed these directions:

https://blogs.oracle.com/jkini/entry/how_to_scp_scp_and

What more do I have to do? It still prompts me for a password. I checked if the key exists on the server after transferring with ssh-copy-id, and I set the permissions to 400 (even though I think all the require is 600).

edit I ran SSH in verbose mode, and I can't see anything where they server sent a public key packet.

Unless you have your ssh config (~/.ssh/config) set to always use your key you'll need to run ssh with the -i flag and specify the key.

LP0 ON FIRE
Jan 25, 2006

beep boop

Kilson posted:

Is PubKeyAuthentication disabled in sshd on the server?

Nope

Blinkz0rz posted:

Unless you have your ssh config (~/.ssh/config) set to always use your key you'll need to run ssh with the -i flag and specify the key.

I tried this because I have a custom key name, and it asks for the passphrase and then the password again. To clarify, I have something like:

scp -i ~/.ssh/myKeyName.pub ~/Documents/fileToSend.php blah@blah:./whereToSend

EDIT - So I retried with a non-custom key name, and it works. Looks like that is the problem. I can live with a default key name for now, but eventually I'd like to change that.

EDIT 2 - :doh: I'm specifying the public key instead of the private key with the -i flag!

EDIT 3 - My key now works with the custom name after I changed it to the private key in the -i flag. :downs:

LP0 ON FIRE fucked around with this message at 18:51 on Apr 24, 2017

idiotmeat
Apr 3, 2010

baka kaba posted:

All right, thanks guys! I like when the correct answer is 'do the easy thing'

I have seen log rotation where the _x suffix was just added to the end of the extension. Well to be more specifoc it was .x, but it usually isn't something I have seen done on windows.

DimpledChad
May 14, 2002
Rigging elections since '87.
Classic Mac OS also had an idiosyncratic way of identifying file types with resource forks. And for a long time OS X apps had to support both types of files.

huhu
Feb 24, 2006
I'm starting my second project at my new job. Between learning and applying a ton of new biology terms needed for the position, learning about databases and their databases, how to navigate their codebase, how to read others code, etc. I'm feeling absolutely overwhelmed. I'm nervous going to my boss and being like, I need an easier project would be great but probably not the best solution, thoughts?

csammis
Aug 26, 2003

Mental Institution
Feeling overwhelmed is natural :) It's a new job, there'll always be a learning curve, and what's more it seems like this a domain that's new to you. Your team probably expects their new hire to go a bit slower while you learn the ropes of the particular role / industry / whatever. Do you think that your team or your boss has unrealistic expectations about your rate of learning? Do you know who to go to on your team to learn more about whatever topics?


edit:

quote:

I'm nervous going to my boss and being like, I need an easier project would be great but probably not the best solution, thoughts?

This is not a good solution. You're on your second project and just starting it at that. Giving up and saying you need something easier when you're at the outset of a project isn't looked upon very well. Getting into it and saying "I think the work is not going at the speed we expected because [reasons], I think we might not reach the deadline because of it, and a more realistic deadline would be [time]" is generally fine. Your boss might say "Nope it's going fine at your current pace, keep it at" or "Okay what do you need in order to make the original deadline?" and those are good outcomes!

csammis fucked around with this message at 16:27 on Apr 27, 2017

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

huhu posted:

I'm starting my second project at my new job. Between learning and applying a ton of new biology terms needed for the position, learning about databases and their databases, how to navigate their codebase, how to read others code, etc. I'm feeling absolutely overwhelmed. I'm nervous going to my boss and being like, I need an easier project would be great but probably not the best solution, thoughts?

Can you find that "easier project" by breaking the big project down into smaller parts? The project as a whole seems overwhelming but the first quarter of the project might feel perfectly whelming. And you can keep breaking each piece down into smaller pieces, recursively, until you have a handle on some discrete chunk.

Maybe you can get some help from your boss or an experienced coworker to break the big project down? That's definitely its own skill and it's easy to slice something into nonsensical pieces when you're new.

FAT32 SHAMER
Aug 16, 2012



I was recently promoted to sweng from test engineer after spending four years in uni studying compsci and i was so lost and scared for my first several weeks.

Then stuff starts to click easy and at least at my company they like it when you spend a lot of time researching a solution before trying to implement one then having to go back to square one when it turns out it's bad. It also probably helped that I started going over my notes and old projects so I remembered what exactly i was doing.

I normally don't advocate doing work stuff in your free time but if you're feeling rusty or lost it may be worth it for a few nights (also with a large gin and tonic)

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

huhu posted:

I'm starting my second project at my new job. Between learning and applying a ton of new biology terms needed for the position, learning about databases and their databases, how to navigate their codebase, how to read others code, etc. I'm feeling absolutely overwhelmed. I'm nervous going to my boss and being like, I need an easier project would be great but probably not the best solution, thoughts?

Don't worry about the big picture. Just tackle one thing at a time. Of course you have a lot of learning to do, and that's hard, especially if you're not used to self-directed learning. But as csammis says, it's fully expected that devs be slow starting out. When I started my current job, they were pleasantly surprised that I was contributing meaningfully before the six-month mark, and it sounds like I have substantially more industry experience than you do. Just take your time. This does get easier, both with practice and as you gain more context on the problem you're working on.

Peristalsis
Apr 5, 2004
Move along.

huhu posted:

I'm starting my second project at my new job. Between learning and applying a ton of new biology terms needed for the position, learning about databases and their databases, how to navigate their codebase, how to read others code, etc. I'm feeling absolutely overwhelmed. I'm nervous going to my boss and being like, I need an easier project would be great but probably not the best solution, thoughts?

Like others said, I wouldn't recommend trying to bail out of it just yet. But, a lot of what you do will depend on what the workplace is like. It is possible to have a moronic boss who either doesn't understand that people need to get up to speed, or who thinks s/he is being the next Steve Jobs by being unreasonably demanding. If that's the case, just try to get along until you can find a better job. Otherwise, ask your coworkers questions, post on Stack Overflow or other resources, watch relevant tutorials, etc., and just keep your boss and coworkers apprised of your situation. It would be unusual for a brand new developer to truly contribute on a level commensurate with their salary in the first 6 to 12 months of a job, and if your managers know what they're doing, they'll realize this. The key is to show that you're making progress, and learning what you need to learn.

Being thrown into relational database stuff without any prior training kind of sucks, but it is a very learn-able set of skills, with lots of introductory material available on the web. Try not to get completely wrapped up in that - it's usually possible to get enough DB understanding to get by without completely immersing yourself in it to the detriment of other topics.

Also, everyone feels overwhelmed reading others' code and navigating legacy codebases. It's just the nature of the beast, I'm afraid. Figure out how your coworkers figure things out and do that. I use grep and find a lot to find stuff I need, but if you're not on a Linux system, that might not be the best approach to try first.

Peristalsis
Apr 5, 2004
Move along.
Speaking of databases, I'm having lots of trouble with Oracle SQLDeveloper on Ubuntu. It seems to hang pretty often on any kind of sizeable query. Yesterday, I was doing a double join involving three tables with tens of thousands to hundreds of thousands of rows, and it hung. After I restarted my computer and tried again, it hung again. I seem to recall it being pretty brittle at my last job, too, where I used it on Windows. The same query ran fine through SQLPlus, so I know the database can handle it. At this very moment it's at least momentarily frozen just trying to fetch all the rows from one of those tables.

It really just doesn't feel like professionally built software at this point - is there something I should configure to make it work better? Has anyone had good luck with some alternative program? (I don't think Toad is ported to Linux.)

Pollyanna
Mar 5, 2005

Milk's on them.


Eela6 posted:

I want to learn a bit of pascal so I can dive into the DOOMRL source code. What is a good way to learn the language? I know Python very well and a decent amount of Ruby and MATLAB. I've also poked around in Java, JS, and C.

DOOMRL is written in Pascal? :psyduck:

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer
wowzer. i wrote a terrible text adventure in 11th grade in pascal. who knew an actual game engine was doable in it.

Adbot
ADBOT LOVES YOU

ToxicFrog
Apr 26, 2008


Pollyanna posted:

DOOMRL is written in Pascal? :psyduck:

FreePascal, yeah. Kisielewicz wrote a Pascal library for roguelikes (FPCValkyrie) sometime around 2001(?) and used it for DoomRL, AliensRL and DiabloRL.

It's worth remembering that while DoomRL is a "modern roguelike" it's still been around for 15 years.

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