« first day (1447 days earlier)      last day (2120 days later) » 
00:00 - 23:0023:00 - 00:00

12:00 AM
RELOAD!
[FreezePhoenix/XtraUtils] 2 commits. 7887 additions. 3240 deletions.
[rubberduck-vba/Rubberduck] 4 opened issues. 2 closed issues. 19 issue comments.
 
o.O Guess that's what happens when you delete files and re-compile them.
Ok, building site and committing
 
[FreezePhoenix/XtraUtils] FreezePhoenix pushed commit 6c470e27 to master: Update docs for Number, added docs for Function.curry, Function.memoize, Function.capArgs, Function.reArg, and Function.template
 
Wait did Duga get kicked?
Or does Duga just leave the room?
 
I still see Duga
 
I don't....
Watever.
 
12:12 AM
I find us having different interactions with @Duga more peculiar than you simply not seeing her
I did not mean to suggest you were lying
 
@bruglesco I never thought you were suggesting I was lying. You haven't seen anything... (No kidding I didn't think you were suggesting I was lying)
 
Hey, your mouse is white!
 
@FreezePhoenix Okay no problem
and yours isn't in the picture
 
Mine's bllack when a mouse, and white when a hand.
 
12:18 AM
@FreezePhoenix it defults to that
mines white with black outline for both
 
I'd be tempted to blame it on a browser glitch
 
Browsers don't extend onto your desktop.
 
I meant the Duga thing, sorry for not being clear
 
Then go ahead :)
 
Gah, I need to pick a GUI module for Python and there are so freaking many!
 
12:26 AM
LOL
 
Mostly considering tkinter and PyQt atm
 
show -27 more
Actually it's SE's fault.
 
@Phrancis what are you trying to make?
 
@bruglesco Basic login form for our little application
 
Uh... lets see.
pygame
 
12:33 AM
PyQt looks like it may by a good one, there are implementations of Qt for Java, .NET and others, and it looks like native desktop apps
@FreezePhoenix I've tinkered a bit with pygame, though it would be overkill just to make a form
 
@Phrancis PyQt might be overkill. The Qt library for C++ is massive. If the Python implementation is similar it might be way more than you need with an unnecessary learning curve.
 
We just got creamed by the AI :(
 
@Hosch250 Happens to the best of us
 
That's the good part about it ^
All 4 of the other players voted for me :)
 
12:53 AM
I dunno... How does my computer have 3 MAC addresses!
 
Probably 1 for Ethernet and 2 for USB or other types of connectors
If you have a Wi-Fi adapter it probably has its own MAC as well
 
But... the problem is that it isn't constant.
 
What do you mean?
 
If I use the page: uuidgenerator.net/version1 to generate a version 1 UUID, it doesn't give the same thing. The first part is the timestamp - that will be different - but the rest is the MAC adress
 
@Hosch250 nice
 
1:04 AM
@FreezePhoenix Why don't you run whatever is the Linux equivalent to Windows' ipconfig /all comment?
Also, it must be a hashed version of the MAC, what is displayed on the site doesn't match the actual MAC address of the network adapter I'm using
 
eyeroll UUID is a hash
 
Oh.
Didn't know that
 
