« first day (1539 days earlier)      last day (3455 days later) » 

8:00 PM
@korima Those don't look like derivations; they look like composition. Are you sure we're talking about inheritance?
SRP is just a principle, not a programming technique. Don't get caught up in cargo cults.
 
@RobertHarvey What do you mean with derivations?
 
That was the word you used. You said "derivated classes." I assumed you meant "derived."
 
Ammm sorry. Yes, derivated because they help to the main to achieve the goal, no?
 
@AshleyNunn Filed under the category of "Things not to put in blog posts": "I am putting some random pictures in my post, because Jeff Atwood said so. This is my dog Taco. Say hello to Taco."
@korima So basically you mean "related."
 
user15026
I only like pictures if I need them to explain a thing, like in food blogs
 
user41796
8:03 PM
Or if they involve cats?
 
Cats are always OK.
 
user20683
@GlenH7 Cats always need explaining
 
That too.
 
Yes, related, because they achieve a goal together
@RobertHarvey You mean that I should put in differents folders?
Each one with his purpose?
And no mix in the place where they are used?
 
@korima You should know that helper-classes are considered a bit of an anti-pattern. Unless you're doing something like functional programming with helper methods (e.g. Linq), or your utility class is general purpose (like a Math utility class), your methods probably belong with the associated classes, not in a utility class.
There are reasons why you would have utility classes, but some people reach for them when they should just put a static method in an ordinary class, or use a factory, or somesuch.
SRP is a very misunderstood concept. If you want to understand it better, read Bob Martin. He explains it better than anyone, within the context of Clean Code practices.
 
user15026
8:08 PM
@GlenH7 Yes, or trains.
 
Or cats on trains.
 
