« first day (1735 days earlier)      last day (1445 days later) » 

9:00 PM
comcast is selling 1Gbps down 35Mbps up over coax WITH A 1 TB DATA CAP
 
@mansellan that's rare, I think. most mobile providers (in US?) wants to nickel'n'dime for the data. Or I'm just unlucky.
 
> The United States permits Comcast is selling 1Gbps up 35Mbps down over coax WITH A 1 TB DATA CAP to exist
Fixed that for you
 
scuse me... if you give someone the ability to download at 1Gbit/s
how hte hell is a 1TB cap in any way logical
 
@this yeah, there's more competition in the UK i think
 
@this ?? Unlimited plans have been a thing for like 2 years now?
 
9:02 PM
@mansellan I also suspect the density helps too
 
Even my Google Fi reseller plan has unlimited data after 6 GB
 
@puzzlepiece87 Yeah but aren't they usually a top tier plan?
e.g. cough up a lotta of dough, mac
 
their fiber plan is 2Gbps synchronous
with no data cap
 
@this yeah true
 
BUT it has a 500 dollar activation fee, and a 500 dollar installation fee, plus its 300 a month
oh and it takes 6-8 weeks to get it installed
 
9:03 PM
@this Top tier or family plans. Since most people on SE are developers I considered it more likely than not that unlimited plans are a thing for them and saving money is more of a choice.
 
I'm still waiting on my fiber install.
I suspect it has to do with the frozen ground and freakish amount of snow.
 
also, how the hell are you supposed to really take advantage of 2gb internet
 
Torrents.
 
FTTP is very rare here, except in some new-builds in London
 
@KySoto Those Linux distros aren't going to download themselves.
 
9:04 PM
99% of consumer infrastructure is 1000 base t
 
@Comintern Of Linux and CC of course :-)
 
i dont mean what you spend your bandwidth on
i mean delivering the full amount to your devices
 
@KySoto To be fair, lots of TV is internet-based these days, and people want 4k.
 
@mansellan Absolutely - I'd totally host a Linux torrent.
 
you would have to have 10Gb
 
9:05 PM
It doesn't do you any good to buy a super tv and then put 720p Netflix on it.
 
as a backbone minimum
 
So that's what some people will use the fast speeds for.
 
again, im not talking about content
 
@KySoto just about doable, switches are slowly getting cheaper
 
Netflix advises 25 Mbps for 4K.
 
9:06 PM
im talking about the network infrastructure in their home
 
That's a lot of TVs to eat 2gb.
 
@KySoto Good point but shrugs network upgrades happen in bits and pieces. Do you get a WiFi 6 or whatever router yet?
 
@mansellan yeah, and you would need to buy a switch that has a 10gb port, OR figure out how to set up nic teaming
 
@Comintern "Up to" my friend, "up to"
 
i dont have anything that can do AXE-FI
 
9:07 PM
But yes also a good point.
 
OH right, i havent told that joke here yet
yeah so 802.11ax REALLY makes me wanna call it AXE-FI
 
I guess going to 802.12 was too much of a strain for dem pen-holstered geeks
 
also, my network currently consists of a ubiquiti USG which only has 3 ports, wan, lan, and a wan/lan port
a HP procurve (dont remember the model) with 24 ports
 
@this They'd have to draft a whole new standard though.
 
and a ubiquiti AP
 
9:10 PM
@Comintern so all those letters weren't "standard"?
 
Though till i get the hard line ran through the attic to my office, the HP switch isnt actually hooked up yet
 
and i thought they loved the mountain of paperworks....
 
Actually, 802.12 is already a spec.
 
IEEE 802.12 100BaseVG disbanded
 
> An 802.12 network does not use the media access protocol for either Ethernet or Token Ring. Instead, IEEE 802.12 defines its own media access protocol, the Demand Priority Access Method (DPAM).
 
9:11 PM
IEEE is.... interesting
 
