« first day (1615 days earlier)      last day (3394 days later) » 
00:00 - 20:0020:00 - 00:00

8:00 PM
I'm on the fence between Django REST and MEAN
I've done stuff in Mojo/perl a while back but I figure something more up to date is probably better
 
user55340
@ErikJohnson btw, thank you - understanding what others are thinking help us provide a better experience.
 
user55340
Dancer/perl, stripe/Java, play/scala...
 
express/node
 
I didn't like dancer
Mojo was more to my liking
 
user55340
Dancer was nice & small. I'm not a fan of spring and its do everything mentally.
 
8:03 PM
My fear with MEAN / node/xp is that its all hype at the moment
 
Seams like you have answered your own question then.
 
Well, not really because I don't have a ton of python experience
 
Django it is.
Time to get some.
 
I do have a lot of JS experience but all front end
 
user55340
Trying to recall the quip about node and lessons from yesteryear.
 
8:04 PM
node it is, then
 
lol
Node does remind me of perl a lot
 
Except it's JavaScript.
 
js/perl have a lot in common
 
Uhm.... no.
 
Abby T. Miller on February 04, 2015

Welcome to Stack Exchange Podcast #62, recorded live on January 20th–with a live studio audience (kinda)!. Today’s podcast was brought to you by the American Venture Capital Association. With you today are our hosts Jay Hanlon, David Fullerton, and Joel Spolsky.

Let’s jump right in: we made a big announcement! Andreessen Horowitz has invested a pile of money in our little company so we can improve our ‘programmer forums’. Precisely none of the pile of money is going into Jay’s raise, but one of those dollars is going to SomeKittens. …

 
8:06 PM
Have I just been trolled?
 
@rolfl I'm going with yes
@ZachLeighton just knowing front-end JS is not the best substitute for experience in understanding what Node is and is for..
 
Yeah, because s/\b(\w+)\b/ucfirst($1)/ge just screams of Javascript.
 
str.match
@JimmyHoffa that's what I figured
 
I've seen more than one person with a front-end JS understanding take a stab at node and rapidly become confused about the underlying architectural requirements you have to mold to because asynchrony is very new to them
 
8:12 PM
frankly, as a backend Java dev, I found/find the Node.js asynchrony to be .... unnatural.
 
I've heard it can be confusing
Is there any good guides to help avoid typical mistakes
are*
 
fair enough
 
user55340
 
@MichaelT thanks!
 