@RobertHarvey I have read a lot but I cant advance because the examples i read are the same :(
I would like to see other differents with other scenarios
 
What is the example?
 
Employee, WeatherStation... but i dont find any with a window form for example
 
Seriously, though, does anyone use Codility?
 
user41796
8:11 PM
@RobertHarvey We don't, no.
 
user41796
But we're pretty small in the developer world
 
But it might be useful to get better at these programming tests, yes?
I'd have to fake a company email address, but that would be easy enough.
 
user41796
@RobertHarvey Are you referring to this section? codility.com/programmers/lessons
 
@korima Read the example here (below the MVC stuff, the second section):
28
A: Isn't MVC anti OOP?

Robert HarveyMVC is an exercise in Separation of Concerns, a UI architecture. It is a way to corral the complexity that can occur in user interfaces due to the presentation not being separated from the content. In theory, all objects can have behavior that operate on the data they contain, and that data a...

 
@RobertHarvey Ok, thanks. I will see now.
 
8:14 PM
@GlenH7 yes, you need starsan
 
user41796
From a broader point of view, yes, working on programming challenges is a good idea for job candidates
 
for stuff you can't don't want to boil
aka inside of carboy
 
user41796
anything that helps you deal with more challenges / puzzles / ad-hoc type stuff like that will help make you more confident during actual interviews.
 
@GlenH7 Ah, didn't realize Codility actually had a study guide.
 
user41796
@Ampt okay, that makes sense
 
user41796
8:15 PM
@RobertHarvey took me a bit to find it too
 
Why would they advocate for employers, and then publish a study guide? That doesn't make much sense.
 
user41796
I think Codility's paid-for side is strictly to create puzzles, whereas you want puzzles to work on
 
user41796
@RobertHarvey Because employers make their own tests
 
Oh. Didn't know that.
So really, it's just a platform.
 
user41796
I'm guessing it's not a set battery of N tests, but an "infinite" field that employers use to suit their needs
 
8:18 PM
That's genius. One guy could put up a platform like that.
That's what I need. Some "one guy" ideas. Though I think the days of one person making a lot of money selling software he's written personally are probably gone.
 
@RobertHarvey Ok, I understand the concept of agent but how I apply to the scenario I put as example (RssReader). How organize the files in my package?
 
user55340
My nephew is apparently really liking those smartmax building system to make trains.
 
Creating something like this: business/ResourceNetwork (Contains all agents about access internet resource) business/rsschannel/downloader(Contain downloader agent) business/rsschannel/documentparser (Agent for xml parser)
My problem is organize my package files. I dont really know where to put them
 
That's a minor detail. Put them in a single folder, unless you have dozens of them.
 
Oh man, I think must rest. My brain is going to explode. Thanks for all Robert
Maybe sleep help me to see the things more easier xDDDD
 
8:24 PM
@korima The answer to folder organization questions is always the same: organize the folders in a way that makes sense to you and makes things easier to find. That's it.
 
@RobertHarvey I guess... Thanks one again
Well guys, I must go. Good night!!
 
Could someone help with design question? chat.stackexchange.com/rooms/18846/…
 
Wait, what?
What is that? A Chat Room with an enormous description?
 
This is actually content of my question asked on Programmers site, but it was immedietaly downvoted...
 
That's not a good sign.
 
8:28 PM
Yeah, I know, but it's hard to find experts in these kind of technologies.
 
There is no "best way". There is only the way that most effectively meets your software's functional and non-functional requirements.
 
user20683
The only way is "does it work?"
 
user20683
if not, keep working on it
 
user55340
(original question post (10k link): programmers.stackexchange.com/questions/263366/… )
 
And if you're expecting someone to walk you through the entire design process, you're barking up the wrong tree.
 
8:29 PM
I'm not a beginner, but I still need to ask some questions to SPA expert.
 
Make them specific.
 
@Daniel The answer to the question you put in that other chat room is "Learn SPA."
 
user41796
@Daniel Your question is overly broad - you could write a book about the various things you're asking about. Short answer, Angular.js should be fine for what you need. Ember should work too. Pick the one that appeals to you more.
 
Ok, but I haven't found any examples on designing chat with Ember.js and eg. SignalR.
 
user41796
8:32 PM
Then use Angular and move on with your application
 
@GlenH7 sorry... we're having a... disagreement over our cutover to the new environments tomorrow
 
@Daniel SignalR is all about chat and real-time communication. You haven't looked hard enough, or you have poor Google skills, or you just want someone to hand you some code.
 
some people don't think we're ready... despite having sent out emails on monday about the downtime and cutover
 
user41796
@Ampt no worries. RL can sometimes interfere with more important things...
 
No @Ro
 
8:33 PM
@GlenH7 Like Beer.
 
user41796
@Ampt And brewing beer
 
@AshleyNunn needs moar cat pictures
 
The Whiteboard always gravitates back to alcohol, eventually. It's like a gravity well.
 
user15026
@MattGiltaji So picky.
 
user55340
@MattGiltaji Must pay the cat tax.
 
8:34 PM
@AshleyNunn Embedded systems 4 life
 
All articles about chat that I viewed mentioned just chat for everyone. I need smaller chats only for friends etc. I haven't found anything that would make me to tell: "yeah that's this idea".
 
user15026
@Ampt I just like I know what that -means- now, for realsies
 
user41796
@RobertHarvey Still, that's better than leftover well shots. Blech.
 
@Daniel What data store are you going to use? Most databases are capable of separating conversations; it's a set theory problem.
 
user55340
Me and my cat.
 
8:36 PM
Translation: You may need to read some more books.
@MichaelT Holy cow. That looks just like my cat.
 
user55340
@RobertHarvey Black cats have a tendency to do that.
 
@Robert Harvey question is more about how to protect SignalR or use this only for 2 people, how to make it unique. I don't know how to express it well.
 
user41796
@Daniel Authorizations at the service layer
 
user41796
And use a queuing system to distribute messages
 
user41796
rabbitmq is worth looking at from that point of view
 
8:37 PM
@Daniel The posts have to be stored somewhere, unless you just plan on transmitting them without storing them. Stick a user ID on the message, then you'll know where to send it.
 
user41796
and use a topic exchange so you can specify routing of each message
 
@GlenH7 Could you tell me some more, chat should be clone of facebook's one.
 
@MichaelT I'd post a picture of mine, but... Well, just look at your cat. She looks just like that.
 
user55340
@GlenH7 as long as you're not getting rag squeezing in a shot glass.
 
user41796
@MichaelT oh jeeez, that's worse
 
8:38 PM
@AshleyNunn you should get one and make it do stuff!
 
user15026
@Ampt That is very tempting
 
user41796
@Daniel I've already given you as many pointers as I can afford the time for today
 
user55340
@GlenH7 I recall it being "free special" at a college bar... well... back in college... when health inspectors weren't quite so strict.
 
@GlenH7 Okay, thanks. I'll look into rabbitmq.
 
@GlenH7 back to beer?
 
user41796
8:38 PM
go look at rabbitmq. use angular; it meshes well with signalr
 
user15026
I keep eyeing various bits but I am not sure where to start or what is decent for someone who has no idea what she is doing
 
@AshleyNunn Arduinos are fuuuun
 
user55340
And no... I was never that drunk nor that desperate nor that poor.
 
user41796
@Ampt Mmmmm, gonna need a beer
 
user41796
Working on some WTF code... :-(
 
user15026
8:39 PM
@Ampt They do seem fun!
 
@Robert Harvey So I can choose which clients are members of SignalR communication?
 
user15026
I just don't know where to start!
 
@Daniel You can do anything you want. Your a programmer.
 
user15026
@MichaelT Good, because ew.
 
@AshleyNunn step one: buy one. step two: get some cool stuff like servos and LEDs step3: do fun stuff
 
user15026
8:40 PM
@Ampt Well, that answers that :)
 
user55340
@AshleyNunn my brother sent me this link: studio.code.org/s/frozen - fairly sure it won't be that helpful to this situation.
 
My head hurts. Somehow this room has become about homebrew controlled by Arduino using SignalR.
 
@Robert Harvey Ok thanks, but lots of problems and I'm alone. It will be challenging for me to create some API with Ember + SignalR to chat.
 
@Daniel Start small. Build little things that work. Teach yourself enough about it to have confidence that you're doing it the proper way.
 
user41796
@MichaelT that's kinda cool
 
user55340
8:42 PM
(ghads... this got bounced and I have an expired close vote on it...)
 
user55340
22
Q: Why the question "give five things you hate about C#" is so difficult to answer during an interview?

MainMaIn podcast 73, Joel Spolsky and Jeff Atwood discuss, among other subjects, "five things everyone should hate about their favorite programming language": If you’re happy with your current tool chain, then there’s no reason you need to switch. However, if you can’t list five things you hate abo...

 
user41796
@Ampt Any reason why I shouldn't start with a stout?
 
user20683
our initial project for raspberry pi was "use GPIO to light up LEDs in a counting sequence"
 
@GlenH7 because you can't handle the truth?
 
user20683
manageably small
 
user41796
8:43 PM
@Ampt The truth that I'll likely mangle the first batch? I think I can get over that
 
@WorldEngineer I haven't tried doing low level stuff like that on the rPi... I like the little atmel and microchip chips
 
user15026
@MichaelT No, but I like it anyhow
 
@GlenH7 no, that you'll never be able to drink store beer again.
 
user20683
@Ampt lies
 
(I'm kidding on that part... it just tastes so much like water)
your beer will literally taste... thicker. because filtration is for people who have to meet FDA requirements
also, when doing a tracert and one of the lines times out, but keeps going on the next hop
what does that mean
 
user41796
8:44 PM
@Ampt I'm OK with that. Truthfully, I'd like to have enough beer & wine at various stages of brewing that I don't have to buy from the store unless I want to
 
user55340
@Ampt blue honey mead!
 
user41796
@Ampt intermittent connection issues
 
@GlenH7 that's pretty much where we're at
@GlenH7 I mean all 3 attempts bomb out, but it gets to the next stage just fine
how does that work
 
user41796
Could be a misconfigured router that's shunting particular packets the wrong way
 
user41796
remember that packets have a TTL built into them
 
user41796
8:46 PM
I'd be willing to bet that something is looping the packets so they end up dying, but something else in the chain picks that up and gets the packet delivered
 
user41796
But you're at the limits of my networking knowledge
 
huh... yeah... this is really weird...
so we went and mapped an IP to a server over at our favorite hosting network
but.. that IP is already owned by someone else and is used as their mail server
but... we can get to it from the outside
like we go to that ip and get to OUR server
 
user41796
oh
 
yeah..... it's really, really bizzare
 
user41796
The rules get different when you've got IP addr conflicts like that
 
user41796
8:48 PM
which is why you're not supposed to allow conflicts
 
user41796
easiest way to fix the problem is to grab another IP addr
 
yeah.. but how is it resolving at all?
 
user41796
and it makes sense that you can get to it from the outside if their boxen isn't exposed to the outside
 
is it just that two servers are both waiting on that IP
but only ours is listening on 80?
 
user41796
correct
 
8:49 PM
that's fucked up.
 
user41796
I think a router will duplicate and push a packet to both systems with the same IP
 
there look to be many, many routers between us and them
 
user41796
Because to the router, the system is just a connection hung off of its physical ports
 
user41796
right, but the last one touches both your system and theirs.
 
ah, so the closest one to us touches them both... got it
and by us I mean my laptop infront of me
 
user41796
8:51 PM
and to the router, your server isn't 127.0.0.1 but rather q4359asd752, which is its port number for the "physical" port
 
user41796
virtualization screws that up a bit further, btw
 
user41796
but all major virtualization servers provide an internal, software router that provides the equivalent functionality as a physical router with physical connections.
 
yeah... this is weird and wrong and messed up and not my problem
back to rsync
 
user41796
yeah, change your IP if you can
 
yeah we will
just... odd that it worked for so long
 
user41796
8:52 PM
or get the folks who own the other server to change
 
user41796
And ask your provider how in the heck they allowed two groups to get the same static IP
 
@GlenH7 lol they have probably owned it far longer than we ever even knew we needed one
 
user41796
I like how AWS handles that. You click a button to allocate a static IP. Once you do that, they allocate it to just you until you explicitly release it.
 
user41796
All done within the mgmt console; no need to interact with their staff at all.
 
aha... we DO own that address
they're the ones who are mooching!
interesting!!
 
user41796
8:56 PM
I'm assuming it's a completely different organization with the conflicting server?
 
user41796
If so, call up the virt provider and ask them to fix the issue.
 
user41796
Realizing that they have such a speedy response time... :-(
 
user41796
OTOH, if it's trivial for you to switch to a new IP then just do that.
 
@Ampt Did you say this is an email server? That sounds terribly close to what someone would do if they wanted to do some illegal shit...
 
user41796
I'm not a big fan of getting into a protracted shouting match when I can quickly fix the issue if it's zero cost to me.
 
user41796
8:58 PM
@JimmyHoffa That's true too
 
user41796
good way to snoop for email going to the "original" server
 
Not saying they are doing it for that purpose, but when you see things like that you have to start being wary lest you be the one holding the bag when some shit happens and everybody asks why the system wasn't secured
in other words, you may wish to raise flags just to CYA. Paranoia regarding stuff like that is appreciated in many orgs (not all, some disappreciate it, some shrug and keep on keepin on)
 
user41796
@JimmyHoffa You're raising some good points, tbh. It's not unheard of to think that his employer is an active target. And some of their clients are definitely active targets
 
@JimmyHoffa no, THEY are running an email server on it. We're running a mail server
 
user41796
@Ampt both of you are?
 
user41796
9:03 PM
and how long have you had a server there?
 
Sorry, We're running a web server
typing hard talk same time
we're dealing with that now
yeah, I doubt its that
 
user41796
Given your other comments, I'd suspect human error
 
yeah thats what were going on now
holy crap i need a beer
 
user41796
Well said
 
user41796
Doesn't visual studio have some sort of evaluation window so you can quickly test the syntax of something?
 
user41796
9:16 PM
specifically, I want to see what String.IsNullOrWhiteSpace(""); returns
 
@GlenH7 not for C#, fsi is what I use for that: though F# scripting requires ;; to end a statement or block rather than a single ;
Ctrl+Alt+F for FSI pane
 
user41796
@JimmyHoffa Thanks, I'll throw up another project and test there.
 
project? Negative, it's just a pane.
 
user41796
I can test a C# call in F#?!
 
It's just .net :P You have to fully qualify things in the FSI pane though unless you explicitly "open" them (like a using statement): open System;;
then your above statement would execute directly, otherwise it would be System.String.IsNullOrWhiteSpace("");;, if you open System;; first, then I think you won't need the full qualification
I use FSI for testing String.Format crap all the time to see how to get DateTime or currencies formatted correctly etc
 
user41796
9:20 PM
You're correct - once I used the open System;; call I was able to test that String func
 
user41796
and my head is exploding
 
user41796
that's a really cool feature
 
user41796
@JimmyHoffa makes sense, yep. Much better than just guessing
 
been there quite a while :) F# inherited a cool thing from it's O'Caml roots: Intentional support for scripting
 
user41796
would it be close System;; to stop using it?
 
9:21 PM
I don't know how you would unopen something, or if you can... I think it like a C# using statement, you never end a using statement
 
user41796
ok
 
user41796
and I think I like .IsNullOrWhiteSpace() more than I like .IsNullOrEmpty() as it checks for 3 conditions instead of just 2
 
if you want a variable to mess with you can let foo = "bar";;or let quux = 3;;
@GlenH7 yeah, I stopped using IsNullOrEmpty ages ago
 
user41796
I'm replacing a foo.Length == 0 check....
 
rarely do I intend to check if something's empty but whitespace is ok, so IsNullOrWhiteSpace is my first reach
 
9:56 PM
gra the dissonance between FP and OOP is so much, trying to make OOP stuff behave in an FP manner just completely forces you to rewrite it... people who claim multiparadigm means you can use both are spouting nonsense, this is just their motte, their bailey is "OO is the best!"
 
@JimmyHoffa yes... yeess... let the Objects flow through you!!!
 
truth in fact is that everyone who learns FP no longer bothers with OOP. And the two are not intermixable grumble... I'm sitting here debating retrofitting a nice FP api on this validation class we have so you could
 SomeValidator(someField)
.OtherValidator(otherField)
.AnotherValidator(anotherField)
but to do so would totally break all the compatibility with every bit of code currently using it because the OOP fashion this thing is designed makes it not nicely maneuverable into that interface
so you're stuck imperatively rooting after one validator and another and checking results for each one manually instead of letting it generically handle the validation result collection for you
 
You know... I think there's a pattern for this...
 
@Ampt I'll bait ya right back: Let's see it :) I wonder if there actually is anything that OOP has proposed to do anything like monadic composition, I've not seen such
above I'm basically referring to a WriterT Either
 
What about the decorator pattern?
 
10:06 PM
@Ampt I presume you're joking? Not sure..
 
@JimmyHoffa well.. if you just want to keep modifying one object with subsequent calls, that's what the decorator pattern does
I just kind of glanced over your method signature
is that not what you're doing?
 
@Ampt negative, the decorator pattern is where instead of inheriting from a class you make the class a member (field or property) and intercept it's methods so that you can meddle with them before they make it to the type
or add methods that do more stuff below
nah, I'm referring to adding a fluent composition API where each call returns a result that lets you chain another call on. Right now all the validators are floating static instances so they can't be chained, which is a perfectly proper way to declare your validators if you're doing OOP
I'd have to seriously screw with the class to make them chainable
and likely break the compatibility with everything that touches them as it is
 
@JimmyHoffa so you always return the type of whatever you're calling it on... right?
 
psr
@maple_shaft O.K. Possible solution. Probably really a partial solution. You need to get a single blank ticket kind of project approved, like a really vague POC. It needs all the software you can think of ever needing and it never actually ends. All your actual POCs are just small parts of the One Project To Rule Them All, and therefore already approved. You could probably at least get a Java stack this way.
 
so if you do a.somemethod() you expect somemethod to return an a right?
 
user41796
10:10 PM
@JimmyHoffa High risk for marginal benefit - personally, I wouldn't do it.
 
@GlenH7 yep. Not doing it. :) Just stinks how OO stuff makes things inflexible in this way...
 
