« first day (278 days earlier)      last day (2902 days later) » 

00:07
@Duga geez
Yeah. One of those days.
I think I'm just gonna install ReSharper and call it.
@RubberDuck make sure you read through some of the "quick tips" ;)
I will. Waiting for the kids to go down.
Or... F it. I'm tired.
00:42
lol tomorrow is another day!
I need to dig up my Office 2010 DVD and then go x64
Not sleeping until RD works with that setup
Coffee's ready :)
00:58
I'm heading to bed. Let me know if you get it working.
You folks know a bit about ANTLR, right?
Bumped into this:
18
A: What would the best tool to create a natural DSL in Java?

Joe SkoraConsidering the complexity of lexing and parsing, I don't know if I'd want to code all that by hand. ANTLR isn't that hard to pickup and I think it is worthing looking into based on your problem. If you use a parse grammar to build and abstract syntax tree from the input, its pretty easy to the...

> Uninstalling Microsoft Office Home and Business 2010...
@SimonAndréForsberg what about it?
@Mat'sMug just trying to wrap my head around what it is
01:13
ANTLR?
a tool that takes a grammar and generates a lexer/parser
The parser takes a string input and outputs a tree representation
Sounds powerful
It is!
I might look into it a bit more shortly. Looking into DSLs in Java...
ANTLR is made for Java
There's even an IDE to help you build your grammar
In Java. Plus you already know a Mug who knows something about it.
TTGTB, catch you tomorrow!
Night!
01:50
> Installing Microsoft Office Home and Business 2010...
(x64!)
02:17
Sub Stupid()
Dim x as Long
x = 0
Do Until x < 0
x = x + 1
Loop
End Sub
Run time until error at Long overload?
Perhaps I should error handle a GoTo that sets x back to 0 lol
Sub Stupid()
Dim x as Long
On Error GoTo Err
Err:
x = 0
Do Until x < 0
x = x + 1
Loop
End Sub
Sub Stupid()
Dim x as Long
On Error GoTo Err
Err:
x = 0
Do Until x < 0
x = x + 1
Debug.Print x
Loop
End Sub
02:34
@Chrismas007 wtf?
(Yay, Office x64 installed, Rubberduck not working)
02:56
... /s/wtf?/hi!
 
2 hours later…
04:59
@RubberDuck got it. we needed to register with .net 4.0, not 2.0.
"RuntimeVersion"="v2.0.50727"
adding a test module blows everything up.
not ready for releasing.
05:16
@Rubberduck203 @knjname ok, I've found why the add-in won't load in Office x64: the assembly is registered against the .net 2.0 runtime.
05:33
> x64 build
oh crap
> x64 build - added "c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase $(TargetPath) /tlb" to post-build events.
there
now I can sleep :)
64-bit Office and Rubberduck #WorksOnMyMachine - here's how: https://rubberduckvba.wordpress.com/2015/03/11/64-bit-rubberduck-a-work-around-until-release-1-21-soon/
 
2 hours later…
09:01
> I need to remember to set up two different builds. One for x86 and one for x64. So long as we need to target 64x specifically, it might as well get the 64x git2 Native binary.
 
3 hours later…
11:43
> Related to #305 and commit 9427f125 We need build configurations that specifically target different versions of Office. It's possible to [conditionally execute Post-Build events based on the Configuration's Name][so], so it's possible to do this. > if $(ConfigurationName) == Debug xcopy something somewhere We'll need the following build configs. - Debug86x - Debug64x * Use 64 bit regasm instead of Visual Studio to register assemblies.
*...
`c:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /codebase $(TargetPath) /tlb` - DebugAccess86x * this one is so ducky can launch Access instead of Excel just by hitting the "Start Debug" button
- Release86x
* Copy the 32 bit native binary of libgit2 to the root folder of the bin - Release64x * Copy the 64 bit native binary of libgit2 to the root folder of the bin We will also need a second set up project to build a 64x installer, or possibly an easy way to flip the installer...
> VBA / SQL Analyst. A contract opportunity is immediately available with our Columbus, Ohio client for a VBA / SQL Analyst who will be responsible for taking current processes that are time consuming and manual and automating them, while **ensuring that this automation is sustainable** once the contract ends. This will include creating modular reporting databases, which will be run from a switchboard tool.

As the person would be automating current reporting, the expectation is that each of the modular database reports will be **completed within 1 to 2 days each, including full documentat
Someone has lost their mind. You can either build something in 2 days, or make it sustainable, but rarely both.....
12:11
Wow. Faster accept on SO ever.
 
