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
TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE
c tp s: after spending some time fighting some obnoxious state management issues involving a find-as-you-type thing and the search term in the URL, especially when doing exotic things like using the browser back/forward buttons, I went to look at Jira only to find that the search box on the kanban board has some of the exact same bugs that I had just fixed (like double-fetching when using browser back/forward buttons).

you are in a maze of terrible little javascript passages, all alike

Adbot
ADBOT LOVES YOU

Soricidus
Oct 21, 2010
freedom-hating statist shill
ctps: wasted an entire day trying to get a java http client to talk to a python http server, without success

Sapozhnik
Jan 2, 2005

Nap Ghost

TheFluff posted:

disk fragmentation? what year is it, again?

Index fragmentation, expunged mvcc pages (whatever the correct term for that is) that require vacuuming, deleted record table storage that requires a very heavy vacuum to reclaim

Ssds don't help with any of that unfortunately

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


hell yes searching a generated text column on a database view for a matching string based on a variable that contain unicode, this surely won't create a dreadful performance problem in future!

issue closed: good enough

edit: lol this is also for type ahead search

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Sapozhnik posted:

Index fragmentation, expunged mvcc pages (whatever the correct term for that is) that require vacuuming, deleted record table storage that requires a very heavy vacuum to reclaim

Ssds don't help with any of that unfortunately

that's not disk fragmentation

you need a lot of writes to really make it noticeable though. recently fixed terrible programming: we have our browser session storage in postgres, and until i fixed it a few weeks ago it used to be updated on every single request, for every single user. also got deleted from all the time because the sessions expired after two weeks.

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Powerful Two-Hander posted:

hell yes searching a generated text column on a database view for a matching string based on a variable that contain unicode, this surely won't create a dreadful performance problem in future!

issue closed: good enough

edit: lol this is also for type ahead search
type ahead search does have some usecases i guess but mostly it's just terrible. especially when the underlying data source takes several seconds to come back with response.

cinci zoo sniper
Mar 15, 2013




a senior programmer today told me that the database his project uses as backend has no xml data type. it’s postgresql 11 and i sincerely hope that this is just a cosmic scale misunderstanding and my week didn’t become that longer

duz
Jul 11, 2005

Come on Ilhan, lets go bag us a shitpost


you can build it without xml support but why would you

cinci zoo sniper
Mar 15, 2013




duz posted:

you can build it without xml support but why would you

nah, he technically is on the same team that took 15 months to create a working database replica for a system that exposes a postgresql 8 server with internal data. i do not believe they are able to pull off something like that.

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Powerful Two-Hander posted:

hell yes searching a generated text column on a database view for a matching string based on a variable that contain unicode, this surely won't create a dreadful performance problem in future!

issue closed: good enough

edit: lol this is also for type ahead search

pfft, that sounds like a "next month" problem and not a "today" problem to me

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

Soricidus posted:

i figured it out. or at least i figured out where the variable name was coming from.

i had a lambda in a static member assignment, like
code:
private static final Function<Butt, Poop> myPosting = butt -> butt.poop();
and for some reason intellij was complaining, in the class's non-static constructor, that the variable butt might not have been initialized?

the "fix" for now seems to be to rewrite it as
code:
private static final Function<Butt, Poop> myPosting;
static { myPosting = butt -> butt.poop(); }
which i could have sworn was exactly equivalent by definition, but intellij's compiler seems to be ok with whereas the alternative is an error for some reason?

lol java just mash poo poo till it compiles what could possibly go wrong

I checked but I couldn't reproduce this behavior



seems like there's something weirder going on for you

Arcsech
Aug 5, 2008

Symbolic Butt posted:

I checked but I couldn't reproduce this behavior



seems like there's something weirder going on for you

holy poo poo fix your font

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

good to see linux's font rendering is about as sharp as it was in 2003

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord
not my computer :ssh:

Soricidus
Oct 21, 2010
freedom-hating statist shill

Symbolic Butt posted:

I checked but I couldn't reproduce this behavior



seems like there's something weirder going on for you

I mean there’s a bunch of other stuff in the class and the actual lambda body is more complicated than what I posted and its entirely possible the underlying problem is something different. I haven’t got round to trying to actually figure out a minimal reproduction yet.

Aramoro
Jun 1, 2012




Symbolic Butt posted:

not my computer :ssh:

Lol if the first thing you do on someone else's computer isn't change all the settings.

akadajet
Sep 14, 2003

or at least uninstall Linux

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Aramoro posted:

Lol if the first thing you do on someone else's computer isn't change all the settings.

tweaking settings is bad. you should use the defaults even when they are dumb. tweaking leads to caring about the computer, which leads to suffering. also, nobody tests all the wacky special snowflake configuration settings (and weird combinations thereof) nor about maintaining them, so you're creating a lot of probable problems and a lot of janitoring for yourself.