user41796
OO arguably provided benefits over structured programming. It didn't claim to solve all of programming's ills.
 
@Ampt indeed. This is not something I've seen in OOP, closest is the builder pattern which is akin to a Writer but it has a very specific approach
 
@JimmyHoffa that's... what the decorator pattern does?
 
@Ampt ...no...
 
10:14 PM
a.decorate() returns an a, so that the subsequent methods can be called on it
 
@Ampt no it doesn't
 
a.decorate1().decorate2() is the same as a.decorate2().decorate1()
yeah... it kinda does
 
no it doesn't
 
user41796
The upside of dealing with WTF code is that it's really easy to nail your daily metric of "how many lines of code did you remove?"
 
public class MyFileWriter : IWriter { public void Write(string something) { [...] } }
public class MyFileWriterDecorator : IWriter
{
  private MyFileWriter _thingBeingDecorated;
  public void Write(string whatever) { /* do some custom shit then: */ _thingBeingDecorated.Write(whatever); }
  public void SomeExtraCrapDecoratedOntoTheFileWriter() { [...] }
}
^-- decorator
not sure what you're referring to @Ampt ?
decorator pattern let's you put little things on top of another type; decorations
 
10:18 PM
hold on, I don't have my textbook here so I'm going from memory but I thought there was a pattern that did that
 
