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
bawk
Mar 31, 2013

Adbot
ADBOT LOVES YOU

bawk
Mar 31, 2013

god loving dammit i hate this stupid pre-baked SALR shameful snipe poo poo, sorry for swiping what could have been a good snype because i misclicked on the "SNYPE" button instead of the unread reply count, everyone

JewKiller 3000
Nov 28, 2006

by Lowtax
delete all encodings and normalization forms from the unicode standard except utf-8 and nfc

compuserved
Mar 20, 2006

Nap Ghost

qntm posted:

I thought Unix filenames were opaque sequences of bytes, so this would be a standpoint consistent with that

this doesn't work well when git claims to be cross-platform and other operating systems / filesystems actually enforce a filename encoding and normalization form (mac os x). it's neither cool nor good when you commit a file with filename "yöspös" whose pathname is UTF-8 encoded and someone whose default encoding is UTF-16LE (for the sake of argument) clones your repo and sees "潹灳獯" instead. hopefully not even git is that dumb but i wouldn't be surprised.

also, reminder that mac os x is a certified unix and they're able to enforce a pathname encoding just fine

JewKiller 3000 posted:

delete all encodings and normalization forms from the unicode standard except utf-8 and nfc

agreed but maybe nfd. or UTF-16. who cares. just standardize on something

compuserved fucked around with this message at 02:43 on Apr 12, 2016

compuserved
Mar 20, 2006

Nap Ghost

tef posted:

git config --global core.precomposeunicode true :sigh:

cool git thanks for making users deal with this nonsense (although it's really linux's fault more than anything else's for not enforcing a filename encoding in the first place)

compuserved fucked around with this message at 02:03 on Apr 12, 2016

Bloody
Mar 3, 2013

HoboMan posted:

this is the first thing i looked at after google "tef blog": http://programmingisterrible.com/
i don't know if it's his, but it looks like it belongs here

yes that is correct

Bloody
Mar 3, 2013

my build process for a visual Studio project amounts to a Jenkins scripted msbuild that dumps its artifacts in a directory that gets committed to svn which is how we release software

JimboMaloi
Oct 10, 2007

HoboMan posted:

this is the first thing i looked at after google "tef blog": http://programmingisterrible.com/
i don't know if it's his, but it looks like it belongs here

thats it and it is great. mononcqcs is http://ferd.ca and is also great.

e: oh poo poo, accidental https shaming

JimboMaloi fucked around with this message at 02:56 on Apr 12, 2016

Bloody
Mar 3, 2013

quote:

Your connection is not secure

The owner of ferd.ca has configured their website improperly. To protect your information from being stolen, Firefox has not connected to this website.
zoinks

JimboMaloi
Oct 10, 2007

HoboMan posted:

so what the gently caress is DevOps?

depends who you ask. if a job listing says "devops engineer" it probably means "youre in ops but we expect you to automate poo poo".

in theory the term was meant to describe a culture where devs and ops actually spoke to each other instead of throwing binaries over the wall, but that takes effort and its much easier to coopt the term and use it to stroke the egos of people who view ops as a lesser position (see also 'reliability engineer' as its used at startups)

Bloody
Mar 3, 2013

HoboMan posted:

so what the gently caress is DevOps?

http://danluu.com/google-sre-book/

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum

JimboMaloi posted:

depends who you ask. if a job listing says "devops engineer" it probably means "youre in ops but we expect you to automate poo poo".

in theory the term was meant to describe a culture where devs and ops actually spoke to each other instead of throwing binaries over the wall, but that takes effort and its much easier to coopt the term and use it to stroke the egos of people who view ops as a lesser position (see also 'reliability engineer' as its used at startups)
at my last job the way they described it was application support for datacenter customers but the way it was implemented was having the engineers try to automate azure server deployments

MeruFM
Jul 27, 2010
i'm more confused about Continual Delivery Engineer. I thought continuous delivery was a process encompassing stuff like CI, "agile", and "forever updated" applications like chrome.

Bloody
Mar 3, 2013

i interpret continuous delivery as being a push to master is a push to prod

Luigi Thirty
Apr 30, 2006

Emergency confection port.

xamarin doesn't seem to be terrible for writing a toy app

VikingofRock
Aug 24, 2008




Notorious QIG posted:

hey fun c++03 fact: if you have a std::vector<Object*> v, then v[i]+1 compiles fine and without warning!

:suicide:

Really? I get a -Wunused-value warning, which is part of -Wall. (Link to example)

Unless you mean you were using that value somewhere in a surprising way, which is an understandable complaint but which is pretty reasonable behavior given how pointer arithmetic works in C++. Image that you are actually storing arrays of Objects in your vector--you would want v[i]+1 to compile in that case so that you can index your array. Like this:

C++ code:
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){
    string arr[3];
    arr[0] = "yos";
    arr[1] = "pos";
    arr[2] = "bithcoin";

    vector<string*> v;
    v.push_back(arr);
    cout << "*(v[0]+1): " << *(v[0] + 1) << endl; // prints the element at v[0][1], which is "pos";
}