1 hour later…
13:19
Oops wrong link lol
@riderBill it prevents one kind of readability, but promotes the kind of readability MatsMug was talking about. I completely agree that if you think you need a comment for every variable, what you really need is better names and smaller routines. I also wouldn't hold your breath waiting on Microsoft to "fix" this. 1) It's likely they purposely added this as a feature and is by design. 2) To the best of my knowledge there are only a handful of people working on improving the VBE, and none of them work for Microsoft. I encourage you to check out codereview.stackexchange.comRubberDuck 4 hours ago
> there are only a handful of people working on improving the VBE
...and it turns out one of them is giving useless answers on SO
TL;DR:
> I also wouldn't hold your breath waiting on Microsoft to "fix" this. 1) It's likely they purposely added this as a feature and is by design.
WTF?!
> I have found that wasting a lot of horizontal white space saves a lot of programming time and avoids errors and frustration.
What?
Nooooooooooooooooooooooo
 
1 hour later…
14:28
> post-build events are only for debugging; coming up with a post-build script that works for both 32 and 64 bit targets will only be a convenience for ourselves.

The 32-bit installer needs to run x86 regasm and the 64-bit installer needs to run x64 regasm to register the assembly.

Note that regasm is warning about the assembly not having a strong name, because of the `/codebase` switch (which is required). Currently we can't have a strong name key because LibGit2Sharp doesn't have one...
> Post build events aren't only for debugging. The post build copies the proper libgit2 binary into the root folder of the bin so the installer can find it. Also, I am strongly opposed to having the installer run regasm. The installer running regasm will mean it can not remove the registry keys it creates unless we specifically build an un-install program. That's not something I really want to do.
How does the assembly get registered then?
The installer does it.
Hence this.
> We will also need a second set up project to build a 64x installer, or possibly an easy way to flip the installer from 64x to 86x.
...by executing regasm.exe, no?
More than likely, but not explicitly.
Explicitly running regasm is problematic. I don't want to be the guy leaving a mess of reg keys behind when the program gets un-installed.
I agree, it'll be easier to deploy with 2 setup projects
14:34
Yeah. I don't like maintaining 2, but it will be easier in the long run I think.
Worst case, we just document what keys are created where
Ugh... Yeah. That will suck though.
The only key I explicitly create is the Rubberduck.Extension key under AddIns.
The installer does its magic for the rest.
Well Mug, you wanted to learn how to build the installer. Now we don't have much of a choice. =)
Eh
lol
How about I build x64 and you build x86?
Sounds like a plan. =;)-
Did you setup install shield yet?
I can put the current installer in the repo and create a x64 project that should be close.
14:51
@RubberDuck Not yet.. tonigh!
Okay. No rush. Just let me know.
Sure thing!
15:47
@Mat'sMug You like that code Mug?
Sub Stupid()
  Dim x as Long
  On Error GoTo Err
Err:
  x = 0
  Do Until x < 0
    x = x + 1
    Debug.Print x
  Loop
End Sub
Trying to make the shortest infinite loop in VBA... I guess there are other options technically
Sub Stupid()
  x = 1
  Do Until x < 0
    x = x
  Loop
End Sub
Anything shorter?
19 hours ago, by RubberDuck
@Mat'sMug Someday we will start a real Rubberduck Software Inc. and get people to pay us for our work.
@RubberDuck I'll do sales for you :-P
> @retailcoder Thanks, it's a great post. I tried it. 1. First of all, I couldn't find the registry entry HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins64, but found HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins which had Rubberduck.Extension inside it. 2. I executed C:\WINDOWS\MICROSOFT.NET\FRAMEWORK64\V4.0.30319\REGASM.EXE /CODEBASE "C:\Program Files (x86)\Rubberduck\Rubberduck\Rubberduck.dll" /TLB. But there still wasn't Rubberduck addin. 3. I...
registered a new registry entry. ``` Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins64] [HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins64\Rubberduck.Extension] "LoadBehavior"=dword:00000003 "FriendlyName"="Rubberduck" "Description"="Rubberduck add-in for VBA IDE." "CommandLineSafe"=dword:00000000 ``` 4. Finally I could found Rubberduck running on my Office x64!...
@Chrismas007 wouldn't Do : Loop be the shortest?
Is Do:Loop proper syntax? What would break a Do:Loop in normal use?
16:06
> :+1: Awesome! (and truly, what a relief!)