100BaseVG is a 100 Mbit/s Ethernet standard specified to run over four pairs of category 3 cable (cable also known as voice grade, hence the "VG"). It is also called 100VG-AnyLAN because it was defined to carry both Ethernet and token ring frame types. 100BaseVG was originally proposed by Hewlett-Packard, ratified by the IEEE in 1995 and was practically extinct by 1998. In fact, IEEE records the status of its 100BaseVG standard as being a "Withdrawn Standard" (defined as "A standard which is no longer maintained and which may contain significant obsolete or erroneous information.") == St...
 
the logical thing would have been to go 802.XX, whatever is the next
 
"Voice grade"?
 
but no, they had to add letters
 
Is that a euphemism for "it runs on phone cords"?
 
9:13 PM
@this Still better than the USB people
 
Huh. That's actually a "thing".
 
The only standard thing about the standards is that they are non-standards about their standard compliance.
:facepalm:
 
The decapitations are... disturbing...
 
USB Victims seems more apropos
 
I really like the VS2019 splash screen
 
9:21 PM
screenshot? or it's already gone?
googles
hm
 
If it's anything like 2017's start up, it'll be there for a while.
 
would be nice ot get the performance of 2015 back...
(hahaha, nope not going to happen)
 
Wait, wut? There's a Mac version?
 
apparently
 
9:24 PM
Remember, that isn't Ballmer's MSFT.
 
@mansellan purple dots... purple dots everywhere
@this still waiting for open-sourcing of the VBE :)
 
I doubt that will ever happen.
Too many security holes. It would be zero-day Office exploits for years.
 
and not open sourcing it is going to prevent it?
i would have thought the bigger barrier is due to other licenses that are involved in making VBE possible.
 
@Comintern I counted about 2s...
 
esp. if those are involved in any lawsuits (c.f. the Sun one)
 
9:27 PM
@Comintern Usenet
 
that's on a fresh install, no R# yet.
 
Is R# supporting it yet?
 
AFAIK, yes
pretty sure JetBrains gets the preview build as soon as it's out :)
 
I wouldn't doubt it.
 
@mansellan no way
next you're going to tell me it builds Rubberduck in mere seconds?
 
9:32 PM
Open 50 code pane in RD, close it, and re-open it. Betting that's not 2s either.
 
oooh now that must be part of why.. I open a bunch of tabs, hardly ever close any
I basically @skiwi'd my VS
 
^
Unless you pin them, it's really deceptive.
Feb 9 at 16:17, by Comintern
Up to 4 rows of pinned code panes in VS. It's starting to look like skiwi's browser in there.
My codepane selection drop-down sometimes reminds me of a CW error dialog too.
 
This seems silly. Why would having codepanes open cause the startup to delay?
Aren't all those extra stuff like the references/tests/author/whatever supposed to load asynchronously?
 
@this *codepanes. like, many pane-zah
 
Beats me. It does make a noticeable difference though.
 
9:43 PM
team explorer too
 
@MathieuGuindon left out 's' by mistake.
 
and of course, R#
 
Test explorer.
 
facepalm
 
Output.
 
9:43 PM
Server Explorer is the worst
 
What we have here is a failure to load asynchronously.
 
I never use server explorer.
 
^ me x2
 
It's a POS - I'll link over ODBC in SQL Server before I'd use that thing.
 
9:45 PM
Curious, do you use object explorer in SSMS?
 
Hmmmm... Rubberduck.ServerExplorer
 
haven't looked in a long while but I think they are similar-ish. Only that I haven't had a good reason to use SE in VS
 
@this Never.
 
if not OE then what you do for discovering objects? catalog views all the way?
 
@this always
@Comintern O.O
 
9:47 PM
@Comintern wouldn't that tend to end up being host-specific? Access and Excel handles the connections differently.
 
Oh Object Explorer. For some reason I was thinking Object Browser.
 
LOL
 
Yeah, I always use that.
 
I was wondering how the hell you get around without OE. :D
 
@this Why would it? It would be over a .NET connection.
 
9:49 PM
@Comintern of course they had to give it a different name, you know
 
@MathieuGuindon because Microsoft
 
IKR? Like a database can't be a "Solution" or something.
 