At least Version 1 is.
Version 4 is implemented like so (Or something similar):
UUID = (function() {
  const chunk = (len) => Array(len).fill().map(()=>chars[_rng()]).join('')
  const chars = 'abcdefghijklmnopqrstuvwxyz1234567890'.split('');
      let map = function(num, in_min, in_max, out_min, out_max) {
        return (num - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
      }
      let _rnds8 = new Uint8Array(1);
      let _rng = function() {
        window.crypto.getRandomValues(_rnds8);
        return Math.floor(map(_rnds8[0], 0, 256, 0, 62));
      }
@Phrancis Of course, it's also sending it to a server.
So... Their server MAC?
 
The source MAC address (from your network adapter to the server) is included in all Ethernet frames sent, so the server would be able to acquire it
 
Oh.
Didn't know that.
 
1:11 AM
It's not a particularly useful piece of information though unless you're into networking
The MAC address makes sure that whatever network port for the computer only accepts Ethernet frames intended to be sent to it. That's why if you replace your modem you need to call your ISP and give them the new MAC, so they can provision it to your service (otherwise the modem will reject frames if they are sent with the previous modem's MAC)
 
you lost me somewhere on 'replace your modem'
 
Do you have a modem?
 
I'm sure I do.
Ah... now I get it.
 
So if you picked it up and looked on the back, you would see the MAC address for the cable/DSL connector, that's what authorizes it to receive frames from your ISP
From there the network switch (usually part of a wireless router in a typical home setting) maintains a table with the MAC addresses of each device connected to it, both physically and wirelessly
So it doesn't have to flood all the frames to all devices, it can route the frames in a controlled way
 
1:32 AM
BTW there are only 32 ** 32 UUID's possible
 
That's 1.4615016e+48, I think we're pretty safe ;)
 
Yes, I think we are.
Runs a loop 32 ** 32 times Scratch that no we aren't.
 
By comparison, physicists estimate there are approximately 1.0e+80 particles in the known universe
 
@Phrancis pshh what do they know
 
@Phrancis Physicists and their approximations
 
1:50 AM
import tkinter as tk

root = tk.Tk()

label = tk.Label(root, text='Hello, World!')
label.pack()

root.mainloop()
Easy enough!
 
o.O It's been a while since I've used python, could you explain that first part?
(JK)
 
lol
 
Goodnight
 
Later
 
hahaha GN @FreezePhoenix
 
2:41 AM
@bruglesco Have you used Qt for anything?
 
No.
I considered it when building my GUI
I narrowed it down to SFML and Qt and I went with SFML
 
And what influenced your decision the most?
 
The words "Free trial" imply that the library is not free to use long term
I didn't look into details so it could just be a percentage type thing
or pay to use for enterprise software
or who knows cause I went with the OS solution
 
I did see some people express licensing concerns with PyQt
 
I don't regret SFML as a solution
 
2:49 AM
Tkinter it is then!
 
SFML has a Python binding too
 
Hmm, is SFML compatible with all major operating systems?
 
SFML 2.3 is currently available and fully functional on Windows (8, 7, Vista, XP), Linux and macOS. SFML works on both 32 and 64 bit systems. If older Windows versions need to be supported, it should be possible to use SFML 2.0 instead (see the commit for removal of Windows 9x and similar). Since SFML 2.2, there has also been experimental support for iOS and Android
I'm looking at it and Im pretty sure getting SFML up and running in Python will be a major project
github.com/Sonkun/python-sfml last commit over a year ago
 
Meh, not sure about that. Tkinter is part of standard Python distributions and Tk ain't going nowhere so...
 
yah SFML for C++ is well supported but some of the bindings have been abandoned
 
2:59 AM
I still have a bad taste in my mouth from doing GUI in Java with Swing, hopefully this will be more enjoyable
Swing is truly terrible
 
hmm I applied for a position today that uses Swing
I hope on the very off chance I get it that its not that distasteful.
 
Must be legacy software... It's not so much distasteful as it is unwieldy
1
Q: Java Swing Text Editor

ScottCreating my first program in Swing and I was hoping to get some feedback. I'm looking for constructive criticism and tips for my swing code and my code in general. Don't really know what I'm doing so any advice would be helpful. The program is a simple text editor like notepad. Everything works t...

Example
 
3:21 AM
2
Q: Were the members of a data structure implementation before OOP left public?

ChristopherWhen a data structure (for example: a queue) is implemented using an OOP language, some members of the data structure needs to be private (for example: the number of items in the queue). Now a queue can also be implemented in a procedural language using a struct and a group of functions that ope...

That's a fun question
 
3:48 AM
Interesting topic
 
4:00 AM
[bruglesco/InventoryDesktop]‌​ bruglesco pushed commit 6c61e031 to master: Converted to Navigation window and created Splash Page
 
Btw how do you find what URL to use for a webhook
 
Great question
I think it's the base URL for the repo
Or do you mean for Duga?
 
I mean I have had to ask you every time I wanted to hook to Duga
So if I want to hook to Duga (or anything else) what do I look for?
 
4:21 AM
May 6 at 17:29, by Phrancis
Apr 28 at 3:45, by Phrancis
So in Github interface, go to Settings for your repository, then select Webhooks on the left. Then add webhook (top). Put this in as the payload:
May 6 at 17:29, by Phrancis
Apr 28 at 3:45, by Phrancis
http://stats.zomis.net/GithubHookSEChatService/hook
 
I understand where to add it to the repo.
Do you just need to know the server that Duga is on
 
Maybe? I'll defer to @SimonForsberg
I honestly have no idea, it's his server and his code
 
Hi @Cows
Gotcha.
 
@bruglesco hey
 
welcome
 
4:35 AM
^ ditto
 
4:54 AM
[bruglesco/InventoryDesktop]‌​ bruglesco pushed commit d3793f59 to master: Created the Dashboard Pages. Both new Pages are empty.
 
GN
 
Later
 
 
2 hours later…
7:17 AM
@bruglesco stats.zomis.net/GithubHookSEChatService is the base URL for @Duga, from there you just add the relative URL for the webhook.
Now that I know how to do reverse-proxies though, I might make it duga.zomis.net/github sooner or later
@bruglesco That's the only kind I know of ;)
 
 
5 hours later…
12:30 PM
Monking
 
[FreezePhoenix/XtraUtils] FreezePhoenix pushed commit 4b98b36e to master: Added docs for Function.once, Function.throttle, and added an example to Function.flow
 
12:57 PM
Good morning everyone :)
 
