« first day (1504 days earlier)      last day (1676 days later) » 

16:02
Just don't be that Redmond-based multi-national that continually takes a billion dollar valuation, and then seems to add, rather than subtract technical debt, and yet somehow end up paying a multiple of the original valuation.
Ah, but there's no such thing as "technical debt", only "value add opportunities"
> `IsMissing` is valid when used with the implicit return variable of a Variant returning Function or Property Get, although if you need to check whether you've assigned a return value, your procedure is probably doing too much, or your branching-logic needs tightening:

```vb
Function foo() As Variant
foo = IsEmpty(foo)
End Function

Public Property Get bar() As Variant
bar = IsEmpty(bar)
End Property
```
> @ThunderFrame I don't know the answer. I asked on OSS.SE: opensource.stackexchange.com/q/7124/575
@ThunderFrame it's as if they want to fail but fail at that.
@mansellan you're forgetting about "synergies and competitive incentives", which I think equates to redundancies and antitrust abuses.
2
16:42
> This seems relevant:

https://opensource.stackexchange.com/questions/6582/can-i-remove-some-copyright-holders-from-headers-and-replace-them-by-a-generic?rq=1
@this $5,123,417 if the devs are paid $75k/year.
Estimated time: 68 person-years
We've, what, put in maybe 10 altogether?
Hi all. There's the @Folder tag at the tops of modules. What's the correct way to use it? Am I understanding correctly that the tags are what RD uses to create the folders in the tree? Is it meant for user-use, or should it only be changed by RD? I don't see anything in the RD Add-In menu tree that mentions folders.
it's intended for user-use
there is some RD tooling around it, but IIRC we're still a bit away from only having RD edit it
'@Folder("Parent.Child")
^ syntax
IIRC, we support single-quote or no-quote too.
16:52
So it's ok to directly edit the tag in the module? It won't knock anything of sync with anything else?
Nope, it's actually currently the only way to customize your folders
@spinjector well the CodeExplorer will only update when you reparse
Ah ok cool. Thanks. I could benefit from grouping my modules.
There's talk about adding support for (re)naming folders, but not yet.
16:53
Yes, I figured a reparse would be needed.
Oooooh. Yea, having an interface to rename folders would be cool.
@spinjector warning: it's very addictive ;-)
Yes, much of RD is, lol.
Given that we are already listening to keystrokes for the AC, seems not too farfetched to write a service to trigger parse when editing annotations.
@this we wanted reparse on keystroke anyways, soo ...
yeah I remember seeing an issue / PR which was disabled because too slow
16:56
unsurprisingly...
but for annotations, it should be OKish, I think.
Inspections not cancelling would have been part of why
we need to figure out smaller-granularity parsing before we can parse on keystroke
Agreed
^
The CodeStringParser has to be part of the solution
16:57
hm, don't we have to resolve?
it does none of that. (and isn't meant to do that anyway)
I've changed the interface a little
no worries. I am sure you found plenty to improve on my monkeypatch. :)
I mean given the line offset, the IParseTree and the ITokenStream, we should be able to plug them into the big-picture parser and get it to work.. I think.
17:00
I'm doing an exercise in reverse-engineering.
@MathieuGuindon I think to further optimize, you need to have more granular references than module to module references, too. Most of time our edits will be scoped to a single procedure, so we only need to rebuild the procedure's parse tree and not even touch others, except when we're changing the procedure's signature or module's declaration sections.
that would cut down a lot of work for the resolver, I'd hope.
@this but one single line change wrecks the positioning of every token that follows
we need some way to decouple token positions from codepane position
probably asked that before but why not just have a parse tree for each procedure then a mechanism to union them into one big stream?
@this would that not entail implementing ITokenStream ourselves?
Hmm
no, shouldn't because VBIDE API already can provide you the proc sections using ProcStartLine, ProcLines (or whatever they're called), which you provide as a single input. You then only need to keep them in the same order as they appear in the code pane. To get the L, it's a addition of all previous elements' line count. Rewrite would only affect that procedure's parse tree, then you update the line count for the RD's display.
the tricky part will be when they cut'n'paste a procedure from one spot on the module to the other spot in the same module. But that means a module-parse and rebuilding the procedures' collection/parse trees.
(a huge grain of salt needed)
17:14
@this this could help avoiding the nuking of member attributes on rewrite, if done carefully
does attributes' meaning change based on the position within the procedure?
e.g. does it matter if you put VB_MemberID = 0 on the start or at the end or in middle of the procedure?
I think not.
I have it kind-sorta-but-not-fully working.
I'm stumped on how to have the filter apply directly and not remove results.
17:29
@IvenBach Nice lookin' start you got there!
Ready to help me with the PR? :wink:
The refresh that's done by choosing one of the grouping options, I can't achieve with the filtering options. Wracking my peanut trying to figure it out.
the grouping is smokes & mirrors, there's 2 grids
(which is awful IMO)
gosh I hate that toolwindow
I think you'll need to separate the "all results" list from the grids' actual source
I see the layering but can't wrap my head around everything to understand how to properly write the code.
add a FilteredResults property similar to this:
    private ObservableCollection<IInspectionResult> _results = new ObservableCollection<IInspectionResult>();
    public ObservableCollection<IInspectionResult> Results
    {
        get => _results;
        private set
        {
            _results = value;
            OnPropertyChanged();
        }
    }