@Comintern within the RD's code, yeah but for purpose of discovering connections?
 
@Comintern Ctrl+Shift+N
 
(or creating one?)
 
9:50 PM
Huh. TIL.
 
never used that
just... happened to click the toolbar button for it yesterday when I meant to click the "File" menu
took forever to bring up the wizard
...only for me to close it
 
I'm not sure what you'd use it for.
 
<~ ditto
 
Wow, I didn't even realize SSMS had a properties window either.
 
yeah i use that for the execution plans
hovering over is too annoying
 
9:53 PM
I'm starting to think they were like, "OK, we have all these VS windows - WTF do we fill them with".
I can't figure out how to get it to show anything except connection parameters.
 
the properties window?
on a query window they're useless.
run one w/ execution plan, then use it there
there might been other uses but this is the only use I do use.
 
on a query window it shows the connection state and SPID
 
(and login info)
 
like I said, useless.
 
9:57 PM
SPID is useful when you... well, need to kill it
like.. what the "stop" button does
 
kind of making my point, dude.
:D
but if they didn't have that for the plans, analyzing the plans would be 1000x painful
 
Half the information is in the damned status bar and toolbars anyway.
 
nah, "stop" is for cancelling execution; killing the SPID effectively disconnects the query pane
 
TBF, I don't know why they even thought hovertext was A-OK for execution plan stuff.
There's a context menu to disconnect, too.
 
^
It usually kills IntelliSense in the query pane on my install though.
 
10:01 PM
doesn't changing connection restore it?
I think intellisense can only work with a live connection. Why? Because Microsoft, I guess.
 
Nope. Most of the time once its gone it's done dealing. I just X out panes by habit now.
Not horribly surprising - they can't get the explorer to auto refresh either...
 
you do know about the ctrl + shift + R, right?
 
That's a pretty liberal definition of "auto"...
 
I think there is still some horribly low timeout on the IntelliSense.
 
? where's auto?
 
10:05 PM
It works very inconsistently for me.
 
@this Oh, I thought you were referring to the Code Explorer requiring manual refreshes.
 
SSMS's "Intelli"sense is hardly automatic. You have to refresh it whenever schema changes.
it's also dumb as rocks. I end up writing SELECT 1 FROM dbo.foo, before proceeding to fill out the select list just so I can get sensible selections to save on the type. (Assuming it's not faster to use the scripting options for some reason)
 
A friend of mine does select lists exclusively by drag and drop. It drives me nuts just watching it.
 
really would like to be able to type SELECT foo.bar| and have it transform to SELECT f.bar| FROM dbo.foo AS f
@Comintern meep! I'd go crazy, too.
 
I could kind of understand it if multi-select worked.
 
10:12 PM
Sure.
but OE is too dumb for that.
it'd have to enable multi-select only within columns.
and I guess the intern responsible for that feature was all "bllllahhhh! too hard!"
 
I frequently delete 4 or 5 entire DBs at a go.
FFS, I think they missed some SQL keywords here:
SELECT u_id3,u_id1,who,operator,[when],[time],duration,[status],what,note,[where],[prio‌​rity] FROM
 
@Comintern wait he does D&D and doesn't know the whole set of columns can be brought in just by dragging the "columns" folder??
 
Oh, that's the only one that he types (*).
 
facepalm
 
..... I did not know that.
 
10:18 PM
If I'm cheating, I'll right-click to quick 1000 and delete the ones I don't want.
 
^ do something similar
I ususlly go to the script, though
because the list is different between a SELECT vs. INSERT
 
D&D [Columns] doesn't seem to work for custom table types though
must be a "feature"
 
@this It's another level down in the context menu.
 
I hate that "script insert" creates a bunch of useless placeholders and VALUES instead of SELECT
 
@Comintern also true but you can just use copy to clipboard. saves the trouble of opening yet another query window
especially if you're writing up a batch
 
10:21 PM
Huh. You can D&D constraints too.
 
@MathieuGuindon IKR? I usually just script INSERT, delete the VALUES part, then scrip SELECT to clibpoard, then paste.
 
