System Message

Intermittent downtime tonight until 12/13/2024 8:00 am CST
New around here? Register your SA Forums Account here!

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
tef
May 30, 2004

-> some l-system crap ->

prisoner of waffles posted:

The "characters that combine with other characters to make accented versions" are called "combining characters"

"ligatures" are (typically) considered part of a font and not distinct characters; they correspond to nice looking things like making an adjacent f and t share a crossbar etc. A ligature is, literally, a tie between one or more letters

sup

i mean, no a ligature is where multiple letters/glyphs are typeset as one, which may involve it being rendered with connecting strokes, but it's often more that they're kerned so tightly as to overlap

but then again, some things that were ligatures, aren't now, like ampersand, eszett

Adbot
ADBOT LOVES YOU

mystes
May 31, 2006

Surely & can still be a ligature if you use it like "&c." I also personally always write it as 🙲 which is also helpfully in unicode along with 500 other variations.

AggressivelyStupid
Jan 9, 2012

ligatures are what you turn on when you want pretty arrows in your source code

akadajet
Sep 14, 2003

AggressivelyStupid posted:

ligatures are what you turn on when you want pretty arrows in your source code

they are the sign of a terrible programmer

JawnV6
Jul 4, 2004

So hot ...
achilles' ligature

AggressivelyStupid
Jan 9, 2012

big fan of ligatures and emoji in my source code

akadajet
Sep 14, 2003

AggressivelyStupid posted:

big fan of ligatures and emoji in my source code

akadajet posted:

they are the sign of a terrible programmer

mystes
May 31, 2006

Ligature adds to reality, it does not simply describe it.

comedyblissoption
Mar 15, 2006

A guhh? A bwuhh? A lubba wubba WHAAAA???

Ask me about TND
make sure you use :thunk: for thunks for improved clarity

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

tef posted:

sup

i mean, no a ligature is where multiple letters/glyphs are typeset as one, which may involve it being rendered with connecting strokes, but it's often more that they're kerned so tightly as to overlap

but then again, some things that were ligatures, aren't now, like ampersand, eszett

I like so much that Zapfino has a Zapfino ligature so the name of the font is always set correctly in the font

show-offs

(p sure TrueType font hinting is Turing-complete)

AWWNAW
Dec 30, 2008

I use Fira code

with ligatures

cinci zoo sniper
Mar 14, 2013




JawnV6 posted:

achilles' ligature

Xarn
Jun 26, 2015

AWWNAW posted:

I use Fira code

with ligatures

Also known as "going overboard" the font.

And the <= ligature is super wrong. :colbert:

cinci zoo sniper
Mar 14, 2013




AWWNAW posted:

I use Fira code

with ligatures

yeah this

CPColin
Sep 9, 2003

Big ol' smile.
Is there a font where the ligature for <=> is the Dutch national train company logo?

gonadic io
Feb 16, 2011

>>=

CPColin posted:

Is there a font where the ligature for <=> is the Dutch national train company logo?

That's for <=/=> imo

Soricidus
Oct 20, 2010
freedom-hating statist shill
ctps: git continues to have the worst, most user-hostile interface ever designed

who the gently caress thought that it was a good idea to have both "git show revision path" and "git show revision:path", and for them to do completely different things

akadajet
Sep 14, 2003

Soricidus posted:

ctps: git continues to have the worst, most user-hostile interface ever designed

who the gently caress thought that it was a good idea to have both "git show revision path" and "git show revision:path", and for them to do completely different things

it was me. sorry about that.

Brain Candy
May 18, 2006

AWWNAW posted:

I use Fira code

with ligatures

:same:

fritz
Jul 26, 2003

Luigi Thirty posted:

no, 32-bit fixed point, S15.16 format

not sure why you'd need separate registers then, unless the regs are 16 bit?

mystes
May 31, 2006