I hope you enjoy it as much as we do! We promise next release will be much easier to get to run on x64 - also note that quite a few bugs have been identified on 1.2 ..and most are fixed already, just not released yet; the most important one is that all module options (i.e. `Option Explicit` & others) must be specified **first** in a module (or not specified at all), see #286.
@Chrismas007 Ctrl+Break... or Task Manager :)
ok so changing that any other ideas to shorten code?
> Great! We'll be working on an actual x64 installer for the next release.
ok so changing that any other ideas to shorten code?
@Chrismas007 have you thought of line numbers?
1 GoTo 1
Would that be 1: GoTo 1
Idk. On my mobile.
no, that's a line label. line numbers don't need the colon.. I learned that the hard way :)
Grammar file?
the fix is in the GrammarIsFun branch
16:11
Hmmm... I think the caveat would be the sub would have to perform a function not just "shortest loop"
hi @AvetisG!
@Chrismas007 double-post issues?
@Chrismas007 double-post issues?
Sub x()
  1 x = 0
  GoTo 1
End Sub
Hey @Mat'sMug!
@Mat'sMug I'm flying over the Rockies on Southwest WIFI
ah, that does explain it :)
@AvetisG welcome to extreme VBA-ers' lair :)
16:14
@RubberDuck @Mat'sMug What do you think of that sub x? Performs a function. Any think shorter than 3 characters that is a actual function?
@Chrismas007 just what are you trying to achieve exactly?
@Mat'sMug Shortest infinite loop with a function performed
@AvetisG have you heard of Rubberduck?
@Mat'sMug haha thank you for the warm welcome!
@Mat'sMug haven't heard of it but we DO have VBA legacy code that I refactor constantly and some of it I rewrite in C#
I'll deff take a look at this
awesome! it's our little pet project, @RubberDuck & I :)
16:24
I would love to contribute on GitHub! So once I get home I will give it a look and see what it does, get familiar with it :)
oh that would be awesome, there's a lot we want this little ducky to do!
@Mat'sMug haha we have a deal then!
It would help if you showed us your actual VBA code... — Mat's Mug 1 min ago
@Mat'sMug VTC!
Most of the vb stuff I do is at work so can't really copy paste that but if my contributions don't seem up to par then you can just reject them yea?
16:33
@AvetisG don't worry about that! A fixed bug is a fixed bug :)
It's all C# though
I am more proficient in C# so that sounds great actually!
the latest stuff is in the [1.21] branch, and I have a grammar rebuild in the [GrammarIsFun] branch
@AvetisG You know VBA and C# eh? We need contributors too ya know. =;)-
Welcome to chat btw!
Oh hey.. you guys already talked about that.
Oops.
lol
I just hope the code isn't too much of a mess.. we haven't really XML-documented any of it.
@Chrismas007 That's fairly well golfed.... can you put the assignment and goto on the same line with a continuation?
line breaks are two bytes, colon is one.
Doesn't compile as is...
This does though.
Sub y()
1 x = 0: GoTo 1
End Sub
Or some recursion....
Sub z()
x = 0: z
End Sub
16:45
> Variable 'x' is never used
Don't tell @SimonAndréForsberg I'm golfing in a CR chatroom.
2
@RubberDuck yes I already forked it :) So will definitely take a look at it and see how I can help on open issues.
I really recommend looking at the main site question linked in my meta question. The Mug did a great job of making it a good question. It wasn't in that state when it arrived. — RubberDuck 10 secs ago
Our legacy is all VB and new stuff is C# if you guys look at our legacy vb you will lose 10 years of your life.
2
@AvetisG There's a handful of open issues for the 1.21 release left. Mostly some refactoring and expanding test coverages. If that's not quite your thing, you can take a look at the issues under the 1.3 milestone.
Or, ya know. Play with it and decide you want a totally different feature. Whatevs.
Just happy to have someone interested.
@AvetisG That code huh? The code everyone is afraid to touch?
16:52
@RubberDuck refactoring and test coverage sounds great to start learning more about the project.
You're probably right.
Yeap it's that code. I am thoroughly convinced that there are ghost living in it. At times it breaks and then fixes itself while no one touched it. oh well!
And we're usually here, so if you have questions, just ping us.
Yeah..... that code.
@RubberDuck yeap i'll let you guys know if anything is confusing.
cough the whole codebase cough
lol
16:55
hahaha
@AvetisG in a dream world we'd be able to test all code inspections. I have yet to figure that one out. we need some "test workbooks" featuring all edge-case VBA code to test every corner of every code inspection
Yeah... test coverage is... problematic. I tried mocking everything out, but I've been convinced it's better to just keep a specialized workbook in the repo.
with TONS of separate modules
actually, we may need more than a single workbook - we don't want tests to interfere with each other, so we'll need more than just one test VBAProject
> added note about 1.2 installer & x64
@Duga shouldn't that be linking to rubberduckvba.wordpress.com/2015/03/11/… instead?
17:02
> Update README.md