8:22 PM
@rolfl How does Java do it? Continuation passing has been standardly how asynchrony is done in the .NET framework since very early on (a little different than the way Nodes continuation passing is, but not that different)
that said, CPS is unnatural, that's well known, and why there are well known other models because CPS is old as all get out and has always been seen as a bit troubling.
(note: Haskell IO is entirely asynchronous with 100% of that handled by the runtime and no need for you to delineate the continuation, who'da thunk it?)
 
Java has the concept of blocking IO, but your code flows linearly even if your process blocks.
 
@rolfl but what about asynchronous non-blocking IO?
 
user55340
user image
2
 
surely it's had facilities for that for a long time, no? Or do you just have to thread it off yourself?
 
That's true, to an extent.
Java has non-blocking IO, but it's not based on a callback mechanism.
I guess the difference in the semantics is harder to explain than I would have realized...
 
8:25 PM
So just describe the API?
Is it based on the Runnable stuff in Java?
I'm just curious because I've not worked with java
 
What's a typical example here, reading a file containing JSON?
 
user55340
Meh no one boxing. Continuation vs callbacks.
 
In functional programming, continuation-passing style (CPS) is a style of programming in which control is passed explicitly in the form of a continuation. Gerald Jay Sussman and Guy L. Steele, Jr. coined the phrase in AI Memo 349 (1975), which sets out the first version of the Scheme programming language. John C. Reynolds gives a detailed account of the numerous discoveries of continuations. A function written in continuation-passing style takes an extra argument: an explicit "continuation" i.e. a function of one argument. When the CPS function has computed its result value, it "returns" it by...
 
8:28 PM
@rolfl it shouldn't say "In functional programming" because CPS has been a very standard approach for this stuff across many imperative languages for many years
 
user55340
@JimmyHoffa but it's a name of a war!
 
@MichaelT OH so that's how you get JBOSS to do continuations? And it requires a Sherman tank?
 
Consider a situation, you want to read a file, parse the contents, and print it to console.
procedurally, you would (in either Java or Javascript):
 
@rolfl I believe one should consider this situation.
 
data = readContents(file);
json = JSON.parse(data);
print(json.prettify());
In asynchronous node.js .... you would pass the functions as callbacks to each other...
eadContents(file, callback(data){
    parse((data, callback(json){
        printPretty(json)
    }
}
Java you would typically do it procedurally anyway, and have other threads doing other things.
 
8:33 PM
or in Haskell getFile file >>= parseJson >>= putStrLn (all asynchronous! :D)
 
Now, in your Haskell, what is your thread doing when it hands off to the parseJson?
 
@rolfl So in Java you would manually handle the threads yourself
@rolfl any other work your process has available that doesn't require the results of that function (such as if the next call didn't rely on the result of that function)
 
Typically, yes. You don't have to, though.
In Java, if you want to be asynchronous on your thread, you would invoke a future.
 
@rolfl ok so there's a futures type that's in a standard lib and handles threading for you?
 
Future<String> future = service.submit(new FileReader());
then you do other things, and when you are ready for the contents of the file, you can do:
 
8:35 PM
oh that's cool. I actually prefer futures to CPS generally
 
Stirng data = future.get();
 
they're closer to monadic promises which is what C# has done in .NET 4.5 with async/await
 
when you call the future.get(), you block if it's not yet ready
 
right so that's the newer way C# has for doing stuff that avoids dealing with continuations
 
.Note though, that you are running on two threads for that, though, in Java
Also, the reality is that you would probably 'chain' your file-read and your parse as a single sequential opeartion....
so you would have:
 
8:37 PM
@rolfl same as C# (actually the async/await stuff lets you specify your scheduler so you can tell it to use threads, the thread pool, a specific thread pool, or a different scheduling mechanism)
 
Future<String> name = ...sibmit(new FileReadAndParseToJSON(...));
System.out.println(name.get())
Now, as for the academic description of the differences in thought processes... not sure how I would describe it.
 
@rolfl it's futures vs cps
futures are well known and understood just as CPS is
 
Fair enough.
Java also has other models to consider too, depending on the circumstances as well... ;-)
 
though there are in formal circles distinctions between futures and promises and from an implementation perspective you'll find great variation in what people decide is a future vs. a promise, but realistically the two are quite similar concepts
 
The selector on network sockets is interesting ... ;-)
The Selector is like a reverse future, instead of telling you what needs to be done, and waiting for it to be ready, it's the opposite, it's a Present, not a Future.
It tells you what's ready now.....
you don't necessarily know what it is that is ready, so you just get 'something', and you have to deal with it.
 
8:42 PM
like a message pump? You have a gander and see what messages there are?
 
It's most apparent usage is on network sockets.
You create a selector, and if a socket has information ready to read, or has space ready to write to, it will retrn the instance that's available.
it's your job to take that, and figure out what to do with it.
You also get new sockets (accepts) coming through that if you want.
 
yeah sounds like hooking into a message pump
or rather watching one
In computer science, future, promise, and delay refer to constructs used for synchronization in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially unknown, usually because the computation of its value is yet incomplete. The term promise was proposed in 1976 by Daniel P. Friedman and David Wise, and Peter Hibbard called it eventual. A somewhat similar concept future was introduced in 1977 in a paper by Henry Baker and Carl Hewitt. The terms future, promise, and delay are often used interchangeably, although some differences in usage...
In computer science, the event loop, message dispatcher, message loop, message pump, or run loop is a programming construct that waits for and dispatches events or messages in a program. It works by making a request to some internal or external "event provider" (which generally blocks the request until an event has arrived), and then it calls the relevant event handler ("dispatches the event"). The event-loop may be used in conjunction with a reactor, if the event provider follows the file interface, which can be selected or 'polled' (the Unix system call, not actual polling). The event loop almost...
 
The significance is that the selector is a single thread that takes the feeds from many different places, rather than a future, which distributes, co-processes, and then waits
 
It might be a better fit for programmers.stackexchange.comJNYRanger 16 secs ago
 
@rolfl yeah, message pump. You know the term, no?
 
8:46 PM
Reading up to see my cntext on it.
No, it's not quite the same as an event loop/run loop.
 
Oh, not quite the same? sounds similar anyway.
Likely small differences, but same ballpark?
 
This would really be unlikely to work on programmers. @JNYRanger you should probably spend time on that site to learn it's scope before suggesting people post their questions there. This is very vague and broad and lacks any specific question so it likely wouldn't fit on any SE site at all. It would be closed if posted on Programmers. — Jimmy Hoffa 1 min ago
 
Sure, I can see similarities.
I was more trying to relate it to the run loop/event loop that is common on Java GUI systems (Swing, JavaFX).
I would describe that as a clear event loop.
 
@rolfl yes, message pump is the term we use in MS as the GUI desktop apps have the same thing but call it "message pump"
that said, there's some more vague notions of it nowadays than just GUI because it's commonly used for working with MQ technologies like ActiveMQ, MSMQ, ZeroMQ, etc etc
 
Perhaps the difference is that the Selector is bi-directional.
 
8:53 PM
oh? that sounds curious.
 
You use the same selector to notify when sockets are ready for reading, and when they are ready for writing.
It's as if the socket is the 'GUI thread', and your application is the event handler.
 
9:05 PM
Can you say exactly which part of the question is unclear? I edited the question to make it more clear. I asked its edited version on programmers.stackexchange.com too. — newbie_developer93 17 secs ago
It is a pity your answer is too complex - in the comments - for novice Android programmers :-( — Antonio Sesto 9 secs ago
 
9:53 PM
Hooray I finally bothered to finish getting Electorate
goldbadge++;
 
10:08 PM
0
A: Note taking during Interview

Chris LivelyI'm not sure what you'd need to take notes on during the interview. If you did your homework then very little the company has to say should be a surprise. If you were taking notes while I was interviewing you then I'd likely think you hadn't even bothered to find out who we are. Also I don't...

wtf, taking notes makes you look bad during interviews?
 
user20683
@enderland I remember things visually and I'm godawful with names
 
user20683
despite having a phenomenal memory otherwise
 
Yeah. I can remember many things, but, paper/electronic notes are better than my memory nearly 100% of the time
 
user20683
@enderland I mean eye contact and a firm grip are important but still...
 
languages such as BASIC and FORTRAN may not have bitwise operators (depending on the variant). It's common in those languages to do things, like encoding 'options' to a function in decimal digits of an integer, which may seem bizarre to C programmers. And things like a*sel + b*(1-sel) instead of sel ? a : b. — greggo 18 secs ago
 
user20683
10:16 PM
you know as much noise as the blanket "programmers" comment selector generates, it does yield some fascinating stuff
 
psr
I think whitespace ["C","c"] whitespace "programmers" is pretty much always going to be a false positive for @Duga. Could parse other language names as well.
(That's right, I pinged Duga).
 
user20683
@psr @RobertHarvey did it first
 
user55340
@WorldEngineer it's not that noisy. Less so than us sometimes.
 
psr
10:32 PM
I wonder in Simon André is reading Duga pings? Seems like the easiest way to get feedback.
 
He's not.
in The 2nd Monitor, yesterday, by Simon André Forsberg
user image
 
psr
10:49 PM
That's a lot of pings.
 
@Spartacus It happens, even with experienced programmers. Now you can take that 60 minutes to draft a really great question :) Make sure to explain the actual problem you're trying to solve, e.g. "I have a file that looks like <sample input file>. It is a CSV file where column 1 holds IDs and column 2 holds names. I need to find all the IDs where the name starts with 'J'. I tried A, B, and C (<actual code snippet>), but they took more than 10 minutes to run on a 42 byte file. How can I do this more quickly?" Make sure to include sample input and your expected output. Good luck! — ThisSuitIsBlackNot 47 secs ago
 
one hour to go and 5 rep points away from the daily rep cap. Anyone feel like giving me a pity upvote?
 
11:14 PM
thanks!
 
@GlenH7, I have no idea what uncertain have you found in the question , for me it is pretty clear (and I’ve answered it on programmes.SE). — Dmitry Alexandrov 1 min ago
A lot of the Office indexers return a value of type object, roughly equivalent to the .NET 1.x collection objects like ArrayList. Which maps to __ComObject, the RCW for a COM interface. It has no get_Range() method, only the strongly typed interface does. Using Range invokes the late-bound property getter. You'd have to cast to WorkSheet to use get_Range(). Which is not uncommon, breaking up such a long statement is desirable and many programmers like the IntelliSense hints. — Hans Passant 1 min ago
 
11:35 PM
you are unlikely to get a answer for this. Unfortunately, the value you want to include on the fax is not present above, you will need to look through the original plugin to find where the value is available and this requires a php programmer. If you google hire php programmers you should be able to find someone to do this for you — David just now
 
Well, the upside of Duga is that this chat room will never likely freeze ;-)
 
11:55 PM
Looks disturbingly simple, yeah. We programmers are trained to search out the hidden huge complex procedure that drives the whole system and when it's not there it's kind of unnerving. — Bill K 8 secs ago
 
@psr as @rolfl said, I am definitely not reading the pings, they just get sent to /dev/null. I am however lurking a bit here every now and then checking how things go and what you're talking about, I think you should be able to ping me directly in this chat room.
@rolfl as if it was in danger before.... room id is 21 :)
perhaps it's been frozen during some periods though, I don't know.
 
00:00 - 20:0020:00 - 00:00

« first day (1615 days earlier)      last day (3394 days later) »