It's kind of worthless output, but it drops.
 
then it's fairly quick to adjust the columns.
@Comintern apparently any folders within a table
 
i suppose you can find & replace , into something else
or drop in to a string variable. hooray?
 
10:24 PM
TBH, most of the DBs I work with skip the fancy-pants stuff like indexes, constraints, triggers, stored procedures...
Most programmers are crap database designers.
 
unfortunately
and they consistently are stunned when their application die with a merely 20 people workload
and of course htey'll say "let's go NoSQL!"
 
Yep. The worst are the referential integrity errors though.
I spend way too much time handling those in the code that I write.
 
psssshhhh. I have a degree in programming. I can write me a constraint in code much better than those clowns who has years and years to figure it out!
 
More like "what's a constraint"?
 
followed by "oh, I just do it in code. Easier that way."
 
10:30 PM
Or "that will make the DB connection throw on writes".
 
Remember how users really want an Excel? Well, they (the programmers) want an Excel database.
 
lol
 
@this so. true.
 
The fact that I don't quite follow the DB discussion leads me to be concerned that I'm a crap database designer haha.
but then again, my first instinct isn't: "let's go NoSQL" so that's good...
 
it mainly boils down to this: if you are not letting the database engine handle the integrity checks or you are writing the integrity checks in your code, then you're Doing It Wrongâ„¢.
 
10:43 PM
I have never worried about integrity checks... hmmmm... guess I need to review some database design stuff at some point. Fortunately, i'm not working on anything with DBs atm.
 
it's common to see people writing reams of code just to ensure that when you delete an order (for example), all the associated records (e.g. the order details) must be deleted, too.
 
oh, so they don't use like an order schema? i.e. they don't have an order table with id, order_time, cost, recipient, seller, ...
 
In a simple order system, you'd typically have an OrderHeader table and a OrderDetail table.
 
OrderHeader?
 
The OrderHeader would include the details about the order itself - when it was placed, to whom it was sold, etc. The OrderDetail would be the lines on the order - the product selected, the quantity, the unit price.
Together they form a logical entity "Order" which you might create in code but that doesn't exist in database, of course.
 
10:49 PM
hmm, interesting. thanks. I need to take note of that. I would not have thought to separate them.
 
Since an order could have many lines of various products being sold, it's a one-many relationship between the OrderHeader and OrderDetail
so it follows that if you are going to delete the OrderHeader, you want the child OrderDetail records gone, too.
One way to do this from database alone is to have a foreign key constraint with ON DELETE CASCADE, which means that if someone requests a deletion of an order, the engine will automatically delete all the details record for the same parent order.
 
and is deleting the OrderDetail where the reams of code come in?
 
Typically yes because they didn't write that foreign key constraint
so they'll write silly code to query the database if there are child records, then delete them one by one or whatever other silliness they can come up with
 
So the trick is to do ON DELETE CASCADE... Cool. Really interesting. I probably would have fucked this up a lot too. Although, I would have been suspicious of writing that much code since it seems like a pretty standard op.
 
Which is all fun and games until you have 250 tables.
 
10:53 PM
In a more complicated setup, the validation might be more complex -- in that case, you write a stored procedure instead and code should just call the stored procedure, and tell user what the sprocs says.
The application code has no business monkeying with records directly.
 
@Dair The problem is that coders will now lean on EF or some other ORM to do that, then think it's cool because the "framework" is handling it.
 
it has to treat database as if it was a server -- request data, then display it to user, let user do their thing, then tell the database (via a stored procedure) what the user wants to do.
TBF, most ORM generate crappy database operations
 
LOL
 
If you ever had a project with lot of database work, do yourself a favor, and use micro ORM like Dapper and learn how to normalize the database schema
Otherwise, just use a text file.
 
10:57 PM
I asked a question about how to handle SQL queries in python effectively and said that I heard there were lots of problems with ORM and got the response that ORM's being bad was stupid.
 
Dapper is the bomb. I don't need some tool writing crappy SQL for me.
 