the road that begins with changing some color scheme settings and a keybind or two leads to becoming some forums poster on some dead forum fifteen years from now furiously arguing that your piece of poo poo os and/or software is the best version because after it they just made things worse (read: different).

there are some acceptable exceptions (like using an adblocker) where the alternative is worse, but as always, code (and configuration) is a maintenance burden and should not be taken on lightly.

or, from a different angle: the computer is a detestable soulless machine that you should not attempt to personalize. do not grace it with care and attention, for it neither deserves nor appreciates it.

TheFluff fucked around with this message at 00:18 on Apr 3, 2019

gonadic io
Feb 16, 2011

>>=
Counterpoint: sync your setup between machines

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE
hmm. nah.

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


first thing I do on all our servers is set the command prompt to green

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

akadajet posted:

or at least uninstall Linux

believe it or not it's a windows machine. idk the owner tweaked the font aliasing settings I guess

AggressivelyStupid
Jan 9, 2012

Soricidus posted:

ctps: wasted an entire day trying to get a java http client to talk to a python http server, without success

how

DaTroof
Nov 16, 2000

CC LIMERICK CONTEST GRAND CHAMPION
There once was a poster named Troof
Who was getting quite long in the toof

Symbolic Butt posted:

believe it or not it's a windows machine. idk the owner tweaked the font aliasing settings I guess

shlock font syndrome

galenanorth
May 19, 2016

How much effort should I go toward to expand my programming skillset without getting paid for it? I only have three years of experience working with Python/Django, HTML5, CSS3, and JavaScript in personal projects. Every ad has a different additional technology involved like React or Angular or Celery or Redis or "AWS services like S3, CloudWatch, CloudTrail, Redshift, EC2". These other technologies aren't strictly required, so I've been figuring I'd immediately dig into learning them on my own time if I managed to get the job anyway. I have a geoscience degree instead of a computer science degree, and I haven't had a remote programming job yet.

galenanorth fucked around with this message at 06:05 on Apr 3, 2019

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
I'd recommend you just try to do stuff that's interesting to you and then do that really well.

In my experience (with admittedly half-decent technical interviewers) it's an assumption in IT that you'll always have to learn new things *anyway*, so this is just part of the job. If you're incapable of taking a job using a technology that you haven't used yet, you're a bad programmer. If, however, you can show that you're eager to learn then that's going to be your way in. Also, counterpoint if this comes up in an interview: anything they can put in their "must have experience with" list is going to be obsolete in 2 years time anyway, so you need to have these learnin' skills regardless.

disclaimer: ymmv, 2 cents, etc

abigserve
Sep 13, 2009

this is a better avatar than what I had before
are modern javascript libraries exclusively developed by insane people?

I started using React as I wanted to dabble with actually nice webpages instead of the usual drivel I produce for people and it feels really weird. Usually I pick up syntax stuff pretty fast when learning a new language but it's doing my head in.

Schadenboner
Aug 15, 2011

by Shine

abigserve posted:

are modern javascript libraries exclusively developed by insane people?

I started using React as I wanted to dabble with actually nice webpages instead of the usual drivel I produce for people and it feels really weird. Usually I pick up syntax stuff pretty fast when learning a new language but it's doing my head in.

Developed but also used by, so I’m afraid I have some bad news...

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

abigserve posted:

are modern javascript libraries exclusively developed by insane people?

I started using React as I wanted to dabble with actually nice webpages instead of the usual drivel I produce for people and it feels really weird. Usually I pick up syntax stuff pretty fast when learning a new language but it's doing my head in.

yes

react is pretty good though (as far as these things go) but it absolutely takes some getting used to.

Soricidus
Oct 21, 2010
freedom-hating statist shill

abigserve posted:

modern javascript

abigserve posted:

actually nice webpages

I wanted to get more exercise so I bought an electric car

abigserve
Sep 13, 2009

this is a better avatar than what I had before

Soricidus posted:

I wanted to get more exercise so I bought an electric car

if there's a better way to make dynamic webpages I'd like to hear it

Really it's just all the esoteric shortcuts. you always get those in any language but it's pretty extreme here - feels like reading/writing Perl sometimes.
code:
// Instead of...
if (cost) { 
   return "penny's on the dollar"
} else {
   return "plum give out"
}
// all the examples are like...
return { cost ? "penny's on the dollar" : "plum give out" }

AggressivelyStupid
Jan 9, 2012

that's just the ternary operator

Aramoro
Jun 1, 2012




abigserve posted:

if there's a better way to make dynamic webpages I'd like to hear it

Really it's just all the esoteric shortcuts. you always get those in any language but it's pretty extreme here - feels like reading/writing Perl sometimes.
code:
// Instead of...
if (cost) { 
   return "penny's on the dollar"
} else {
   return "plum give out"
}
// all the examples are like...
return { cost ? "penny's on the dollar" : "plum give out" }

That just looks like a normal ternary. Angular has this and it's absolutely baffling until you get into it though, This is from the example documentation for a typeahead lookup

