code logs -> 2016 -> Sat, 23 Jan 2016< code.20160122.log - code.20160124.log >
--- Log opened Sat Jan 23 00:00:48 2016
00:17
< [R]>
Derakon[AFK]: Datacollection?
00:24 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [Connection closed]
00:55 catadroid [catalyst@Nightstar-ashcg9.dab.02.net] has quit [Ping timeout: 121 seconds]
00:58 catadroid [catalyst@Nightstar-ashcg9.dab.02.net] has joined #code
01:22 Derakon[AFK] is now known as Derakon
01:22
<&Derakon>
[R] That doesn't obviously indicate how it's different from a Datastore.
01:24 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving]
01:31
<~Vornicus>
What's this thing we're naming?
01:31 * ToxicFrog successfully boots using EFISTUB
01:32
<~Vornicus>
oh i see
01:44
<~Vornicus>
DataWhiteboard
01:52
<~Vornicus>
PencilDataStore
02:30 Derakon is now known as Derakon[AFK]
02:37 Xon [Xon@Nightstar-j72.ku7.252.119.IP] has quit [Client exited]
02:51 Xon [Xon@Nightstar-j72.ku7.252.119.IP] has joined #code
03:07
<@iospace>
ToxicFrog: I see EFI and think the EFI of UEFI type
03:08
<&ToxicFrog>
iospace: yes, exactly
03:09
<&ToxicFrog>
EFISTUB is a compile-time linux kernel option that makes the kernel itself a valid UEFI bootloader
03:09
<@iospace>
fun
03:09
<@iospace>
it's been too long since I've used it T_T
03:09
<&ToxicFrog>
So rather than taffing around with the tire fire that is grub2, you just plop vmlinuz and initrd.gz into /boot/efi and make it bootable with efibootmgr
03:09
<@iospace>
or well, coded on it
03:09
<@iospace>
(I use it every day, but I miss coding with it)
03:10
<&ToxicFrog>
And then it's directly selectable from the firmware boot selection interface
03:15 celticminstrel [celticminst@Nightstar-uce74q.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
03:18 Derakon[AFK] is now known as Derakon
05:21 thalass [thalass@Nightstar-283.o7s.158.104.IP] has quit [Ping timeout: 121 seconds]
05:50 catadroid` [catalyst@Nightstar-r71.o87.132.82.IP] has joined #code
05:54 catadroid [catalyst@Nightstar-ashcg9.dab.02.net] has quit [Ping timeout: 121 seconds]
05:54 Derakon is now known as Derakon[AFK]
06:05 Crossfire [Z@Nightstar-pdi1tp.customer.tdc.net] has quit [Ping timeout: 121 seconds]
07:31 Kindamoody[zZz] is now known as Kindamoody
07:40 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
08:06 catadroid` is now known as catadroid
08:23 * McMartin forks his first project on Github.
08:24
<&McMartin>
ToxicFrog: I have regularly been terrified at the level of power EFI offers
08:24
<&McMartin>
Like, it's basically "who needs a singletasking operating system, just use the frickin' firmware"
08:25
<&McMartin>
https://en.wikipedia.org/wiki/Jamie_Zawinski#Zawinski.27s_law_of_software_envelo pment
08:25
<&McMartin>
This is arguably the reason EFI replaced BIOS, right here
08:31
< catadroid>
Not because it's bad form to expect every system to boot in 16-bit real mode?
08:33
< catadroid>
Sometimes I worry about my programming ability and feel inadequate and then I solve my work colleagues problem by looking up how lvalues and rvalues work and their interaction in the standard and know why something has occurred fifteen minutes later >.>
08:33
< catadroid>
Add punctuation as necessary
08:39
<&McMartin>
Heh
08:53 macdjord|slep is now known as macdjord
09:57
<&McMartin>
Yay
09:57
<&McMartin>
Found in this sourcebase
09:57
<&McMartin>
symbolInContextType *
09:57
<&McMartin>
getWorkingContext(identifier)
09:57
<&McMartin>
symbolTableEntryType *identifier;
09:57
<&McMartin>
{
09:57
<&McMartin>
Oops
09:57 * McMartin tries that again
09:57
<&McMartin>
/* This is the most horrible piece of code I have ever written in my entire life -- cbm */
10:05 catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code
10:16 catadroid [catalyst@Nightstar-r71.o87.132.82.IP] has quit [Ping timeout: 121 seconds]
11:28 Kindamoody is now known as Kindamoody|out
11:45 gizmore [kvirc@Nightstar-oqj236.dip0.t-ipconnect.de] has joined #code
14:29 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
14:29 mode/#code [+o Crossfire] by ChanServ
15:08 macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
15:29 thalass [thalass@Nightstar-283.o7s.158.104.IP] has joined #code
15:29 mode/#code [+o thalass] by ChanServ
15:33 thalass [thalass@Nightstar-283.o7s.158.104.IP] has quit [[NS] Quit: Leaving]
16:04 celticminstrel [celticminst@Nightstar-uce74q.dsl.bell.ca] has joined #code
16:04 mode/#code [+o celticminstrel] by ChanServ
18:49 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
18:50 mode/#code [+qo Vornicus Vornicus] by ChanServ
19:01 Derakon[AFK] is now known as Derakon
20:42 catadroid [catalyst@Nightstar-gvmjr0.dab.02.net] has joined #code
20:45
< abudhabi>
MVC theory. Can someone explain what exactly the Controller part is? I grok the Model and the View, but what is the Controller, if not everything that remains?
20:45
< Azash>
The controller is kind of akin to a router
20:45
< Azash>
Takes request, finds appropriate models, offloads the work to them, then collects the results and passes them to the view
20:49
< Azash>
What's that two-stage distributed computing idea called again? It's a bit similar to that
20:50
< abudhabi>
In a webpage working on data from a database, say a Java thingy, where the View is the JSP files and ActionBeans, the Model is the Java-interpretation of the database information, what is the Controller there? The servlet thingamajigs that handle URLs? High-level calls for data?
20:51
< catadroid>
The model is the data organised in relation to the data, the view is some external slice or manipulation of that data and the controller is the logic that marshals between them
20:51
< Azash>
Basically what catadroid said
20:51
< Azash>
The controller gets the request and checks the data
20:51
< abudhabi>
That sounds like my first-order approximation of "everything in between".
20:51
< Azash>
It figures out which models and model objects are needed and gets them
20:51
< Azash>
It tells them what to do
20:52
< Azash>
Then it gets the results of the computation
20:52
< Azash>
It just organizes the work but offloads as much as possible to the models
20:52
< catadroid>
In a Web world I imagine the model could be a database, the view a page layout and the controller the requests
20:52
< Azash>
Then it passes the results to the view
20:52
< catadroid>
The reason to do this is so you can develop UI separate from organising your data
20:52
< catadroid>
As far as I can tell
20:53
< Azash>
re. Java interpretation of DB information, I've seen both models that have both logic and database mapping, or approaches where you separate between the model and the DBO (the latter being a thin wrapper around the DB)
20:53
< catadroid>
The view and controller often seem muddled
20:53
< abudhabi>
Yes. They seem muddled to me.
20:54
< abudhabi>
The specific case I would especially like to figure out, is how to separate Java Swing stuff as largely independent of the underlying application.
20:54
< abudhabi>
So that I could, say, design something that someone else, better with UI, could design an alternative interface for.
20:55
< abudhabi>
So that the same program could be serviced with a View that could be Swing, or console, or a custom 3D engine, or whatever.
20:57
< catadroid>
One formulation I've seen is in Windows WPF, where the model is raw data, the view is empty GUI containers with a defined interface and the controller (or view model) is the events and observable behaviour overhead
20:57
< catadroid>
So the view can be developed on idealised data and the layout done separate from logic
20:58
< catadroid>
You can also have multiple instances of the controller to the same view interface but different models
21:07 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
21:08
<&jerith>
In most web frameworks, "view" means "template".
21:09
<&jerith>
Django explicitly calls itself MVT for "model, view, template" because it thinks "view" is a better name for what other things call "controller".
21:09
< catalyst>
I think it might be as well
21:10
< gizmore>
real devs code INDEX ... all in one index.php
21:10
<&jerith>
The standard in some cultures (especialy the parts of the Rails community I've seen), is to put a bunch of business logic in the model layer.
21:11
<&jerith>
Which I think is a terrible idea.
21:11
<&jerith>
gizmore: The countertroll to that is "real devs don't write PHP", but that's elitist and hostile and I'm trying to stop being those things.
21:12
< gizmore>
of course real devs invoce perl-cgi via index.php, because they didnt knew how to change the auto-index in apache
21:13
<&jerith>
Real devs know how to read documentation and, when that fails, code.
21:16
<~Vornicus>
CodeIgniter has "controllers" which requests get routed to and will call model and view functions; "models" which are supposed to do the actual, and "views" which are templates.
21:16
<~Vornicus>
I still don't know what the hell "business logic" is supposed to mean
21:16
<&jerith>
Vornicus: Basically anything that isn't presentation logic or a database query.
21:16
< abudhabi>
Vornicus: Anything not boilerplate.
21:17
<&jerith>
If you have an API and a web frontend, the business logic is the behaviour common to both.
21:19
<&jerith>
Let's say you have a webapp that generates invoices.
21:20
<~Vornicus>
Okay so that's what I'd call, uh, half of model
21:21
<&jerith>
The business logic is the code that decides which transactions are relevant, correlates them, summarises them, and passes the resukt to the presentation layer.
21:22 Quigley [NSwebIRC@Nightstar-epo5uu.br.cox.net] has joined #code
21:22
<&jerith>
*result
21:23
< Quigley>
Hi! Might any of you be familiar with glm?
21:23
<&jerith>
What's glm?
21:24
< Quigley>
it's a c++ library that does matrices and vectors, for opengl stuff
21:24
<&jerith>
Ah. Not my thing at all.
21:26
< Quigley>
Just trying to figure out if I should put the translation part of the translation matrix in the left most column, or the bottom most row. matrices hurt me
21:27
<~Vornicus>
most matrices I see that include translation put the translation in the rightmost column
21:28
<~Vornicus>
-- what row something is in tells you what part of the *output* it is for, and what column it is in tells you what part of the *input* it is for
21:29
< Quigley>
(whoops, I meant rightmost instead of leftmost. I also put mine in the bottom row, whoops x 2)
21:29
<~Vornicus>
So basically you only ever use the bottom row (of a d+1 by d+1 matrix) when doing a projection step.
21:29
< Quigley>
aw, I side step that a little; mine is a 3x3 matrix, for 2D coordinates
21:30
<~Vornicus>
Works out.
21:36
< Quigley>
I couldn't figure out how the library wanted the matrices, or how it multiplied them... so I kind of looked up matrices on KidzMath and combined all the rotations and scaling and stuff myself
21:36 gizmore|2 [kvirc@Nightstar-oqj236.dip0.t-ipconnect.de] has joined #code
21:36
< Quigley>
I have 0 clue if it works yet, does it even look right? https://www.dropbox.com/s/r9djocmfop3fyzy/conversions.png
21:38
<~Vornicus>
I'm surprised there's stuff in the bottom row a little bit.
21:39 gizmore [kvirc@Nightstar-oqj236.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:40
<~Vornicus>
Oh I guess that's your translation stuff in the wrong place
21:41
< Quigley>
aye, I'm not sure how opengl likes it... I read that it's column major, whatever that is
21:42
<~Vornicus>
"column-major" and "row-major" tell you basically what order the individual entries are stored in memory
21:43
<~Vornicus>
I don't remember which is which, but for one of them, getting how x affects y is M.x.y and the other is M.y.x
21:43
< Quigley>
column vs. row always confuses me somehow, I wish it was something easy like hotdogs vs. corndogs
21:44
<&Derakon>
The thing that annoys me is when you need to pass row/column dimensions to a method or similar and the parameter list has rows first.
21:44
<&Derakon>
That's the Y axis, numbskull!
21:44
<@Tamber>
Something something optimised memory access, maybe?
21:44
<@Tamber>
(Optimised in air-quotes.)
21:51
<@gnolam>
https://twitter.com/_Pandy/status/689209034143084547
21:52
< abudhabi>
Hahaha.
21:55 Crossfire [Z@Nightstar-pdi1tp.customer.tdc.net] has joined #code
21:55 mode/#code [+o Crossfire] by ChanServ
21:57
<~Vornicus>
looks like column-major means that it's M.x.y
21:58
< Quigley>
Aw, thanks!
21:59
<~Vornicus>
So your translation terms are in M.w.x and M.w.y
21:59
<~Vornicus>
(or, if it's array indexes, M[2][0] and M[2][1]
21:59
< Quigley>
glm is weird, it accesses it's elements like M[x].y, so when it's written out in code, the translation terms are on the 4th line
22:00
<~Vornicus>
that is weird.
22:02
< Quigley>
lucky for me, because I messed that up too, in a way that somehow cancelled out the first mess up
22:05
<~Vornicus>
pff
23:21 Kindamoody|out is now known as Kindamoody
--- Log closed Sun Jan 24 00:00:04 2016
code logs -> 2016 -> Sat, 23 Jan 2016< code.20160122.log - code.20160124.log >

[ Latest log file ]