@Dair it's because they actually don't know what it's doing.
they see it doing Order.Create() and go OOOO!
when in actuality it's 100000000 RBAR SQL statement
 
Not gonna lie, when I did a little DB work, I had no idea what I was doing. The main reason I used an ORM was because writing "stringy" queries seemed super wrong.
 
And the DB is going. F-U.
 
Oh, sure, I get you on the string query. Doing it in application code would be wrong, too.
 
10:59 PM
@Dair With the micro ORMs, it's more like writing the SQL to fill your classes.
 
That's why you want to do it with a stored procedure.
(or view or table-valued function, too)
IMPOV, raw SQL never should go into the application code
 
@Dair ORMs have the theoretical benefit of allowing you to program without considering the object-relational impedance mismatch
 
@Comintern I ended up using SQLAlchemy which feels a lot like this: sqlalchemy.org
 
that's the database's realm and in there it must stay there.
 
if you need that, sure, use an ORM. If you don't need anything remotely performant and you're happy with keeping dev-time reasonably low, use an ORM
 
11:01 PM
calling a stored procedure enable you to support optimizations of your database without changing your application code.
 
for everything else, you're better off using native queries or a microORM like Dapper
 
Well, good thing I'm not doing any DB atm and I definitely know where to go if I end up doing it again :)
 
> SQLAlchemy's overall approach to these problems is entirely different from that of most other SQL / ORM tools, rooted in a so-called complimentarity- oriented approach; instead of hiding away SQL and object relational details behind a wall of automation, all processes are fully exposed within a series of composable, transparent tools.
If this is true, then that's already much better than most of ORMs out there
 
Well then maybe I didn't mess up that badly :P
 
The main problem with ORMs like EF or NHibernate is that you basically get to say "I wanna classes X, Y, Z with so and so properties" and it then makes up all the schema & the SQL queries under a big mess of pasta code
then you write a innocuous looking LINQ query and it chokes, requiring a million reads from the database just to load 10 records.
 
11:06 PM
and the SQL it generates is hideous to top it all off
 
and it'll be doing it in RBAR manner, too
 
not only is it downright dumb and nobody can hope to understand it, it's also hideous AF
 
(RBAR = row by agonizing row)
 
honestly, if it wasn't for the stringy mess that happens without SQLAlchemy I would prefer to write vanilla SQL stuff.
 
11:09 PM
i'm pretty big on the "Right language for the right job"
 
^ and that's why I prefer that they use views & stored procedures.
 
@this For EF I usually go "Code Second" - make the DB separately according to proper normalisation, then use fluent to define the mapping to objects.
Screw that godawful designer thing. I think even MS gave up on it in the end
 
Oh they did?
 
the problem was, SO isn't for best practices, and as expected asking the question got downvoted and ridiculed immediately
this would have then required me to develop a small project and ask it on CR.
 
tsk.
 
11:11 PM
softwareengineering might take that kind of question, actually
take that advice with a grain of salt though
 
but they could have redirected at least
instead of ridculing and downvoting.
 
@Vogel612 I might consider doing that later if I have to do DBs again lol.
 
(assuming the question was well asked)
 
yea, ridicule is flaggable
explicitly violates CoC
downvotes are not really flaggable, unless you have good reason to suspect serial downvoting...
 
one of the comments was deleted before I deleted it, iirc I flagged it.
meh, I have to say, technically the question probably wasn't a good fit for SO, but then again, I personally think it was a good question, maybe SoftwareEngineering would be a better place.
I still think there is way too much: "If it works, it's fixed/solved" on SO...
frankly, I would argue that mentality is used too much in all of the field...
 
11:19 PM
they aren't paid to make a masterpiece. they are paid to make something
not saying it's right but that makes it very hard to overcome the bent toward getting things done
 
@this I mean dealing with stringy stuff, sure maybe but when performance is critical stuff implodes on itself.
and once it has imploded on itself, you're worse off than square one.
 
hmm IDK - strings in application code typically don't cause performance problems - they are far more likely to cause maintenance problems.
so when the application develop, the cost of adding a feature increases exponentially due to all those stringified representation.
 
