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
MrMoo
Sep 14, 2000

Kilometres Davis posted:

I'm so sick of JavaScript frameworks

I saw this on Twitter, I think it applies to any JS thing not just React,

Adbot
ADBOT LOVES YOU

MrMoo
Sep 14, 2000

Pretty neat is Toku's fractal tree, free indexes.

MrMoo
Sep 14, 2000

Yas, uTub has moved to Polymer and Mozilla is whining like a big babby.

https://twitter.com/cpeterso/status/1021649116391075840

Why target Polymer v1 and not v2 or v3 that was released at Google.IO this year? Only v1 actually works properly, :lol:

Actually I'm surprised they got Edge working as I find MS's both browsers error out on just loading the most basic of components.

MrMoo
Sep 14, 2000

I'm looking at low-latency video distribution, apparently ultra-low latency is 2-5s in video land with normal latency being ~30s. There are apparently different preferences for producer to :yayclod: and for :yayclod: to consumer, the former being things like RTMP which apparently has low overheads and presumably happy to drop things quickly. Consumer wise MPEG-DASH and HLS are for higher latencies, RTSP and WebRTC are for lower latencies, I guess the preference is no data-loss and just queueing up video instead of real-time adaptive playback. h264 on Chrome is odd in that they will only support it if the platform has hardware acceleration for encoding.

So I have a RTSP multicast feed I need to get into Chrome dotted across a single building. RTSP suggests consumers should be hanging immediately off it, although I'm not sure why that wouldn't be just RTP as media controls seem a bit redundant in a view-only model. As far as I can tell RTSP = RTP + media controls. Browsers have pretty much thrown out native plugins these days and alternatives such as NaCl & pNaCL are already dead whilst WASM is still limited to HTML 5 network connectivity. So a broker of some form is required, there are oodles of media servers that target high latency environments and so of no use, there is a niche of media gateways that simply unwrap RTSP to get the raw video and audio stream and allow you to repack into WebRTC: online education seems to be a popular market.

There appears to be a few options and I've seen implemented two, and completely unrelated to Epic Games, in one media broker call Unreal Media Server. You basically unwrap RTSP like the media gateway, Yanus appears the goto option, but then wrap into WebSockets or WebRTC to send to the consumer. I think you could be super odd and wrap into a WebRTC data channel to feed directly into Media Source Exensions (MSE) instead, thus avoiding any limitations on the codec negotiation within WebRTC.

It all sucks.

MrMoo
Sep 14, 2000

I nice big gently caress you to LG today.

idgi, they loaf off the Apache Cordova project, some wonderfully aspiring JavaScript framework for mobile devices, yet cannot be bothered to actually update their official packages to upstream versions even though WebOS is a primary supported platform. So yay lets have completely broken polyfills injected from random scripts for functions that LG themselves list as totally not supported on the hardware.

The security theatre with Smart TVs is starting to take the piss too, LG warns in their documentation that having an open SSH port is too dangerous! You have to login to a dev portal with an account confirmed by local sales staff, then install a dev-mode app, enable dev-mode, enable a CA server, share keys about, and then you have a time restricted access to the Chrome developer tools in the TV, but it actually only really works with Chrome < v53. After 10 hours rinse and repeat. For some reason the clock has to be correct to login too, otherwise it just yields "Error".

Also, for some reason having XHR access to third party sites is bad and blocked by default. In big red laters LG states that allowing API access is very bad (tm). I guess Corea didn't invent AWS?



MrMoo fucked around with this message at 01:47 on Aug 10, 2018

MrMoo
Sep 14, 2000

prisoner of waffles posted:

Are you still thinking about contracting out some real time charting in JS and if so, have you thought about requirements and acceptance criteria?

It looks like Chrome 69 is my saviour for this, it adds 2D OffScreenCanvas support so you can draw as slow as you want in a WebWorker. So performance out of the window my main issue is getting Plotly to look a bit closer to what is currently shown on Fox TV, that's probably not too difficult just tedious. Then all the remaining work is in my court by setting up the plumbing for real time updates.

MrMoo
Sep 14, 2000

Did it take 2 years to realise the performance difference? :lol:

MrMoo
Sep 14, 2000

the talent deficit posted:

aws is mostly expensive because people are terrible at capacity planning and also love to do absurb things like have every db insert routed through two layers of proxies, a kinesis shard, a dynamodb table, three lambdas and a couple sns topics

https://twitter.com/coryodaniel/status/1029414668681469952

MrMoo
Sep 14, 2000

I've used the fast versions a lot, but the least ones are for saving memory usage but keeping good performance so should be significantly more abundant on embedded platforms and esoteric data stores. I would guess many would just go with the default types though.

MrMoo fucked around with this message at 02:22 on Aug 21, 2018

MrMoo
Sep 14, 2000

You can still have implementation in abstract classes, but it's the closest you are going to get.

MrMoo
Sep 14, 2000

Yay, live TV debugging again,



Apparently NIO IPOd today, a Chinese firm copying Tesla. NIO however was used by Nuveen previously and many data services are still dumb and say the ticker is Nuveen. However at 10am this morning one post on the floor flipped all it's logos from new NIO to old NIO. Like that's two independent servers with no caching. 5 minutes later it corrected itself.

I turned on Cheddar and you can see both logos, as above, however you can see Nuveen is a different ticker code, one of their funds. I think someone is pulling my leg.

MrMoo
Sep 14, 2000

brand engager posted:

lmao the first mention of it I see on my twitter feed is a thread making GBS threads on him
https://twitter.com/ManishEarth/status/1040599002557960197

I measured 30 mins for what only seemed the first 10s of her talk, though her presentation sounds a lot worse than his. Also, he's probably right.

MrMoo
Sep 14, 2000

Slurps Mad Rips posted:

(also, rust doesn't permit per-container allocators yet, so no, she did not write an arena allocator. she wrote an ecs in rust where she doesnt have to worry about an invalid entity bringing the entire system to its knees)

He covered that, he calls it "arena" according-to-him, but not what other people (tm) may understand as that. Invalid entity is fairly mild and Blow says a crash would be better than hiding it because you can go debugging and fix it quickly. The allocator scheme she creates allegedly does not eliminate an incorrect but valid entity being presented due to possessing a stale reference and so the language is not really helping at all and required the same development strategy other languages require too.

MrMoo
Sep 14, 2000

Ha the gently caress, slightly irate developer overwrites last version of his package in NPM with a message saying "stop using this". Subsequently the software disappears from the Internets.

https://www.reddit.com/r/node/comments/91kgte/uws_has_been_deprecated/

I've been trying to get this into production this week as well, dang. It's a rather fast WebSocket library for NodeJS, like 100% faster than the other option available.

MrMoo fucked around with this message at 23:35 on Sep 14, 2018

MrMoo
Sep 14, 2000

CRIP EATIN BREAD posted:

that guy owns.

He has a nice grading repo that really winds some folk up,

MrMoo
Sep 14, 2000

CRIP EATIN BREAD posted:

that guy owns.

The author posted a larger reddit on topic; https://www.reddit.com/r/node/comments/97kn8r/the_uws_npm_deprecation_response/


jit bull transpile posted:

Jonathan blow literally said women are mentally less capable of programming computers. why are you bending over so hard to try to give him cover

We know Blow is more special than the next person, sometimes insight does struggle and make it through his discourse.

MrMoo fucked around with this message at 19:19 on Sep 15, 2018

MrMoo
Sep 14, 2000

cinci zoo sniper posted:

canít wait what will happen in october 2019 when eu does the one last, final dst switch and every terrible coder has to fix hardcoded time zones for an entire continent

mmm, I just know I'm going to have to chase up for timezone updates to servers for this.

MrMoo
Sep 14, 2000

Probably data URLs? idk, the nomenclature is quite specific otherwise you hit multiple different possibilities.

Blobs are JavaScript's binary values, so you can have a data URL, convert to a Blob using fetch(), convert that to an ImageBitmap using CreateImageBitmap(), then paint that to a canvas in an async chain.

MrMoo
Sep 14, 2000

Samsung being terrible again, a basic clock HTML app on an ultra-wide stretch TV at thousands of dollars crashes after a few days:



You need to regularly reboot like a Cisco switch with a memory leak. Interestingly this software does have a watchdog so I added that, however Samsung's Tizen software doesn't support a watchdog, so :lol:

MrMoo
Sep 14, 2000

Snoop into LG's office via screen reflections,



LG apparently testing my app against unreleased TVs. This week it looks like they bumped the Chrome engine running in it so that the CSS height: 100%; broke, works fine in last weeks version. Thanks terrible programmers.

MrMoo
Sep 14, 2000

Finster Dexter posted:

Are you the one that works on stock exchange stuff? Just curious if you worked on this at all: https://jpmorganchase.github.io/perspective/

Written in C++ and compiled for web assembly. Looks pretty hot

Something similar with BoA, however their preference was for IronPython. It looks like a basic OLAP cube but they didn't want to use that nomenclature. The charts are from HighCharts.com, semi-commercial, whilst the grid is an opensource project HyperGrid. It's a bit weird as it doesn't really provide much additional value. Downloading a tonne of quotes or trades into the cube is still slow as balls, and all the UI is outsourced.

My main work is with data distribution and real time UI, both of which this project doesn't cover. I do like that it uses web components though, ✅

MrMoo
Sep 14, 2000

Bloody posted:

ironpython just begs the question of why aren't you using a real dot net language

Dot net languages don't have great analytics support, probably why Microsoft bought R Studio. Everyone uses R or Python with Pandas, Numpy, or whatever.

MrMoo
Sep 14, 2000

The main reason is zero-footprint and full functionality. Second place is probably the RAD and easy deployment.

State in the browser drastically simplifies the server side infrastructure and thus increases stability and performance.

Companies loving centralised certification management are a big hold back though for deployment of HTTPS-only features like service workers. Having to always work through a clunky F5 is a fluorescent monkey dance.

MrMoo fucked around with this message at 00:27 on Oct 20, 2018

MrMoo
Sep 14, 2000

How many message containers do not have problems with integer overflow? If anything JS reads that as a floating point as so is perversely a little better.

MrMoo
Sep 14, 2000

Powerful Two-Hander posted:

haha I had this today, a null object was being json serialised to a string of "null" because I enabled some type of null handling in the serialiser and forgot about it

I have one TV platform that does this and is bizarre because I literally only use JSON.stringify and JSON.parse.

MrMoo
Sep 14, 2000

CRIP EATIN BREAD posted:

i wonder how much overhead is incurred by javascript to do all the "magic" that makes it a poo poo language for brain dead morons to easily write trash

Honestly I think it still requires webdevs some significant effort to generate such wonderful output.

MrMoo
Sep 14, 2000

bob dobbs is dead posted:

julia has lisp disease
(all the libs suck balls)

Julia can allegedly use any C API without shims, which is pretty handy if you had useful libraries to use.

MrMoo
Sep 14, 2000

Working with Boost.ASIO and Boost.Beast this week. Yesterday I get a TLS server up and running and today HTTPS, I'm getting the distinct impression the API is worse than Perl in number of permutations of doing the same thing. Every example and usage is annoyingly different.

MrMoo
Sep 14, 2000

NYSE gave me this as a CSV line using pipe delimiters. Presumably when Microsoft systems collide as no one else is retarded enough to use quadruple quotes and more.

quote:

"CNF|""CNFinance Holdings Limited American Depositary Shares (""""ADSs"""")"," each representing twenty (20) Ordinary Shares""|8|R|0|0|0|0|0|N||GTSS|62",,,,

MrMoo
Sep 14, 2000

fritz posted:

it has been decided @ work that we're going to put this template-heavy sort-of-academic code on an embedded device and one of the troubles we're running into is that many templates are parameterized by size so there's a lot of basically-identical duplicated code and we're running out of room to store the instructions

also they're doing something rude enough with templates that visual studio refuses to compile it

:lol: embedded Windows, try Clang instead, that's what Google have been building Chrome with for a bit.

MrMoo
Sep 14, 2000

What awesome version of GCC supports std::quoted(std::string_view)? It's part of C++17 but GCC 7.2.0 moans like an rear end.

Less than 1 month into a 5 month or so project and almost feature complete already. C++ is so easy these days, first day a TLS server up and running, second day a full HTTPS server up.

MrMoo
Sep 14, 2000

Yay, I'm using libchrome from AOSP as a C++ standard library now :lol: Why the hell is it so difficult to get line numbers in stack traces on Linux? Works out of the box on Windows.

MrMoo
Sep 14, 2000

abigserve posted:

it's network flow data, consists of a single solitary table and looks like this (sorry for the formatting)

code:
Field, Type, Null, Key, Default, Extra
last_switched,datetime,YES,MUL,NULL,
src_ip,"int(4) unsigned",YES,,NULL,
src_port,"int(2) unsigned",NO,,NULL,
dst_ip,"int(4) unsigned",YES,,NULL,
dst_port,"int(2) unsigned",NO,,NULL,
in_bytes,"int(8) unsigned",NO,,NULL,
in_pkts,"int(8) unsigned",NO,,NULL,
protocol,"int(1) unsigned",NO,,6,
src_ipv6,varbinary(16),YES,,NULL,
dst_ipv6,varbinary(16),YES,,NULL,

I guess the intended use is to store and have the ability to search through the data within reasonably narrow timeframes.

Make the IPv6 entries only 12 bytes long and merge with the IPv4 columns to create the final result.

MrMoo
Sep 14, 2000

Try pollts instead?

MrMoo
Sep 14, 2000

8am I found out this news via spider tingly sense. This is a NYSE relaunch (~9:36am) and yet their own system thinks it's trading as normal pre-open. Took them 1Ĺ hours to publish that NYSE wasn't actually trading.

MrMoo
Sep 14, 2000

Anyone use Veracode because :lol:

After smashing CI with way too many builds I get a 17 page report that appears to be utterly incorrect. Half a dozen signed/unsigned comparison errors on what are just lines with function calls in, and this single piece of code, which is apparently a severe numeric error:

C++ code:
poll_tv.tv_usec = delay.InMicroseconds() % Time::kMicrosecondsPerSecond;
That's even copied from :chome:

MrMoo
Sep 14, 2000

Blinkz0rz posted:

i'm about to start a poc with them please tell me more sadness

I have to fix this poo poo to get the application certified :chome:

"Buffer overflows"


That repeated set of lines is the for loop statement here (#2438), but of course not every instance that matches, just randomly picking them as far as I can tell.



"Numeric errors"


poo poo.

MrMoo fucked around with this message at 01:20 on Jan 9, 2019

MrMoo
Sep 14, 2000

elite_garbage_man posted:

Mocking and fixtures help, but if you don't have those tools then yeah making unit testable things is pretty drat hard.

One thing I like about Java is the great mocking libraries available. It blows my mind that poo poo like that isn't anywhere close to what we have for C++. More often than not it ends up being "Just make every function virtual lol" or making interfaces/templates for everything so you can pump in a test specific function.

Just even look at Boost, if your shipping fancy APIs like ASIO you should also ship mocks, but then Boost Test doesn't even provide a mock framework.

Still like the candor of Boost Log where somewhere in the docs the author admits they're a dumb rear end because they do not know how to implement lazy streaming.

MrMoo
Sep 14, 2000

So client is wondering why their app cannot pull in my data which is sent in Protocol Buffers over TLS. Turns out they have terrible coders who were drunk when reading the docs or something, I think someone just copy & pasted terrible code from the Internets.

The standard way of delimiting Protocol Buffers is to use a Varint32 header and then the message body. Every other language but C++ has an API documented on the Protocol Buffers website. If you trawl the bug tracker there is an actual API for C++ shipped with a util header file, but my client did not apparently find that. The Varint32 is a variable length integer upto 32 bits, it can be 1-5 bytes in length. So the bright developers at my client decide to preallocate and use a buffer of encoded size + 4 bytes, and best of all, still write a Varint32 to the buffer instead of a regular Uint32. So random 1-4 bytes of garbage, and lurking ability to get a nice buffer overflow.

If I'm going to have to work around it I think I'm going to stick the lyrics of Hooked on a feeling in those extra bytes.

MrMoo fucked around with this message at 15:26 on Jan 20, 2019

Adbot
ADBOT LOVES YOU

MrMoo
Sep 14, 2000

florida lan posted:

doesnt this just describe regular coders

Probably, although in finance land a lot of websites are blocked limiting that capability. However, HookedOnAFeeling.cpp is a thing for at least a week whilst I disappear from contact. Data QA can enjoy the song playing back throughout the day.

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