So replacing github.com/rubberduck-vba/Rubberduck/blob/next/Rubberduck.Core/… with an _allResults _groupedResults _filteredResults?
17:36
then make it your data source
I think I see the way out. Let my use these breadcrumbs...
@IvenBach After our vacation, I'm 3 weekends behind on F1 and 1 each on V8 Supercars & BTCC, plus need to watch the last 2 matches of the World Cup. When I learn to ignore the siren call of the wife wanting to watch the racing and the daughter wanting to watch the football, I'll be ready to dig into some home coding.
Sucker for my ladies...
ooh ooh ooh I think I see it! How to make it work.
Yes, I know the results of 2 of the F1 races and the WC, but we do want to see how they got there...
> Public Sub VARTOFORM()
Dim i
' <====== Right place is here
For Each
### **Dim ctl As Variant** '<====== Inserted By Rubberduck
ctl In Automatiza.Controls
If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then

Dim sName As Variant
sName = ctl.name ' Nome do controle no form
Next ctl
End Sub

_____________
Version 2.2.0.3505
OS: Microsoft Windows NT 10.0.17134.0, x64
Host Product: Microsoft Office 2016 x64
Host Version: 1
17:39
@MathieuGuindon does ObservableCollection have any indexes
TBH I think it might as well be a plain List<IInspectionResult>
That unsettles the SQL snob in me.
@Duga that won't generate errors...
Without the engine to optimize, I think in general, filtering before grouping is preferable.
17:43
@Duga derp... sees the error now...
> `Dim` statements aren't executable, they won't generate an error unless the declared variable is used before the logical line that declares them; being inside a loop body makes no difference, no scope is smaller than procedure scope in VBA.