quiggy
Aug 7, 2010

[in Russian] Oof.


VikingofRock posted:

Really? I get a -Wunused-value warning, which is part of -Wall. (Link to example)

Unless you mean you were using that value somewhere in a surprising way, which is an understandable complaint but which is pretty reasonable behavior given how pointer arithmetic works in C++. Image that you are actually storing arrays of Objects in your vector--you would want v[i]+1 to compile in that case so that you can index your array. Like this:

C++ code:
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){
    string arr[3];
    arr[0] = "yos";
    arr[1] = "pos";
    arr[2] = "bithcoin";

    vector<string*> v;
    v.push_back(arr);
    cout << "*(v[0]+1): " << *(v[0] + 1) << endl; // prints the element at v[0][1], which is "pos";
}

unless im mistaken you're only getting unused value if you don't actually then read it. also the only reason that you get "pos" in your example is that you already put "yos" and "pos" in an array so they're guaranteed to be adjacent, if they're not already adjacent you'll segfault when you try to access v[0] + 1

Bloody
Mar 3, 2013

I thought vector guaranteed adjacency

quiggy
Aug 7, 2010

[in Russian] Oof.


Bloody posted:

I thought vector guaranteed adjacency

vector guarantees adjacency, but the vector type is Object*. the Objects themselves are in no way guaranteed to be adjacent since it entirely defends on how and where they were defined

as a really lovely example that you should never actually write:

C++ code:
int a = 3;
int* b = new int;
std::vector<int*> v;
v.push_back(&a);
v.push_back(b);
this should compile and run fine, even though v[0] is a pointer to an int on the stack and v[1] is a pointer to an int on the heap

Progressive JPEG
Feb 19, 2003

JimboMaloi posted:

(see also 'reliability engineer' as its used at startups)

fiber is my reliability engineer

Gul Banana
Nov 28, 2003

git filenames are a huge pain on windows also
it will happily add both path/thing.c and path/thing.C to the repo. guess what happens when you check that out on NTFS

go on, guess. because I certainly don't know, except that it's bad

JewKiller 3000
Nov 28, 2006

by Lowtax
that wouldn't be very good on most mac os x hfs+ filesystems either (which are case-insensitive by default)

JawnV6
Jul 4, 2004

So hot ...

JewKiller 3000 posted:

that wouldn't be very good on most mac os x hfs+ filesystems either (which are case-insensitive by default)
and yet tab complete isn't...

JewKiller 3000
Nov 28, 2006

by Lowtax
as far as i can tell they're just using gnu bash with no os x specific modifications

raminasi
Jan 25, 2005

a last drink with no ice

Bloody posted:

i live an entirely isolated life at work and have improved my programmin skills by faffing around on company time and doing things like:
reading this thread
reading other yosthreads
reading yosblogs (tef, mononcqc)
reading nonyosblogs (danluu)
faffing around with idiot projects (haskell most recently)
managing my own workflow (jirad myself)

:hfive:

i have no idea how one goes about getting a real job, i've literally never worked for anybody who has any understanding of what i do

oh no blimp issue
Feb 23, 2011

Bloody posted:

it is not bad, but it is also not the only solution :)

i never said it was, but that book literally fits everything he's been talking about

VikingofRock
Aug 24, 2008




Notorious QIG posted:

vector guarantees adjacency, but the vector type is Object*. the Objects themselves are in no way guaranteed to be adjacent since it entirely defends on how and where they were defined

as a really lovely example that you should never actually write:

C++ code:
int a = 3;
int* b = new int;
std::vector<int*> v;
v.push_back(&a);
v.push_back(b);
this should compile and run fine, even though v[0] is a pointer to an int on the stack and v[1] is a pointer to an int on the heap

I just don't see how you could make pointer arithmetic not work with pointers that are stored in vectors. Maybe I just don't understand your complaint though.

I guess I could see wanting to get rid of pointer arithmetic altogether, but that is a whole 'nother :can:

30 TO 50 FERAL HOG
Mar 2, 2005



Gul Banana posted:

git filenames are a huge pain on windows also
it will happily add both path/thing.c and path/thing.C to the repo. guess what happens when you check that out on NTFS