@Ampt perhaps? I am curious to hear about it.
It's not really an OO approach. Closest is Builder pattern
 
maybe it is the builder pattern...
I'm gonna have to dust off that book when I get home
I remember the underlying principle being that every method call always returned the object it was calling on, so you could chain up a bunch of stuff since it always returned itself
 
@Ampt remember though: Builder pattern is for a particular narrow purpose, it doesn't as a rule have the flexibility to do much more than basic accumulation.
 
yeah... and I don't remember it being tied down by having to call build on it... maybe I dreamed this thing up
 
@Ampt That's known as a "fluent" interface, but the OO approaches are usually naive doing void operations (side effects) and then return this which doesn't really get you the proper composition you want (no branch rewind or culling et al)
 
user20683
10:25 PM
decorator applies some functionality to one instance of an object
 
user20683
think italics or similar
 
@WorldEngineer yes, as above, the one instance is the member, could be handed in through constructor or instantiated at construction or however else.
 
psr
You just keep returning one object, so that's Singleton, right?
 
user41796
^^^ Well played
 
10:46 PM
@psr negative, const
 
psr
@JimmyHoffa Constant would just be the implementation of a Singleton. Just as would be marking it volatile so the compiler doesn't mess with it.
O.K., besides pretend ignorance, my actual ignorance is getting a little frustrating. If I knew functional programming better I could have a lot less state to manage in my current node app. I'm getting some benefits from JavaScript as a functional language but I'm more or less writing C# 4.0 or so in JavaScript.
 
