code logs -> 2015 -> Tue, 24 Mar 2015< code.20150323.log - code.20150325.log >
--- Log opened Tue Mar 24 00:00:25 2015
--- Day changed Tue Mar 24 2015
00:00
<&Derakon>
Ho-ly shit. https://www.youtube.com/watch?v=xP5-iIeKXE8
00:00
<&Derakon>
^ The Game of Life. Implemented in the Game of Life.
00:01
<@gnolam>
o_O
00:03
<@gnolam>
Yo Dawg...
00:03
<@gnolam>
That is insane.
00:10
<~Vornicus>
Only shame is it didn't, like, loop
00:18
<&Derakon>
That's what I was thinking.
00:18
< EvilDarkLord>
You mean recurse? Those boxes look to be about 1500-1700 units wide, depending on how you count. So that's about 5 * 10 ** 12 points to simulate for scaling it up one level.
00:19
<&Derakon>
EDL: no, mostly just visually look identical between the first frame and the last.
00:19
< EvilDarkLord>
Bah, artists :P
00:21
< EvilDarkLord>
Oh, my bad. The bounding box is bigger than I thought, about 2000.
00:49
<&McMartin>
...
00:49 * McMartin finds a bug in his pruning code in his fastest Klotski solver, changes a single character, cuts his speed by two-thirds
00:51
<&Derakon>
Speed or runtime?
00:51
<&McMartin>
Er
00:51
<&McMartin>
Runtime, yes.
00:51
<&McMartin>
Tripled the speed.
00:52
<&Derakon>
Nice.
00:52
<&McMartin>
I'm really curious if the Rust implementation will beat this one.
00:52
<&McMartin>
(The current fastest solver I have is in Scheme)
01:09 macdjord|slep is now known as macdjord
01:18 Turaiel[Offline] is now known as Turaiel
01:18
<@Reiv>
What are you solving, and was the single character a mathematical operator by chance~
01:23
<&Derakon>
Klotski is the general name for those sliding-tile puzzles.
01:24
<&Derakon>
Like where you have a 4x4 grid with one missing, and you have to arrange them to make a picture.
01:29
<&McMartin>
Not those, the other sliding tile puzzles
01:29
<&McMartin>
Very specifically, this one: http://en.wikipedia.org/wiki/Klotski#/media/File:Bricks-Forget-Me-Not-small.png
01:30
<&McMartin>
Anyway, I had an error in my hash function that was used to decide if it had seen a position before; if two positions are identical except that two bricks of identical shape are transposed, you've seen it before.
01:30
<&McMartin>
And one of the blocks was mistagged as uniquely shaped.
01:30
<&Derakon>
Heh.
01:30
<&Derakon>
Yeah, that would help your pruning function out rather significantly.
01:31
<&McMartin>
(Without that hash function the problem is intractible; with it, the solution is reachable in seconds)
01:32
<&McMartin>
And yeah, the total number of positions considered dropped from 93,000 or so down to 24,000 or so.
01:33
<@Reiv>
Oh god, *that* game
01:33
<@Reiv>
I hated that game so very much
01:33
<@Reiv>
... I played the hell out of it, but I still loathed it entirely~
01:33
<&McMartin>
That's why I built a robot to play it for me~
01:33
<@Reiv>
How is it intractible without a hash?
01:33
<&McMartin>
And it turns out to be interesting as a programming-language shootout problem
01:33
<@Reiv>
And how do you build a hash to store shapes so?
01:34
<&McMartin>
It's intractible without a hash because instead of considering under 100,000 positions the state space you are searching soars into the hundreds of billions
01:35
<@Reiv>
That does sound impressive.
01:35
<&McMartin>
"How do you build a hash to store shapes in" is one of my usual interview questions, so I won't spoil that on a logged channel >_>
01:35
<@Reiv>
Well, I guess I'm glad I've never had to go to one of your interviews ;_;
01:35
<&McMartin>
(But generically, "the same way you would any other composite piece of data")
01:35
<@Reiv>
... oh, like /that/
01:35
<@Reiv>
OK I can comprehend that a little easier
01:36
<&Derakon>
Oh, McM, there exists the possibility that the company I'll be starting will need to hire employees. I have, uh, never interviewed a prospective employee before.
01:36
<@Reiv>
I was coming up with huge and impressively convoluted design problems
01:36
<&Derakon>
So keep those questions handy~
01:37
<&McMartin>
I'm not very good at this either, really~
01:38
<&Derakon>
You have infinitely more experience than I have.
01:38
<@Reiv>
Literally!
01:39
<&McMartin>
A lot also depends on how senior they are, etc
01:39
<&McMartin>
Phone screens will scrub out a lot of contenders, very very fast
01:39
<&McMartin>
I will ask some CTO friends who have had to deal with this much more
01:39
<&McMartin>
But who are also very bitter
01:39
<&Derakon>
I suspect we will not be able to afford a third senior-level employee~
01:40
<&McMartin>
Step 1 is something insultingly easy to make sure they have, like, heard of for loops and function calls and stuff
01:40
<&Derakon>
In fact, given the scarcity of devs in this space (scientific software), I expect we'll be best off training someone who can learn.
01:40
<&McMartin>
This apparently wipes out more than half of all applicants
01:40
<&Derakon>
Not surprised.
01:40
< [R]>
What language?
01:40
<&Derakon>
Java/C++.
01:40
< [R]>
Also telecommuting an option?
01:41
<&McMartin>
("Fizzbuzz" is the traditional test there but I would not suggest actually using that one)
01:41
<&Derakon>
Prrrrobably not really.
01:41
<&Derakon>
Also it's gonna be months out in any case.
01:42 * [R] is willing to move for an Ops position, since he strongly suspects he will have to anyways.
01:43 Xon [Xon@Nightstar-j72.ku7.252.119.IP] has quit [[NS] Quit: No Ping reply in 180 seconds.]
01:45
<@Reiv>
McMartin: I keep messing up fizzbuzz when given a whiteboard and a pen >_<
01:45
<@Reiv>
It is not how I think nor type
01:45
<@Reiv>
And of course, interviews are nervewracking to start with.
01:47
<&McMartin>
The goal is not to get the right answer, per se, on that one
01:47
<&McMartin>
The goal is to prove that you are the person described on the resume and not some random dude off the street
01:48 Xon [Xon@Nightstar-j72.ku7.252.119.IP] has joined #code
01:49
<&Derakon>
There are an impressively large number of random dudes off the street who apply for high-skill positions with made-up resumes.
01:49
<@Reiv>
So if you start churning out for(int i, i++, i = 100) if i%15 print fizzbuzz ELSEIF i%3 print fizz ELSEIF i%5 print buzz end or some such
01:49
<@Reiv>
It is acceptable even if it's not terribly clean or whatever
01:50
<@Reiv>
(I am deliberately using an example you could trivially look up just so we're all on the same page)
01:50
<&Derakon>
It's not about the answer you give, really, it's about your explanation of it.
01:50
<@Reiv>
You have to explain it?
01:50
<&Derakon>
If you just spit out some code with no comment then I'd assume you memorized that question.
01:50
<@Reiv>
Ah, right
02:01
<~Vornicus>
wait you're starting a company
02:06
<@Reiv>
This is his big goal - to go big or go home
02:07
<@Reiv>
Because his funding runs out in a number of months, so the goal is that they set up a vaugely patreon-style company at the time for the equipment when they do.
02:07
<&Derakon>
Something like that, yeah.
02:07
<&Derakon>
Our project is currently funded by a grant from the NIH.
02:08
<&Derakon>
But we aren't "innovative" enough for them any more, never mind that they get like a 20:1 return on investment from all the other labs they fund who save money by being able to continue using microscopes that the commercial companies don't support.
02:08
<@Reiv>
That sounds like someone messed up on the funding spin, mostly
02:08
<&Derakon>
So the grant runs out September/October-ish, and we hope to be self-sustaining at that point.
02:08
<&Derakon>
Well, it's more that America has gotten ridiculously myopic when it comes to funding the sciences.
02:09
<@Reiv>
It sounds like someone got given a new spiel: Fund the innovative stuff, not the boring bits. Which leads you to that lovely spot in between where you're no longer cutting edge but /not yet/ mature and commercially funded.
02:09
<&Derakon>
We're perfectly happy to spend >$100 million per fighter plane...hell, for the cost of one Tomahawk missile you could fund our entire project for a year and a half or more.
02:09
<@Reiv>
ssssh, that's military and doesn't count
02:10
<&Derakon>
But meanwhile, universities are getting starved.
02:10
<&Derakon>
The cynic in me (a.k.a. McMartin~) would say this is an intentional attempt to freeze out the intelligentsia so they stop interfering with industry with their "wah wah global warming" and the like.
02:10
<@Reiv>
(That plane does not cost 100 million dollars. Overly aggressive outsourcing in the name of 'saving money' costs 100 milion dollars, yet people mock NASA for the same problem.)
02:11
<@Reiv>
Nah, it's less malicious than that and far more beurocratic
02:11
<&Derakon>
Okay, now you're doing it on purpose. :p
02:11
<@Reiv>
Military funding is popular because it keeps factories running in the U.S.
02:11
<@Reiv>
... I am?
02:11
<&Derakon>
(Bureau)
02:11
<@Reiv>
Oh
02:11
<@Reiv>
No, I legit have no idea how to spell it even if it's right in front of me
02:12
<&McMartin>
Yeah, I can't take the blame for this one, Derakon. I spent five-plus years in academia duing the "MONEY THIS WAY PLOX" dance
02:12
<@Reiv>
I am dyslexic, and it's one of the Magic Words I have never yet seared into my brain, even with repitition.
02:12
<&Derakon>
Ahh.
02:12
<&Derakon>
Sorry.
02:12
<&McMartin>
doing, even
02:13
<&McMartin>
I need foods
02:13
<@Reiv>
Derakon: Naw, it's OK. I before E is a problem too.
02:13
<@Reiv>
Not helped that my nickname and indeed real name both invert the order due to scottishness >_>
02:20
<~Vornicus>
morre words get it the other way around than don't
02:24
<@macdjord>
Vornicus: Not it you add the 'Except when sounding like "a" in "neighbour" or "weigh" ' part~
02:25
<~Vornicus>
Science
02:28
<~Vornicus>
also atheist
02:29 * Vornicus checks, actually
02:31
<~Vornicus>
4001 words with ie, 2663 with ei, in my computer's spelling list. More than I can evaluate for pronunciation, but lots and lots of the ei's I can tell actually have a syllable break there
02:33
<~Vornicus>
magpieish
02:36
<@macdjord>
Vornicus: I assume that's after eliminating those following 'c'?
02:37
<~Vornicus>
No, I haven't tried that. The number of words is too big, I'm finding myself a word list with less, uh, arcana in it like kotschubeite
02:37
<~Vornicus>
like this list of the 5000 most common words in the simpsons
02:39
<@Reiv>
That's a cute list
02:39
<~Vornicus>
slightly
02:42
<@macdjord>
...
02:42 * macdjord goes off to reread Up-Goer Five
02:43
<~Vornicus>
for "ei": three variations on "neighbor", three on "weigh", "their", "being", two variations on "eight", "either", "seeing", "weird", "neither", "foreign", two variations on "receive", "ceiling", "Einstein", "reindeer", "sleigh"
02:44
<&McMartin>
The i/e rules do not apply when they're separately pronounced vowels
02:45
<&McMartin>
... or when they're loan words from German
02:46
<~Vornicus>
so that's ay ay eh e-i ay e-i ee ee ih see seah iy ay ay
02:57
<@Reiv>
McMartin: Or when they're from celtic, in which ei is a seperate phenome to ie~
02:57
<@Reiv>
er, in which ei is seperate to ea, rather
02:58
<@Reiv>
(Reaver is english botching of Reiver, because in english they are roughly equivalent; they're not in celtic [and yes this means I mess up my own name, oh well])
03:01
<~Vornicus>
poor reiv
03:01
<&McMartin>
Where does "reeve" fit in here~
03:01
<@Reiv>
Different again, and nominally different in english to ei/ea anyway
03:06 * McMartin fires up Megaforge again, maybe to get stuff into pushable shape.
03:31 Xires is now known as ^Xires
03:34 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
03:41 AverageJoe [evil1@Nightstar-pqipp9.sd.cox.net] has joined #code
03:55 Derakon [chriswei@Nightstar-5fqf0m.ca.comcast.net] has quit [Connection closed]
03:55 Derakon [chriswei@Nightstar-5fqf0m.ca.comcast.net] has joined #code
03:55 mode/#code [+ao Derakon Derakon] by ChanServ
04:06 Turaiel is now known as Turaiel[Offline]
04:24 Derakon is now known as Derakon[AFK]
04:43 Deckmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
04:54 Orthia [orthianz@Nightstar-o3pulk.callplus.net.nz] has quit [Ping timeout: 121 seconds]
04:58 Orthia [orthianz@Nightstar-ee5.6b3.224.119.IP] has joined #code
04:58 mode/#code [+o Orthia] by ChanServ
04:58 AverageJoe [evil1@Nightstar-pqipp9.sd.cox.net] has quit [[NS] Quit: Leaving]
05:55
<&McMartin>
woo, progress, but github hates me so meh, pushing later
06:09 AverageJoe [evil1@Nightstar-pqipp9.sd.cox.net] has joined #code
06:35 Kindamoody[zZz] is now known as Kindamoody
07:18 celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:10 AverageJoe [evil1@Nightstar-pqipp9.sd.cox.net] has quit [[NS] Quit: Leaving]
08:27 macdjord is now known as macdjord|slep
08:31 * abudhabi scratches head.
08:32
< abudhabi>
In Pale Moon (FF clone), I get a JS syntax error on line 1.
08:32
< abudhabi>
In Chrome, I don't get it.
08:32
< abudhabi>
Both have the script executing properly.
08:36
< abudhabi>
Hmm. Is it trying to parse the value I get from the AJAX request?
08:48
<@Shiz>
unlikely
08:48
<@Shiz>
is the site public?
08:48
<@Shiz>
if so i can test on my osx nightly
08:49
< abudhabi>
It's not.
08:50
< abudhabi>
I should very well hope this unfinished thing isn't public. :P
09:01 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [Connection closed]
09:30 Deckmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
09:40 Kindamoody is now known as Kindamoody|afk
09:54 Deckmate is now known as Checkmate
09:54 mode/#code [+o Checkmate] by ChanServ
10:49 ed [im@s.ocv.me] has joined #code
10:55
< ed>
Hello! I've been wanting to make a voice-controlled media player for some time, where you can say something like "Select by album" followed by an album title. Unfortunately, I have no experience with speech recognition yet. From what I can tell, there are two leading projects using different approaches/algorithms: Kaldi (DMM/HMM) and Sphinx (GMM/HMM). Seeing how I will have a fairly narrow
10:55
< ed>
vocabulary (at most a few hundred album and artist names), would either of the two be particularly suited for my project?
10:56
< ed>
I intend to run the application either on an android device or another low-powered machine, either a raspberry or maybe a beagleboard. Thanks for any advice you may have.
10:57
< [R]>
You could always test it yourself.
10:58
< ed>
well yeah definitely, but I was just curious whether either of the two would be particularly suited for matching against a list of accepted phrases
11:05
<@TheWatcher>
Or you could do the heavy-lifting of the speech translation using something like Google's Speech to Text API, and then parse and process the text.
11:06
< ed>
That has crossed my mind, but I would prefer an offline solution, as I'd prefer not having to rely on a network connection being present (this is intended for use in a car)
11:17
<@Tarinaky>
Basically your two options are: use Google speech recognition or... Start applying for research grant money and give up any dreams of ever seeing an actual, useful, application making you any money.
11:19
<@Tarinaky>
You don't count as having a 'small vocabulary' because you want to accept any arbitrary album title.
11:20
<@Tarinaky>
A small vocabulary would be a bunch of hard coded words you can grind down to some coefficients in a matlab model.
11:20
< ed>
I was planning to restrict the vocabulary to whatever mp3 files are in the local music library of the device, so it would be fairly small in that regard
11:20
< ed>
but yeah I see what you mean
11:21
<@Tarinaky>
You don't have that information at compile time.
11:22
<@Tarinaky>
That said, play/pause/stop/skip... are doable.
11:23
<@Tarinaky>
But I'm not sure you're going to be solving the actual problem you have in a cost effective manner.
11:23
< ed>
as for album and artist names, I was hoping one of the speech recognition libraries I mentioned would have an offline database of how different letter combinations are likely to be pronounced, much like how most text to speech engines can usually accurately pronounce words that are not in the database
11:24
< ed>
and it would be further assisted by having a list of accepted phrases to match against
11:25
<@Tarinaky>
I'm not sure how Google's engine actually works. All I know is that it's a serious bsns research project with like... a whole bunch of smart people working on it and an end product that isn't really mature yet.
11:25
<@Tarinaky>
Which should give you an idea of the manhours needed for the project.
11:26
<@Tarinaky>
Also, I think the cloud nature implies that it probably requires more processing power than an Android platform can deliver.
11:27
< ed>
that was my main concern until now, heh
11:29
<@Tarinaky>
What's the actual problem you're trying to solve though?
11:30
<@Tarinaky>
I thought modern cars put controls for the radio on or near the steering wheel now?
11:31
< ed>
I would like to be able to name an album that I would like to listen to, without having to scroll through a huge list of available ones
11:31
<@Tarinaky>
You don't need a computer to do that.
11:32
<@Tarinaky>
I could tell you I'd like to listen to Kasabian - Kasabian despite being located in a different building to my music collection.
11:32
<@Tarinaky>
What's the /actual/ problem you want to solve?
11:33
< ed>
basically, being able to navigate my local music library without taking my attention off the road
11:33
<@TheWatcher>
Voice controlled music player, then
11:33
< ed>
this is purely a personal project, I don't care if other people find it useful or not
11:36 * Tarinaky shrugs.
11:37
<@Tarinaky>
Put your music collection in shuffle and use a skip button as a bogo sort?
11:37
<@Shiz>
lol
11:37
<@Tarinaky>
Or bogo search I guess.
11:38
<@Tarinaky>
But in all seriousness, good luck.
11:39
< ed>
thanks, I'll report back if I ever get anywhere with it :>
12:23
<@Wizard>
Hey ed
13:06
<&ToxicFrog>
Tarinaky: that depends on skip respecting shuffle -- it doesn't in my car.
13:07
<&ToxicFrog>
Tarinaky, ed: as far as power goes -- Google voice recognition by default runs on a cluster somewhere, and uses additional contextual information (like physical location) and access to the Knowledge Graph for recognition.
13:08
<&ToxicFrog>
You can run it in offline mode; it's noticeably worse, but it does work. So it can be done.
13:08
<@Tarinaky>
Neat.
13:08
<&ToxicFrog>
It might even be possible to access the offline voice recognition library programatically, although it requires some up front setup from the user (offline VR needs to be explicitly enabled and needs to download a bunch of data files)
13:10
<&ToxicFrog>
Also, having a small vocabulary does actually help here even if it's not known at compile time -- any interpretation that doesn't appear in the library can be weighted 0.
14:17 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
14:17 mode/#code [+o thalass] by ChanServ
15:04 kourbou [holoirc@Nightstar-ptu.kfu.165.37.IP] has joined #code
15:04 kourbou is now known as kourbou|bus
15:08 thalass is now known as Thalass|afk
15:08 kourbou [holoirc@Nightstar-ngl.ga3.162.37.IP] has joined #code
15:08 kourbou [holoirc@Nightstar-ngl.ga3.162.37.IP] has quit [Connection closed]
15:10 kourbou|bus [holoirc@Nightstar-ptu.kfu.165.37.IP] has quit [Ping timeout: 121 seconds]
15:30
<@Tarinaky>
http://www.reddit.com/r/talesfromtechsupport/comments/182tmd/its_like_having_a_g un_put_to_your_head/
15:30
<@Tarinaky>
Prize winner for "Worst tech support gig"
16:23 celticminstrel [celticminst@Nightstar-gmujup.dsl.bell.ca] has joined #code
16:23 mode/#code [+o celticminstrel] by ChanServ
16:25 macdjord|slep is now known as macdjord|wurk
16:54
<@Alek>
Taki: so many thanks. :D
17:23 Derakon [chriswei@Nightstar-5fqf0m.ca.comcast.net] has joined #code
17:23 mode/#code [+ao Derakon Derakon] by ChanServ
17:24 * Derakon mutters at GCs that are unable to detect reference loops.
17:24
<&Derakon>
I know, I know, island-detecting GCs are expensive as hell.
17:24
<&Derakon>
But detecting and cleaning up reference loops is a pain in the ass.
17:25
<&Derakon>
Especially since subtle things can throw you off.
17:25
<&Derakon>
For example, I have a throwaway anonymous class that exists just to listen to an event and perform an action...and that anonymous class operates in a closure that has a reference to the image display window that's supposed to be GC'd...
17:25
<&Derakon>
So I have to detect and remove the event listeners when the window is destroyed.
17:27 * Derakon ...s at the "workaround" on this page: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4380536
17:28
<&ToxicFrog>
Er
17:28
<&ToxicFrog>
mark and sweep GCs are expensive as hell now?
17:28
<&Derakon>
Well, more expensive than reference-counting, aye?
17:28
<&ToxicFrog>
Like, yes, they're more expensive than refcounting, but they're also pretty much the standard these days
17:29
<&Derakon>
...wait, y'know, I think I may be misremembering things here.
17:30
<&Derakon>
Java may actually use mark&sweep already.
17:30
<&Derakon>
And the problem is more that I have an extant object somewhere in the program state that is keeping a reference to the display window around.
17:30
<&Derakon>
Problem being that the program state is so bloody huge and image windows are so complicated that finding the perpetrator when examining the heap dump is kind of difficult.
17:30
<&Derakon>
</whine>
17:33 Thalass|afk [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
17:34
<&McMartin>
10:21 <&ToxicFrog> mark and sweep GCs are expensive as hell now?
17:35
<&McMartin>
Always have been, got worse once caching became a thing
17:35
<&McMartin>
(Since it systematically forces the system to thrash in a loop with billions of iterations)
17:35
<&McMartin>
That's why AFAIK Java's always used a generational collector.
17:36
<&McMartin>
Which reduces, in the end, to mark and sweep, but if you do that your program's performance has already been destroyed.
17:37 * Derakon restarts the profiler, hits "Acquire" on the data collection dialog, waits 30s for the acquisition engine to spool up and generate two fake images so he can close the window they're in.
17:39
<&Derakon>
I kinda wish NetBeans' profiler could generate a reference graph so I could look at this graphically instead of descending through objects manually and hoping I find the "external" link.
17:44
<&Derakon>
Well, links.
17:44
<&Derakon>
Because there's a lot of them.
17:45
<&McMartin>
I want to get into messing with Android again, which apparently means I should become familiar with IntelliJ
17:47 ^Xires is now known as Xires
17:54
<&ToxicFrog>
Next time I want to mess with Android I'm probably going to go full crazy and use the Chrome Apps For Android compiler, which takes JS as input
17:54
<&ToxicFrog>
And then write it in clojurescript
17:54
<&McMartin>
... is there a reason to do that instead of directly targeting Dalvik with Clojure?
17:55
<&ToxicFrog>
Not really
17:55
<&ToxicFrog>
But it sounds like fun
17:56
<&McMartin>
Oh, right, going the full crazy
17:56
<&ToxicFrog>
Actually, no, there is a reason, and that reason is that for the kind of things I'm likely to do CAFA presents a much more pleasant API than native Android apps
17:56
<&McMartin>
The core Java language has changed a lot since I last was a true master of it
17:57
<&ToxicFrog>
Absent clojurescript I'd probably still opt to use CAFA and just write my things in javascript
17:58 * McMartin nods
17:58
<&McMartin>
Megaforge is already in JS, so CAFA might be a fun fit for that
17:58
<&McMartin>
For all those places where I need to synthesize Mega Man passwords across the entire series on the go >_>
17:59
<&ToxicFrog>
Never know when you'll be caught in a strange place with nothing but an NES and a smartphone!
18:00
<&Derakon>
Oh, is that what Megaforge is?
18:01
<&ToxicFrog>
Also, this is CAFA: https://github.com/MobileChromeApps/mobile-chrome-apps
18:01
<&ToxicFrog>
I've only used the CADT parts, not the actually-package-your-thing-as-an-apk-for-release parts.
18:02
<&McMartin>
Derakon: Yeah, though in practice it's really a learn-to-javascript-interestingly thing.
18:03 * Derakon nods.
18:13 * Derakon adds a todo item to his list: "nuke the <foo> handles system from orbit".
18:13
<&Derakon>
API v1.4 has a ton of functions that interact with Foo objects by passing in a String handle to that object.
18:13
<&Derakon>
API v2.0 just gives you the Foo itself and tells you to go nuts.
18:13
<&Derakon>
So much cruft that can be deleted.
18:18
< [R]>
CAFA?
18:18
<&ToxicFrog>
Chrome Apps For Android, which is actually Chrome Apps For Mobile now, looks like
18:19
<&ToxicFrog>
Basically you write your thing as if it were a Chrome app (HTML UI, Javascript logic) and then it uses Cordova to wrap it in an apk or a ...whatever iOS uses.
18:45
<@celticminstrel>
If you mean file extension, it's ipa.
18:49 Kindamoody|afk [Kindamoody@Nightstar-180u8i.tbcn.telia.com] has quit [Connection closed]
18:50 Kindamoody|autojoin [Kindamoody@Nightstar-180u8i.tbcn.telia.com] has joined #code
18:50 mode/#code [+o Kindamoody|autojoin] by ChanServ
18:50 Kindamoody|autojoin is now known as Kindamoody
18:54 Thalass|afk [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
19:11 Thalass|afk is now known as Thalass
19:11 mode/#code [+o Thalass] by ChanServ
19:11 * ToxicFrog fires up rebase to remove a bunch of commits with descriptions like "wtf" and "even more logging please kill me"
19:11 * Thalass ponders password mmanagers.
19:12
<&ToxicFrog>
Thalass: what about them?
19:12
<@Thalass>
Whether they're worth it. I've never used one.
19:14
<&ToxicFrog>
IME, they are totally worth it.
19:14
<&ToxicFrog>
I use keepass, with the db synced to my various computers and phone.
19:14
<&ToxicFrog>
All my passwords are strong, all of them are unique, and I don't know what most of them are.
19:15
<&ToxicFrog>
When one of the sites I use inevitably gets hacked, I just need to change the password for that site, not everywhere.
19:15
<&ToxicFrog>
When I'm setting up a new account, I don't need to think of a password for it, I just push button.
19:22 * Thalass nods
19:23
<@Thalass>
I might try it, then.
19:23
<&Derakon>
I generate passwords by applying a function to the site's URL.
19:23
<&Derakon>
Probably not as secure as a password manager, but on the other hand I do know all of my passwords.
19:23
<&Derakon>
And they're still unique.
19:23
<&ToxicFrog>
Derakon: yeah, that's what I used to do, except it doesn't scale
19:23
<&Derakon>
Howso?
19:23
<&ToxicFrog>
Because different sites have different password requirements, which means you need different tuning parameters to the function
19:24
<&ToxicFrog>
Which means you now need to remember which tuning parameters you used for each site
19:24
<&McMartin>
This is basically what pushed me to LastPass
19:24
<&ToxicFrog>
s/lastpass/keepass/ and ditto.
19:24
<&Derakon>
Ahh.
19:24
<&Derakon>
That has not usually been an issue for me.
19:24
<&Derakon>
There's a couple of outliers, but they're small enough that I can remember them.
19:25
<&McMartin>
(AIUI, lastpass, keepass, and 1pass are the big three)
19:29
<&ToxicFrog>
Lastpass stores your passwords offsite, which I don't particularly like. Don't know about onepass.
19:31
<@Thalass>
Hrm. There is a keepass2 and a keepassX in the software centre
19:31
<&McMartin>
Yeah, although I'm not actually sure if that increases the attack surface significantly
19:35
<&ToxicFrog>
Lastpass was in fact hacked a few years ago
19:35
<&ToxicFrog>
It at least increases it from "your stuff" to "your stuff + the password manager's servers", and the latter is a much more juicy target
19:36
<&ToxicFrog>
Thalass: Keepass2 is the official Mono-based release. KeepassX is a cross-platform C++ fork.
19:37
<&ToxicFrog>
There are minor differences in UI but they're format-compatible with each other.
19:37
<&ToxicFrog>
(unless it's a very old version of keepassx; support for kp2 databases was added in 2013)
19:37
<&ToxicFrog>
(*2012)
19:40
<&McMartin>
ToxicFrog: It was 1Password that was hacked, not LastPass, if memory serves
19:41
<&McMartin>
But yeah, my "most worrisome attack surface" is "something that can get access to the browser's memory"
19:42
<&McMartin>
(The decrypting passphrase never hits the wire in any of these)
19:48
<@Thalass>
Thanks guys
19:48 * Thalass installs, has a play around
20:05
<@Reiv>
My problem with password managers: How cleanly do they work when I am, eg, at work?
20:06
<@Reiv>
The old "What do I do at a friends house" problem is one I would dearly love to see a trivial answer to
20:06
<&ToxicFrog>
Reiv: at work, I mount my home machine from there and open the password file directly
20:06
<&ToxicFrog>
On the run, I use my phone
20:06
<@Reiv>
And hand-type what they provide?
20:07
<@Reiv>
ToxicFrog: I 'open the password file directly' implies you have installation priveledges for the password manager at work, yes?
20:09
<&ToxicFrog>
Reiv: yes, although it can also be run portably if needed
20:09
<@Reiv>
Hmm, yeah, we don't have install privs
20:09
<@Reiv>
I have a ton of software, but cannot add to the collection ;_;
20:09
<&ToxicFrog>
You don't need to install but you do at least need to be able to run the exe
20:09
<@Reiv>
Nor can I configure Chrome, which is maddening
20:09
<&ToxicFrog>
And with the phone, yes, I just type it in by hand
20:10
<@Reiv>
(C'mon, let me re-open old tabs when I reboot ;_;)
20:10
<&ToxicFrog>
That said, the passwords I'm most likely to need -- the password for keepass itself, my user logins, Steam, and Google -- I have memorized.
20:10
<&ToxicFrog>
And those I have deliberately picked passwords that I can easily type.
20:11 * gnolam cackles manically.
20:11
<@Reiv>
oh, you don't have to stick with randomised ones? OK.
20:11
<@Reiv>
That makes it more attractive, if it's handling the esoteric rather than the standard.
20:11
<@gnolam>
SUCK IT, Kubelka and Munk.
20:12
<&ToxicFrog>
Reiv: yeah, it has a random password generator (which is tunable -- by length, but also by what kinds of characters to include, and it has options for "exclude things hard to type on mobile" and "exclude things that look like each other" e.g. 1/l or O/0)
20:12
<&ToxicFrog>
But you can also just type in a password and tell it to remember.
20:14
<@Reiv>
aha
20:25
<@iospace>
Comment of the day: "spec says you have to write at least one month (whatEVER)"
20:32 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code
20:32 mode/#code [+o Vash] by ChanServ
20:41 Thalass is now known as Thalass|games
20:42 Thalass|games [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Connection closed]
20:47 * Derakon mutters at NetBeans, has no clue where the external references to this giant glob of objects are.
20:48
<&Derakon>
This is the problem with attaching all of the controls and metadata displays for a dataset to the window the dataset is in; when there's a memory leak and you're trawling through the heap trying to figure out what's keeping a reference to the window open, there's a crapton of stuff that might somehow indirectly be leaking a reference, but there's no easy way to tell.
21:17 kourbou|phone [holoirc@Nightstar-deqg8j.fbx.proxad.net] has joined #code
21:18 kourbou|phone [holoirc@Nightstar-deqg8j.fbx.proxad.net] has quit [Connection closed]
21:18 kourbou [holoirc@Nightstar-deqg8j.fbx.proxad.net] has joined #code
21:33 kourbou is now known as kourbou|zzz
21:38 thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
21:38 mode/#code [+o thalass] by ChanServ
21:41 * thalass idly ponders the viability of using the bittorrent format to coalesce data sent from a satellite and received by many ground stations. A master ground station could act like a leecher, with the slave stations acting like seeders.
21:44
<&McMartin>
Hrm. Isn't the satellite's downcasting bandwidth going to be the limiting factor?
21:50 Reiver is now known as Orth
21:52 kourbou|zzz [holoirc@Nightstar-deqg8j.fbx.proxad.net] has quit [Connection closed]
21:55 Kindamoody is now known as Kindamoody[zZz]
22:03 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
22:03 mode/#code [+qo Vornicus Vornicus] by ChanServ
22:12
<@Alek>
well... I dunno, but I thought satellites were able to broadcast simultaneously on hundreds of frequencies, and most ground stations could only receive one frequency at a time. so if you had a bunch of stations, each set to receive one of several frequencies, you could add it up for a higher throughput, no?
22:13
<@Alek>
or am I wrong somewhere?
22:17
<~Vornicus>
you can receive multiple frequencies on one antenna
22:18
<~Vornicus>
this is the basis of FM stereo and B&W-compatible color TV
22:34 Derakon [chriswei@Nightstar-5fqf0m.ca.comcast.net] has quit [[NS] Quit: leaving]
22:34
<&ToxicFrog>
Vornicus: receiving multiple frequencies simultaneously is an entirely different sack of ferrets; this is what tuners are for.
22:35
<&ToxicFrog>
DSN dishes, for example, have a very broad frequency range but tune to fairly narrow ranges to collect incoming signals.
22:37
<~Vornicus>
I do mean at once.
22:39
<&ToxicFrog>
Examples?
22:46
<&ToxicFrog>
I mean, yes, FM receivers and the like tune to a narrow frequency band rather than a single frequency, but I thought that the only way to receive usefully over a broad frequency range was to make it equally bad at everything and very, very large
22:46
<~Vornicus>
FM stereo. the "mono" and "stereo" bands are actually in two different places
22:47
<~Vornicus>
or at least that's how I understand it
22:59
<@thalass>
This is specifically for a cubesat in orbit of the moon. It has pretty low bandwidth, but needs to transmit rather detailed images of the surface. So mulltiple groundstations are needed to improve reception. Random dropouts due to clouds, etc.
23:00 Orthia [orthianz@Nightstar-ee5.6b3.224.119.IP] has quit [Ping timeout: 121 seconds]
23:01
<@thalass>
Initially having multiple ground stations was to increase gain, like the square kilometre array, but if they're placed around the world they'll need to syncronise over the intertoobs. It was just a brainfart, really.
23:02
<~Vornicus>
There was a thing, uh -- I think McM saw it or something?
23:03
<&ToxicFrog>
Vornicus: I'm not terribly good at analog stuff, but here's my understanding
23:03
<&McMartin>
thalass: well, a *continuous* transmission would occasionally have LOS issues, I suppose
23:03
<&McMartin>
So you could correlate that way
23:03
<&ToxicFrog>
The stereo information -- along with other stuff like the text channel -- is placed on "subcarriers", which are (relatively low-frequency, kHz range) additional carriers modulating the main signal
23:04
<&McMartin>
What TF describes is roughly how Composite Video signals also work when sent through an RF modulator
23:04
<&McMartin>
That said
23:04
<&McMartin>
I'm unclear on how FM works when presumably one tunes to a frequency
23:05
<&ToxicFrog>
The way this has been explained to me is that if you plotted the wave of one of these signals, it would be "fuzzy"
23:05
<&ToxicFrog>
Zoom in on that fuzz and it's another wave. That's the subcarrier and it's modulated to carry additional data.
23:05
<&ToxicFrog>
I have no idea if this is how it actually works or if it's lies-to-children
23:06
<&McMartin>
"In analog signal applications, the difference between the instantaneous and the base frequency of the carrier is directly proportional to the instantaneous value of the input-signal amplitude."
23:06
<&ToxicFrog>
McMartin: as a practical matter you tune to a frequency range; you have a nominal frequency tuned to and the SNR gradually increases as you get further away from it
23:07
<&McMartin>
What you describe would be how it works for an amplitude-modulated subcarrier
23:07
<&McMartin>
The thing is, with RF modulated composite, is that that happens "one level down"
23:07
<&McMartin>
You can't read the composite signal out of the modulated one directly; turn it back into a signal and it's a sum of three signals with different carrier waves
23:07
<@thalass>
When you tune to an FM radio frequency, your receiver's bandwidth is going to be ~15kHz either side of that frequency. That covers the transmission of audio using frequency modulation. (IIRC the frequency of the sound alters the carrier frequency accordingly. Frequency shift for volume and rate of frequency shift for frequency? Something like that. )
23:07
<@thalass>
it's been a long time
23:08
<&McMartin>
Right
23:08
<&McMartin>
The part where I'm falling down is how you do it in analog, basically.
23:08
<&McMartin>
And apparently it's because All The Terms Cancel Out, is what I'm getting from this
23:08
<@thalass>
heh
23:08
<@thalass>
it's magic.
23:08
<@thalass>
That's how I explain it to pilots.
23:09
<&McMartin>
AM/FM - Actual Machines; Fucking Magic
23:09
<@thalass>
*snerk*
23:09
<&ToxicFrog>
Heh
23:09 thalass is now known as Thalass|afk
23:09
<@Thalass|afk>
bed time for the brats. I may not survive.
23:09
<&ToxicFrog>
Most of my knowledge of radio comes from reading about the DSN, which is amplitude- and frequency-fixed for a given transmission and uses phase shift encoding for the actual payload
23:15 abudhabi [abudhabi@Nightstar-7nkq9k.de] has quit [Operation timed out]
23:19 abudhabi [abudhabi@Nightstar-7nkq9k.de] has joined #code
23:22 Thalass|afk is now known as Thalass
23:52 Derakon[AFK] is now known as Derakon
--- Log closed Wed Mar 25 00:00:28 2015
code logs -> 2015 -> Tue, 24 Mar 2015< code.20150323.log - code.20150325.log >

[ Latest log file ]