go on, guess. because I certainly don't know, except that it's bad

name your poo poo properly. If I'm looking at your source what is the difference between thing.c and thing.C

JewKiller 3000 posted:

that wouldn't be very good on most mac os x hfs+ filesystems either (which are case-insensitive by default)

Unrelated but if you reinstall OS X and specify case sensitivity on the partition it breaks a loooooot of poo poo. Hfs supports it and most apple software doesn't mind but so much other software will break

30 TO 50 FERAL HOG fucked around with this message at 07:55 on Apr 12, 2016

JimboMaloi
Oct 10, 2007

MeruFM posted:

i'm more confused about Continual Delivery Engineer. I thought continuous delivery was a process encompassing stuff like CI, "agile", and "forever updated" applications like chrome.

youre right. continual delivery engineer is an incredibly bonkers job title, on par with being an 'agile engineer'. now that i say that im sure someone will link a resume to someone who selfdescribes as an agile engineer

Bloody posted:

i interpret continuous delivery as being a push to master is a push to prod

the people who coined the term didnt intend for it to mean that (they call that continous deployment), but lots of people use it to mean what you describe

gonadic io
Feb 16, 2011

>>=

JewKiller 3000 posted:

delete all encodings and normalization forms from the unicode standard except utf-8 and nfc

Do not allow times or dates to be saved without a timezone

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

VikingofRock posted:

I just don't see how you could make pointer arithmetic not work with pointers that are stored in vectors. Maybe I just don't understand your complaint though.

I guess I could see wanting to get rid of pointer arithmetic altogether, but that is a whole 'nother :can:

C# has unsafe { ... } and maybe C++ should have it too

ahmeni
May 1, 2005

It's one continuous form where hardware and software function in perfect unison, creating a new generation of iPhone that's better by any measure.
Grimey Drawer

MeruFM posted:

i'm more confused about Continual Delivery Engineer. I thought continuous delivery was a process encompassing stuff like CI, "agile", and "forever updated" applications like chrome.

Bloody posted:

i interpret continuous delivery as being a push to master is a push to prod

this is not an instant process of suddenly just deploying your poo poo to prod though. it's my job to saddle into a team and take scope of their current path to production and help them help themselves to that goal. sometimes it's clunking heads together for management that doesn't know what it wants, sometimes it's helping write build and test automation frameworks, sometimes it's just helping identify where the pain points are. its real fun though

ahmeni
May 1, 2005

It's one continuous form where hardware and software function in perfect unison, creating a new generation of iPhone that's better by any measure.
Grimey Drawer

HoboMan posted:

so what the gently caress is DevOps?

people who know how to code and know how to do operations is the only common denominator across most places. generally they're people who do build, test and deployment automation with a bunch of infrastructure as code as the underlying mechanism.

some companies abuse them though and they just end up as super operations with no system improvement

Bloody
Mar 3, 2013

GrumpyDoctor posted:

:hfive:

i have no idea how one goes about getting a real job, i've literally never worked for anybody who has any understanding of what i do

it's a great and terrible work style isn't it

compuserved
Mar 20, 2006

Nap Ghost

gonadic io posted:

Do not allow times or dates to be saved without a timezone

this is the big one

fritz
Jul 26, 2003


no stop that, jesus christ

quote:

if you have a std::vector<Object*> v, then v[i]+1 compiles fine and without warning!

:suicide:

get yourself up to at least c++11 and fill that with smart pointers instead

~Coxy
Dec 9, 2003

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

JawnV6 posted:

and yet tab complete isn't...

you can fix that in your .zshrc

quiggy
Aug 7, 2010

[in Russian] Oof.


fritz posted:

no stop that, jesus christ


get yourself up to at least c++11 and fill that with smart pointers instead

would if i could m8, not up to me

FamDav
Mar 29, 2008

BiohazrD posted:

name your poo poo properly. If I'm looking at your source what is the difference between thing.c and thing.C


Unrelated but if you reinstall OS X and specify case sensitivity on the partition it breaks a loooooot of poo poo. Hfs supports it and most apple software doesn't mind but so much other software will break

os x actually makes this problem pretty easy to deal with by just creating a sparse disk image that is case sensitive and only putting the assets you need there. it's what i do when i have to deal with case sensitive build assets from third party stuff at work.

Adbot
ADBOT LOVES YOU

suffix
Jul 27, 2013

Wheeee!

BiohazrD posted:

name your poo poo properly. If I'm looking at your source what is the difference between thing.c and thing.C

thing.C is the c++ version, duh

  • Locked thread