@psr If you need state, create a closure that binds it, if you need more, create more closures. Continue creating and executing or returning closures which hold your state.
The GC will let it all float away. Closures allow each bit of state to be as localized as possible
 
psr
@JimmyHoffa I actually do that already. But it seems pretty equivalent to an object with private variables - no particular improvement.
 
@psr local is not private-> local is not accessible outside the scope of the executing function(){}
key is using parameters so everything comes in through them. What "state" is being so troublesome?
Just having lots of params etc?
The real fun is when the function needs to call itself so you hand it to itself in it's param. Referential transparency: Only parameters are available
Javascript allows you to access parental scopes naturally but it's dangerous and wholey avoidable
 
11:04 PM
@JimmyHoffa massive arg object can help with that
 
@MattGiltaji most definitely
was going to be what I suggested heh
 
fooling around with the localstorage APIs in JS is where I started to really understand how useful FP can be
 
user20683
APL is a good demo for just how absurdly powerful it can be
 
user55340
@MattGiltaji Go dig up the "Clojure is the new C" video I linked a bit ago... its a good talk that gets into some functional concepts.
 
psr
@JimmyHoffa At this point, nothing. Mostly just worrying because I can do OO design but I'm new to functional design. So far it's been keeping it simple and solving things as they come up. The result has looked fairly close to OO, which probably cuts the chance of painting myself into a corner, but then makes me wonder if I'm missing opportunities.
In any case, it's becoming clear I don't really have a reasonably answerable question here, even for chat really.
 