@this and then you get to the point where you're worse off than square one. :/
 
yep
 
really sad.
makes me tired thinking about it.
 
11:29 PM
There's one thing that full ORMs are good at, as opposed to Dapper & co. They can translate an expression tree to SQL. So if, for example, you have an OData service (IQueryable for webservices), they can translate webservice calls to SQL.
 
and why would I need that?
 
because enterprise, mostly
 
so that users can define their own queries without needing direct DB access
 
i'm sorry I don't follow
it's a web service. Where's the DB access?
 
you poke the web service on a SOAP endpoint with an XML-defined criteria filter
 
11:33 PM
OK so, let's say the user wants a list of orders, but only for Seattle, ordered by Customer last name, for a certain date range. Are you gonna write a sproc for every possible such permutation, or just allow them to query a REST service?
 
ORM takes that criteria filter, transforms it into a SQL query, executes that against your DB and returns a result set that can get marshalled to XML
 
@Vogel612 or rest
 
yea, most REST endpoints expose some way to communicate with them in JSON and XML is straight up more powerful than JSON (and thus can express more complex queries)
 
and this is better than just querying the database because...?
 
so - GET mycompany.com/orders?q=location:Seatle;orderBy=lastName
 
11:35 PM
but ofc it applies to REST endpoints just as well
 
etc (syntax not correct)
 
I can kind of see why you might want to do this in XML or JSON instead of SQL
 
@this auditing, caching, abstraction, ...
 
but it still ends up being yet another layer
 
yep. enterprise :-)
useful for public APIs though
 
11:36 PM
also it allows you to limit the operations exposed
if you expose a database, that's out there. If you expose an API, only the operations implemented by the API are exposed
 
^ (but tbf, so do database perms / views)
 
Ok, that's a bit more useful. We might not want them to write any query willy-nilly.
 
oh and consider stuff like LDAP / AD credentials or some other way of centrally maintaining credentials and permissions
 
@mansellan True, but at the same time, I don't necessarily want to expose the database schema to the users directly.
(esp. if the users aren't my employees)
a API would add a simple obsfucation
 
obfuscation doesn't add much value there...
 
11:38 PM
@this yes, that's where its useful. Especially if you can't AD. Friends don't let friends put SQL creds in Access linked tables :-)
 
it doesn't matter whether you know the DB-schema or the API's contract
 
@Vogel612 No, not certainly by itself but it's useful as part of security in depth
 
(the top-left box would no longer copy the version information, just clicking on the text would)
 
@FernAndr #bikeshedding: I'd reduce the distance between copy to clipboard and open in file explorer
also I'd want those two to be somewhat more clearly actionable
 
11:40 PM
^ agreed.
also, I think the gray font isn't helpful
it looks like it's dimmed out?
 
like a normal hyperlink such as the website one for example?
 
i'm inclined to style it like a button
like the Report an issue
 
those types of links are commonly styled as hyperlinks though, at least in windows apps
 
yeah, true
 
so... while a button is semantically more appropriate, convention dictates a hyperlink style
 
11:41 PM
then Report Issue is inconsistent, too, no?
but I like that it's a big green button so it's visible
 
"Report an Issue" is a call-to-action
 
yeah
I'm fine w/ the hyperlink for those 2, I guess.
 
no problem, I will do some iterations (but tomorrow)
 
Thanks!
 
I could also show you the two versions (buttons vs hyperlinks) to compare them
 
11:45 PM
fwiw I think Dapper & co should be known as BYOS (bring your own SQL)
 
@FernAndr if you want to. Otherwise, hyperlinks styled like the other hyperlinks is just peachy. :)
 
imo there's a place for both. potentially even within a single solution. Pick the right tool for the job at hand.
should we have a "Like us?" box, with a "Star us on GitHub" button? Too self-serving?
 
probably should
 
Might help us gain on the "other project" ;-)
1 behind atm :-(
 

« first day (1735 days earlier)      last day (1445 days later) »