o/
How... The NPM number of results for the search javascript utilities is going up so fast... (Checking out competition)
 
1:17 PM
Object.thaw Should be usefull
 
1:36 PM
Morning
 
 
2 hours later…
3:27 PM
Morning
 
It appears somebody has made a fairly decent remake of Theme Hospital: Two Point Hospital. Release date August 30th.
Two Point Studios under SEGA.
@skiwi That's how it's supposed to be ;-)
 
3:57 PM
WAT dis makes no sense:
Yesterday there were 170 packages on NPM that match the search javascript utilities and now there are 329 matches!
 
@Phrancis Let me know whether it works. If it does, they have hidden a very small, very nifty converter in the cable.
 
4:27 PM
hey
 
@Mast Though I'm also happy if I can program things that don't need to care that much about error handling per se
It's the difference of it being acceptable that the program blows up non-spectacularly (a regular client) and server to service worker communication blowing up
Or both the service worker and the server blowing up
 
When in doubt, C4.
 
4:42 PM
 
Huh, what's that?
 
A hat?
 
@Mast What game?
 
@SimonForsberg Life Goes On
 
Never heard of.
 
4:55 PM
If anything, watch the trailer.
 
Steam, I guess?
 
Aye.
Might still be on sale.
 
In a minute.
 
80% off last week.
 
Monking!
@Mast Hope it does. crossing fingers
 
5:38 PM
@Mast funny trailer.
Haven't quite figured out what the game is about though.
 
@SimonForsberg Puzzle platformer.
 
In other news, a coworker shared a MTG Arena Beta key with me
 
Get to the McGuffin.
 
So I'm currently trying out MTG Arena
@Mast So like Braid?
 
@SimonForsberg Not familiar with that game.
 
5:40 PM
One of the best games I've ever played, honestly.
 
But I dare say this game is a little more sadistic than most.
@SimonForsberg Ah, somewhat similar I'd say.
You need to die toe make progress.
Get scored on time, deaths and get to meet Jeff.
 
5:59 PM
Who's Jeff?
 
Play the game. You'll find out.
 
@Phrancis @JeffAtwood
 
6:17 PM
Yay a Java SE update
I just got Life Goes on for PS4
 
6:50 PM
Can't wait to try it tonight!
 
:-)
 
 
1 hour later…
7:59 PM
@SimonForsberg A wonderful game. Need to pick it up.
 
8:36 PM
TIL Scotland's official animal is the unicorn.
The national symbols of Scotland are flags, icons or cultural expressions that are emblematic, representative or otherwise characteristic of Scotland or Scottish culture. As a rule, these national symbols are cultural icons that have emerged from Scottish folklore and tradition, meaning few have any official status. However, most if not all maintain recognition at a national or international level, and some, such as the Royal Arms of Scotland, have been codified in heraldry, and are established, official and recognised symbols of Scotland. == Flags == == Heraldry == == Anthems == Flo...
 
9:05 PM
codereview.stackexchange.com/questions/199853/… Inspires a new function: Array.one
Instead of Array.some or Array.all
 
I'd implement it differently if this were my code
 
You talking about the OP's code?
 
let numberOfTrues = 0;
for (let i = 0; i < arr.length; i++) {
  if arr[i] { numberOfTrues ++; }
}
return i === 1;
Something like that
 
> Do not use the equality operators (== and ===) in your solution.
One of the restrictions
 
Oh. Well, surely your JS utils aren't constrained by that ;P
 
9:10 PM
@Phrancis Well... that isn't how my util would work
Hold on, lemme write it up
XtraUtils.Array.addUtil('one', (function(){
  const _xor = (a, b) => !a ^ !b;
  function one(fn) {
    let res = false;
    this.forEach(function(item, value, arr) {
      res = _xor(fn(item, value, arr), res)
    })
  }
  return one;
})());
 
Seems overly complicated compared to mine lol
 
Yeh... but your's can't accept a user-defined function
Grr...I haven't used Google Apps Scripts in years
 
9:28 PM
Might I suggest perhaps making a standalone xor function (so it can be used outside of this util)?
 
XtraUtils.Boolean?
Sure thing. Lemme add it to my todo
 
That time when you are getting dressed for your job interview and your wife says "Did you remember your knife?"
 
@bruglesco Your knife??
 
Darn IT department blocked docs.google.com
Go figure why
 
@Phrancis yes. Some chef interviews expect a skills demonstration.
And some kitchens don't have communal knives. You bring your own.
 
9:34 PM
o.O Sometimes I forget we don't all code.
 
Ahh, makes sense
 