11:17 PM
@psr haha FP comes in handy when you see repetition more often then not, like the validation stuff I mentioned above. If you aren't doing boilerplate or repetitive things then you're probably just handy dandy. Start to wonder when you start to do similar things multiple times, otherwise enjoy the learning
if you find yourself writing much complex conditional logic or coming up with implementation patterns (always check X at the beginning or end of functions for Y), these are things FP can give much nicer APIs for. Otherwise just stay away from JavaScript's "type" system, don't new stuff unless it's a demand of a 3rd party API, and don't try inheritting shit. And don't use this
 
user20683
functional design largely comes down to figuring out what your data at the start looks like and what it should look like at the end and then figuring out how to filter it down
 
user20683
Haskell design usually starts with defining the types of the various stages
 
user20683
Sum:: [a] -> a
 
aye, and identifying participles of that filtering so your algorithms can be componentized i.e. how map requires part of it's algorithm to be handed to it to avoid duplication
so that you can sum = foldl1 (+)
 
11:36 PM
@MichaelT the content is good, but the presenter rambles a lot and the volume keeps fading
 
user55340
11:47 PM
@MattGiltaji Note that the presenter there is Robert Martin... who, well, I enjoyed his ramblings.
 
user55340
Robert Cecil Martin (born 1952), known colloquially as "Uncle Bob", is an American software consultant and author. Martin has been a software professional since 1970 and an international software consultant since 1990. In 2001, he initiated the meeting of the group that created agile software development from extreme programming techniques. He is also a leading member of the software craftsmanship movement. He founded Object Mentor Inc., a consulting firm that specializes in training their clients in C++, Java, OOP, patterns, UML, agile methodologies, and extreme programming. From 1996 to 1999...
 

« first day (1539 days earlier)      last day (3455 days later) »