<<13-11-2012>>

00:02:51*q66 quit (Quit: Quit)
04:15:31*fowl joined #nimrod
04:17:43*comex quit (Excess Flood)
04:28:57*comex joined #nimrod
04:28:58*comex quit (Excess Flood)
05:40:56*comex joined #nimrod
05:40:57*comex quit (Excess Flood)
05:41:09*comex joined #nimrod
05:41:55*comex quit (Excess Flood)
05:42:03*comex joined #nimrod
05:42:24*comex quit (Excess Flood)
05:43:50*comex joined #nimrod
07:18:51*Boscop quit (Ping timeout: 256 seconds)
09:05:52*fowl quit (Read error: Connection reset by peer)
09:51:25*Trix[a]r_za is now known as Trixar_za
10:12:00*ccssnet quit (*.net *.split)
10:12:00*JStoker quit (*.net *.split)
10:15:38*ccssnet joined #nimrod
10:15:38*JStoker joined #nimrod
10:20:38*rking quit (*.net *.split)
10:20:40*XAMPP quit (*.net *.split)
10:22:06*XAMPP joined #nimrod
10:22:06*rking joined #nimrod
10:23:24*zahary quit (*.net *.split)
10:24:03*zahary joined #nimrod
10:25:37*XAMPP quit (*.net *.split)
10:26:51*XAMPP joined #nimrod
12:05:29*Trixar_za is now known as Trix[a]r_za
12:37:45*Boscop joined #nimrod
13:00:07*Araq_ joined #nimrod
13:13:50*Araq_ quit (Quit: ChatZilla 0.9.89 [Firefox 16.0.2/20121024073032])
13:22:47*q66 joined #nimrod
17:32:48*AraqInTrouble joined #nimrod
17:36:04*AraqInTrouble quit (Client Quit)
17:43:55*araq_bnc joined #nimrod
17:54:24*araq_bnc quit (Quit: ChatZilla 0.9.89 [Firefox 9.0.1/20111220165912])
17:54:39*Araq is now known as araq_bnc
17:56:31*araq_bnc is now known as Araq
17:57:02Araqso ... the trouble is over ;-)
17:59:10dom96AraqInTrouble heh. Sounds like you're unable to talk and you're instead simply giving us an SOS using your nick hah
17:59:52Araqyeah
17:59:56Araqif that happens again
18:00:02Araqcheck our server is still running :P
18:37:56*comex quit (Excess Flood)
18:40:53*comex joined #nimrod
18:40:55*comex quit (Excess Flood)
18:41:41*comex joined #nimrod
18:53:12*comex quit (Quit: Coyote finally caught me)
18:53:21*comex joined #nimrod
19:03:47*gradha joined #nimrod
19:04:03Araqyay, gradha
19:04:09gradhayay me
19:04:35Araqhas been a bit silent the last days here ;-)
19:05:46gradhanot much nimrod to talk about?
19:05:54gradhaI saw the tag commit recently
19:06:30gradhaI'm thinking a perverted way of tacking system calls might be for the compiler to auto-generate a tag with the name of the proc and a prefix
19:06:46gradhathen the doc command strips the prefix and says "this proc calls these other procs"
19:06:53gradhanot pretty, but seems doable
19:07:45Araqmaybe but what's the point?
19:08:07gradhano point, just chatting, to fill the irc logs
19:08:19Araqalright :-)
19:09:19Araqbtw I looked over your example code
19:10:19gradhacalculator or todo?
19:11:30Araqand somewhere you should use a string case instead of an if-statement
19:11:30Araqthere were other things, let me see
19:11:30Araqah yes: I don't really like every single 'import' on its own line
19:11:31Araqwell I don't mind it either
19:11:31Araqbut you wanted more feedback
19:11:32Araqecho("page " & $page) # -->
19:11:40Araqecho "page ", page
19:11:43Araq(todo)
19:12:14gradhacool, this is what I was writing while you started: "so what's the definitive style for echo. Is it like python's print, that everybody uses without parenthesis, then comes a new version and forces them?"
19:13:55Araqthe "command call" syntax is very common in nimrod
19:14:27gradhait's slightly confusing to have some calls with parenthesis and some not
19:14:27Araqit's not a special case for 'echo'
19:14:27Araqand you'll never see me making petty things like that
19:14:47gradhait sort of breaks when you try to use the oo sugar syntax with dot
19:14:53Araqyeah but if anything even more calls will get rid of the ()
19:14:59Araqhow does it break?
19:15:09Araqresult.add xyz # works fine
19:15:20gradhaI remember having trouble with the todo example and putting parenthesis to help the compiler
19:15:23gradhaor maybe my mind
19:15:30Araqthe problem is this:
19:15:33Araqecho $xyz
19:15:37Araqas it's parsed as:
19:15:45Araqecho $ xyz # binary $
19:16:18Araqthere are some ideas of turning nimrod into a "whitespace surrounding operators" sensitive language
19:16:40gradhareads like claustrofobia
19:16:40Araqso that 4+5 * 3 would have the precedence that the whitespace suggests
19:16:57gradhathat's interesting
19:17:11gradhait will be confusing as hell to an outsider, though
19:17:20Araqit's suprisingly simple to implement :P
19:17:41Araqbut yeah maybe it's too revolutionary ;-)
19:18:06reactormonkgradha, why? I would expect echo $xyz to be parsed as echo($(xyz)) and echo $ xyz as $(echo, xyz)
19:18:10gradhacount me in for revolution
19:18:32gradhareactormonk: I don't have handy the lines which were giving me problems
19:18:49gradhamaybe it's just that I was struggling with the language itself and confused the compiler error messages
19:19:03gradhahappened twice when I was changing from ref TTodo to just TTodo
19:19:20gradhamaybe the problem was the lack of auto-defering
19:19:34gradhaI'll just comb through the example again and see how it goes this time
19:21:01gradhaAraq: the reason I like separate imports is because I always sort them alphabetically, so I get to find them faster if needed, and also reduces diff pollution in source control
19:21:17gradhabut then, I'm biased by C's #include
19:21:49gradhaoh, the good old rule of including stuff from local to external modules to detect dependencies and reduce include hell
19:25:04Araqalright but why do you need to find them?
19:25:23Araqfor me they are mostly compiler nanny'ing
19:25:36gradharemoving/adding code, especially when refactoring
19:25:49gradhaI dislike leaving a lot of #include cruft behind
19:25:55Araqaha
19:25:57gradhanot sure if its an issue with nimrod
19:26:05*Araq never removes unused imports ;-)
19:26:08gradhawell well well
19:26:13gradhasince we are talking about stuff
19:26:23gradhawhy not a compiler switch which tells what imports are useless?
19:27:11gradhawould that help with compilation speed using big wrappers like gtk?
19:27:48Araqnot really
19:27:59Araqsince gtk is split up in very few modules
19:28:59Araqa compiler switch about unused imports sounds simple to do though
19:30:06gradhaI recall github posting something on their blog that you can hint at coding style guides when somebody does a pull request, can't find it though
19:30:28gradhait could be good to add these nitpicks to that guide, at least would free you from repeating them to other people too
19:31:19Araqdunno the only thing that I really despise is whitespace before ':' ;-)
19:31:31*apriori_ joined #nimrod
19:31:51Araqin fact, I thought about making that a compilation error
19:32:09Araqand whitespace before ; or , for that matter
19:32:40Araqspeaking of which ... your code contains ' :' :P
19:32:49gradhastill? I thought I got rid of it
19:33:01Araqtestbackend.nim line 61
19:33:29gradhaindeed
19:34:04gradhalooks like an editing mistake, first using a var block, then getting rid of other variables, joining in a line and forgetting that space
19:34:32gradhaso what's keeping you from adding a git commit hook to detect these?
19:34:32AraqTCommand = enum # The possible types of commands
19:34:33Araq commandAdd ...
19:35:03gradhaodd indentation there
19:35:06AraqI try to avoid learning about git ;-)
19:35:19Araqmy point is: there are now 'pure' enums
19:35:33Araqso instead of prefixing every enum member with 'command'
19:35:46Araqyou can skip the prefix and use TCommand.Add instead
19:36:06gradhanice, didn't know that
19:36:19gradhaI recall copying that structure from somewhere, maybe tools subdirectory
19:36:38gradhadidn't pay much attention on how it was used, though
19:36:57Araqwell 'pure' for enums is quite new
19:37:20Araqand I like the 2-3 char prefixes better ;-)
19:38:21Araqthis System.Text.Regex.X stuff is a disease IMHO
19:39:03gradhaso the dot notation is only when there's a namespace conflict
19:39:19Araqmost of the time, yes
19:39:31Araqsometimes I use it for clarity
19:39:57gradhamaybe commandAdd would be CAdd
19:40:24gradhacommandCheck -> CCheck, commandList -> CList, etc
19:40:28gradhareminds me of MFC
19:40:46Araqhttp://nimrod-code.org/apis.html suggests it should be cmdAdd
19:41:17gradhacmdAdd will be then
19:45:07Araqbtw why do we need an sqlite database for a todo store? ;-)
19:45:21reactormonkjust because
19:45:30gradhait's to exercise the module
19:45:35reactormonkit's a standard for storing data. Why reinvent the wheel :-P
19:45:47Araqthe forum runs on sqlite ...
19:45:55Araqno need to test it :P
19:46:17reactormonkAraq, not too much traffic?
19:46:31gradhamy preferred way would have been to use a json file, but I just happened to crash against db_sqlite first
19:46:33Araqit used to use postgre but I got tired of postgre's complex setup
19:47:18Araqchanging the backend mostly required to change the imports :P
19:47:24Araqand of course bits of the sql
19:47:44Araqsomehow the lack of a common interface with dynamic binding was no problem :P
19:49:22Araqand yeah reactormonk, we have not much traffic because people stop using the forum once they found the index :P
19:49:23gradhatalking about storing files, nowadays I just piggyback on json libraries, but in the good old days I used to write bits and bytes manually
19:49:31gradhahow would that be accomplished in nimrod?
19:50:03reactormonkgradha, strings and write
19:50:18Araqthere are a couple of procs that can write via an untyped pointer
19:50:20gradhaso you build a buffer in memory and blast it?
19:50:36Araqyou can go as low level as C
19:50:46Araqrequires an unsafe 'cast' though
19:51:53gradhaI have plans to wrap an old C IO library for packing/unpacking data, so maybe I should just rewrite it in nimrod
19:52:10Araqno need for a manual rewrite
19:52:14Araquse c2nim for that
19:52:48Araqyou still need to tweak your C heavily for c2nim
19:52:56Araqbut it's much better than rewriting it by hand
19:53:09gradhaI'll keep that in mind when the time comes
19:55:58dom96IIRC fowl wrote something for working with bits and bytes, he used it for sockets but I don't see why it wouldn't work for writing files too.
19:59:15*ekselkiu joined #nimrod
20:11:29gradhaI don't mind writing cmdAdd, but the type for the enum, TCommand, feels better without compression
20:12:12AraqI'm not suggesting that *my* style is nimrod's style guide
20:12:40gradhaisn't nimrod your creation?
20:12:44Araqin fact, for an example I suggest to use TCommand.Add too
20:13:04Araqnimrod is my creation, yes
20:13:14Araqbut I'm dirtier than Nimrod :P
20:13:28gradhamy 1st rule of contributing is mimicking the style of the author
20:13:36gradhaI actually won't be using it in my own code
20:14:44gradhayou see, I'm from_the_lower_case_mentality
20:15:24Araqrecent papers suggest this_is_really_more_readable thanThis
20:15:52Araqso I guess you're right :P
20:16:13gradhaonly for 50% of the word right
20:16:28gradhawell, much less if we consider all the variations of each style
20:20:07Araqoh apriori_, forgot to tell you
20:20:28Araqplease put your OS kernel on github
20:24:15apriori_Araq: will do that
20:24:24apriori_although...
20:24:40apriori_some part of that is pretty much 100% of my professor.. will ask him whether he has something against it
20:25:06Araqyour professor programmed it in nimrod? ;-)
20:25:58apriori_nope
20:26:01apriori_the asm part
20:26:04apriori_the bootloader etc.
20:26:34Araqhrm ...
20:27:11reactormonkAraq, reference?
20:27:38Araqreference for what?
20:28:21reactormonkAraq, snake_case vs. CamelCase
20:29:55gradhaawww, the case insensitivity rule expectedly breaks at the import level
20:30:06gradhacan't import dbSqlite
20:31:22gradhapoking stuff is fun, reminds me of spectrum times
20:33:41Araqhu?
20:33:51Araqthat should work ...
20:34:10Araqthe compiler tries an all lowercase version then
20:34:13gradhalet me try again and see if I had dreamt it
20:34:19Araqah but it doesn't insert the '_'
20:34:27Araq;-)
20:35:12gradhajust case would be sort of expected, at least since some of the platforms are case insensitive for filenames
20:36:15Araqreactormonk: http://whathecode.wordpress.com/2011/02/10/camelcase-vs-underscores-scientific-showdown/
20:36:25Araqhttp://www.cs.kent.edu/~jmaletic/papers/ICPC2010-CamelCaseUnderScoreClouds.pdf
20:39:04Araqbut IMO this argument trumps everything else: "Camel case makes *paragraphs* easier to read."
20:39:47gradhaonly if you write your paragraphs without spaces between words?
20:40:25gradhaI find that line pretty offensive by itself, in both styles
20:41:05Araqwell reading a program is all about layout and thus "paragraphs"
20:41:37Araqadd spaces and it's still easier to read with camelCase
20:41:55AraqI tried it recently with a 5 line GTK example :P
20:43:12gradhahaving worked with both styles more or less equally I find it hard to point one style easier to read or the other
20:43:34gradhaso for me it's just preference when writing, but reading I don't mind
20:45:28*fowl joined #nimrod
20:46:57gradhayou don't have papers on kpop vs jpop? still can't make my mind on that
20:47:14AraqGtkWidget *scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
20:47:16Araqgtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledWindow),
20:47:18Araq GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
20:47:20Araqgtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(webView));
20:47:21Araqvs.
20:47:54AraqGtkWidget *scrolledWindow = gtkScrolledWindowNew(NULL, NULL);
20:47:56AraqgtkScrolledWindowSetPolicy(GtkScrolledWindow(scrolledWindow),
20:47:57Araq GtkPolicyAutomatic, GtkPolicyAutomatic);
20:47:59AraqgtkContainerAdd(GtkContainer(scrolledWindow), GtkWidget(webView));
20:48:19Araqsucks in both versions but I find the later easier to read
20:48:29gradhafor me the first
20:48:37Araqbecause I can tokenize it way more easily
20:48:54fowlimo the first one is better
20:49:04AraqI guess it's because I don't really read those long identifiers anyway ;-)
20:49:10Araqthey are offensive
20:49:20gradhain fact you could nitpick it should have been scrolled_window and web_view
20:49:46gradhacertainly mixing styles is the worst, unless done for a reason
20:49:51fowloh yea i started writing a wrapper for horde3d http://www.horde3d.org/
20:50:00gradhalike interfacing with an existing library in another language
20:50:28Araqfowl: that's nice but are the other wrappers finished? ;-)
20:51:42fowl>_> im getting to them i swear
20:56:43gradhaAraq: situation were parenthesis are needed, calling a proc without parameters
20:56:58gradhabut it's fine when using dot syntax, like input,parseInt
20:57:36gradhaso, the first time you encounter that it feels odd that calling the proc without parenthesis doesn't work, because the return is the proc itself
20:57:53gradhauntil you reason that the dot syntax is actually reversing the words into parseInt something
20:58:23Araqsorry, I can't follow you
20:58:37Araqwhat's the concrete example? input.parseInt ?
20:58:46Araqinput.parseInt() works too
20:59:03gradhathe failing part is writing "var p = initOptParser"
20:59:07gradhathat requires the parenthesis
20:59:15gradhaotherwise you assign the proc to p
20:59:19gradharather than calling it
20:59:41gradhaand that's why it looks confusing at first when you compare it to input.parseInt
20:59:55gradhayou think "why can I call parseInt without parenthesis but not initOptParser?"
21:00:09gradhaand depending on how long your gears start turning it could get frustrating
21:00:45Araqaha, interesting
21:00:57Araqcan't be fixed easily though
21:01:09Araqfirst order functions are too cool :P
21:01:56gradhaanother situation might be "case normalize inputString"
21:02:14gradhathough I guess you can case inputString.normalize
21:02:24gradhayep
21:03:03Araq'case normalize inputstring' may become valid though
21:03:17gradhaso you see, it just feels odd that you get free of all parenthesis, and later find out you still have to put some
21:03:39fowlmoonscript uses the ! postfix for calling a func wtih no args
21:03:39Araqp() vs p is pretty essential though
21:03:57Araqhow does that improve anything?
21:04:19fowlits shorter than () :>
21:05:05Araqit also conflicts with the rest of nimrod's grammar :P
21:14:24Araqapriori_: just claim it's your asm code, a professor doesn't mind to put his name under any work done by his students either
21:14:39gradhaok, found a non parenthesis code which I don't know why it fails
21:15:06gradhahttps://github.com/Araq/Nimrod/blob/master/examples/cross_calculator/nimrod_commandline/nimcalculator.nim#L96
21:15:21gradhaIf I remove the parenthesis to the parseUserInput call it doesn't compile
21:15:26gradhabut I'm not sure why
21:16:05Araqit's because you can leave out () in dot notation or if it's a statement
21:16:20Araqit's neither in your example, so it doesn't work
21:16:32gradhaah, so it will never work in a let/var block then
21:16:41Araqyou can do: parseUserInput"Enter ..." though ;-)
21:16:54gradhayuck
21:17:16gradhayuck?
21:17:42gradhais that a special case for strings which can be used in other places too?
21:18:09gradhaoh, that feels so evil
21:18:23Araqyeah, it's an "extended string literal"
21:22:44gradhais there any situation where the language allows not writing parenthesis but you still put them or do you go to the extreme?
21:23:33AraqI often use () when they're not needed
21:23:41Araqresult.add("xyz")
21:30:57gradhabefore continuing a pull request take a look at https://github.com/gradha/Nimrod/commit/f2aa171867fca139c8422ab551d6af29bb19e3e7 and see if that is something you prefer or not
21:31:03gradhait's going to the extreme removing ()
21:31:58gradhaoh, you can even mark the individual lines you don't like, amazing what this html5 stuff can do nowadays
21:38:32Araqwell your changes are fine with me
21:38:42Araqmay confuse people though
21:38:53Araqthey could try to leave out () everywhere :P
21:39:33gradhahehe, isn't that the point then?
21:40:53gradhaI'll comb the todo example too then in similar fashion
21:41:13Araqin fact
21:41:26Araqyou should work on something more useful instead :P
21:41:32Araqthe examples are fine the way they are
21:41:55Araqfor instance, the stdlib lacks a websockets module
21:42:10gradhashame I know nothing about websockets
21:42:26gradhaisn't that like fancy html thingy?
21:42:59gradhaI'll leave the examples then... for now
21:43:13Araqwell we also lack a bignum library
21:43:29AraqI started to port one over from pascal but I won't give you the code
21:43:39Araqas I figured it has the wrong licence
21:44:02gradhadon't know about bignum either
21:44:21gradhaI have other stuff pending, I will take my time to reach to such levels of contributions
21:49:50Araqwell we also need more wrappers but I think mostly hard wrappers are left to do:
21:49:57AraqQt, wxWidgets, webkit
21:50:55gradhadon't know about webkit, qt and wxwidgets have really left a bad taste for me writing and maintaining software for them
21:51:02gradhawhat would be the purpose of webkit?
21:51:08gradhaisn't that like an html render engine?
21:51:17Araqyeah
21:51:30gradhayou plan to write a browser in nimrod then?
21:52:12gradhaif forced to do it I would first try fltk, despite not being able to compile the mac version last time I tried
21:52:28apriori_gradha: its not only to write a feature complete browser
21:52:30gradhaseems much smaller and easier to tackle
21:52:43apriori_take it as a more convenient way to embedd html rendering into a gui application
21:53:10gradhaat least that's interesting
21:53:10Araqa browser engine is nice for writing a crawler ;-)
21:53:11apriori_well, I worked a bit on getting a Qt wrapper working back in #D.. its .. sorry to say it.. a pain in the ass
21:53:25Araqit's not
21:53:36gradhaI've programmed Qt in c++ and python, and didn't like either
21:53:37apriori_then I doubt you know Qt that well :P
21:53:43Araqthere is a freepascal wrapper for Qt 4, translate that
21:53:48apriori_hrm
21:53:53apriori_interesting...
21:54:12apriori_the D wrapper used the QtJambi class generator and modified it to create D classes instead of java classes
21:55:12gradhaAraq: sorry about the modules but I have an agenda at the moment, it involves going mobile
21:55:43Araqgradha: np, just don't use any other programming language ever again if you can help it ;-)
21:55:59gradhawell, just today I had to use java
21:56:19gradhabut I'll be working on making nimrod my primary language
21:57:44gradhaanything but java
21:58:05apriori_dont get me started on java again ;)
21:58:45gradhasorry, I believe we have not met previously
21:59:08apriori_yup.. I more meant.. we had discussions about java here several times already
21:59:39apriori_and the short result is: we hate it :P
22:00:09gradhaindeed
22:01:05apriori_gradha: but about qt.. name a better gui toolkit...
22:01:26gradhauff, haven't like any for some reason or another
22:01:26apriori_you won't find many.. maybe wxwidgets, after it completely reworked its API.. but e.g. java swing/awt sucks big time
22:01:56gradhaIIRC wxwidgets was 2.4.x or something like that, was that already rewritten?
22:02:15apriori_uff.. dont know the exact point
22:02:37apriori_I just got into contact with wxwidgets.. disliked its API.. then looked at it again years later and wondered how close it become to Qt
22:03:01gradhaI think I didn't like it because I found some bugs which nobody cared about and I didn't know well enough to fix them myself
22:03:35apriori_you will find the exact same thing in pretty much any project :)
22:04:00gradhait sort of depends on the complexity and documentation of the code
22:04:23gradhafor instance, the documentation currently for nimrod seems pretty on par with what I saw for wxwidgets, which was terribly lacking
22:04:39gradhabut in theory nimrod is not yet 1.0
22:04:46gradhaand wxwidgets is 2.xsomething
22:04:56Araqapriori_: try lazarus then ;-)
22:04:56apriori_agreed
22:04:58gradhathat tells me docs aren't their main selling point
22:05:03fowlid like to do this project in nimrod http://www.gobolinux.org/abstk/
22:05:37Araqfowl: know about it, sounds cool
22:05:39gradhafowl: that reminds me of python anygui
22:05:56gradhaahaha, yes, anygui died
22:06:06gradhatoo many pythonistas in there
22:06:08apriori_while it sounds cool.. it will have bad limitations for more complex UI
22:06:15Araqabstracting the UI tends to produce UIs that I don't want to use though ;-)
22:06:18apriori_but it should be absolutely sufficient for config dialog related stuff
22:06:25apriori_or something like networkmanager front ends
22:06:40fowlapriori_: it was only really intended for install wizards
22:06:59fowlabstk was at least
22:07:27gradhafor text ui I know of http://tvision.sourceforge.net, don't recommend it though
22:07:38gradhait's designed still around c++ compatibility support problems
22:08:15gradhaand to avoid linking too much cruft the author decided to do some pretty obscure casts
22:08:24gradhawhich sort of defeats the purpose of writting oop c++ code
22:15:28dom96perhaps Smoke could be used to make Qt bindings? http://techbase.kde.org/Development/Languages/Smoke/API_Documentation
22:16:28AraqI'd pas2nim the pascal qt wrapper
22:16:31dom96From what i've (which is very little currently) it allows C# to have auto-generated bindings which are up-to-date with little effort.
22:17:47apriori_the problem with merely ported wrappers is,the binding will hardly inherit any "style" of the target language
22:18:30apriori_dom96: and smoke is no real option..
22:18:42apriori_it has massive call overhead, because it constantly looks up huge maps on every call
22:19:00Araqyeah but pascal is closer to nimrod than C ;-)
22:19:20Araqso sometimes you get lucky and get a better style
22:22:03Araqand sometimes you get new bugs ;-)
22:22:07apriori_yup
22:22:56*gradha quit (Quit: gradha)
22:23:20dom96It is unfortunate, but a good GUI wrapper will require a lot of maintenance and effort.
22:23:33apriori_dom96: yup.. thats the problem with them
22:23:48apriori_thats why many language maintainers try to use generators for them
22:24:19apriori_e.g. swig (not good either), smoke (written for qt back then, not that good either)...
22:24:33apriori_all because of that mess called c++-ABI
22:24:58Araqactually C is bad enough thanks to the preprocessor and the fucked up declaration syntax
22:25:21apriori_well.. I like c++s const declaration syntax, too :P
22:25:27apriori_const char* const anyone? :P
22:25:34Araqwhich is C now too :P
22:26:08Araqand it's *important* to know about 'const' in an inherently memory unsafe language :P
22:26:19apriori_yup
22:27:09apriori_OS dev is fun, too.. btw.... sometimes interrupts get lost in an emulator whereas it might not happen on real hardware
22:27:30Araqsounds like iPhone development :P
22:27:31apriori_that makes writing emulator-proof OSes even more fun
22:27:55Araqprogram runs fine in the emulator ... crashes on a real phone ... yay
22:28:03apriori_oh.. I learned quite a bit about OS dev now.. and the fucked up design that is the PC architecture...
22:28:32apriori_like... access routed over the keyboard controller just to gain access to more than 1MB ram and stuff
22:29:00Araq:D
22:29:12apriori_and well.. interrupts itself... its actually not easy to get it right.. and damn easy to get it wrong
22:29:18apriori_no wonder things are buggy..
22:29:32Araqso that's where DOS gets its additional memory from ...
22:30:00apriori_well.. backward compatibility has some benefits, too...
22:30:17apriori_even the most modern xeon processor can run in an 8086 emulation mode
22:30:32Araqthat's good
22:30:50Araqunfortunately I have no programs for the 8086 ..
22:30:54apriori_:P
22:31:04apriori_yeah, its not that unimportant, though...
22:31:19apriori_because right after the BIOS boots you need some bootloader which is pretty much CPU agnostic
22:32:08Araqyeah, hardware is easier to change than software ;-)
22:32:26apriori_depends :P
22:35:21*apriori__ joined #nimrod
22:35:36*apriori__ quit (Client Quit)
22:35:44*apriori__ joined #nimrod
22:36:14Araqso when will you create a kickass matrix lib with term rewriting rules for nimrod, apriori_ ?
22:36:55apriori__when I have time...
22:37:16Araqthat's an answer
22:37:18apriori__minors parts of it are done
22:37:42apriori__but I wonder.. term rewriting should be used with caution...
22:38:18apriori__e.g. there are plenty of shortcouts to a zero vector in vector arithmetic.. question is.. is that desired to use that? or would one prefer consistent numerical instability?
22:39:14*apriori_ quit (Ping timeout: 240 seconds)
22:39:21apriori__I remember a case, in which a student at my university curses about an AMD cpu "sometimes" doing 80bit floating point arithmetic instead of 64bit, whenever the respective unit was "free".. and that made debugging a nightmare
22:41:25Araqthat's not important, just make it *fast*
22:41:38apriori__I will...
22:42:07apriori__testing against eigen3 might be useful.. thats a quite worthy competitor
22:42:49Araqhe he, yeah
22:43:14apriori__guess I gonna reprioritize then.. just releasing the nimrod kernel.. and continue focusing on getting the matrix lib done
22:43:22apriori__losing focus too often ;)
22:43:32Araqhappens
22:43:47Araqthat's why I'm here and giving orders
22:43:50apriori__^^
22:44:10apriori__you got your ironic day, don't you? :P
22:44:21Araqwell I had 3 beer ...
22:44:32apriori__and I assume you don't drink that often
22:44:43apriori__so you feel quite an impact ^^
22:45:04Araqtrue
22:45:44apriori__anyway, gotta go now
22:45:46apriori__bye all
22:45:57*apriori__ quit (Quit: Konversation terminated!)
23:22:54*ekselkiu quit (Ping timeout: 260 seconds)