So it is always good practice to take a knife to a chef interview.
@FreezePhoenix i still code
 
@Phrancis Would it accept a variable number of arguments?
 
@FreezePhoenix I don't know, is it a lot more trouble to make it such? Albeit, a traditional XOR in strictly logical form would only compare 2 arguments
 
@Phrancis No, it's no harder to make a variable argument function
 
9:36 PM
A ⊕ B ⊕ C
 
Remembers when making variable argument functions was a nightmare: arguments.splice...
@Phrancis Wat . is . dat.
 
@FreezePhoenix ⊕ is the mathematical symbol for XOR
 
Oh
I don't read math textbooks all that often
 
I don't either, just Googled it
 
I mean...
I know +, -, *, sqrt, and /. Anything I've ever needed to do (Math wise) was just fine using those.
 
9:40 PM
I own a college-level math textbook somewhere
In mathematics and mathematical logic, Boolean algebra is the branch of algebra in which the values of the variables are the truth values true and false, usually denoted 1 and 0 respectively. Instead of elementary algebra where the values of the variables are numbers, and the prime operations are addition and multiplication, the main operations of Boolean algebra are the conjunction and denoted as ∧, the disjunction or denoted as ∨, and the negation not denoted as ¬. It is thus a formalism for describing logical relations in the same way that ordinary algebra describes numeric relations. Boolean...
 
@Phrancis Yeh, but you purposely forgot where it was :P
 
@FreezePhoenix s/purposely/accidentally/
 
Mhm. Right.
 
Logical AND is ∧ and translates to code usually with &&. Logical OR symbol ∨ translates as ||, logical NOT ¬ is of course !
 
Nonono you got it all wrong
It's And: &, Or: |, Not: ~, XOR: ^
 
9:45 PM
O.o
 
Yes. The bitwise operators.
 
O FINE

You're right
 
;-)
 
You see, I tried to open my todo list, but the darn IT department blocked google docs!
smolders
Oh well.
Logs onto RPI and opens text editor
 
9:51 PM
Those darn IT information security folks and all their rules... *shakes fist*
 
That OnlyOne() question got interesting. I bet it hit HNQ.
 
@Phrancis I could tidy up the Array.one with a reduce
 
a
 
yes a
  XtraUtils.Array.addUtil('one', (function(){
    const _xor = (a, b) => !a ^ !b;
    function one(fn) {
      return this.map(fn).reduce((ret, merger) => _xor(ret, merger), false)
    }
    return one;
  })());
 
TFL
 
9:59 PM
Well, it should be this:
  XtraUtils.Array.addUtil('one', (function(){
    const _xor = (a, b) => !a ^ !b;
    function one(fn) {
      return Boolean(this.map(fn).reduce((ret, merger) => _xor(ret, merger), 0))
    }
    return one;
  })());
Which does what I want:
[1,2].one((item)=>{ return item > 1 }); // true
[1,2].one((item)=>{ return item > 0 }); // false
[1,2].one((item)=>{ return item > 2 }); // false
@Phrancis What's your tip?
Um... are you guys just confused that I didn't give you code you can just run in any console?
 Array.prototype.one = (function(){
    const _xor = (a, b) => !a ^ !b;
    function one(fn) {
      return Boolean(this.map(fn).reduce((ret, merger) => _xor(ret, merger), 0))
    }
    return one;
  })()
 
@FreezePhoenix const TFL = 'Time For Lunch';
 
Well it told me it was either 'Tip For Life' or 'Transport From London'
@Phrancis The following:
  XtraUtils.Boolean.addMethod('xor', (function() {
    function xor( a, b ) {
      return Boolean(!a ^ !b);
    }
  })());
Now what should I call a xor that takes a variable number of arguments...
 
xorMulti?
 
10:14 PM
That just seems too simple... too... right.
 
KISS
 
Keep It Simple Silly
I know that one
  XtraUtils.Boolean.addMethod('xorMulti', (function(){
    const _xor = (a,b)=>!a^!b;
    return function xorMulti(...args) {
      return Boolean(args.reduce(_xor, 0))
    }
  })());
 
Recursion... getting fancy there!
 
HEhehe
I just figured out how to modify the apparent class of the object in the console
 
The apparent class??
 
10:24 PM
let obj = {
  [Symbol.toStringTag]: 'Tehehe'
}
now print obj in the browserj
 
Huh. Weird.
 
Not weird at all.
It happens under your nose every time you make a new Object
 
I guess I'm not all that familiar with what happens in the JS black box
 
Huh. Now that's new on me
 
10:52 PM
:P
It appears however, that primitive instances override the stringtag
@Phrancis How much of it is new?
 
00:00 - 23:0023:00 - 00:00

« first day (1447 days earlier)      last day (2120 days later) »