code:
  search = (text$: Observable<string>) =>
    text$.pipe(
      debounceTime(300),
      distinctUntilChanged(),
      tap(() => this.searching = true),
      switchMap(term =>
        this._service.search(term).pipe(
          tap(() => this.searchFailed = false),
          catchError(() => {
            this.searchFailed = true;
            return of([]);
          }))
      ),
      tap(() => this.searching = false)
    )
And people will just write all that on 1 line and leave you to get on with it.

redleader
Aug 18, 2005

Engage according to operational parameters

Powerful Two-Hander posted:

first thing I do on all our servers is set the command prompt to green

use amber, you sick freak

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

AggressivelyStupid posted:

that's just the ternary operator


Aramoro posted:

That just looks like a normal ternary.

actually the more correct terminology is conditional operator :smug:

Soricidus
Oct 21, 2010
freedom-hating statist shill

abigserve posted:

if there's a better way to make dynamic webpages I'd like to hear it

the better way is to make your webpages as undynamic as you can possibly get away with

modern dynamic webapps are terrible user experiences. take gmail for example, literally reinventing the splash screen in 2019 because it takes so loving long to load what is essentially a short table of links, and even when it's loaded it's still horribly unresponsive. and that's one of the main products by a company that literally makes the world's most popular web browser, if they can't make web apps good then you sure as hell can't

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE

Soricidus posted:

the better way is to make your webpages as undynamic as you can possibly get away with

modern dynamic webapps are terrible user experiences. take gmail for example, literally reinventing the splash screen in 2019 because it takes so loving long to load what is essentially a short table of links, and even when it's loaded it's still horribly unresponsive. and that's one of the main products by a company that literally makes the world's most popular web browser, if they can't make web apps good then you sure as hell can't

this is correct. also, using react etc kinda encourages inventing your own custom ui elements. don't do that. yes, it's annoying to style a <table>. yes, <form> and plain old <input>s like select dropdowns and textareas and checkboxes etc are boring and sometimes can't be made to look and/or work like your designer wants them to. you should still use them, because when you roll your own you will have bugs, you will probably break undo/redo and/or keyboard shortcuts, and it's terrible for accessibility. no, attaching an event handler that catches a click event on a button isn't enough, you want an actual form with an actual submit event. use the standard loving ui elements, gently caress!

usually the dynamic poo poo breaks browser navigation like back/forward and linking to what you're seeing too. getting that poo poo right is really obnoxious with javascript garbage, and it gets more obnoxious the more dynamic the page is. state management is hard.

i still use it in my daily job because i don't make the design decisions but god drat it i will at least make the navigation work properly if it kills me

yes this means i spend quite a bit of time making dynamic javascript garbage look and behave kinda like it's an old serverside rendered page, but such is life in computer touching

TheFluff fucked around with this message at 12:48 on Apr 3, 2019

abigserve
Sep 13, 2009

this is a better avatar than what I had before

Aramoro posted:

That just looks like a normal ternary. Angular has this and it's absolutely baffling until you get into it though, This is from the example documentation for a typeahead lookup

code:
  search = (text$: Observable<string>) =>
    text$.pipe(
      debounceTime(300),
      distinctUntilChanged(),
      tap(() => this.searching = true),
      switchMap(term =>
        this._service.search(term).pipe(
          tap(() => this.searchFailed = false),
          catchError(() => {
            this.searchFailed = true;
            return of([]);
          }))
      ),
      tap(() => this.searching = false)
    )
And people will just write all that on 1 line and leave you to get on with it.

drat


Soricidus posted:

the better way is to make your webpages as undynamic as you can possibly get away with

modern dynamic webapps are terrible user experiences. take gmail for example, literally reinventing the splash screen in 2019 because it takes so loving long to load what is essentially a short table of links, and even when it's loaded it's still horribly unresponsive. and that's one of the main products by a company that literally makes the world's most popular web browser, if they can't make web apps good then you sure as hell can't

put two apps next to each other in front of upper management and they will pick the one that looks flashier but is worse in every way

akadajet
Sep 14, 2003

Aramoro posted:

That just looks like a normal ternary. Angular has this and it's absolutely baffling until you get into it though, This is from the example documentation for a typeahead lookup

code:
  search = (text$: Observable<string>) =>
    text$.pipe(
      debounceTime(300),
      distinctUntilChanged(),
      tap(() => this.searching = true),
      switchMap(term =>
        this._service.search(term).pipe(
          tap(() => this.searchFailed = false),
          catchError(() => {
            this.searchFailed = true;
            return of([]);
          }))
      ),
      tap(() => this.searching = false)
    )
And people will just write all that on 1 line and leave you to get on with it.

lol I had to explain observables to a jr backend dev messing with angular for the first time yesterday

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006

abigserve posted:

if there's a better way to make dynamic webpages I'd like to hear it

razor components

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