|
redleader posted:yeah, streamreaders and writers are a little odd in that they will dispose of the underlying stream when you call their Dispose() method (unless you use one particular ctor) i mean you shouldn’t wag your finger because that’s probably being an rear end in a top hat but you should worry about managing your resources when writing software, and when reviewing your coworkers code it’s a useful thing to bring up
|
# ? Mar 29, 2018 13:43 |
|
|
# ? Jun 4, 2024 15:33 |
|
feedmegin posted:Technically I can think of ways of doing that, e.g. System V shared memory segments i worked on some data compiler that was split up across 20-30 binaries that used sysv shared mem to pass data between stages. doing non-stop pointer arithmetic from a few constant addresses instead of just writing out a file made it impossible to port because the entire program depended on everything being at 0x???????? instead and plus now you dont even have to free() anything!
|
# ? Mar 29, 2018 14:14 |
|
pokeyman posted:i mean you shouldn’t wag your finger because that’s probably being an rear end in a top hat but you should worry about managing your resources when writing software, and when reviewing your coworkers code it’s a useful thing to bring up yeah, epic had really strict rules about this poo poo in .net code and while some people were overzealous jerkwads about it, on the whole it kept the new code from turning into the kinda of lovely unperforming mess that the vb6 code was.
|
# ? Mar 29, 2018 17:36 |
|
Shouldn't I at least bother to ask until I KNOW it's moot?
|
# ? Mar 29, 2018 21:01 |
|
Sweeper posted:I mean you can’t just leak file handles in software that matters, I wouldn’t call wanting to properly close stuff finger wagging pokeyman posted:i mean you shouldn’t wag your finger because that’s probably being an rear end in a top hat but you should worry about managing your resources when writing software, and when reviewing your coworkers code it’s a useful thing to bring up i think it's important to distinguish between memory and other resources, since the mechanisms for managing the two are so different (in .net, different langs have different considerations). i was def. being too pedantic and 'well-actually,' in my post and came off way more assholish than intended
|
# ? Mar 30, 2018 00:33 |
|
Space Whale posted:Shouldn't I at least bother to ask until I KNOW it's moot? yep, and yospos has a surprising breadth and depth of posters with experience in all kinds of fields who are happy to share their knowledge. i know i've learnt a shitload just lurking in a couple of threads here. for .net specifically, the grey forum .net megathread is also pretty good, although a lot quieter. if you don't mind me asking, what's your background?
|
# ? Mar 30, 2018 00:54 |
|
Below post in short: I've been thinking about how to design and document complex Go processing pipelines. My question comes down to, do people already do this, how do they do it better, and what tools do they use? The direction that I have had success with is doing it visually. I have complex data pipelines I'm trying to design for data processing of a project. Any time I go down the rabbithole of using mutex/semaphores to solve a nontrivial sub-task I quickly get to the point where I cannot reason any longer with the logic, it feels as though the implementation has far outgrown the complexity of the problem and the chance of new eyes coming into the project and realistically understanding the logic is low. So, I'm using Go. Go's design is influenced by CSP and as such, I've had success with decomposing each task into a series of broad state machines (as defined by their communication channels), and linking these state machines up in a graph with the directional edges being the data structures I use to communicate. Some state machines that share the same task work in a pool (eg performing independent data compression), and there will be 1->n relationships between senders and receivers. This graphical decomposition has helped me immensely, I use something primitive like LibreOffice Draw to draw tasks in the processing pipeline without worrying about the data structure specifics and without having written down a single line of code, this captures not only the flow of information but whether the communication channels are 1-N, N-M or N-1. Sometimes it makes sense to have 1-N state machines but have separate communication channels for each of them (this delivers some cool guarantees in processing order but I'm not going to go into specifics, that's not the point I wish to discuss). From there I work on the data structures for the initial state machine set of outputs and as I do that, and focus on implementation, it becomes apparent that many of these state machines were overdesigned and their functions can chained together in the same goroutine. What I ultimately would like to see is a page or two of A4 describing the flow of an entire program to serve as the most efficient way for a new developer to know the intent of a program. Each state machines would have 1) the filename, 2) the function of the toplevel goroutine that is responsible, 3) short description (<10 words), and the edges between these state machines list the datatype being sent (and enough of the struct contents for intent to be known), and conceivably a decent way to show fanin-fanout relationships Perhaps I can do the above using GraphViz, describe it all in a relatively simple .dot file, but getting it to generate a graph that looks "right" is another matter. Does anything exist that would make this easy?
|
# ? Mar 30, 2018 07:38 |
|
homercles posted:So, I'm using Go. i'm so sorry
|
# ? Mar 30, 2018 18:34 |
|
I tallied the positives and negatives and (for me) it still seems a net positive. I've done up a small descriptive format and turn it into a dot file file with Perl. Later on I'll augment it to extract out the data structures from the Go code and display them in the edges in a verbose mode. The hierarchical format is good enough that i can embed it in a comment or whatever and has enough knobs and whistles in it that I can affect hint to graphviz where to place nodes.
|
# ? Apr 1, 2018 08:06 |
|
excited for what’s to come! c plus plus needs new blood! https://twitter.com/rainer_grimm/status/980372405305663489?s=21
|
# ? Apr 1, 2018 14:58 |
|
It's April...
|
# ? Apr 1, 2018 17:23 |
|
redleader posted:yep, and yospos has a surprising breadth and depth of posters with experience in all kinds of fields who are happy to share their knowledge. i know i've learnt a shitload just lurking in a couple of threads here. .net for 5 years But mostly webshit
|
# ? Apr 1, 2018 17:43 |
|
Xarn posted:It's April...
|
# ? Apr 1, 2018 17:56 |
|
mystes posted:The article in the link is dated March 26th. but links to a post dated 04/01
|
# ? Apr 1, 2018 18:18 |
|
Shaggar posted:i cant wait for web rear end to deprecate javascript. web assembly will never replace javascript and was never intended to.
|
# ? Apr 1, 2018 18:48 |
|
mystes posted:The article in the link is dated March 26th. When you coodinate 5 people april fools, you need to do it before hand I guess
|
# ? Apr 1, 2018 19:30 |
|
brap posted:web assembly will never replace javascript and was never intended to.
|
# ? Apr 1, 2018 20:15 |
|
I wonder how it'll be until we see people pushing server-side web assembly.
|
# ? Apr 1, 2018 21:10 |
|
Ralith posted:I wonder how it'll be until we see people pushing server-side web assembly.
|
# ? Apr 1, 2018 23:09 |
|
Peeny Cheez posted:JavaScript was never intended to be a server-side language, and yet here we are. Actually...
|
# ? Apr 2, 2018 09:53 |
|
people tend to forget about poo poo like that. javascript was everywhere back in the day. netscape put it on servers, in proxy config files, and for a brief time, as email filters in netscape mail. this sort of dumb "javascript server" approach has been done quite a lot. mozilla rhino & the java "scripting" api for servers were used quite a lot. macromedia released a beta for "flex server" in 2003 which allowed you to write actionscript (a javascript variant) on both the client and the server. it was hurrah'd at the time because you could share code. the word "isomorphic" wasn't invented yet. it was then rediscovered in 2006 with "aptana jaxer" which pulled off a similar trick, letting you build one html and "embed" server-side components in it (similar to coldfusion) finally, in 2008, we saw the release of "v8cgi" which became "teajs", which was a bog-standard cgi server built on top of v8 & javascript. and then in 2009 with "nodejs", which used a lot of the original v8cgi code.
|
# ? Apr 2, 2018 19:13 |
|
https://twitter.com/justicerage/status/980882087795404806?s=21 https://twitter.com/justicerage/status/980886073567076352?s=21
|
# ? Apr 2, 2018 20:17 |
Bulgogi Hoagie posted:https://twitter.com/justicerage/status/980882087795404806?s=21 idgi
|
|
# ? Apr 2, 2018 20:20 |
|
C finally getting swift features?
|
# ? Apr 2, 2018 20:21 |
|
Bulgogi Hoagie posted:https://twitter.com/justicerage/status/980882087795404806?s=21 i'm the contrast
|
# ? Apr 2, 2018 20:34 |
|
|
# ? Apr 2, 2018 21:02 |
|
code:
|
# ? Apr 2, 2018 21:26 |
|
Bulgogi Hoagie posted:https://twitter.com/justicerage/status/980882087795404806?s=21 the only terrible thing going on there is coding without an IDE
|
# ? Apr 3, 2018 05:24 |
|
[code] //the parameter usually known as argv //is named 😀 [/code E: nice, bbcode pratfall
|
# ? Apr 3, 2018 05:27 |
|
Suspicious Dish posted:people tend to forget about poo poo like that. javascript was everywhere back in the day. netscape put it on servers, in proxy config files, and for a brief time, as email filters in netscape mail. my first intern job in like 1997 was writing server-side js for Sybase's Dynamo language/platform/whatever. Source (unversioned ofc) was stored in the db and deployment was copying your dev db to the prod db. document.writeline('<html><body>gently caress</body></html>')
|
# ? Apr 3, 2018 07:46 |
Hello is Go good or bad? Feel free to link me to any posts that described Go faults, I may have seen one but I don't remember. e: oh poo poo it's the one that has github import baked in? Shy fucked around with this message at 08:54 on Apr 3, 2018 |
|
# ? Apr 3, 2018 08:37 |
|
Shy posted:Hello is Go good or bad? Also the one where only the compiler authors are allowed to use generics and everybody else gets to cast to and from Object. (by which I mean interface {})
|
# ? Apr 3, 2018 09:10 |
|
Having said that, my company has a legacy team on azure which they're migrating away from (and also migrating away from c# at the same time for... Reasons?) but they keep bitching about having to learn scala which the rest of our stack is in so they're going to switch to/learn go instead so I guess I might get some first hand experience when I need to interact with their poo poo
|
# ? Apr 3, 2018 09:15 |
|
Shy posted:Hello is Go good or bad? it seems nice enough if you don't want to tangle with C and have a need for speed on the other hand it's like C soooo i dunno. I interviewed with a company whose backend was written entirely in go for unclear reasons. It was the backend of Vivino, a wine app, and I'm having a hard time telling why it would need such speeds where they could probably develop in python and get more done faster.
|
# ? Apr 3, 2018 12:22 |
|
go is badthe talent deficit posted:do you like garbage languages that fail at basically everything they claim to achieve? http://yager.io/programming/go.html https://github.com/ksimka/go-is-not-good
|
# ? Apr 3, 2018 12:40 |
|
Boiled Water posted:it seems nice enough if you don't want to tangle with C and have a need for speed hmmm yes I need speed better use a garbage collector from the 70s
|
# ? Apr 3, 2018 12:45 |
|
every quote of rob pike i read makes me want to punch him in the face
|
# ? Apr 3, 2018 15:21 |
|
Near as I can tell, they realized that generics were absolutely needed for maps, but instead of implementing generics they just hard-coded maps into the loving language. When I last checked (admittedly quite a while now), maps didn't allow specifying non-default key comparison, so something like C#'s Dictionary<string, int>(StringComparer.OrdinalIgnoreCase) would not be possible. Nor would it be possible for anyone else to implement properly, seeing as the data type is built into the loving language.
|
# ? Apr 3, 2018 15:52 |
|
Fiedler posted:Near as I can tell, they realized that generics were absolutely needed for maps, but instead of implementing generics they just hard-coded maps into the loving language. When I last checked (admittedly quite a while now), maps didn't allow specifying non-default key comparison, so something like C#'s Dictionary<string, int>(StringComparer.OrdinalIgnoreCase) would not be possible. Nor would it be possible for anyone else to implement properly, seeing as the data type is built into the loving language.
|
# ? Apr 3, 2018 15:57 |
|
|
# ? Jun 4, 2024 15:33 |
|
go is bad
|
# ? Apr 3, 2018 16:05 |