fixed link
@Mat'sMug Yeah. Likely the same problem I had with the git tests. Tests run in parallel.
@RubberDuck Oh you're evil!
@RubberDuck Have you guys tried using builder patterns and just newing up the object in the build method instead of mocking them up. Or there are some weird db calls from objects that when newing up can blow up?
we can't new up anything in the VBE API
@AvetisG External dependencies. .... that ^
They have to be mocked and it's a nightmare.
17:05
^^ we'd have to mock up VBProject, its VBComponents collection, then each VBComponent, their CodeModule, ...
I see I see
it's not impossible though
it's just ...a PITA
/        [TestMethod]
//        public void InitVBAProjectIntitializesRepo()
//        {
//            //arrange
//            var component = new Mock<VBComponent>();
//            component.Setup(c => c.Name).Returns("Module1");
//            component.Setup(c => c.Type).Returns(vbext_ComponentType.vbext_ct_StdModule);
//            component.Setup(c => c.Export("foo")).Verifiable();

//            var componentList = new List<VBComponent>();
//            componentList.Add(component.Object);
I got that to work, but then hit another wall. Point is, it is possible.
I'm going to give it another shot soon.
yeah.. thing is, with the grammar rebuild, we're going to need unit tests for all inspections and refactorings
Yeah. I know. For the greater glory.
@SimonAndréForsberg LOL. I know. I even have some rep on PPCG
17:10
well there's the greater glory, and also because we'd like to be able to rebuild the lexer/parser off a revised grammar at any time, without fear of breaking code inspections
@RubberDuck you WHAT?!! TRAITOR!!!!
4
A: Sing Happy Birthday to your favourite programming language

RubberDuckVBA 99 Why VBA? Why not? Sub H(): For i = 0 To 3: MsgBox "Happy Birthday " & IIf(i = 2, "Dear VBA", "to You"): Next: End Sub Ungolfed Sub H() For i = 0 To 3 MsgBox "Happy Birthday " & IIf(i = 2, "Dear VBA", "to You") Next End Sub

lol
has your favourite programming language changed lately? ;)
oh, and did you try out R#?
I like this answer on that question.
1
A: Sing Happy Birthday to your favourite programming language

BrandonC# (Full program) - 162 namespace O{class P{static void Main(string[] a){for(int i=0;i<4;)System.Console.Write("Happy Birthday {0}\n",++i==3?"Dear god why do I golf in C#?":"to you");}}}