Guess what everyone, Microsoft has a present for you! Not to be outdone by the .net faction's .net core the C++/COM faction has I-loving-poo poo-you-not decided to make what essentially appears to be "COM .net" (which can of course run on Linux) for some inexplicable reason.

https://kennykerr.ca/2018/10/10/xlang/

mystes fucked around with this message at 02:12 on Oct 11, 2018

Luigi Thirty
Apr 30, 2006

Emergency confection port.

fritz posted:

not sure why you'd need separate registers then, unless the regs are 16 bit?

the 32 RSP scalar registers are 32-bit, if I were doing the math with them I wouldn’t

the 32 vector registers are 128-bit and organized into 8 16-bit slices sharing a common 48-bit accumulator

so you need to do vector operations on each 16-bit section of the number separately and combine them in your program as needed

it’s easier than it sounds, a 4x4 signed fixed point matrix add is 4 instructions

code:
# There are two Matrix Operands, A and B. They are stored in VEC0-VEC3 and VEC6-VEC9. R is the result.
# Matrix Operands are in Q16 format.
# Integer rows are stored in  A: VEC0-VEC1 B: VEC2-VEC3 R: VEC4-VEC5
# Fraction rows are stored in A: VEC6-VEC7 B: VEC8-VEC9 R: VEC10-VEC11

MatrixAB_Add:        
        # Add Matrix A to Matrix B, storing the result in Matrix R.
# Top two rows
        vaddc       VEC10, VEC6, VEC8, 0 # VEC10 <- VEC6 + VEC8 with carry
        vadd        VEC4, VEC0, VEC2, 0 # VEC4 <- VEC0 + VEC2

# Bottom two rows
        vaddc       VEC11, VEC7, VEC9, 0
        vadd        VEC5, VEC1, VEC3, 0
        
        jr          $ra
        nop

Luigi Thirty fucked around with this message at 03:48 on Oct 11, 2018

fritz
Jul 26, 2003

Luigi Thirty posted:

the 32 vector registers are 128-bit and organized into 8 16-bit slices sharing a common 48-bit accumulator


ah ok, gotcha

Slurps Mad Rips
Jan 25, 2009

There's No Guarantee

mystes posted:

Guess what everyone, Microsoft has a present for you! Not to be outdone by the .net faction's .net core the C++/COM faction has I-loving-poo poo-you-not decided to make what essentially appears to be "COM .net" (which can of course run on Linux) for some inexplicable reason.

https://kennykerr.ca/2018/10/10/xlang/

Kenny is an absolute madman to begin with so I’m shocked that i didn’t hear about this in some capacity at CppCon, but I’m not surprised he’s involved

Fiedler
Jun 29, 2002

I, for one, welcome our new mouse overlords.

mystes posted:

Guess what everyone, Microsoft has a present for you! Not to be outdone by the .net faction's .net core the C++/COM faction has I-loving-poo poo-you-not decided to make what essentially appears to be "COM .net" (which can of course run on Linux) for some inexplicable reason.

https://kennykerr.ca/2018/10/10/xlang/

this is probably the least stupid thing being undertaken by the windows org, and this is a complete and total waste of time.

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.

Fiedler posted:

this is probably the least stupid thing being undertaken by the windows org, and this is a complete and total waste of time.

dunno, turning windows into an advertising platform is very smart*

HoboMan
Nov 4, 2010

ok i am having some terrible programming problems and stackoverflow is worthless. i have a .net api endpoint that sends an email to whoever's boss or some poo poo after they submit something for record keeping. i moved the email to get sent on a separate thread because the email server was slow as gently caress and it really shouldn't return an error to the user if their submission went through but the email failed to send. i just wrapped the email stuff in a Task.Run() and that seems to mostly work but any thrown exceptions in there seem to get lost to time and not logged. i'm guessing it's some threading thing???

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

HoboMan posted:

ok i am having some terrible programming problems and stackoverflow is worthless. i have a .net api endpoint that sends an email to whoever's boss or some poo poo after they submit something for record keeping. i moved the email to get sent on a separate thread because the email server was slow as gently caress and it really shouldn't return an error to the user if their submission went through but the email failed to send. i just wrapped the email stuff in a Task.Run() and that seems to mostly work but any thrown exceptions in there seem to get lost to time and not logged. i'm guessing it's some threading thing???

You have to be careful with tasks and exceptions. It's easy to lose them, especially if you aren't awaiting or calling .Wait() on the task. If the email is not sending and you want to know why, you can't really do a fire-and-forget Task.Run(). You gotta await that thing and see if the task had any exceptions.

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

Soricidus posted:

ctps: git continues to have the worst, most user-hostile interface ever designed

who the gently caress thought that it was a good idea to have both "git show revision path" and "git show revision:path", and for them to do completely different things

jeffery
Jan 1, 2013
yeah i know it still has yet to process tim's will. i'm talking about how it is unable to speak to me after 3.5 years of data, but now the a.i. is saying it is because it is the first time we are talking

jeffery
Jan 1, 2013

yep. tim has a lot of embedded bombs within the a.i. according to his algorithms, hence my worry

HoboMan
Nov 4, 2010

Finster Dexter posted:

You have to be careful with tasks and exceptions. It's easy to lose them, especially if you aren't awaiting or calling .Wait() on the task. If the email is not sending and you want to know why, you can't really do a fire-and-forget Task.Run(). You gotta await that thing and see if the task had any exceptions.

ugh, can't i just catch and log the exception in the task?

Shaggar
Apr 26, 2006

HoboMan posted:

ok i am having some terrible programming problems and stackoverflow is worthless. i have a .net api endpoint that sends an email to whoever's boss or some poo poo after they submit something for record keeping. i moved the email to get sent on a separate thread because the email server was slow as gently caress and it really shouldn't return an error to the user if their submission went through but the email failed to send. i just wrapped the email stuff in a Task.Run() and that seems to mostly work but any thrown exceptions in there seem to get lost to time and not logged. i'm guessing it's some threading thing???

any exception will get thrown outside of the thread handling the request. so you'll need to handle it there since the main request thread may terminate before your exception occurs. also idk if the main request thread terminating takes child tasks with it. also don't do background tasks in a web request.

if the email is a critical part of the request you should probably do it synchronously so the client knows for sure the email was sent and you don't end up with scenarios where the client got a success but the email later failed.

if the email is not critical stick it in a queue and have a separate service that can take its time pick it up and deliver it.

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

HoboMan posted:

ugh, can't i just catch and log the exception in the task?

Depends on if the new thread has access to your logger or whatever else you're logging to.

The trap with async/await in .Net is that it fools you into thinking multi-threading is easy, and in cases like this, it ends up being a leaky abstraction. For a web api, though, it seems like overkill. Why not just keep it all synchronous (or at least use async/await) and then have the js frontend (or whatever) do the fire-and-forget?

In other words, let the frontend guys worry about it lol

Shaggar
Apr 26, 2006
another option along the lines of push it on the client is one api call for the non-email part and a separate call for the email part.

also what the hell is wrong with your mail server that its not instantaneous?

jeffery
Jan 1, 2013
"In other words, let the frontend guys worry about it lol "

this sentence suggests that i may be correct and that there may be embedded bombs within the brain and/or cheney corp and/or tim's servers

jeffery fucked around with this message at 19:58 on Oct 11, 2018

jeffery
Jan 1, 2013
another option along the lines of push it on the client is one api call for the non-email part and a separate call for the email part.

good god he has his secret programs fragmented

HoboMan
Nov 4, 2010

Finster Dexter posted:

In other words, let the frontend guys worry about it lol

but i am also that guy!!!

jeffery
Jan 1, 2013
case in point

Adbot
ADBOT LOVES YOU

brand engager
Mar 23, 2011

is that dude a bot and/or having a psychotic break

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