Rubberduck means to insert a declaration immediately above the first use... but definitely not in the middle of a `For Each` statement. How did that happen....
> Repro confirmed from "introduce local variable" quickfix for "undeclared variable" inspection.
> The culprit is [line 26 of IntroduceLocalVariableQuickFix.cs](https://github.com/rubberduck-vba/Rubberduck/blob/next/Rubberduck.CodeAnalysis/QuickFixes/IntroduceLocalVariableQuickFix.cs#L26):

```csharp
_state.GetRewriter(result.Target).InsertBefore(result.Target.Context.Start.TokenIndex, instruction);
```

`result.Target` is the undeclared identifier; inserting the declaration immediately before `Context.Start.TokenIndex` is assuming that the `result` is located at the beginning of an
@Duga we need an extension method or something, that makes it easy to get the token position of the NEWLINE that immediately precedes a given token.
hmm, perhaps the rewriter could have an InsertOnPreviousLine(int tokenIndex, string content) method
17:58
@MathieuGuindon That would be a huge step in addressing the COM errors in VBENativeServices too. I need to find a way to pass selection change notifications that don't rely on having an IWindow attached to the event args.
@Comintern why not just pass the pointer to the IWindow, and provide a method to convert the pointer into an IWindow? (that presumes the pointer to the IWindow is stable as long as the window is open)
wouldn't that just move the exception on the handler side of things?
@MathieuGuindon that is not sufficient
@MathieuGuindon yes but the clean up is also simplified; you can dispose it within the handler without leaking the com object
(or just not use it at all if not applicable)
18:02
otherwise we'll get erroneous insertions when the usage in the loop is not the first logical line in the loop
line continuations, ya
The bad is that you're now hoping that the IWindow doesn't wander off between the firing of the event and the handling of the event.
we need to determine the largest block containing usages and insert before the first reference on the level of that block
I hate it when windows just wander off when you're trying to clean them...
2
@Vogel612 agreed. It feels weird to see variables dim'd inside a block, esp. when the block is in another block and the variable is still used further down.
18:04
welp... I got muscle memory for "Ctrl + Z, BG, Enter, CLEAR"
@this agreed
wouldn't that be kind of like treating blocks as "pseudo-scopes"?
thinking scope tree here
hang on. you want to tell me that I can do the following:
BlockScopeNode : ScopeNode
With New Something
    Dim result As ...
    Set result = .Property()
End With
Debug.Print result
yup, that's legal
18:07
~sigh
(assuming ... has a default property, otherwise Debug.Print result would throw)
right :)
@this That was kind of my thought.
@Vogel612 When executing Move declaration closer to usage results in code like that, I tend to do a quick cut/pasta to:
Dim result As ...
With New Something
just because it looks too weird the other way.
It would be nice if one had the option.
@FreeMan honestly, move closer should get it right on the first run there...
18:12
now if we treat blocks as "scopes", and use a scope tree to determine where a declaration should be inserted, then we can just walk the .Parent until we find that the .Parent is a VbaScopingNode (or something that means "that's a scope as per language specs"), and then we know on top of which block we need to put the declaration
Doesn't bother me in the slightest personally. I take it as a hint that I might need to extract a function.
9 mins ago, by Vogel612
we need to determine the largest block containing usages and insert before the first reference on the level of that block
@Vogel612 precisely! ..I'm trying to think of a viable implementation :)
(one that doesn't involve the parse tree directly)
@Comintern If only there was a tool that would... Wait! No, if only there was a tool...
^sigh...
in This Is Fine, 1 hour ago, by Tim Stone
Uhhhhhh.... no. http://abc7chicago.com/politics/how-the-russians-penetrated-illinois-election-computers/3778816/
18:15
@MathieuGuindon [backspace] [backspace] [backspace] [backspace]
var containingBlock = declaration.References.Select(ref => ref.Parent<VbaParserBlockContext>())
    .OrderBy(b => b.Length())
    .First()
var usageStatement = references.First();
while (usageStatement.Parent  != containingBlock) { usageStatement = usageStatement.Parent; }
InsertBefore(usageStatement, declaration);
@MathieuGuindon but... why?
@puzzlepiece87 WTAF
@puzzlepiece87 "SQL, an acronym for Structured Query Language, is a common piece of cyber-trickery used to illegally gain access to government, financial, business and private computers."
@MathieuGuindon Just wanted to let you know that ABC Chicago is on to you pretty much everyone in this room xD
oh wow...
Who knew... for the last 20 years, I've been involved with illegal cyber-trickery!
that's some terrible journalism there
18:18
there are so many obvious blunders there it's hard to accept any of it is factual.
@FreeMan I TA'd a class in illegal cyber-trickery, feds come at me
A prime example of why listening to the talking heads on TV makes you smrt.
*snort, yeah
bet you that the author of the article thinks Bobby Table is a real person
18:20
I wonder if my boss knows that I'm a cyber-trickster. I need business cards with that on it.
2
@IvenBach @MathieuGuindon @Vogel612 @FreeMan @Comintern To be fair, it's more like an editorial oversight due to missing word.
@puzzlepiece87 "not"?
The rest of the article makes it clear that the author understands the difference between SQL and SQL injection, including the very next sentence in the same paragraph.
"editorial oversight" is something that is no longer known in any "news" organization in the US and possibly the world.
18:21
> SQL, an acronym for Structured Query Language, is a common piece of cyber-trickery used to illegally gain access to government, financial, business and private computers. Experts estimate that 8 of every 10 data breaches occur as a result of SQL injection.
welp!.... at work I hear talk of actual servers for this SQL stuff... WTH have I gotten involved with?
@puzzlepiece87 selective copy paste for the humor!
conflating SQL with SQL injection, no problem here
@FreeMan Exactly, all about the lulz.
18:22
@puzzlepiece87 and clickbait
@puzzlepiece87 The other 2 are WordPress, but there's a bunch of overlap into the 8 SQL Injection ones.
@this Hodgesmr is very unlikely to be affiliated or to profit from clicks to ABC Chicago.
it would be even funnier (sadder?) if it was the editor that removed the word from the draft before publishing.
@this He is, just check the database.... oh, wait....
"Experts estimate that 10 of every 10 database accesses occur as a result of SQL."
3
18:24
is there a way to directly assign the contents of an Access form combo box a list of values resulting from some cyber-trickery (myComboBox.something = GetTheValues), or can I only add items by myComboBox.Add item?
@FreeMan cringes
ducks ok, school me
@FreeMan IIR there's a way to do that with a PostMessage.
Hello, Is java(android to be specific) not allowed in this room?
Probably more work that the .Add loop though.
18:26
just bind the comobobox by filling in the Rowsource, done.
@Comintern Yeah, since I'd have to figure out PostMessage first...
> Discussions about VBA, the VBE, C#, COM interop and Rubberduck. Also, where Stack Overflow questions become Rubberduck inspection ideas.
@puzzlepiece87 actually thed editor probably collapsed a whole explanation of SQL without noticing that SQL Injection is something different
@this failing to understand... I thought the goal was to decouple the form from anything/everything else.
@Comintern depends on how you define database
18:27
@Vogel612 Yup that seems plausible also.
@user5954246 not forbidden per se, but in general we discuss things relating to Rubberduck (an OSS project written in C#)
@FreeMan if you want to do that, don't use Access.
Though I guess that hardcoding a simple SELECT DISTINCT Col FROM Table isn't too big an issue...
@user5954246 what's wrong with the android room on chat.stackoverflow?
Access' purpose is to be a RAD tool, enabling you to write less, not more code. If you want to go full MVP/MVVM, whatever, you'll have easier time using Visual Studio.
18:29
@Vogel612 rubberducks sound friendlier than androids...
also: java != android
Mind you, I do want to see MVVM used on Access bound form but that won't be easy. To achieve that, a mock data source is needed, I think.
@Vogel612 I tried requesting access to that room once, but they rejected it
@this OK. Attempting to apply the things I'm (partially) learning here to what's relevant at the office. The only way to find the boundaries is to push up against them.
Mat and I had a discussion about that subject a while ago.
18:30
@user5954246 sheesh! see, duckies are more friendly and than androids!!
@Vogel612 Depends on how you define SQL too. I mean, have you ever tried to query QuickBooks using their provider?
:shudders:
and good for you! We shouldn't just do things "because that's how we've been doing it for last 20 years*. I want to improve the testability of Access forms/reports, for sure.
@Comintern :shudders: x2
@MathieuGuindon tyvm
@FreeMan it's just that android is swamped...
18:31
I wouldn't think swamps are good for androids, but what do I know...
@user5954246 their rules clearly outline that to be given talk privileges you must set a username
that being said, this is veering rather off-topicc
@Vogel612 Did this become the brewery chatroom? :P
hmm. craft beer
beering might just be my new favorite verb now :)
@MathieuGuindon It was before. You just didn't know it.
18:34
@MathieuGuindon I think The Office beat you to it by few years.
Thanks
@this is there any preference between setting the recordsource at design time vs run time when there is nothing dynamic in the query that would populate it?
I can see a vote for runtime because I spend far more time looking at code than I do wandering about my forms - they're kinda set it and forget it.
@FreeMan #ItDepends. If you need to change the SQL based on some condition, then I'd do it in code.
SELECT DISTINCT ReportID
  FROM ReportList RL INNER JOIN ClinicConfig CC ON RL.ClinicID = CC.ClinicID
 WHERE GenerateQuarterly = 1
18:38
@FreeMan Me, too. I don't like using Access queries. Many time I wished there was LINQ but alas.
I'm with you on not hiding stuff in control properties, but on the other hand, I hardly ever data bind controls.
Too much of a control freak.
^that's... oxymoronic and funny! :)
ABC Chicago editor to the rescue:
> SQL, an acronym for Structured Query Language, is a database programming language. An "SQL injection" is a common piece of cyber-trickery used to illegally gain access to government, financial, business and private computers.
bingo
I'd remove that "cyber-" buzzword though
Buzzword is exactly right.
At least they didn't call it "the cyber" or reference a 300 pound man on a bed
18:47
I've noticed that news these days seems to be institutionalized "FIRST!!11!!!!!!one!!!!" posting more than anything about journalism.
sad but true
@FreeMan Depends on where you get it from.
Getting it from a tv station is going to fit that mold, yes.
@puzzlepiece87 most any TV or newpaper's web site very much fits that mold. Even (especially?) the "credible" ones. :(
Where do I need to have the caret to activate Refactor|Introduce Parameter when trying to add a parameter to and existing method?
I particularly liked the PSA about North American Hippos. I think every kids should be exposed to it.
I've got a freshly parsed project.
18:50
Normally on the method name works for me.
@FreeMan try a local variable declaration. You're promoting a local, right?
@FreeMan To be fair, when we're talking about primary determinants of a source's credibility, typos and occasional misunderstandings/mis-editings of topics don't really score high for me. I care much more about "did the event in question actually happen" and "is the analysis of the event a plausible analysis or was the author just using the event as an excuse to vent on a topic of their choice".
@MathieuGuindon ah, nope. trying to add a shiny, brand new, never before seen technology one
The link for me was credible, decently-reported, and humorously mis-edited. I'm okay with that. Bigger fish to fry.
guess I could create a local and promote it, or just create it as a param in the first place...
18:54
TBH, Introduce Parameter implies to me that I could add one.
I like busting people's chops for fun as much as the next person, but credibility of news sources/the weatherman isn't the lighthearted topic it once was :(
@this me too...
Promote to parameter would indicate to me that a local becomes a param.
19:08
sigh...
0
Q: Automatically insert/delete rows with corresponding values when a defined button is pressed

Blaine186new guy here....so here's what i have in mind and i'd like your help for the vba codes.... I have 2 excel sheets. In the 1st sheet, i keep/enter various data/values (like a database), and in the 2nd sheet is a formatted table that corresponds to sheet 1 data, and ready for printing for record pu...

@FreeMan CreateObject(Access.Application)
Huh. It just occurred to me that of all of the MS software I've crashed, I've never managed to take down SSMS.
@Comintern lol
@Comintern and lol!
@FreeMan "the vba codes" -> tuned out
2 steps forward, 43 steps back...
@BartvanIngenSchenau I don't know that. Would "I created that organization, own it, have full administrative privileges, decide who's in, who's out, and who can do what [to the extent GitHub lets me configure access]" convince a judge? Or the "entity" must be some registered "company" or "non-profit organization" for that to happen? Why is everything in the world colluding to make OSS so freakin' hard to manage?! I just want to write free software with folks that want to write free software! — Mathieu Guindon 4 mins ago
19:17
"I just want to write free software with folks that want to write free software!" leads me to think that you're overthinking it. Leave the © as is and keep the credits up to date.
@FreeMan maybe I should write a letter to Satya to add a message to Excel, "Excel is not a database. Please stop using it like one. Use an actual database and an actual front-end program for data entry. Mkay?"
You haven't heard anyone complaining about the © have you?
@this that's a plan!
@FreeMan Really? You think that the © violators are going to knock at Mat's door, "hi, I thought I'd like to let you know that I'm violating your ©, so... bye!" ;-)
It could happen...
@this I meant anyone complaining about Mat & Chris' names being in the © and not a generic entity...
19:20
@this I know a paper clip that would be perfect for this
@this can we also get a default off topic reason of "gimme teh codez!!"?
@FreeMan I think it's a good move, especially considering that Chris has rather little code in Rubberduck anymore
It also sidesteps issues with a rogue contributor asserting copyright and suing
@MathieuGuindon groans
> It looks like you're trying to make a database in Excel. Would you like me to launch Access for you?
6
TBH, I'm thinking that yes, the Rubberduck VBA has to be a registered entity. The armchair lawyer in me says that if it's not a person, it can't have rights.
19:22
@MathieuGuindon Even though Rubberduck VBA isn't trademarked, you have full copyright over it, and someone would have a heck of a hard time convincing a judge it wasn't so here.
@this dogs have rights
@this Wrong. That's for trademarking.
@this Companies aren't a person and they have legal rights.
To have copyright, you basically just need to write it down in a public place with proof that you wrote it there.
@IvenBach They are people. Legal person.
19:24
"legal entity"
@MathieuGuindon actually that's usually a wonky special case
Maybe that's what you canadians call it over there. Here, we like funky names like "legal personhood" to talk about corporates having standing before court.
of course US legislation is the odd one out, but AFAIK dogs are usually posessions and generally have no rights at all
Hmm. That's news to me. Never knew dogs anywhere had any rights.
GTG, meetings.
19:25
@MathieuGuindon juristische oder natürliche Personen
aka "legal or natural persons"
They have the right to life, liberty, and the pursuit of happiness, just like anyone else. Well, almost.
They also have the right to keep and bear teeth.
@this wasn't there famously a case about someone setting their pet as the sole heir?
:P
@Vogel612 Yep.
Family pissed them off, so they left everything to their dog.
In Germany that'd make the will mostly useless
19:26
@Vogel612 you see, I have this funny habit of not reading news. I find that it makes my life immediately more enjoyable.
if not completely invalid...
Family sued, and dog won :)
@this random trivia fact from ... probably ages ago
US is F'd
^^ that
that said: I should go back to getting my paper hand-in ready ASAP... I'm a week behind schedule already :/
wtf LaTeX
19:29
@this :+1: I'm also much happier when I don't have to see the magnitude of durp out there in the world.
@Vogel612 IANAL, but I think the fact that Chris & Mat have already asserted © means that nobody else can. You (we) Mat would probably have to get Chris' permission in writing to remove his name from the list.
My point was simply that I, as a user (and eventual contributor) don't really care who owns the copyright.
@FreeMan nah, that's not quite correct
the short of it is that anybody can assert copyright and sue, but most lawsuits have rather little chance of succeeding
well... OK then.
envisions another GoFundMe campaign for Mat to defend his copyright...
asserting copyright doesn't make you copyright holder...
law is a bit weird like that
A good Rechtsschutzversicherung (lit. "law protection insurance") should cover that cost
@Vogel612 bless you! what?
2
@Vogel612 to me that argues the case for making the organization a legal person. Otherwise, the case can be kicked simply because it's found to have no standing before the court. OTOH, it's not like we have a large warchest of cash to pay some pinstriped lawyers to smack around violators....
basically you pay insurance policy (something around a buck a month, I think) to have the insurance cover your process cost.
if you win, they get to keep their money, if you lose, you pay part of the process cost
if you get fined, you of course pay the fine yourself
Am I correct in understanding that the CommandParameter="{Binding ElementName=GroupByLocation, Path=IsChecked}" specifically the ElementName=GroupByLocation is referring to the x:Name="GroupByLocation"` and Path=IsChecked refers to the MenuItem.IsChecked property?
@this I can arrange for the pinstripe suits..
(just the suits though)
@MathieuGuindon that might be enough. pack the court with 10 lawerly-looking guys in the suits then hope they don't call the bluff.
19:36
@Vogel612 so basically I can do it, assuming the risk of "Christopher McClellan vs Rubberduck VBA" over copyright ownerships?
@this though there's organizations that have warchests for that
@MathieuGuindon IANAL, but at least in Germany... yes
though this stuff doesn't get easier considering that this is basically international law
in any case, I did ping him on the issue, so.. he'll probably chime in at one point
and usually people can sue in their local jurisdiction
and in Chris' case that's US and that might be a bit of a mess ...
19:38
well Chris is co-owner and admin of the org as well, so..
IINM, in that hypothetical case, Chris doesn't even have to answer the summon. Of course, that might preclude him from ever visiting Canada.
and IIRC, that's why multinational companies re-register themselves in different countries; so that they have more leverages when they make an assertions.
Laws sure do complicate simple stuff...
3
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@FreeMan Google translates it as: "Legal expenses insurance"
@IvenBach hmm ... I kinda liked the law lecture I had (and which I'm writing an exam about on Monday)
@Vogel612 I saw your edit (after my post), the length of so many German words just amuses me to no end :)
19:43
well... it's not really a single word
it's just that German allows glueing words together
making singlewords
Rechtsschutzversicherung -> Schutz des Rechts + Versicherung -> Protection of the law + insurance
SomethingAlongTheLinesOfNoSpaces?
English uses hyphens to achieve the same. e.g. He-who-must-not-be-named
Oh we can do that, too ... "Er-dessen-Name-nicht-genannt-werden-darf"
19:45
and other more-than-a-single-word words
are adjectives (adverbs?) normally concatenated in German, with each nouns/verbs requiring a space?
@Vogel612 and as a non-German speaker, who can't identify the individual parts, I find it amusing...
sometimes there's hyphenation, sometimes there's not
@this adjectives and adverbs are completely different things
a real question about German - are the nouns normally capitalized?
19:45
@FreeMan all Nouns are captitalized
;)
my wife's so smart...
as are names, including company names, depending on the official usage policy of the company name and a handful of corner cases
we flew Lufthansa to London, so I saw a fair bit of German. Also that whole "4 days in Austria" thing...
it doesn't help that you can "nounify" basically any word
@Vogel612 Ok but I was wondering more whether it's normal to simply concatenate any number of adjectives or nouns-used-as-a-description to a noun, while requiring spaces for noun -> verb?
19:47
and I can't ever reliably keep track of what needs to be capitalized and what mustn't
@this that usually depends
heh. Should have knew better.
e.g. There's the "allgemeine Persönlichkeitsrecht"
but there's also things like "Das Recht am eigenen Bild"
the first being the blanket right for anything related to natural persons, and the second being the right to control over images of oneself
if the concepts are inextricably entangled, the words are
adjectives are separate though. it only works when chaining nouns
24 mins ago, by Vogel612
that said: I should go back to getting my paper hand-in ready ASAP... I'm a week behind schedule already :/
@MathieuGuindon Yeah, but Canada is F'd worse.
~grumpily waves a fist in the air
@Vogel612 Get back to work you slacker!!! have fun!
19:53
o7

« first day (1504 days earlier)      last day (1676 days later) »