> "Dear god why do I golf in C#?"
@Mat'sMug No. I was actually getting ready to install it.
ugh I've had it with this one.
17:25
You guys are missing the point. The question was how to make the editor let me line up my code. I didn't ask about the use of comments or assignment statements (and BTW @mat, they are assignments, not declarations. Learn the terminology). My example code is for illustration. — riderBill 10 mins ago
Hear that @Mat'sMug? learn the terminology!
lol
yeah, that guy's going to teach me something
I just pointed him to one of my Reviews where I told someone else to knock it off. Hopefully it either sinks in or he goes away.
Either way, I'm done with it.
next comment I'm flagging him
@Mat'sMug I don't want to say "I told you so", but...
22 hours ago, by Simon André Forsberg
As your answer is now, it goes pretty much straight to "Change your style!". It would be better if you add some "fluff" around that.
well, his coding style sucks. I'm doing him a favor.
17:27
It is not that easy to understand that "The VBE (VBA's IDE) has a soul. And it eats extraneous whitespace for breakfast." really means "It's not possible"
anyone that has ever written VBA knows ;)
@Mat'sMug He doesn't want the favor. You can say that as well, but don't forget to actually answer his original question
I didn't realize Duga would post that there...
lol
she's alive!
17:29
@Mat'sMug always alive!
@SimonAndréForsberg No. He doesn't. He just wants to gripe about the editor.
I actually wrote something about people like that the other day.
well look at that
@Mat Sorry for the snide comment. SO won't let me edit it out of the comment. I was just a little wound up. I really hate VBA. I'm only using it to help out a friend. — riderBill 3 mins ago
Still, blasphemy.
Oh wait.... we all hate VBA.. except when we love it.
@RubberDuck Why use IIF?
@Chrismas007 because short
17:38
That ^ @Chrismas007. I was golfing.
@RubberDuck Yea nevermind. I was thinking IF would suffice. Misread.
@Chrismas007 =)
@SimonAndréForsberg edited
17:59
@Mat'sMug upvoted
@SimonAndréForsberg Danke!
> 45 downloads
(3 more and it beats 1.1)
18:42
I'm a genius.
2
I just turned a 3 month project into a one day endeavor.
nice!
Well... one day plus testing/validation, but yeah.
Question is, how soon do I tell them?
Why a message box? Wouldn't a user form and list box be more appropriate? — RubberDuck 9 secs ago
@RubberDuck lol
2
19:25
@RubberDuck How!?
@SimonAndréForsberg vs. @Mat'sMug: 2036 diff. Year: +1100. Quarter: +1100. Month: +530. Week: -25. Day: -15.
Feel no pressure, @Mat'sMug ^^
lol
so I'm +15 for today?
yup
keep it up :)
@SimonAndréForsberg We were looking at duplicating an existing process for a different area of the business. We expected to really actually have to duplicate the whole database and everything, but I realized I just needed an argument and switch. One SSIS package changes. That's it.
19:27
there goes your bonus?
@RubberDuck oh I love it when code is written flexible already :)
if SSIS can be considered "code"
That ^
@SimonAndréForsberg Well.... I did build it to begin with.
2
=)
@RubberDuck ah, that explains it
19:28
what is SSIS?
Sql Server Integration Services?
Intelligence Services?
integration
Idk..... this GUI that works half as well as pure TSQL in a scheduled job.
hmm I have an SSIS package right here that does in < 10 seconds what a TSQL script does in > 10 minutes
with logging and all
ok maybe not as much
can a TSQL script run other TSQL scripts in parallel, each with their own connection?
@Mat'sMug Fair point. I just tired of fighting with the gui.
19:33
I'm getting pretty good with SSIS now :)
(I think)
I'm pretty good with it. More of my job is working with it than I like.
can't wait to deploy that shit and move on to SSAS
building a dimensional database is just ... something else
I've not had that kind of misfortune yet.
I get transactional dbs. Warehouses are mindblowing.
where
	mo._Id is null or (mo._EffectiveFrom <= wip.DateIssued and (mo._EffectiveTo is null or mo._EffectiveTo > wip.DateIssued))
	and ma._Id is null or (ma._EffectiveFrom <= wip.DateIssued and (ma._EffectiveTo is null or ma._EffectiveTo > wip.DateIssued))
	and sz._Id is null or (sz._EffectiveFrom <= wip.DateIssued and (sz._EffectiveTo is null or sz._EffectiveTo > wip.DateIssued))
yup
but then all that crap is abstracted away by SSIS, into the Normalized Data Store (NDS). The ID's just magically line up :)
the Dimensional Data Store (DDS) just takes tables from the NDS and makes dimensions and facts out of 'em
and processes cubes
the dimensions are just relational DB tables (more like views actually) on which you define hierarchies
and each level in the hierarchy has attributes
#funfunfun
19:50
@Phrancis
> I'm surprised that the string would create a new query plan for each one.
I kid you not man.
<---- I'll just point to my icon now
3
20:21
^^ lol
All the removed things!!!
I'm not fast enough.
(hint @RubberDuck: you own this room - nothing is ever really deleted ;)
Oh wow!!!
I didn't know I could do that!
lol. That's funny.
20:29
you got a little novel waiting for you in the 2nd monitor ;)
 
1 hour later…
21:41
最終的に64bit環境でRubberduck動きました https://github.com/retailcoder/Rubberduck/issues/305#issuecomment-78291832
22:06
> Hey @retailcoder and @ckuhn203 -- really glad to hear that an x64 installer is in the queue. I unfortunately did not have as much success as @knjname, and after following his instructions wound up with a VISIBLE but not functional Rubberduck:

![image](https://cloud.githubusercontent.com/assets/6598675/6607954/0262807e-c811-11e4-84a8-233db4b6f858.png)
> @danwagnerco That's a good sign - it means the Addins64 key is ok, but then it's refusing to load because the assembly isn't properly registered. Did you run regasm.exe on your installed dll? Open up an administrator command prompt and run this: C:\WINDOWS\MICROSOFT.NET\FRAMEWORK64\V4.0.30319\REGASM.EXE /CODEBASE "C:\Program Files (x86)\Rubberduck\Rubberduck\Rubberduck.dll" /TLB If you get any weird output or error messages, please paste them here (the warning about Rubberduck not...
having a strong name key is normal).
22:37
> @danwagnerco worst case, 1.21 shouldn't be more than a week or two away.
@RubberDuck the options must be specified first grammar bug is annoying me. A lot. I think we should push the grammar fix for 1.21
That bug is breaking code explorer, inspections and refactorings...
Nervous about merging GrammarIsFun into 1.21 though
(late meeting starts)
23:04
@Mat'sMug 1.21 is pretty stable. I think we should keep it that way.
23:59
RELOAD!

« first day (278 days earlier)      last day (2902 days later) »