<< 28-04-2017 >>

00:01:42bozaloshtshwould simply piping /dev/null to the executable be an option?
00:02:13zachcarterI could certainly try that
00:02:36zachcarterand I will now :)
00:02:51zachcarterone more css tweak first though
00:05:57FromGitter<Varriount> Hm. Should https://play.nim-lang.org be down?
00:08:01*BennyElg quit (Ping timeout: 240 seconds)
00:08:56zachcarterhttp://play.nim-lang.org/
00:09:03zachcarterVarriount: cloudflare is down
00:09:15zachcarterVarriount: PM Inc
00:09:17FromGitter<barcharcraz> again
00:09:28zachcarterno dom96 turned it off
00:09:34zachcarterfor the website
00:09:36FromGitter<barcharcraz> oh
00:09:38zachcarterto prevent caching
00:09:48zachcarterso we can beta test with everyone
00:11:24*BennyElg joined #nim
00:20:07*vlad1777d quit (Quit: Leaving)
00:20:43*PMunch quit (Quit: leaving)
00:32:57ftsfdom96, i know! i'm happily shocked ;)
00:36:40zachcarteryeah that tweet is crazy lol
00:36:51zachcarterbut your game is awesome so I’m not surprised
00:38:37*xaxisx joined #nim
00:39:33*xaxisx_ joined #nim
00:44:36*xaxisx_ quit (Ping timeout: 260 seconds)
00:45:04*xaxisx quit (Ping timeout: 260 seconds)
00:54:27*zachcarter quit (Read error: Connection reset by peer)
00:54:49*zachcarter joined #nim
00:59:11*fredrik92 joined #nim
00:59:32*couven92 quit (Disconnected by services)
00:59:41*fredrik92 is now known as couven92
01:14:16ftsfzachcarter, cheers <3
01:14:33ftsfhopefully will bring some notoriety to nim ;)
01:14:48zachcarterwould be awesome
01:15:00*chemist69 quit (Ping timeout: 260 seconds)
01:15:52FromGitter<Varriount> Don't forget a blog post we can submit to hacker news and reddit
01:15:59ftsfgood idea
01:16:10ftsfi never really use reddit or hn forget they exist
01:20:20*rauss joined #nim
01:20:22FromGitter<Varriount> ftsf: But they never forget that *you* exist. >:D
01:28:34*chemist69 joined #nim
01:35:16*zachcarter quit (Quit: zachcarter)
01:43:24*BennyElg quit (Ping timeout: 240 seconds)
01:43:41*BennyElg joined #nim
01:48:57*dddddd quit (Remote host closed the connection)
01:51:20*BennyElg quit (Ping timeout: 260 seconds)
01:58:39*brson quit (Quit: leaving)
02:11:12*couven92 quit (Quit: Client Disconnecting)
02:31:45*tigerfinch quit (Quit: Leaving.)
02:48:06*krux02 quit (Remote host closed the connection)
03:14:53*BennyElg joined #nim
04:02:08*BennyElg_ joined #nim
04:02:28*BennyElg quit (Ping timeout: 260 seconds)
04:43:03*adeohluwa joined #nim
04:50:38tyler569if I don't intend to use inheritance or dynamic dispatch, is there any functional difference between tuples and objects?
04:59:40*tigerfinch joined #nim
05:11:08*libman quit (Quit: Connection closed for inactivity)
05:42:54*tstm quit (Ping timeout: 246 seconds)
05:51:59*BennyElg joined #nim
05:52:36*BennyElg_ quit (Ping timeout: 260 seconds)
06:07:17*acidx quit (Quit: Lost terminal)
06:12:21*Lord_Nightmare2 joined #nim
06:12:52*acidx_ joined #nim
06:13:55*Lord_Nightmare quit (Ping timeout: 252 seconds)
06:13:55*Lord_Nightmare2 is now known as Lord_Nightmare
06:28:14*zachcarter joined #nim
06:30:26Araqtyler569: rule of thumb: if you have more than 3 fields use an object
06:31:27*jackv quit (Quit: ZNC - 1.6.0 - http://znc.in)
06:33:03zachcarterdom96: if you’re around lmk what you think of the design / turning back on cloudflare
06:42:05*nsf joined #nim
06:42:59*acidx_ is now known as acidx
06:44:58zachcarterbozaloshtsh: stdin should be redirected to /dev/null now
06:47:58*rauss quit (Quit: WeeChat 1.7.1)
06:48:58*yglukhov joined #nim
06:49:06ftsfhmm continue cannot have a label =(
06:51:08zachcarterhuh?
06:51:22*BennyElg quit (Ping timeout: 255 seconds)
06:51:26ftsfbreak <label> works, but continue <label> is not allowed
06:51:53zachcarterin what context?
06:51:59ftsfi'm most surprised the error message understood what I was trying to do though
06:52:16ftsftrying to continue an outer loop from an inner loop
06:52:22zachcarteroh I see
06:52:42zachcarterftsf: did you see the nim playground thing?
06:53:10ftsfzachcarter, i didn't
06:53:17zachcarterhttp://play.nim-lang.org/
06:54:53ftsfhmm the editor inserts tabulators =\
06:54:58ftsfthat's gonna be dangerous with nim
06:55:01zachcarteryeah :/ it’s in python mode
06:55:24zachcarterthat reminds me I’ll work on making a nim mode now
06:55:41ftsfgreat idea though
06:56:08zachcarterwas my co-workers complaint
06:56:27zachcarteronly took a weekend to build the backend, the front end took most of this week but that’s because it was a lot of new tech for me
06:56:33ftsf^_^
06:56:52ftsfhope it's sandboxed nicely
06:56:59zachcarterruns in a docker image
06:57:12zachcarterwith no network access
06:57:26ftsfkilled after certain amount of runtime?
06:57:28zachcarter20s
06:57:46ftsfi'd limit it to 1s at most
06:58:12zachcarternot sure that will be enough time for the docker container to boot and compile
06:58:14ftsfif lots of people are using it (or one person is abusing it), it'll get bottlenecked quickly
06:58:32ftsfi mean 1 second of runtime for the compiled code
06:58:44ftsfbut yeah that's a good point
06:58:47ftsfcompilation takes time too
06:58:57zachcarterthe timeout limit is ont he docker process itself
06:59:01zachcarterI don’t set a timeout on the binary execution time
06:59:06ftsfdoes it use a job queue?
06:59:10zachcarternope
06:59:40ftsfi'd suggest that as the next improvement. each job should be queued and then executed when there's a worker available.
06:59:50zachcarterit uses thread pooling
06:59:55zachcarterand async
07:00:43zachcarterI could do that
07:01:00ftsfmmm i haven't used that stuff much, i guess it does mostly the same thing
07:01:04zachcarteryeah
07:01:06zachcarterI think it does
07:01:23*BennyElg joined #nim
07:05:11hlthow can i get pdflatex on ubuntu? for ./koch pdf
07:05:33*gokr joined #nim
07:05:49zachcarterI’ve only installed it on osx to do that I had to down load some latex package
07:05:53zachcarterand install it
07:05:57zachcarterusing cask
07:06:49zachcarterhttp://kkpradeeban.blogspot.com/2014/04/installing-latexpdflatex-on-ubuntu.html
07:07:26hlt thanks
07:07:33zachcarternp
07:08:38ftsftrying to write a gif encoder in nim for my game
07:09:28zachcartersounds complex
07:10:01ftsfhmm mostly, but i'm not inventing the algorithm, just porting one from JS =\ probably a bad choice
07:10:14ftsfsince i don't know what types any of the variables should be
07:10:26zachcarteryeah haha
07:11:01hltftsf: you can probably guess
07:11:10ftsfyeah that's what i'm doing
07:11:20zachcarterone sec ftsf: I know a really good image lib that might do gif decoding
07:11:21zachcarterit’s C++
07:11:34ftsfneed encoding rather than decoding
07:11:38hltnightmare mode: port minified version
07:11:46ftsfhlt, haha =(
07:12:24hlthow long is this latex conversion gonna take
07:12:31hlthow big is the nim manual
07:12:44hltnot sure if it hanged even
07:12:44zachcarteractually nevermind
07:13:18*BennyElg quit (Ping timeout: 268 seconds)
07:13:53zachcarterhttps://github.com/r-lyeh - lot of good stuff on that github, but it’s all C++
07:13:58zachcartermostly anyway
07:14:42FromGitter<stisa> hlt it's 100 something pages, but it build the tutorials too
07:14:54ftsfzachcarter, thanks will have a look
07:15:04hltgigantic lagspike
07:15:42ftsfno gif writing
07:15:51zachcarter:/
07:16:21ftsfnot many libs bother with gif output, since until pretty recently it was patented, and i guess it's a pain
07:16:23zachcarterhttps://github.com/snowkit/gif probably the only other one I can find
07:16:36zachcarterat least it’s haxe and not javascript
07:17:09ftsfzachcarter, yeah, looks like it's based on the same code i'm looking at (or they have a common base)
07:17:15ftsfbut at least it has types \o/
07:17:21zachcarter:D
07:17:57*BennyElg joined #nim
07:18:00ftsffortunately i can be lazy with my encoder since i don't need to palettize stuff since it's already paletted
07:18:35ftsfwill be nice to have a button to press to export the last few seconds as a gif
07:19:12*yglukhov quit (Read error: Connection reset by peer)
07:20:06*yglukhov joined #nim
07:21:10zachcarteryeah it will!
07:26:43hltstill waiting
07:26:54hlthow long is pdf generation supposed to take
07:27:01*BennyElg quit (Ping timeout: 240 seconds)
07:27:41*PMunch joined #nim
07:27:46*BennyElg joined #nim
07:28:32hltmanual.log shows a bunch of lines with 'defining Unicode char' but the last line cuts off at 'defi'
07:38:28*Vladar joined #nim
07:39:03*adeohluwa quit (Quit: Connection closed for inactivity)
07:41:44zachcarterhrm Varriount: are you around?
07:42:28zachcarterprobably sleeping if he’s smart unline me
07:42:31zachcarterunlike*
07:43:36Araqhlt: just read the html, it is not that big
07:44:35Araqpdf generation uses latex and doesn't work well
07:45:42FromGitter<andreaferretti> @zahcarter http://play.nim-lang.org/ is really improved now
07:45:45FromGitter<andreaferretti> great!
07:47:38zachcarterandreaferretti: thanks :D
07:49:01ftsfdat face when you accidentally run `rm add foo.nim` instead of `git add foo.nim` =(
07:50:59Araqftsf: you can alias 'rm' so that it puts stuff in your waste bin but I dunno how.
07:51:28ftsfyeah... i could or to rm -i at least, but usually i trust myself to rm... caught myself out this time
07:51:34AraqI also don't know why that's not the default for a decade now but I think the reason is a neckbeard
07:52:01ftsfAraq, because no one can agree where it should go most likely
07:53:43FromGitter<stisa> Hlt I built the pdfs yesterday, here https://github.com/stisa/misc/tree/master/nim-pdfs
07:55:21*ftsf quit (Quit: Leaving)
07:59:37*ftsf joined #nim
08:01:01ftsftried to undelete but no luck, oh well, rewrite time
08:01:25ftsfneed to get better with my backups
08:03:20zachcarterftsf: what ide do you use?
08:03:52zachcarteror text editor
08:03:54zachcarteror whatever
08:06:02euantorAraq hlt wants to generate PDFs because the JS slows browsers way down
08:06:27euantorFirefox quite often complains that a script is not responding when I access the docs index or any long doc pages such as the system module
08:06:50FromGitter<Varriount> zachcarter: Hm?
08:07:44zachcarterI’m attempting to convert your textmate stuff for Nim to the format ace editor needs but it throws up on some of the regexps :/
08:07:54zachcarternot sure how easy it’s going to be to fix
08:08:23zachcarterthey provide a tool that attempts to do the conversion for you
08:08:29zachcarterbut it fails on the nim textmate file
08:08:55zachcarterI mean it produces something, but that something doesn’t work unless these regexps get fixed for JS I guess
08:10:11Araqwhat JS? manual.html is a static page
08:10:20Araqyou don't have to use its search
08:10:52PMunchHmm, I'm generating some hashes and I'm running into overflow errors. How can I tell it to just wrap the value?
08:11:24euantorhttps://nim-lang.org/docs/system.html
08:11:24ftsfzachcarter, vim, already checked the swp files
08:11:33euantorFor instance, that takes ages to load on Firefox for me
08:11:43zachcarterftsf: I was going to suggest getting a local history plugin
08:11:53PMuncheuantor, loads in a sec or so here..
08:12:11zachcarterI don’t know what’s out there for vim I guess swap already does this for you
08:12:31euantorThe worst one is https://nim-lang.org/docs/lib.html
08:12:43*rokups joined #nim
08:12:47euantorhttps://usercontent.irccloud-cdn.com/file/mb8RuFWZ/Capture.PNG
08:13:35euantorFirefox's JS performance has gotten terrible recently, but that page causes it to show that warning 100% of the time
08:14:11euantorprobably because it's parsing the JSON, which happens synchronously in JS and blocks execution
08:15:28FromGitter<Varriount> euantor: What JavaScript is system.html running?
08:16:04FromGitter<Varriount> The documentation index has JS, but as far as I know, the other pages don't
08:16:13euantordockhack.js and google analytics
08:16:21euantor*dochack.js
08:17:39FromGitter<Varriount> What does the first do?
08:18:24euantorNo idea, it's a Nim compiled JS file so readability isn't its best trait ;)
08:18:53*BennyElg quit (Ping timeout: 240 seconds)
08:19:19euantorI think it is what provides the search and the grouping tools
08:19:23*BennyElg joined #nim
08:20:43FromGitter<Varriount> There's grouping tools?
08:21:38euantorTop left of the page, "Group by" - either "section" or "type"
08:22:02FromGitter<TiberiumN> fstf: once I accidentally removed all files of project I'm doing, so I rebooted to live usb and hopefully restored all files
08:23:07ftsf\o/ fortunately the one i deleted was pretty small, just finished rewriting it
08:23:45PMunchAnyone know how to do the overflow thing I mentioned?
08:24:19ftsfPMunch, use an unsigned type?
08:24:37PMunchThey don't have overflow checks?
08:24:47ftsf"Unsigned operations all wrap around; they cannot lead to over- or underflow errors." according to the manual
08:24:55PMunchAh, cool
08:28:24PMunchHmm, toHex in strutils should really support unsigned as well..
08:28:24*BennyElg quit (Ping timeout: 240 seconds)
08:29:59dom96yeah, lib.html freezes for me too
08:30:07dom96Maybe we should just remove that JS from it.
08:30:42dom96But yeah, Firefox is really slow nowadays. So much so that I am considering switching to Chrome.
08:31:08hltdom96: chromium?
08:31:23hltstisa: thank
08:31:24dom96Twitter and Facebook are the worst. Facebook often takes 100s of seconds to load completely for me and sometimes it continues spinning forever.
08:31:25hlts
08:31:49dom96hlt: Chrome.
08:31:58hltwhy
08:32:06*hlt considers arguing about facebook being a complete waste of time but decides against it
08:32:33FromGitter<TiberiumN> Chrome has its own proprietary optimisations
08:32:33FromGitter<TiberiumN> IMO
08:32:43dom96Because *shrug*
08:33:02euantorI've considered going to Chrome too, but I'd have to sync across my bookmarks and extensions that I've built up over the last however many years that I've used Firefox
08:33:06*yglukhov quit (Ping timeout: 240 seconds)
08:33:08*yglukhov_ joined #nim
08:33:42FromGitter<TiberiumN> Oh, I use only chrome for the same reason
08:33:45hltwebextensions are crap and things like noscript are impossible to do
08:33:49dom96I haven't used Bookmarks in many years.
08:33:50*jackv joined #nim
08:34:03hlt+ google botnet no thanks
08:34:06FromGitter<TiberiumN> Everything is synced automatically
08:34:07FromGitter<Varriount> Chrome has a bookmarks importer
08:34:15FromGitter<TiberiumN> hlt: lol
08:34:24hltif i everwould use something blink i'd use ungoogled-chromium
08:34:25FromGitter<Varriount> hlt: Join ussss
08:34:44hltno thanks, i am autistic
08:34:47FromGitter<TiberiumN> Do you use only gnu/Linux without proprietary packages?
08:34:51hltyou probably wouldn't want me anyway
08:34:58hlttiberiumN: yes.
08:35:09FromGitter<TiberiumN> Really? Ok then
08:35:10dom96Nothing wrong with being autistic
08:35:34FromGitter<Varriount> Now now, no need for name calling.
08:35:43dom96Everybody's on the spectrum anyway.
08:35:51dom96Varriount: Who's name calling?
08:35:58hltmodern browsers are crap, burn it all fown
08:36:13hltVarriount: not even self-name calling?
08:36:47hlti use qutebrowser when firefox is too heavy (i.e. android tablet arch linux chroot)
08:36:47FromGitter<Varriount> hlt: What's your opinion on CEF-based applications, like Slack?
08:37:06FromGitter<TiberiumN> It's not gnu Linux
08:37:06hltslack is proprietary IRC+ garbage
08:37:09FromGitter<Varriount> (Or Atom, VS Code)
08:37:28hltneovim for president
08:37:36hltAtom is a web browser
08:37:42hlti dont consider it to be an editor
08:37:44euantorI couldn't survive without bookmarks dom96
08:37:50FromGitter<Varriount> Sublime Text for vice president?
08:38:00hltproprietary
08:38:00euantorThough I do have a lot that probably aren't useful anymore from long ago
08:38:12hltit can at most be the cleaner of oval office
08:39:03hlti have a strong dislike for non-free software after dealing with their stupid practices for almost a decade
08:39:47*BennyElg joined #nim
08:40:51FromGitter<Varriount> hlt: What's your opinion on the various open source licenses? Should we all be using GPL?
08:41:09hltimo, yes
08:41:46hltBSD allows proprietary software vendors to release binaries of modified BSD'd software without the modified source code
08:42:17hltif i give you something, you ought to give back
08:42:44*zachcarter quit (Quit: zachcarter)
08:43:07*yglukhov joined #nim
08:43:11flyxdo us a favor: if libman comes online, discuss this elsewhere
08:43:51FromGitter<Varriount> Hm. Is there a license out there that forces release of modified library source code, but still allows for linking into a private application?
08:44:06flyxVarriount: GPL with linking exception
08:45:04*yglukhov_ quit (Ping timeout: 240 seconds)
08:47:26FromGitter<Varriount> hlt: While I agree
08:48:04ftsfVarriount, "private application"? as in one that's not going to be redistributed?
08:48:08ftsfor private as in closed source?
08:48:20ftsfif the latter, LGPL is good. if the former, whatever you like.
08:48:57FromGitter<Varriount> While I agree with your sentiment, I'd rather risk going with a license companies will accept, even if it means risking them selling my work
08:51:21*Arrrr joined #nim
08:52:32FromGitter<Varriount> ftsf: LGBL doesn't define adequately define "linking"
08:53:15hltlesser general biblical license
08:53:27FromGitter<Varriount> And I'd want to allow static linking too
08:54:34FromGitter<Varriount> hlt: If you violate it, you get struck by lightening and locusts
08:54:58hltviolating it is taboo
08:54:59ftsfVarriount you can always add your own exceptions
08:55:24hltVarriount: you can always sublicense.
09:04:58*couven92 joined #nim
09:07:20gokrPerfect time sinks: dynamic vs static typing, emacs vs vim and of course... licenses. Fiiight!
09:08:15dom96don't forget about tab vs spaces
09:08:19dom96*tabs
09:08:29gokrHa! yep.
09:09:01gokrI wonder if I am the only Smalltalker-by-heart that actually likes Nim.
09:11:41ftsfwhich indentation method should i use in which editor for writing the licence for my project?
09:12:21Araqftsf: post this question to HN and reddit. delay the development of the singularity
09:12:32*Nopply joined #nim
09:12:40ftsf;)
09:12:41*PMunch quit (Quit: leaving)
09:13:12gokrBtw, if I were to say ... convince one of the core devs of Emacs to start playing with Nim - is this the shit to use? https://github.com/nim-lang/nim-mode
09:14:03euantorAnybody got any idea why this might fail: https://github.com/euantorano/jwt.nim/blob/master/src/jwt.nim#L127
09:14:09Araqhuh, good question. I think so.
09:14:24Nopplyhey, anyone know how to import a lib only on a specific platform?
09:14:30euantorThe error I get is: https://www.irccloud.com/pastebin/xSOS7SGc/
09:14:54hltdom96: thankfully nim shuts down the tabs vs spaces fight
09:15:08hltyou cant use tabs
09:15:11hltproblem solved
09:15:23dom96True, but that doesn't stop people from trying :)
09:15:32dom96and coming up with hacks to allow it
09:16:33Araqeuantor: because Nim is not covariant?
09:17:04euantorWhat would be the recommended approach for what I'm trying to do then?
09:18:18euantorI could always just take any old object, but I wanted the inheritance to make it obvious that you could use the base predefined fields
09:18:25dom96Nopply: when defined(windows): import blah
09:18:54Nopplyill try that now, thanks.
09:24:35ArrrrI have a question, shouldn't the prefered way of checking os be https://github.com/nim-lang/Nim/blob/devel/lib/system/platforms.nim ?
09:25:03ArrrrSeems more safe to `when targetOS == OsPLayeform.windows` than `when defined(windows)`
09:25:12ArrrrBut i never see anyone recommending it
09:26:14ArrrrMaybe it should be encouraged in the manual
09:28:04*BennyElg quit (Ping timeout: 252 seconds)
09:28:31*BennyElg joined #nim
09:28:35Araquh oh
09:28:58Araqthat file is never udpated for new OSes / CPUs
09:29:44FromGitter<Varriount> Why not? Overlooked?
09:30:15AraqArrrr: 'when defined(windows)' is everywhere already
09:30:24Araqvarriount: forgot it exists
09:31:05couven92dom96, Araq, I have located my ISO image for Windows XP and I have notified our technical team to reserve a DNS in our DNS namespace here at UiT, I'll have to finish my hand-in now, but later today I am going down to the server room, to flash Windows XP and set it up for a Nim Windows XP testing machine
09:31:08ArrrrYes, and as safe as `if state == "true"`
09:31:35dom96couven92: cool!
09:32:32AraqArrrr: that's true but the 'defined' also has advantages, for example you can do 'nim check -d:js foo.nim' for a project that uses the JS backend
09:33:02Araqthough I guess this actually means Nim's commands are illdesigned
09:34:01ArrrrIn my opinion, osplatform enum checking should be favoured. Allow it to handle that case.
09:34:09couven92Araq, and `nim check -d:windows foo.nim` to check whether stuff is syntactically correct even when you're actually compiling on Linux? Even without a xplat compiler? That's cool...
09:34:48Araqcouven92: that's covered by 'nim check --os:windows foo.nim' though
09:35:02couven92Ah! Right, of course! :)
09:35:03AraqI think what's missing is a --backend:js switch
09:35:29hltFYI: ./koch clean does not delete dist/nimble/src/nimcache/
09:36:08couven92hlt, but does it deleted the rest of the dist/nimble folders?
09:36:24hltnot sure
09:36:35couven92is there sth in dist/nimble/src?
09:36:44hltlemme see
09:37:08hlthold on i am tar-ing my .nim folder
09:38:09couven92`ls -lah dist/nimble` or `ls -lah dist/nimble/src` would be enough to check what is there... :O
09:38:39couven92because, it might be that koch simply does not care about cleaning up the dist/nimble folder...
09:38:46hlttar-ing over ssh
09:40:26*BennyElg_ joined #nim
09:40:33*BennyElg quit (Ping timeout: 246 seconds)
09:41:11hltcouven92: has files
09:42:38euantorAny ideas on how best to achieve what I'm trying to do Araq? I've looked around and understand what you said about it not being covariant, but what would be your approach to tackling what I'm trying to tackle? Coming from C# I expected it to just work. It's the same way the Rust and Crystal implementations work too, as I was trying to achieve a similar feel
09:44:31couven92hlt, that's what I thought... Maybe write up an issue in https://github.com/nim-lang/Nim/issues/new?title=koch+clean+does+not+clean+nimble+src+files
09:44:42hltsoon
09:44:45hltwill do
09:44:49hltnot at pc atm
09:44:52Araqeuantor: maybe I misread your code
09:45:10Araqanyway, inheritable is unsafe, don't use it, inherit from RootObj instead
09:45:12euantorbasically, I want to have a base `Claims` type that can be extended
09:45:49euantorOk, I cna fix that bit
09:45:55euantorThe claims are to implement this: https://jwt.io/introduction/#payload
09:46:37hltcan i do parallel builds with nim?
09:47:25euantorAnd I need to be able to decode the token back from the encoded string, which is why I made the token generic
09:48:09Araqhlt: it does it out of the box
09:48:13hltoh?
09:48:18couven92hlt, I think that is something that has to be supported by your backend compiler. The VCC backend for example, supports parallel builds, but in Nim we had to serialize the build, because of access contention for generating the .pdb files
09:48:39hlthow does it know how many cores i have?
09:48:49Araqhlt: it asks the OS
09:48:56hltokay then
09:49:19hltso it runs number of physical or logical cores of jobs?
09:50:32couven92hlt, on Windows it will be the value indicated by e.g. the `NUMBER_OF_PROCESSORS` environment variable (which is set automagically by Windows)
09:50:33Araqeuantor: sorry I'm busy but Rust doesn't have inheritance so do what they do
09:50:37*bjz joined #nim
09:51:03hlti see, ok
09:52:12euantorOh, it seems they don't inherit. It's just a standard generic
09:52:21hlthow do i use the command line switch --app? idk what command to use it with
09:52:22hltfrom what i gather it generates a project
09:52:23*BennyElg joined #nim
09:53:07euantorI guess I can just do it that way, at least that's easy to implement
09:53:54couven92hlt, (In reality though, it is a call to the OS to query the CPU information, i.e. GetLogicalProcessorInformation function on Windows, or sth. like get_nprocs on Linux)
09:55:08couven92Alternatively there's also the x86/x64 `CPUID` Assembler instruction, which under the covers is what is actually executed on the hard metal
09:55:21euantorNow to work out the best way to serialise the claims to JSON. Thanks Araq for pointing me to a solution!
09:55:53couven92euantor, aren't claims in Windows usually already in XML?
09:55:53hltcouven92: already know the gpuid stuff
09:56:06*BennyElg_ quit (Ping timeout: 268 seconds)
09:56:22euantorcouven92: This is to implement JSON Web Token support, they call the payload of the token "claims"
09:56:36euantorTHough they also sometimes call it the payload
09:56:55couven92Ah, just figure it as a BLOB and UrlSafeBase64 encode it?
09:57:41euantorIt's a json object, then you url safe base64, yeah
09:58:44couven92iirc the bottom of the JWS RFC documents gives some rather good examples (also with JWT) for doing this
09:59:33euantorI've not read the JWS RFC, just the JWT one. I'll takea look at it now
10:00:08couven92euantor, Just read the TOC and jump right to appendix A!
10:00:17couven92;)
10:00:27euantorThat's what I just did :P
10:03:34couven92Ah, yeah... RFC documents... Aren't they beautiful. Anyone remember RFC 2616 for HTTP? (it has now been obsoleted and replaced by a better organized version)... I realized I had gone to far when I started correctly reciting passages from the RFC to my classmates during our Networking course... :P
10:04:09*BennyElg_ joined #nim
10:06:01*BennyElg quit (Ping timeout: 252 seconds)
10:09:33FromGitter<Varriount> couven92: If you're feeling really adventurous, go read the C++ specifications
10:11:44couven92@Varriount, I actually felt rather adventourous when I read the ANSI C specification (with the additional Microsoft specific additions).
10:12:38couven92Like [Interpreting More Complex Declarators](https://msdn.microsoft.com/en-us/library/1x82y1z4.aspx) that's a fun read! :D
10:14:12couven92however, that page is really good for C parser implementors. It explains how you parse the type of sth in C. But damn, it's a pain in the a***
10:16:13*krux02 joined #nim
10:42:37hltcan i create a template which takes an arbitrary amount of arguments? like templateName name, parent, a: int, b: string, c: bool, ..., h: string: ..body.. converted to proc name*(cls: typedesc[parent], a: int, b: string, c: bool, ..., h: string): parent = ..body..
10:43:37hlti tried to create a macro but the thing i want fails to be parsed by nim so i assume it wouldn't be possible
10:47:12ftsfhlt, varargs? https://nim-lang.org/docs/manual.html#templates-varargs-of-untyped
10:47:27*Tiberium joined #nim
10:58:19*krux02 quit (Disconnected by services)
10:58:19*krux02- joined #nim
10:58:22*krux02- is now known as krux02
10:58:35*krux02 quit (Disconnected by services)
10:58:35*krux02- joined #nim
10:58:37*krux02- is now known as krux02
10:58:50*krux02 quit (Disconnected by services)
10:58:50*krux02- joined #nim
10:58:53*krux02- is now known as krux02
10:59:06*krux02 quit (Disconnected by services)
10:59:06*krux02- joined #nim
10:59:08*krux02- is now known as krux02
10:59:11FromGitter<NevnHiwEjuam_twitter> I'm rather confused about the garbage collection mechanism. I mean, I've read about, say, Mono's SGen and it seems like it can pause from time to time. I'm wondering how "defered ref counting" in Nim affects performance?
10:59:21*krux02 quit (Disconnected by services)
10:59:21*krux02- joined #nim
10:59:24*krux02- is now known as krux02
10:59:37*krux02 quit (Disconnected by services)
11:01:16Araqhttps://nim-lang.org/docs/gc.html
11:01:35FromGitter<NevnHiwEjuam_twitter> oh!... wikipedia gave me a dead link for that
11:02:01TiberiumNevnHiwEjuam_twitter: fix it :)
11:03:22FromGitter<NevnHiwEjuam_twitter> I've tried editing an article before. Smallest changes get your ass ridden by the goon squad
11:04:08FromGitter<NevnHiwEjuam_twitter> Some poor book author got banned for claifying misinformation on the article about his book
11:04:37Tiberiumhmm, I don't know. I've edited PyPy article on russian wikipedia like 3-4 times, and everything was good
11:04:39Tiberiumno bans :)
11:05:04FromGitter<NevnHiwEjuam_twitter> maybe Russians are just better mannered
11:05:41Tiberiumnot really, maybe it's because this article isn't popular
11:06:04dom96Yeah, it took us like 5 years to get the Nim Wikipedia article to remain.
11:06:27FromGitter<NevnHiwEjuam_twitter> I am hoping someday Nim gets tabulator support. Have spacing as a convention, sure, but tabbing is my personal preference.
11:06:37Tiberiumyou can configure your editor
11:06:45FromGitter<NevnHiwEjuam_twitter> oh?
11:06:53Tiberiumand when you press "tab" it will just convert it to 2 or 4 spaces
11:06:58Tiberiumit's a very common feature
11:07:01FromGitter<NevnHiwEjuam_twitter> oh, I know that
11:07:15FromGitter<NevnHiwEjuam_twitter> it's just... Python accepts space and tab alike.
11:07:22dom96Why do you prefer tabs?
11:07:33Tiberiumhonestly I use spaces in python too
11:07:37Tiberiumthis is by PEP8
11:07:55FromGitter<NevnHiwEjuam_twitter> well... I have a habit of holding delete to get rid of code and deleting spaces just means more iteration
11:08:49FromGitter<NevnHiwEjuam_twitter> oh! also, it looks more uniform on webpages. If I do spaces, it's all messed up indentation
11:09:23Tiberiumbut tabs can display differently, while spaces cannot
11:09:33Tiberiumsome systems have tabs as 4 spaces, some - 8 spaces
11:09:40hltftsf: can i use that inbetween arguments?
11:10:21TiberiumNevnHiwEjuam_twitter: also, my VScode deleted indentation level on one backspace
11:10:22Tiberiumnot on two
11:10:31ftsfhlt, i'm not sure
11:10:33FromGitter<NevnHiwEjuam_twitter> true... but like... I prefer my indentation to have the equivalence of 2 spaces. If a tab is set to insert like 4/8 spaces, it shows and I get irked by it
11:10:49Tiberiumand that's why 2 spaces is preferred in Nim :)
11:11:22ftsfwhile tabs are my personal preference, i've adapted for nim =p
11:11:27FromGitter<NevnHiwEjuam_twitter> unfortunately, I don't think KWrite has per-language indentation options
11:11:42ftsfwell "tabs for indentation, spaces for alignment"
11:12:02FromGitter<NevnHiwEjuam_twitter> erm.... ok
11:12:28couven92@NevnHiwEjuam_twitter there's sth called [.editorConfig](http://editorconfig.org/)
11:12:53FromGitter<NevnHiwEjuam_twitter> oh neat
11:14:51FromGitter<NevnHiwEjuam_twitter> I feel like a doof..... I had space-insertion tabbing already enabled
11:15:21FromGitter<NevnHiwEjuam_twitter> guess my problem is solved
11:26:40Tiberiumhow to use arguments in template for generating different code?
11:26:53Tiberiumso I want to have "template answer*(data: string, ret: false) {.dirty.} = " and if ret is true, I want to add "return" statement
11:28:40Tiberiumah, nvm, I'll just create another template "retAnswer" which calls first template and then adds "return"
11:29:36*jackkv joined #nim
11:38:51Tiberiumby the way, if I expose some variable in proc while generating it in macro, if this variable will not be used by proc body, will this variable be optimized away in compile mode?
11:42:45*yglukhov quit (Remote host closed the connection)
11:49:05*vlad1777d joined #nim
11:49:32Tiberiumhmm
11:50:02TiberiumHow can I get rid of additional "StmtList" if I generate part of my code by "quote do" ?
11:51:11Tiberiumsomething like this doesn't work : https://gist.github.com/TiberiumN/687b43d96af0057d6b16aefe4a72b28b
11:51:20TiberiumprocBody is a stmt list too
12:00:17*zachcarter joined #nim
12:00:17*zachcarter quit (Client Quit)
12:06:01*bjz quit (Ping timeout: 240 seconds)
12:06:38*bjz_ joined #nim
12:10:22*arnetheduck joined #nim
12:12:36*devted joined #nim
12:13:00*zachcarter joined #nim
12:37:44FromGitter<cooldome> Guys, I am currently looking at a couple Nim issues reported for iterators including my own and made some progress. I need to find a piece of code in compiler/ that rewrites a for loop with inline iterator into a while loop. Can't find it in 100k codebase. Any idea?
12:37:57zachcarterdom96: do you thinkwe should turn back on cloudflare?
12:39:10FromGitter<cooldome> @TiberiumN Consiger using getAst with dirty template instead
12:39:48dom96zachcarter: if you'd like
12:40:14zachcarterif you’re happy with the state of things I am
12:41:28zachcarterotherwise I can make some more changes first
12:42:17*rokups quit (Quit: Connection closed for inactivity)
12:42:28Tiberiumcooldome: ok, thanks for tip
12:43:05dom96zachcarter: hrm, why did you remove the "Compiler output" and "Output" text?
12:43:36zachcarterI can re add labels I switched the element from message box to notification which doesn’t have a title option like the message box did
12:45:20dom96I preferred the message box, I guess you changed it to align with the code editor?
12:46:06zachcarterthe main reason was that message box wasn’t playing nicely with pre
12:46:17zachcarterthe messagebox would resize to the pre’s content and take over the whole screen
12:46:19Tiberiumdom96, question about async macro: if I have an async proc, and I have a dirty template which generates "return" inside async proc. And error - "Async procedure (handler20) yielded `nil`, are you await'ing a `nil` Future?"
12:46:21zachcarterand squish the editor
12:46:29Tiberiumhow can I fix that? change "return" to something else?
12:46:42zachcarterthese notifiactions don’t seem to do that
12:46:48Tiberiumand template is not placed inside async proc
12:46:54dom96zachcarter: Can't you add 'overflow: auto' to the 'pre'?
12:47:16zachcarterI did - the pre’s do offer scrolling now
12:47:23zachcarterI’ll try to use message boxes again and see if I can get it working
12:47:43dom96If you upload the message box version again I might be able to help you out
12:47:48zachcarterokay sure
12:48:02zachcartermight be later this afternoon but I will do so
12:48:45dom96Tiberium: You must figure out a way to place the 'return' inside the async proc
12:48:57Tiberiumdom96, I am placing it, but from dirty template
12:49:11dom96Tiberium: Yes, but you must place it directly
12:49:16dom96Otherwise the async macro doesn't see it
12:49:57dom96Unfortunately I don't think there is any way to make it work from a dirty template
12:50:41dom96zachcarter: okay, let me know
12:50:44zachcarterwill do
12:51:52dom96Also, when a timeout is reached you should show it somewhere
12:54:10hohlerdei am getting the following compile error when compiling my old project sources with nim version 0.16.x or 0.15.3:
12:54:10hohlerdelib/system.nim(2581, 7) Error: can raise an unlisted exception: ref AssertionError
12:54:11hohlerdeline 2581 points to procedure sysFatal
12:54:24hohlerdeany hint where I can look to solve the issue?
12:56:10Tiberiumyou probably have raises pragma
12:56:22Tiberiumlike {.raises:[]}
12:56:27Tiberiumbut your proc CAN raise an exception
12:57:51hohlerdeyeah, problem is with older compiler versions that AssertionError was apparently not raised/defined. is there an easy way to find out which procedure raises that AssertionError?
12:58:15dom96see what's on line 2581 in system.nim
12:58:31dom96Is there no "instantiation from here" messages?
12:58:41zachcarterdom96: it’s updated again to use message boxes
12:58:47zachcarterstill not sizing correctly
13:00:06hohlerdehttps://privatebin.tarakis.de/?9ca6368d84d52369#HrXd5KpVBv0QUhd0xchb+urEAL7zBHUyvLrDH1vW8WQ=
13:00:18hohlerdeit refers to line 27 in the pastebin
13:00:41zachcartergotta run will check logs when I get back
13:00:41Tiberiumhohlerde, is there any "instantiation from here" as dom96 suggested?
13:00:43*zachcarter quit (Quit: zachcarter)
13:00:47Tiberiumin console while compiling
13:01:22hohlerdecommands.nim(420, 104) template/generic instantiation from here
13:01:23hohlerdelib/system.nim(2581, 7) Error: can raise an unlisted exception: ref AssertionError
13:01:28dom96zachcarter: You can just add 'overflow: auto; max-height: 130pt;' on the <pre> to fix that.
13:01:51Tiberiumhohlerde, so it means you need to go to commands.nim line 420
13:01:55Tiberiumposition 104
13:02:05hohlerdehttps://privatebin.tarakis.de/?ff862e2e3ef46a00#DQ/XfVdd+gZ/NlV91AAHT6GMYNaCK/o45nDF0ljOJmA=
13:02:30Tiberium{.raises: [ValueError].}
13:02:52FromGitter<Varriount> @zacharycarter Would you mind if I let the web developers at my workplace look at the playground and give their thoughts?
13:02:52Tiberiumchange it to {.raises: [AssertionError, ValueError].}
13:02:55Tiberiumprobably this would work
13:03:05hohlerdethats the proc definition, the raises pragma
13:03:17Tiberiumno
13:03:20Tiberiumpragma
13:03:21hohlerdeyeah, but I am not aware what part is actually raising AssertionError
13:03:26hohlerdeI don't raise it in my code
13:03:45hohlerdewill try to change it
13:03:50Tiberiumhohlerde, AFAIK it doesn't need to be in your code only
13:03:57Tiberiumit can be in libraries you're using, even stdlib
13:04:09dom96yeah, seems like one of the procedures you're calling must be raising an AssertionError
13:04:19dom96The error message should be better
13:04:38dom96What you can do is cut down your code until you don't get the error anymore
13:04:41dom96to find the cause
13:04:49*tigerfinch quit (Ping timeout: 268 seconds)
13:06:09FromGitter<stisa> zachcarter : currently looks like this on my phone : https://imagebin.ca/v/3Kd3gkXmp4V5 , you have https://github.com/zacharycarter/nim-playground-frontend/pull/1 that should let it stack
13:11:42*tigerfinch joined #nim
13:19:57FromGitter<Varriount> @stisa Do you think everything should always be stacked, or just stacked on mobile?
13:20:27FromGitter<stisa> Just on mobile
13:22:35dom96I don't think mobile support is that important for this site, it won't be used often on mobile.
13:26:13FromGitter<stisa> dom96 : why not? Given that the site already has the css to handle different screen sizes, it's only missing the meta viewport tag
13:30:37Araqcooldome: the full code is in compiler/transf.nim and compiler/lambdalifting.nim
13:30:52hohlerdemhm, it is a doAssert(..) call in proc split*(...) in strutils.nim. i wonder why AssertionError is mentioned at all. according to the sources in system.nim it should be hidden, and I am even compiling with -d:release
13:31:22Araqthe most pressing problem is that the order of the passes is wrong, first should be transf.nim's iterator inlining and then the closure creation
13:31:36Araqso that for loop variables are moved to the heap too
13:32:06Araqyou can change the order pretty easily but then some tests fail that require the order of the passes to be in the other way round
13:32:06Tiberiumif I port code from node JS app with Zlib license to my MIT app, would be there any problems?
13:32:13AraqI don't remember why that is though.
13:32:37Araqhohlerde: indeed AssertionError is not a tracked exception and you cannot catch it anyway
13:33:03*BennyElg joined #nim
13:33:05Araqwell ofc technically you can but the spec doesn't allow it
13:36:40*BennyElg_ quit (Ping timeout: 252 seconds)
13:37:38Araqcooldome: it's worth to try to merge these two passes into one but the LL needs to be optional for the JS backend where we simply use JS's closure mechanisms
13:38:32Araqoh and it's also the most complex piece of code in the whole compiler so you might work on something else first :-)
13:39:40*devted quit (Quit: Sleeping.)
13:43:54FromGitter<Varriount> I still have nightmares about the lambda lifting code. :0
13:45:15hohlerdehttps://privatebin.tarakis.de/?9832cf80de25e73d#r/yRqJJ9yAjMB/XDU543BEOw58YZez9kIlb0TX0vQMw=
13:45:29hohlerdethat code produces a compile time error for me with nim 0.15.3
13:45:40FromGitter<cooldome> @ Araq: I have simpkie
13:46:13Araqnot even my dictionary knows this word
13:46:53Araqvarriount: I studied C#'s LL and it comparable in complexity. ymmv.
13:47:03FromGitter<cooldome> @ Araq: Oops, I have simplier goals in mind, but looks like I have found the piece of code I was looking for
13:47:08FromGitter<cooldome> thanks
13:48:18FromGitter<Varriount> Araq: I'm sure it is just as complex. I'm well aware that lambda lifting will always be complex, no matter the language.
13:48:46Araqwell there are books written about it for a reason :-)
13:49:40FromGitter<cooldome> Apologies again, it all unlocked phone
13:49:55Araqhohlerde: your .base method also must be explicit .raises: [] for this to work
13:52:04*bjz_ quit (Ping timeout: 240 seconds)
13:52:53hohlerdestill gives me an error after adding {.base, raises:[].} to base method. i'll try it with 0.16.1
13:53:42*bjz joined #nim
13:58:29hohlerdegives the same error with 0.16.1 (master branch)
13:58:31hohlerdehttps://privatebin.tarakis.de/?1022f43c99c9206c#ktLpQ1zcXPJoYUM1ai1YaFzr1KaGGz64kbZP4lYOcXc=
14:11:41dom96'master' branch is just the same as 0.16.0
14:11:49dom96you want 'devel'
14:14:24*rokups joined #nim
14:15:38*devted joined #nim
14:20:31hohlerdewith devel same behaviour
14:22:13*nsf quit (Quit: WeeChat 1.7)
14:23:42*PMunch joined #nim
14:30:45*Gonzih quit (Quit: WeeChat 1.7)
14:31:06*Gonzih joined #nim
14:37:23*bjz_ joined #nim
14:37:50*bjz quit (Ping timeout: 260 seconds)
14:43:06*niv joined #nim
14:53:30*bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:55:51*bjz joined #nim
14:56:45*Jesin quit (Quit: Leaving)
15:00:26hohlerdewow, the new website layout is amazing
15:01:36*Jesin joined #nim
15:20:24*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
15:23:48*brson joined #nim
15:27:18*zachcarter joined #nim
15:30:45SentreenYeah it looks really nice!
15:42:11*Nopply quit (Read error: Connection reset by peer)
15:54:03*PMunch quit (Quit: leaving)
16:02:06*Amun_Ra quit (Ping timeout: 264 seconds)
16:02:36*Amun_Ra joined #nim
16:07:48*cspar joined #nim
16:09:32*cspar_ quit (Ping timeout: 260 seconds)
16:09:50*nsf joined #nim
16:37:45*Matthias247 joined #nim
16:46:57*Tiberium quit (Read error: Connection reset by peer)
16:47:44*Tiberium joined #nim
16:52:38hlthello
16:52:48hltcan i expand a vararg inside a template?
16:53:01FromGitter<Varriount> hlt: What do you mean?
16:53:24hlti want to expand a vararg[untyped] to what it originally was
16:53:40Tiberiumyeah, I have been interested in doing this too
16:54:01Tiberiumso if we have template a(b: varargs[untyped]) = someProc(b)
16:54:23Tiberiumso a(1,2,3) would result in someProc(1,2,3)
16:55:09hlttemplate test*(name: untyped, parent: untyped, args: vararg[untyped], body: untyped) = proc name*(cls: typedesc[parent], expand?(args)): parent = body
16:57:08*Vladar quit (Quit: Leaving)
16:57:19FromGitter<Varriount> Sounds like a job for a macro
16:57:51hlti want to do it like a macro but when i try to dumpTree: for the model i want the compiler will fail to parse
16:57:54*sz0 joined #nim
16:58:05hltso i tried to do it as a template
16:58:34Tiberiumif compiler fails to parse
16:58:38Tiberiumit means that your code is incorrect
16:58:43TiberiumdumpTree works on ANY valid nim code
16:59:10hltmy code is not exactly valid nim code
16:59:18hlti'm trying to somewhat extend the language
17:00:16*Tiberium quit (Remote host closed the connection)
17:02:14*Tiberium joined #nim
17:02:27*arnetheduck quit (Ping timeout: 240 seconds)
17:02:35hlti'm trying to replicate python's "class methods"
17:03:30hltthat is, methods of a class that create an instance of that class with arguments given
17:06:18hltbut not like __init__
17:06:48subsetparkhlt: Python's classmethods are methods that take classes, rather than class instances, as their first argument
17:06:57hltyes
17:07:06subsetparkThat's what you mean?
17:07:16Tiberiumhlt, you can do it very easily in Nim
17:07:48hltTiberium: i currently do something like this:
17:08:22hltproc classmethod*(cls: typedesc[Class], arg1: string, ...): Class =
17:08:37hltresult is an instance of class, so i can just assign things to it
17:08:51Tiberiumyou're creating instances via classmethod?
17:08:59hltthen i can do Class.classmethod("test", ...) and i get a newly created class instance
17:09:15hltTiberium: yes
17:09:28Tiberiumwhy not natural Nim style?
17:09:32zachcarterdoes anyone know the name of the website that ranks programming language popularity?
17:09:34hltwhat do you mean?
17:09:39hltClass.classmethod is classmethod(Class, ...)
17:09:49hltClass is a type descriptor of Class
17:09:49Tiberiumhlt, ah, nvm
17:09:53TiberiumI know
17:10:10hltit just looks ugly, so i wanted to do something like this:
17:10:32hltclassmethod Class.classmethod*(arg1: string, ...) =
17:10:53hltwhich is converted to above
17:10:59hltbut it's not valid nim so i cannot do that
17:11:24hltat least i don't have the skills yet (2nd day at nim)
17:12:35hlti thought this would be useful for creating different variations of the same object
17:13:15Tiberiumhlt, there are object variants in nim
17:13:32hlti.e. HttpResponse.OK(resp: string) and HttpResponse.NOTFOUND(resp: string) set the newly created HttpResponse's code to 200 and 404 respectively
17:17:44demi-does someone want to go ahead and wrap this so i don't have to? :) https://xapian.org
17:20:05*Trustable joined #nim
17:22:33dom96zachcarter: tiobie
17:23:11zachcarterthank you dom
17:24:39zachcarterwe need Nim back on there
17:27:02Tiberiumit's not even in top 100 :(
17:36:54dom96Write more blog articles :)
17:37:01dom96and create more Nim websites!
17:38:46*acidx quit (Remote host closed the connection)
17:38:58*Tiberium quit (Remote host closed the connection)
17:39:03*acidx joined #nim
17:45:38demi-heh
17:50:14FromGitter<TiberiumN> what can be the reason of failing compilation with vcc? ⏎ CC: stdlib_system ⏎ Error: unhandled exception: the following file can not be found ⏎ ⏎ Additional info: Requested command not found: 'vccexe.exe /c --platform:amd64 /nologo -DWIN32_LEAN_AND_MEAN /O2 /IC:\Users\Tiberius\Nim\lib /IC:\Users\Tiberius\Nim\lib\wrappers\libffi\common /Fonimcache\r_windows_amd64\stdlib_system.obj nimcache\r_windows_amd64\stdlib_
17:50:15FromGitter... error: [OSError] ... [https://gitter.im/nim-lang/Nim?at=590380dacfec91927284b27c]
17:50:22FromGitter<TiberiumN> but if I run this command manually, it works like a charm
17:50:27FromGitter<TiberiumN> from the same console window
17:56:35zachcarterI need a blog I think
17:56:51zachcarterbut I don’t want to use hugo / jekyll, I don’t want another hyde blog
17:57:02dom96You can post to nim-lang.org if you'd like :)
17:57:05zachcarterwant something that looks relatively unique
17:57:13zachcarterhrm maybe I’ll do that
18:25:14FromGitter<TiberiumN> does nim's httpclient respects system proxy on Windows?
18:28:20dom96nope
18:31:43FromGitter<couven92> @TiberiumN refer to https://github.com/couven92/nim-website/blob/master/jekyll/install_windows.md#building-the-vccexe-tool-with-vcc-from-source for building the vccexe tool.
18:34:39FromGitter<couven92> @dom96, I am battling with the Windows XP installer now, BTW... Apparently, it's very hard to convince it to talk with the Dell RAID Controller... been at it for two hours now :P
18:36:48dom96couven92: sucks that it's taking so long :\
18:38:14FromGitter<couven92> But I have my hopes now... I just had to reflash the installer. But I think I got the right drivers included now, so we'll see :)
18:39:28FromGitter<couven92> Then it's only the ~40 minutes XP needs to install until we're good to go with nim on XP
18:39:52FromGitter<TiberiumN> @couven92 yeah, I did it myself already, but thanks :)
18:49:58FromGitter<couven92> Argh! Nope, reflashing the Windows XP installer with the Drivers included didn't work... Hmm... Okay, over to attempt 27 of getting the XP Installer to start! Yaih!
19:03:32*BennyElg quit (Ping timeout: 255 seconds)
19:05:20*BennyElg joined #nim
19:06:24*Arrrr quit (Ping timeout: 260 seconds)
19:13:04hlthttps://forum.nim-lang.org/t/2916 bahahaha this guy
19:13:10hltFungi the fun guy
19:16:59demi-wow it is almost as though people have no idea how much work is involved in writing a book
19:18:35hltno like
19:18:42hltgo down to like the 3rd or 4th post
19:19:07hltFungi the fun guy really hates compiled languages and has to express it and derail the thread
19:19:55*Tiberium joined #nim
19:23:51*BennyElg quit (Ping timeout: 258 seconds)
19:23:55*BennyElg_ joined #nim
19:29:45ldlework"collaboration-difficulty of indentation-based syntax"
19:32:59demi-hlt: yeah, i read that
19:33:37*zachcarter quit (Ping timeout: 252 seconds)
19:36:30Calinouwhat are you installing Windows XP for, @couven92 ?
19:39:47FromGitter<couven92> Calinou, Araq and dom96 miss a Windows XP machine that we can use to test Nim on Windows XP
19:41:15FromGitter<couven92> BTW, Attempt 27, 28, and 29 have failed... I am soon running out of ideas! :P
19:41:21FromGitter<TiberiumN> wtf?
19:42:10FromGitter<RSDuck> I have a old WinXP laptop ready
19:43:38Calinouwhat's the point in supporting Windows XP?
19:43:41Calinouwe're not C++ :P
19:44:14FromGitter<couven92> Calinou, careful there! Araq is very proud that Nim still supports Windows XP!
19:44:57dom96haha
19:45:09pydsignerHeh
19:46:00FromGitter<RSDuck> Windows XP isn't uncommon
19:58:57*BennyElg_ quit (Ping timeout: 240 seconds)
19:59:21*BennyElg joined #nim
20:01:26demi-tbh i'd be kinda surprised if it didn't support windows xp, MS didn't deviate that much from how C works, did they?
20:02:17*rokups quit (Quit: Connection closed for inactivity)
20:07:41Tiberiumdom96, https://github.com/nim-lang/Nim/issues/5757 so I assume this should be fixed now? because it's not
20:08:05dom96I don't think so
20:08:11dom96zahary hasn't fixed the crash
20:08:15dom96just the code that triggers it
20:09:43Tiberiumbecause it just doesn't work for me even for simplest things: https://gist.github.com/TiberiumN/f83a89a96157e23f2a1bb535b3102f6a
20:09:51*brson quit (Ping timeout: 258 seconds)
20:10:07Tiberiumok, I'll wait :) hopefully I don't really depend on that
20:17:30FromGitter<couven92> Yaih! Attempt 30 failed! :/
20:17:45BennyElgwhat is the language reserved variable to increment?
20:19:04TiberiumBennyElg, there's no that thing. maybe you're asking about "inc"?
20:19:07Tiberiumit's not a variable
20:21:12BennyElgI thought nim hold some storage variable you can increment without declear the variable
20:21:29TiberiumBennyElg, ah, maybe I don't know it :D
20:21:42TiberiumBennyElg, ah, maybe you're asking about "result" ?
20:22:13BennyElgthe result variable is a defined variable which automaticly initialied to zero?
20:30:40demi-i actually don't see a definition of result on the language manual page, apart from defining it as the "special result variable"
20:34:12*Tiberium quit (Remote host closed the connection)
20:46:23*BennyElg quit (Ping timeout: 240 seconds)
20:47:09*BennyElg joined #nim
21:10:10*jsgrant__ joined #nim
21:12:32FromGitter<couven92> ok, after 32 failed attempt and various hacks I am now giving up on Windows XP for today... Got to get the last bus home now... :P
21:15:38couven92I'll continue next week... Maybe I'll try out some things at home over the weekend
21:21:06*couven92 quit (Quit: Client disconnecting)
21:22:18*BennyElg quit (Ping timeout: 246 seconds)
21:22:50*BennyElg joined #nim
21:25:03*brson joined #nim
21:32:28*BennyElg quit (Ping timeout: 260 seconds)
21:34:18*BennyElg joined #nim
21:41:45*BennyElg_ joined #nim
21:41:55*BennyElg quit (Ping timeout: 260 seconds)
21:44:03*gokr quit (Ping timeout: 268 seconds)
21:45:26*jsgrant joined #nim
21:47:35*zachcarter joined #nim
21:48:07zachcartero/
21:48:50*zachcarter quit (Read error: Connection reset by peer)
21:49:29*Matthias247 quit (Read error: Connection reset by peer)
21:49:45*couven92 joined #nim
21:49:56*zachcarter joined #nim
21:53:39zachcarterdom96: saw your message bout the height thing - ideally I’d like to avoid hardcoding height values
21:55:42zachcarterstisa: thank you for the PR
21:58:13zachcarterlooking for more css help if anyone is interested!
22:01:52*cspar_ joined #nim
22:02:20zachcarterpydsigner: if you’re around :P
22:02:59FromGitter<stisa> zachcarter: that was euantor's I think, glad you merged it though :D
22:03:32zachcarteroh lmao I was very confused I was like this looks like a github username for euantor but stisa informed me of it :P
22:03:35*BlaXpirit is now known as oprypin
22:03:43zachcarterthank you euantor!
22:03:53*oprypin is now known as BlaXpirit
22:04:06*BlaXpirit is now known as oprypin
22:04:45*oprypin quit (Quit: Bye)
22:05:15*cspar quit (Ping timeout: 260 seconds)
22:06:46*BennyElg_ quit (Ping timeout: 240 seconds)
22:09:11*BennyElg joined #nim
22:10:41*bjz joined #nim
22:14:25pydsignerzachcarter: what about height?
22:14:35zachcarterthink I figured it out
22:16:37*FromGitter quit (Remote host closed the connection)
22:16:51*FromGitter joined #nim
22:16:58*oprypin joined #nim
22:17:47zachcarterhttp://play.nim-lang.org/
22:17:53zachcarterlogs should be working now
22:18:20zachcarterdom96: please lmk what you think
22:18:31*Trustable quit (Remote host closed the connection)
22:20:42ldleworkprogram result needs a bottom border
22:20:55ldleworktry to make the left and right sides the same height
22:21:07ldleworkliterally can't think of anything else :)
22:21:30zachcarteryeah this stuff is challenging ugh
22:21:39ldleworkI hate CSS with a passion heh
22:21:41zachcarterI’m joining the front end team at my job
22:21:43zachcarterand I hate css
22:21:47zachcarterwhat am I DOING WITH MY LIFE?
22:21:50ldleworkheh
22:22:25zachcarterpydsigner: do you think you could help with these things maybe?
22:22:49couven92zachcarter, I just spent 5 unproductive hours arguing with the Windows XP Installer about RAID drivers! So far, I haven't been able to start the installation... :/
22:22:53zachcarterI can’t figure out how to get the messages to respect the tile height
22:23:08zachcartercouven92: your first mistake was using windows :P
22:23:16zachcarterbut your challenge sounds way more annoying than mine
22:24:10zachcarterI think I’m going to be able to help push for a new language at my job
22:24:36zachcarterI’d love to get Nim in the running but I think it’s going to end up being golang because of AWS
22:24:46pydsignerzachcarter: I thought we had this fixed the other day heh
22:24:53pydsignerEw Golang
22:25:01zachcarterI like Golang
22:25:08zachcarternot as much as Nim
22:25:37zachcarterpydsigner we fixed it but with a different element
22:25:48zachcarterI was using notifications not messages (these are bulma constructs)
22:29:43zachcarterI think maybe I just need some margins?
22:31:15FromGitter<almynic> what is the nim way instead of using interfaces & multimethods?
22:31:27zachcarterobject variants
22:31:33zachcarteror use interfaces
22:31:35zachcarterand methods
22:31:44zachcarteroh and concepts
22:32:28zachcarterobject variants don’t solve interfaces but they can be substituted for inheritance hierarchies in many cases
22:33:03zachcarteralmynic: what are you specifically trying to do?
22:33:39zachcarterif you want interfaces and vtables I believe krux02 has a macro out there that allows you to do this
22:33:40pydsignerzachcarter: why are you using <article> for the output boxes?
22:33:53zachcarterpydsigner: that’s what the example in bulma used
22:34:03pydsigner>_>
22:34:15zachcartersec
22:34:31zachcarterhttp://bulma.io/documentation/components/message/
22:35:30pydsignerWell whatever
22:36:04pydsignerBut you want to make sure those two elements have display: flex and flex-direction: column
22:36:13zachcarterthank you!
22:37:31zachcarteryou are some kind of wizard pydsigner
22:37:57pydsignerI've done a few flexbox sites
22:38:01FromGitter<almynic> I'm just trying to understand how a interface or a alternative could be implemented in nim. Let's say we have different types of ducks and every duck has a difference quackbehavior and all ducks need a quack method what is the best way to solve that problem in nim?
22:38:14pydsignerYou learn how these things works eventually
22:38:20pydsigner* work
22:38:55*couven92 quit (Quit: Client Disconnecting)
22:39:38zachcarterconcepts almynic
22:39:56zachcarteror use the interface macro
22:40:10zachcarterhttps://nim-lang.org/docs/manual.html#generics-concepts
22:40:37zachcarterpydsigner: gotcha
22:40:45zachcarterregardless thank you for the help
22:40:48FromGitter<almynic> ok thanks
22:40:53zachcarteralmynic: np
22:45:50FromGitter<stisa> zachcarter were you able to get a nim mode for ace working?
22:45:59zachcarternope :/
22:46:25zachcarterI tried converting Varriount’s textmate file using the ace tool but it produced a bunch of regexs that were’t JS friendly
22:46:56zachcarterregex is not my strong suit - I fixed a bunch but there were a few that were throwing me
22:48:01FromGitter<stisa> I might try to do it tomorrow, but I'm not good at regexes either
22:48:49*rauss joined #nim
22:50:26zachcarterstisa: if you do I suggest starting with the converted textmate file
22:50:29zachcarterit will give you a starting point at least
22:50:37zachcarterrather than trying to come up with all the regexes and rules by yourself
22:51:01FromGitter<stisa> following this https://github.com/ajaxorg/ace/wiki/Importing-.tmtheme-and-.tmlanguage-Files-into-Ace ?
22:51:13*BennyElg_ joined #nim
22:51:38*BennyElg quit (Ping timeout: 252 seconds)
22:52:53zachcarteryup
22:52:58zachcarterlet me find the tmlanguage file for you
22:53:15zachcarterhttps://github.com/Varriount/NimLime/blob/master/Syntaxes/Nim.tmLanguage
22:53:25FromGitter<stisa> allright, ty
22:53:30zachcarternp
22:57:42zachcarterI need to write a blog article on karax and Nim and web development
22:58:11zachcarterthe fact you can write the front end and back end of a web app in one language and that language not be JS is amazing
23:00:40*BennyElg_ quit (Ping timeout: 260 seconds)
23:01:58*BennyElg joined #nim
23:02:41FromGitter<stisa> zachcarter yeah it's pretty neat
23:04:00zachcarterwell it’s super productive too
23:04:10zachcarterbut def neat
23:04:39zachcarterthe more I think about it the more I can expound upon the benefits of the scenario
23:16:08*devted quit (Quit: Sleeping.)
23:22:57*BennyElg quit (Ping timeout: 240 seconds)
23:25:12*BennyElg joined #nim
23:27:16*nsf quit (Quit: WeeChat 1.7)
23:31:09*vlad1777d quit (Quit: Leaving)
23:35:40*jsgrant__ left #nim (#nim)
23:39:06FromGitter<Varriount> zachcarter: How does the file size compare of a Nim JS app?
23:39:58*jsgrant__ joined #nim
23:40:58zachcartergood question
23:41:36zachcarterI’d have to write something similar in react or some other front end
23:42:28zachcarterthe nim playground is 102.06kb
23:44:04zachcarterthe minified version of ace editor is...
23:44:14zachcarter346.47kb Varriount
23:45:13*BennyElg_ joined #nim
23:45:24zachcarterseems pretty good to me
23:45:31*BennyElg quit (Ping timeout: 240 seconds)