havenwood changed the topic of #ruby to: Rules & more: https://ruby-community.com || Ruby 2.4.1, 2.3.4 & 2.2.7: https://www.ruby-lang.org || Paste >3 lines of text to: https://gist.github.com || Rails questions? Ask in: #RubyOnRails || Logs: https://irclog.whitequark.org/ruby || Books: https://goo.gl/wpGhoQ
milardovich has quit [Remote host closed the connection]
GodFather has quit [Ping timeout: 248 seconds]
rhyselsmore has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
brent__ has joined #ruby
brent__ has quit [Remote host closed the connection]
aspiers has quit [Quit: ZNC - http://znc.sourceforge.net]
nopolitica has joined #ruby
mtkd has quit [Ping timeout: 248 seconds]
gusrub has quit [Read error: Connection reset by peer]
gusrub_ has joined #ruby
mtkd has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
twillkens has quit [Quit: Lost terminal]
AndBobsYourUncle has joined #ruby
vondruch has quit [Client Quit]
cosmicz has quit [Read error: Connection reset by peer]
cosmicz has joined #ruby
neo95 has quit [Ping timeout: 248 seconds]
Cohedrin_ has joined #ruby
Prototype has joined #ruby
vondruch has joined #ruby
vondruch has quit [Client Quit]
moei has quit [Quit: Leaving...]
vondruch has joined #ruby
Prototype has quit []
nacsurte has joined #ruby
AxelAlex has joined #ruby
nacsurte has quit [Ping timeout: 240 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
troys_ is now known as troys
cconstantine has joined #ruby
GodFather has joined #ruby
AxelAlex has quit [Quit: AxelAlex]
AxelAlex has joined #ruby
joelwallis has joined #ruby
mtkd has quit [Ping timeout: 260 seconds]
joelwallis has quit [Client Quit]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
KeyJoo has quit [Ping timeout: 248 seconds]
troubled has joined #ruby
<troubled> hello
troubled is now known as Guest16898
<Guest16898> I'm running into an issue with strings where random letters are being added in
<Guest16898> this is for a class, the rspec files are given to us and our code is expected to pass the tests
vondruch has quit [Client Quit]
vondruch has joined #ruby
charliesome has joined #ruby
<Guest16898> in the imgur link, you can see the extra Fs and a . that areadded
<Guest16898> and my code that is producing the strings
<Radar> Guest16898: the Fs are RSpec telling you that tests are failing. The dot is RSpec telling you the test is passing.
<Guest16898> ah
<Guest16898> thank you
sneakerhax has joined #ruby
<Guest16898> Radar: do you have an idea why the "A man a plan..." is failing then?
<Guest16898> nevermind, i see
jackjackdripper has joined #ruby
<Guest16898> thank you
Guest16898 has quit []
jackjackdripper has quit [Client Quit]
pi4 has joined #ruby
GodFather has quit [Ping timeout: 248 seconds]
cconstantine has quit [Ping timeout: 252 seconds]
<Radar> Guest34710: https://gist.github.com next time please :)
vondruch has quit [Quit: vondruch]
<Radar> Whoops, wrong guest.
vondruch has joined #ruby
<Radar> ... and they're gone anyway :(
gizmore has joined #ruby
pi1 has quit [Ping timeout: 240 seconds]
gusrub has joined #ruby
runescape07rsps has quit [Quit: Leaving]
gusrub_ has quit [Ping timeout: 260 seconds]
vondruch has quit [Client Quit]
gizmore|2 has quit [Ping timeout: 240 seconds]
govg has quit [Ping timeout: 248 seconds]
houhoulis has quit []
kapil___ has quit [Quit: Connection closed for inactivity]
govg has joined #ruby
govg has quit [Ping timeout: 240 seconds]
cconstantine has joined #ruby
nacsurte has joined #ruby
kies has quit [Ping timeout: 255 seconds]
nacsurte has quit [Ping timeout: 248 seconds]
wlycdgr1 has joined #ruby
<tcopeland> Guest16898 we hardly knew ye
runescape07rsps has joined #ruby
joast has quit [Quit: Leaving.]
nicesignal has quit [Remote host closed the connection]
nicesignal has joined #ruby
kies has joined #ruby
vondruch has joined #ruby
jameser has joined #ruby
meadmoon has joined #ruby
bronson has joined #ruby
d^sh has quit [Ping timeout: 240 seconds]
vondruch has quit [Client Quit]
vondruch has joined #ruby
arescorpio has joined #ruby
d^sh has joined #ruby
SuperLag has quit [Ping timeout: 240 seconds]
bronson has quit [Ping timeout: 248 seconds]
SuperLag has joined #ruby
cosmicz has quit [Quit: This computer has gone to sleep]
eb0t has joined #ruby
detectiveaoi has joined #ruby
eb0t_ has quit [Ping timeout: 260 seconds]
SuperL4g has joined #ruby
AndBobsYourUncle has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
SuperLag has quit [Ping timeout: 240 seconds]
wlycdgr1 has quit [Ping timeout: 240 seconds]
vondruch has quit [Client Quit]
vondruch has joined #ruby
runescape07rsps has quit [Quit: Leaving]
cconstantine has quit [Ping timeout: 260 seconds]
joast has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
lxsameer has quit [Ping timeout: 240 seconds]
jordanm has joined #ruby
xuanrui has joined #ruby
tcopeland has quit [Quit: tcopeland]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
__Yiota has joined #ruby
nacsurte has joined #ruby
harai has quit [Ping timeout: 246 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
troys is now known as troys_
houhoulis has joined #ruby
nacsurte has quit [Ping timeout: 252 seconds]
__Yiota has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mochiyoda_ has quit [Ping timeout: 246 seconds]
mochiyoda_ has joined #ruby
harai has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
detectiveaoi has quit [Remote host closed the connection]
apparition has joined #ruby
AndBobsYourUncle has joined #ruby
gusrub has quit []
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
cadillac_ has quit [Quit: I quit]
cadillac_ has joined #ruby
harai has quit [Ping timeout: 248 seconds]
arvindsaik has quit [Ping timeout: 248 seconds]
mark_on_the_moon has quit [Ping timeout: 240 seconds]
jackjackdripper has joined #ruby
arvindsaik has joined #ruby
juggler has joined #ruby
moei has joined #ruby
jameser has joined #ruby
creat has quit [Ping timeout: 246 seconds]
Sembei has joined #ruby
sorah___ has quit [Ping timeout: 246 seconds]
sorah___ has joined #ruby
znz_jp has quit [Ping timeout: 246 seconds]
creat has joined #ruby
rfshark has joined #ruby
znz_jp has joined #ruby
<rfshark> ##hamradio
<rfshark> lol i get up too early :|
dviola has quit [Quit: WeeChat 1.9]
_whitelogger has joined #ruby
jackjackdripper has quit [Quit: Leaving.]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
xall has joined #ruby
nacsurte has joined #ruby
nopoliti1 has joined #ruby
jgt has quit [Ping timeout: 240 seconds]
vondruch has quit [Client Quit]
wlycdgr1 has joined #ruby
vondruch has joined #ruby
SeepingN has quit [Quit: The system is going down for reboot NOW!]
nopolitica has quit [Ping timeout: 240 seconds]
nacsurte has quit [Ping timeout: 248 seconds]
harai has joined #ruby
xuanrui has quit [Quit: Leaving]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
AndBobsYourUncle has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
houhoulis has quit [Remote host closed the connection]
enterprisey has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
milardovich has joined #ruby
milardovich has quit [Remote host closed the connection]
tcopeland has joined #ruby
milardovich has joined #ruby
jameser has quit [Ping timeout: 240 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
neo95 has quit [Quit: Leaving]
arescorpio has quit [Quit: Leaving.]
jameser has joined #ruby
opekktar has joined #ruby
milardovich has quit [Ping timeout: 248 seconds]
vondruch has quit [Client Quit]
vondruch has joined #ruby
bronson has joined #ruby
detectiveaoi has joined #ruby
apparition has quit [Quit: Bye]
meadmoon has quit [Quit: I am functioning within established parameters.]
imode has joined #ruby
bronson has quit [Ping timeout: 248 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
xall has quit [Ping timeout: 260 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
nacsurte has joined #ruby
s3nd1v0g1us has joined #ruby
s3nd1v0g1us has quit [Max SendQ exceeded]
nacsurte has quit [Ping timeout: 248 seconds]
cam27 has joined #ruby
s3nd1v0g1us has joined #ruby
ged has quit [Read error: Connection reset by peer]
s3nd1v0g1us has quit [Max SendQ exceeded]
vondruch has quit [Quit: vondruch]
ged has joined #ruby
s3nd1v0g1us has joined #ruby
s3nd1v0g1us has quit [Max SendQ exceeded]
s3nd1v0g1us has joined #ruby
Cohedrin_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has joined #ruby
jordanm has quit [Remote host closed the connection]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
cconstantine has joined #ruby
orbyt_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
maxschwenk has quit [Remote host closed the connection]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
djbkd has joined #ruby
mtkd has joined #ruby
cconstantine has quit [Ping timeout: 246 seconds]
_whitelogger has joined #ruby
cconstantine has joined #ruby
detectiveaoi has quit [Quit: Leaving...]
noobineer has quit [Ping timeout: 248 seconds]
nacsurte has joined #ruby
eputnam has quit [Ping timeout: 252 seconds]
nacsurte has quit [Ping timeout: 248 seconds]
eputnam has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
s3nd1v0g1us has quit [Quit: tempusfugit]
MyMind has joined #ruby
Sembei has quit [Ping timeout: 240 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
bronson has joined #ruby
devyn has quit [Ping timeout: 240 seconds]
devyn has joined #ruby
troys_ is now known as troys
bronson has quit [Ping timeout: 240 seconds]
troys has quit [Quit: Bye]
Sabicas has joined #ruby
nacsurte has joined #ruby
<Sabicas> I'm new to Ruby and needs some advice/guidance if anyone is around
taurgal has joined #ruby
conta has joined #ruby
conta has quit [Read error: Connection reset by peer]
conta has joined #ruby
nacsurte has quit [Ping timeout: 252 seconds]
conta has quit [Client Quit]
Sabicas_ has joined #ruby
<Sabicas_> Test from mobile client
rippa has joined #ruby
harai has quit [Ping timeout: 248 seconds]
<havenwood> Sabicas: hi
AndBobsYourUncle has joined #ruby
<Sabicas> havenwood, hello
<havenwood> Sabicas: What sort of advice are you looking for?
<Sabicas> I want to learn Ruby and am looking at building a personal project. I have coding experience, mostly PHP and javascript. I just need some advice on where to start and if Ruby is the right language for what I want to attempt
Sabicas_ has quit [Quit: Mutter: www.mutterirc.com]
<Sabicas> I'm still here, that's my mobile nick that quit.
cconstantine has quit [Ping timeout: 246 seconds]
syamaoka has joined #ruby
Lyubo1 has quit [Ping timeout: 240 seconds]
<havenwood> Sabicas: So in Ruby you *can* use CGI similar to how PHP does it but it's not a popular option for various reasons: http://www.mikeperham.com/2015/01/05/cgi-rubys-bare-metal/
Lyubo1 has joined #ruby
<havenwood> Sabicas: In Ruby we mostly make Rack apps: https://rack.github.io/
<havenwood> Sabicas: You can make a pure Rack app, or there are a variety of Rack adapters.
<havenwood> Sabicas: Here are a bunch of "Hello Word"s in Rack and various Rack adapters: https://github.com/luislavena/bench-micro/tree/master/apps
<havenwood> Sabicas: Rails is of course a very popular Rack adapter. Sinatra is very well known as well.
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<havenwood> Sabicas: I'd suggest looking at the micro-bench Rack example and then trying a stab at your own little Rack app.
jpterry has quit [Ping timeout: 240 seconds]
<Sabicas> I'm already a little lost. What is a "rack". Why do I need it?
<havenwood> Sabicas: Typically in PHP you use CGI or these days FCGI. So when you request a PHP page, an instance of the PHP interpreter is spun up, renders the page, then dies.
mtkd has quit [Ping timeout: 248 seconds]
<havenwood> Sabicas: With Rack you're actually running a server. The Rack webserver (like Puma, Unicorn, Passenger, etc) handles requests and parses the HTTP, then Rack middleware does its thing, then the pure Rack app or Rack adapter decides what response to give.
<havenwood> Sabicas: I'd suggest following the links above to create your own simple Ruby CGI (if you'd like) or just skip straight to Rack.
vondruch has quit [Client Quit]
vondruch has joined #ruby
<Sabicas> researching those links now
mtkd has joined #ruby
cadillac_ has quit [Ping timeout: 260 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<havenwood> Sabicas: I really like Roda. I'd suggest giving it a try after making a little Rack app: http://roda.jeremyevans.net/
cadillac_ has joined #ruby
<havenwood> It's just a routing tree on top of Rack. Then it provides a variety of plugins that you can choose from to compose a framework.
jpterry has joined #ruby
The_Schmidt has joined #ruby
vondruch has quit [Client Quit]
<Sabicas> thanks for the advice. Very much appreciated
vondruch has joined #ruby
wlycdgr1 has quit [Ping timeout: 260 seconds]
<havenwood> Sabicas: No prob, any time!
tcopeland has quit [Quit: tcopeland]
nofxx has quit [Ping timeout: 248 seconds]
Ltem has joined #ruby
jpterry has quit [Ping timeout: 240 seconds]
govg has joined #ruby
nacsurte has joined #ruby
<Sabicas> Any opinions on the Odin Project?
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
dionysus69 has joined #ruby
nacsurte has quit [Ping timeout: 248 seconds]
vondruch has quit [Client Quit]
vondruch has joined #ruby
oleo has quit [Read error: Connection reset by peer]
jpterry has joined #ruby
agent_white has quit [Quit: leaving]
brent__ has joined #ruby
_whitelogger has joined #ruby
brent__ has quit [Ping timeout: 248 seconds]
nacsurte has joined #ruby
Sabicas has quit [Read error: Connection reset by peer]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
taurgal has quit [Ping timeout: 260 seconds]
nacsurte has quit [Ping timeout: 248 seconds]
marr has joined #ruby
claudiuinberlin has joined #ruby
cam27 has quit [Quit: cam27]
vondruch has quit [Client Quit]
vondruch has joined #ruby
elcontrastador has joined #ruby
Sabicas_ has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
Sabicas_ has quit [Client Quit]
enterprisey has quit [Read error: Connection reset by peer]
AxelAlex has quit [Quit: AxelAlex]
frozengeek has quit [Quit: frozengeek]
Cohedrin_ has joined #ruby
Silthias1 has joined #ruby
Silthias has quit [Ping timeout: 240 seconds]
vondruch has quit [Quit: vondruch]
belmoussaoui_ has joined #ruby
vondruch has joined #ruby
belmoussaoui__ has quit [Ping timeout: 240 seconds]
bronson has joined #ruby
elcontrastador has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
belmoussaoui_ has quit [Client Quit]
gr33n7007h has joined #ruby
belmoussaoui_ has joined #ruby
gr33n7007h is now known as al2o3-cr
vondruch has quit [Client Quit]
_main_ has joined #ruby
vondruch has joined #ruby
bronson has quit [Ping timeout: 255 seconds]
_main_ has quit [Read error: Connection reset by peer]
_main_ has joined #ruby
__main__ has quit [Read error: Connection reset by peer]
_main_ has quit [Read error: Connection reset by peer]
__main__ has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
imode has quit [Ping timeout: 246 seconds]
mlehrer has joined #ruby
cam27 has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
FahmeF has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
guille-moe has joined #ruby
marr has quit [Ping timeout: 240 seconds]
djbkd has quit []
revolt has joined #ruby
belmoussaoui_ has quit [Ping timeout: 246 seconds]
ur5us has joined #ruby
belmoussaoui has joined #ruby
pandaant has joined #ruby
oleo has joined #ruby
kies has quit [Ping timeout: 246 seconds]
al2o3-cr has quit [Read error: Connection reset by peer]
gr33n7007h has joined #ruby
gr33n7007h is now known as al2o3-cr
jinie has quit [Ping timeout: 240 seconds]
ur5us has quit [Remote host closed the connection]
AndBobsYourUncle has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
revolt has quit [Quit: This computer has gone to sleep]
jinie has joined #ruby
vondruch has quit [Quit: vondruch]
Dimik has quit [Ping timeout: 248 seconds]
vondruch has joined #ruby
AndBobsYourUncle has joined #ruby
pandaant has quit [Remote host closed the connection]
AndBobsYourUncle has quit [Client Quit]
conta has joined #ruby
minimalism has quit [Quit: minimalism]
cam27 has quit [Quit: cam27]
vondruch has quit [Quit: vondruch]
KeyJoo has joined #ruby
vondruch has joined #ruby
LoRez has quit [Ping timeout: 248 seconds]
kies has joined #ruby
lxsameer has joined #ruby
rfshark has left #ruby [#ruby]
LoRez has joined #ruby
wlycdgr1 has joined #ruby
apparition has joined #ruby
devyn has quit [Ping timeout: 240 seconds]
devyn_ has joined #ruby
InfinityFye has joined #ruby
jameser has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
ozialien_ has joined #ruby
brent__ has joined #ruby
ozialien has quit [Ping timeout: 260 seconds]
conta has quit [Quit: conta]
vondruch has quit [Client Quit]
vondruch has joined #ruby
jameser_ has joined #ruby
brent__ has quit [Ping timeout: 240 seconds]
guille-moe has quit [Ping timeout: 260 seconds]
jameser has quit [Ping timeout: 252 seconds]
jameser has joined #ruby
jameser_ has quit [Ping timeout: 240 seconds]
A124 has quit [Read error: No route to host]
A124 has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
bronson has joined #ruby
eightlimbed has joined #ruby
vondruch has quit [Quit: vondruch]
ashZ has joined #ruby
eightlimbed has quit [Read error: Connection reset by peer]
Ltem has quit [Quit: Leaving]
vondruch has joined #ruby
eightlimbed has joined #ruby
wlycdgr1 has quit [Ping timeout: 248 seconds]
bronson has quit [Ping timeout: 240 seconds]
mjolnird has quit [Ping timeout: 246 seconds]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
revolt has joined #ruby
Silthias1 has left #ruby [#ruby]
Silthias has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
Cohedrin_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
LoRez has quit [Ping timeout: 248 seconds]
eightlimbed has quit [Quit: Ex-Chat]
LoRez has joined #ruby
aglorei1 has quit [Ping timeout: 268 seconds]
guille-moe has joined #ruby
ShalokShalom_ has joined #ruby
aglorei1 has joined #ruby
ShalokShalom has quit [Ping timeout: 240 seconds]
guille-moe has quit [Ping timeout: 240 seconds]
_whitelogger has joined #ruby
juggler has quit [Remote host closed the connection]
LoRez has quit [Ping timeout: 240 seconds]
zapata has quit [Ping timeout: 252 seconds]
LoRez has joined #ruby
noobineer has joined #ruby
SCHAPiE has quit [Quit: ZNC - http://znc.in]
zapata has joined #ruby
rabajaj has joined #ruby
belmoussaoui has quit [Quit: belmoussaoui]
ledestin has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
mostlybadfly has joined #ruby
belmoussaoui has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
SCHAPiE has joined #ruby
revolt has quit [Quit: This computer has gone to sleep]
revolt has joined #ruby
t-recx has joined #ruby
apparition has quit [Quit: Bye]
frozengeek has joined #ruby
revolt has quit [Quit: This computer has gone to sleep]
bruce_lee has joined #ruby
bruce_lee has quit [Changing host]
bruce_lee has joined #ruby
guille-moe has joined #ruby
vondruch has quit [Quit: vondruch]
revolt has joined #ruby
guille-moe has quit [Ping timeout: 255 seconds]
vondruch has joined #ruby
alex`` has joined #ruby
legion has joined #ruby
legion has left #ruby [#ruby]
rabajaj has quit [Ping timeout: 240 seconds]
WeiJunLi has joined #ruby
Qommand0r has quit [Quit: WeeChat 1.9]
Qommand0r has joined #ruby
rfshark has joined #ruby
frozengeek has quit [Quit: frozengeek]
WeiJunLi has quit [Ping timeout: 260 seconds]
houhoulis has joined #ruby
brent__ has joined #ruby
apparition has joined #ruby
guille-moe has joined #ruby
brent__ has quit [Ping timeout: 240 seconds]
jcreixell has joined #ruby
vondruch has quit [Quit: vondruch]
FahmeF has quit [Remote host closed the connection]
vondruch has joined #ruby
ta_ has quit [Remote host closed the connection]
heftig has quit [Read error: Connection reset by peer]
jcreixell has quit [Client Quit]
charliesome has joined #ruby
ta_ has joined #ruby
jcreixell has joined #ruby
jcreixell has left #ruby [#ruby]
heftig has joined #ruby
tcopeland has joined #ruby
ta_ has quit [Ping timeout: 248 seconds]
Silthias has quit [Ping timeout: 255 seconds]
FahmeF has joined #ruby
Silthias has joined #ruby
uZiel has joined #ruby
Silthias1 has joined #ruby
rabajaj has joined #ruby
Silthias has quit [Ping timeout: 240 seconds]
bronson has joined #ruby
Silthias has joined #ruby
Silthias1 has quit [Ping timeout: 248 seconds]
Silthias has quit [Read error: Connection reset by peer]
Silthias has joined #ruby
Ltem has joined #ruby
bronson has quit [Ping timeout: 260 seconds]
rahul_bajaj has joined #ruby
revolt has quit [Quit: Leaving]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
tcopeland has quit [Quit: tcopeland]
Silthias has quit [Ping timeout: 246 seconds]
rabajaj has quit [Ping timeout: 240 seconds]
belmoussaoui has quit [Read error: Connection reset by peer]
vondruch has quit [Client Quit]
vondruch has joined #ruby
rfshark has quit [Quit: rfshark]
Silthias has joined #ruby
_whitelogger has joined #ruby
jameser has joined #ruby
rahul_bajaj has quit [Quit: Leaving]
guille-moe has quit [Ping timeout: 252 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
FahmeF has quit [Read error: Connection reset by peer]
FahmeF has joined #ruby
taurgal has joined #ruby
FastJack has quit [Read error: Connection reset by peer]
FastJack has joined #ruby
Nicmavr has quit [Read error: Connection reset by peer]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
tcopeland has joined #ruby
houhoulis has quit [Remote host closed the connection]
Nicmavr has joined #ruby
Nicmavr has quit [Read error: Connection reset by peer]
ocn has joined #ruby
ta_ has joined #ruby
ocn has left #ruby [#ruby]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jameser has joined #ruby
ta_ has quit [Ping timeout: 255 seconds]
taurgal has quit [Ping timeout: 248 seconds]
sonOfRa has quit [Remote host closed the connection]
phinxy has joined #ruby
sonOfRa has joined #ruby
phinxy has left #ruby [#ruby]
Kestrel-029 has joined #ruby
tekacs has quit [Ping timeout: 255 seconds]
tekacs has joined #ruby
rfshark has joined #ruby
Silthias has quit [Ping timeout: 246 seconds]
WeiJunLi has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
Silthias has joined #ruby
WeiJunLi has quit [Remote host closed the connection]
naprimer has quit [Ping timeout: 240 seconds]
ledestin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has quit [Client Quit]
vondruch has joined #ruby
tsia has joined #ruby
MrBusiness has quit [Read error: Connection reset by peer]
MrBusiness has joined #ruby
ShalokShalom_ is now known as ShalokShalom
uZiel has quit [Ping timeout: 268 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
MyMind has quit [Ping timeout: 240 seconds]
Sembei has joined #ruby
Ltem has quit [Quit: Leaving]
GarethAdams has joined #ruby
GarethAdams has quit [Client Quit]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
naprimer has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
tcopeland has quit [Quit: tcopeland]
ta_ has joined #ruby
charliesome has quit [Read error: Connection reset by peer]
charliesome has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
ta_ has quit [Ping timeout: 252 seconds]
AxelAlex has joined #ruby
bronson has joined #ruby
funkytwig has quit [Remote host closed the connection]
tsia has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bronson has quit [Ping timeout: 240 seconds]
selim has quit [Ping timeout: 248 seconds]
selim has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
guille-moe has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
djuber has joined #ruby
conta has joined #ruby
oleo has quit [Ping timeout: 255 seconds]
pi4 has quit [Quit: kwit]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
tsia has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
ShekharReddy has joined #ruby
elomatreb has quit [Quit: mep mep]
elomatreb has joined #ruby
djuber has quit [Ping timeout: 240 seconds]
guille-moe has quit [Remote host closed the connection]
guille-moe has joined #ruby
RedNifre has joined #ruby
<RedNifre> Hey there.
djuber has joined #ruby
<RedNifre> YNAB stopped working on Linux a while ago so I need a replacement. I couldn't find anything so I wonder about rolling my own. I think a CLI and a database would be enough to get started. How should I go about that?
<RedNifre> I also might want to add network access later.
<RedNifre> ...or maybe sooner, since I might want to write an Android app, too.
<RedNifre> So if I instead create a server with a simple JSON API, I start thinking about Sinatra and Rails.
ta_ has joined #ruby
<RedNifre> I've used Sinatra before, it's nice and simple, but I heard that Rails is an "all in one" package which also sounds nice.
<RedNifre> What would you recommend?
<RedNifre> To summarize, I want to write some finance budget tracking thing.
FrostCandy has joined #ruby
ta_ has quit [Ping timeout: 248 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
Silthias1 has joined #ruby
Silthias has quit [Ping timeout: 246 seconds]
oleo has joined #ruby
drcode has quit [Ping timeout: 248 seconds]
Silthias has joined #ruby
wlycdgr1 has joined #ruby
Azure has quit [Ping timeout: 240 seconds]
Silthias1 has quit [Ping timeout: 260 seconds]
wlycdgr1 has quit [Ping timeout: 248 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
cam27 has joined #ruby
kapil___ has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
FahmeF has quit [Remote host closed the connection]
vondruch has quit [Client Quit]
vondruch has joined #ruby
k3rn31 has joined #ruby
oleo has quit [Read error: Connection reset by peer]
dviola has joined #ruby
k3rn31 has quit [Client Quit]
apparition has quit [Quit: Bye]
skweek has joined #ruby
justicefries has left #ruby [#ruby]
FahmeF has joined #ruby
wlycdgr1 has joined #ruby
guille-moe has quit [Ping timeout: 240 seconds]
uZiel has joined #ruby
vondruch has quit [Quit: vondruch]
taurgal has joined #ruby
vondruch has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
charliesome has quit [Ping timeout: 248 seconds]
AxelAlex has quit [Quit: AxelAlex]
conta has quit [Ping timeout: 240 seconds]
milardovich has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
charliesome has joined #ruby
bronson has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
teatime has joined #ruby
mathys has joined #ruby
<teatime> Hi. I am new to ruby, but I'm trying to help out a friend (he's taking a programming class) by making him up a little example of solving a certain problem (validating ISBN numbers).
bronson has quit [Ping timeout: 240 seconds]
<teatime> I would like to cut some lines out of this if possible, and also avoid "unidiomatic" ruby code: http://dpaste.com//1NJ1WFB
oleo has joined #ruby
wlycdgr1 has quit [Ping timeout: 248 seconds]
_aeris_ has quit [Remote host closed the connection]
_aeris_ has joined #ruby
jud has joined #ruby
clemens3 has joined #ruby
mkali has joined #ruby
clemens3 has quit [Client Quit]
goyox86 has joined #ruby
clemens3 has joined #ruby
goyox86 has quit [Client Quit]
milardovich has quit [Remote host closed the connection]
Siyfion has joined #ruby
goyox86 has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
uZiel has quit [Ping timeout: 268 seconds]
cconstantine has joined #ruby
orbyt_ has joined #ruby
mtkd has quit [Ping timeout: 248 seconds]
mtkd has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
govg has quit [Ping timeout: 260 seconds]
Mia has quit [Ping timeout: 240 seconds]
milardovich has joined #ruby
<havenwood> RedNifre: I like Roda for APIs: http://roda.jeremyevans.net/
milardovich has quit [Ping timeout: 255 seconds]
<havenwood> teatime: Two-space soft tabs are a strong community convention: http://roda.jeremyevans.net/
<havenwood> sorry for the bad link
<havenwood> ?tabs teatime
<ruby[bot]> teatime: Ruby community standards recommend using 2 spaces as indentation (see https://github.com/bbatsov/ruby-style-guide#spaces-indentation and https://ukupat.github.io/tabs-or-spaces/).
<teatime> fair enough
<havenwood> teatime: Line 21 you can use: join.bytes
<havenwood> Line 23 consider using a case statement.
<havenwood> case checkdigit; when '?'; ...; when 'x'; ...; else
<havenwood> Lines 45 and 50 it's preferred to omit explicit `return` on the last line of the method in favor of implicit return.
MyMind has joined #ruby
<teatime> what is the best way to fail / indicate failure, if invalid data is passed to .new()
<havenwood> teatime: If it's really an exceptional case when it happens, raise.
<havenwood> teatime: Right now they respond to #valid?, which seems nice.
Sembei has quit [Ping timeout: 240 seconds]
<havenwood> teatime: If it's not exceptional for one to be instantiated with invalid data, then it makes sense to not raise.
<havenwood> Try to not use raising for flow control.
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<matthewd> Seems fair to me to raise on something that's syntactically invalid, but be non-#valid? if it's the right shape but the wrong check digit
Siyfion has quit [Quit: Textual IRC Client: www.textualapp.com]
<teatime> matthewd: interesting, but practically that just means users of the class have to do more error checking more places, maybe
<havenwood> matthewd: good point
tsia has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<matthewd> teatime: #valid? seems unhelpfully vague if it conflates "you smashed the keyboard" with "that checksum doesn't match"
<teatime> on that topic, you know what else is unhelpfully vague? the standards for ISBN number formatting, lol.
<matthewd> Always raising would work, because it conveys more information than a boolean, but now you have a class whose only job is to raise in initialize
<teatime> maybe should have just made a collection of functions instead of a class; you're right the only real purpose is to validate strings.
<teatime> I thought the class would be a nice way to package up a complicated regex + a bit of extra validation for consumption, but now I dunno
vondruch has quit [Client Quit]
vondruch has joined #ruby
tsia has joined #ruby
mathys has quit [Quit: Leaving]
<havenwood> teatime: If you happen to be using Postgres, it does have ISBN and ISBN13 data types.
xuanrui has joined #ruby
<matthewd> I'm sure there's also a gem, but that's rather undermining the point of the coding exercise, I think ;)
<teatime> which method do y'all prefer for the checkdigit calc, line 25 or lines 37-43 ?
<teatime> I included both on purpose for him to compare
<matthewd> I prefer 25 -- though it should be a method, either way
yqt has joined #ruby
<teatime> oh, last question: is there some syntax to let me combine lines 37 and 38
<matthewd> Personally I'd make the initial parse less strict... input.scan(/[0-9X?]/), maybe
<teatime> i = s = 0 # maybe?
elcontrastador has joined #ruby
<matthewd> Yes, that'll work, though I'd generally avoid doing it.. particularly given that they're "different zeroes" (?)
us3r has joined #ruby
<us3r> hi everyone
<teatime> matthewd, havenwood: thank you
uZiel has joined #ruby
Caius has quit [Ping timeout: 248 seconds]
<havenwood> us3r: hi!
<havenwood> teatime: any time
<us3r> I need a good book to learn ruby, I already have experience with other languages, what do you suggest me?
<havenwood> de nada
<teatime> us3r: which languages?
vondruch has quit [Quit: vondruch]
<us3r> bash, C and java
vondruch has joined #ruby
Caius has joined #ruby
Caius has quit [Changing host]
Caius has joined #ruby
<havenwood> us3r: The Well-Grounded Rubyist, 2nd Edition, is a nice overview. Ruby Under a Microscope is a nice deep dive.
<us3r> thankyouthx
Caius has quit [Client Quit]
uZiel has quit [Remote host closed the connection]
guille-moe has joined #ruby
elcontrastador has quit [Ping timeout: 248 seconds]
Caius has joined #ruby
Caius has quit [Changing host]
Caius has joined #ruby
fishcooker has joined #ruby
vondruch has quit [Client Quit]
Caius has quit [Client Quit]
vondruch has joined #ruby
Caius has joined #ruby
Caius has quit [Changing host]
Caius has joined #ruby
ixti has joined #ruby
guille-moe has quit [Ping timeout: 240 seconds]
Silthias1 has joined #ruby
conta has joined #ruby
Silthias has quit [Ping timeout: 255 seconds]
nicolai86 has joined #ruby
fishcooker has quit [Quit: Leaving.]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<soahccc> I'm trying to write a little class which basically wraps an array and allows me to #gets on it from another thread. First I would like to know if something is inherently wrong with this and second, what would be the best way to "carry over" the newly added data from line 29 to 75... https://gist.github.com/2called-chaos/23e924c35e4010d6a140863be508741d
vondruch has quit [Client Quit]
vondruch has joined #ruby
cam27 has quit [Quit: cam27]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
minimalism has joined #ruby
nicolai86_ has quit [Remote host closed the connection]
Caius has quit [Quit: ""]
Caius has joined #ruby
Caius has joined #ruby
Caius has quit [Changing host]
jamiejackson has joined #ruby
nicolai86 has quit [Remote host closed the connection]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
phaul has joined #ruby
KeyJoo has quit [Ping timeout: 240 seconds]
nicolai86 has joined #ruby
mjolnird has joined #ruby
sp4rrow has joined #ruby
InfinityFye has quit [Quit: Leaving]
mjolnird has quit [Max SendQ exceeded]
Caius has quit [Quit: ""]
Caius has joined #ruby
Caius has quit [Changing host]
Caius has joined #ruby
Caius has quit [Client Quit]
Caius has joined #ruby
Caius has quit [Changing host]
Caius has joined #ruby
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
__Yiota has joined #ruby
kapil___ has quit [Quit: Connection closed for inactivity]
ta_ has joined #ruby
RedNifre has quit [Ping timeout: 248 seconds]
guille-moe has joined #ruby
vondruch has quit [Quit: vondruch]
ta_ has quit [Ping timeout: 248 seconds]
<FrostCandy> uh, how do I test if a method is undefiend? Shouldn't this be fine? if fields[required_field.name]
vondruch has joined #ruby
guille-moe has quit [Ping timeout: 248 seconds]
vondruch has quit [Client Quit]
mjolnird has joined #ruby
cconstantine has quit [Ping timeout: 246 seconds]
coderphive has joined #ruby
vondruch has joined #ruby
belmoussaoui has joined #ruby
<elomatreb> FrostCandy: We'll need a little more detail than that. A basic check if an object has a particular method is #respond_to?
bronson has joined #ruby
belmoussaoui has quit [Client Quit]
<FrostCandy> undefined method `name' for #<Array:0x007fec904600d0> thats the error im getting
milardovich has joined #ruby
<FrostCandy> basically im checking an object that may or may not hvae the method .name
belmoussaoui has joined #ruby
<FrostCandy> defined? may be what i'm looking for.
RedNifre has joined #ruby
RedNifre is now known as Guest89090
Guest89090 has quit [Client Quit]
milardovich has quit [Ping timeout: 248 seconds]
bronson has quit [Ping timeout: 248 seconds]
rfshark has left #ruby [#ruby]
<FrostCandy> elomatreb: oh i just realized you pointed me to #respond_to? thanks
sniffer has quit [Quit: No Ping reply in 180 seconds.]
<elomatreb> Yes, but it is not 100% reliable in certain situations, e.g. if your object has a badly implemented method_missing interface
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
opekktar_ has joined #ruby
sp4rrow has quit [Quit: Textual]
sniffer has joined #ruby
opekktar has quit [Ping timeout: 248 seconds]
__Yiota has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
goyox86 has quit [Ping timeout: 260 seconds]
vondruch has quit [Client Quit]
tsia has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has joined #ruby
opekktar_ has quit [Client Quit]
dcluna has quit [Read error: Connection reset by peer]
sp4rrow has joined #ruby
jinie has quit [Ping timeout: 248 seconds]
jinie has joined #ruby
coderphive has quit [Quit: coderphive]
kapil___ has joined #ruby
dcluna has joined #ruby
high_fiver has joined #ruby
milardovich has joined #ruby
anisha has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
Ishido has quit [Quit: Roads? Where We're Going We Don't Need Roads.]
milardovich has quit [Ping timeout: 248 seconds]
vondruch has quit [Client Quit]
vondruch has joined #ruby
ixti has quit [Quit: WeeChat 1.9]
jackjackdripper has joined #ruby
drcode has joined #ruby
drcode has quit [Remote host closed the connection]
drcode has joined #ruby
KeyJoo has joined #ruby
drcode has quit [Read error: Connection reset by peer]
jackjackdripper1 has joined #ruby
jackjackdripper has quit [Read error: Connection reset by peer]
FrostCandy has quit []
cconstantine has joined #ruby
cadillac_ has quit [Read error: Connection reset by peer]
nicesignal has quit [Remote host closed the connection]
nicesignal has joined #ruby
cadillac_ has joined #ruby
claudiuinberlin has left #ruby ["Textual IRC Client: www.textualapp.com"]
ta_ has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
cconstantine has quit [Ping timeout: 255 seconds]
ta_ has quit [Ping timeout: 240 seconds]
cconstantine has joined #ruby
18VAB6J9K has joined #ruby
phaul has quit [Ping timeout: 240 seconds]
us3r has quit [Quit: Leaving]
Silthias has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
cconstantine has quit [Ping timeout: 246 seconds]
Cohedrin_ has joined #ruby
Dimik has joined #ruby
Silthias1 has quit [Ping timeout: 246 seconds]
imode has joined #ruby
vondruch has quit [Quit: vondruch]
mkali has quit [Quit: mkali]
vondruch has joined #ruby
cconstantine has joined #ruby
selim has quit [Ping timeout: 240 seconds]
jhass has quit [Ping timeout: 255 seconds]
yqt has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/]
jhass has joined #ruby
selim has joined #ruby
benlieb has joined #ruby
RedNifre has joined #ruby
<RedNifre> How do I slurp the content of a binary file as a byte array?
<RedNifre> I tried File.read(name, mode: "rb"), but that gives me a String of bytes?
<RedNifre> What does a string of bytes even mean?
golgotha is now known as rprimus
cconstantine has quit [Ping timeout: 246 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<RedNifre> Oh, I see... there's no actual byte datatype, huh?
zautomata has joined #ruby
jhass has quit [Ping timeout: 252 seconds]
jhass has joined #ruby
cconstantine has joined #ruby
bronson has joined #ruby
jackjackdripper1 has quit [Quit: Leaving.]
tcopeland has joined #ruby
taurgal has quit [Ping timeout: 246 seconds]
bronson has quit [Remote host closed the connection]
marr has joined #ruby
VladGh has quit [Ping timeout: 248 seconds]
VladGh has joined #ruby
ta_ has joined #ruby
guille-moe has joined #ruby
charliesome has joined #ruby
ta_ has quit [Ping timeout: 246 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
sp4rrow has quit [Ping timeout: 240 seconds]
oleo has quit [Read error: Connection reset by peer]
Silthias has quit [Ping timeout: 246 seconds]
belmoussaoui has quit [Ping timeout: 255 seconds]
7JTACAJ0B has joined #ruby
belmoussaoui_ has joined #ruby
tcopeland has quit [Quit: tcopeland]
7JTACAJ0B has quit [Ping timeout: 240 seconds]
alex`` has quit [Quit: WeeChat 1.9]
Silthias has joined #ruby
AndBobsYourUncle has joined #ruby
d0nn1e is now known as donnie
jpterry has quit [Ping timeout: 240 seconds]
astronavt has joined #ruby
elcontrastador has joined #ruby
claudiuinberlin has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
jpterry has joined #ruby
belmoussaoui_ has quit [Ping timeout: 255 seconds]
vondruch has quit [Client Quit]
vondruch has joined #ruby
belmoussaoui has joined #ruby
Silthias1 has joined #ruby
jdbrowne has joined #ruby
milardovich has joined #ruby
belmoussaoui has quit [Remote host closed the connection]
belmoussaoui has joined #ruby
astronavt has quit [Remote host closed the connection]
FahmeF has quit [Remote host closed the connection]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
Azure has joined #ruby
Silthias has quit [Ping timeout: 264 seconds]
<cout> RedNifre: a byte data type wouldn't make sense in ruby due to the way it manages memory; all values (either immediate values or object references) are the same size as the platform's pointer type
<RedNifre> thanks, I guess I'll work with int arrays.
romulus10 has joined #ruby
milardovich has quit [Ping timeout: 260 seconds]
enterprisey has joined #ruby
KeyJoo has quit [Ping timeout: 260 seconds]
<cout> RedNifre: what is it you are trying to do? You might find NArray useful.
18VAB6J9K has quit [Remote host closed the connection]
anisha has quit [Quit: This computer has gone to sleep]
goyox86_ has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<RedNifre> cout there's an ancient binary format for patching other binary files. There exist many implementations but I want to create one for ruby practice.
<RedNifre> Also, I don't want to install proprietary windows exe files on my linux if the format is that simple.
<RedNifre> The format consists of records that go [3 bytes, 2 bytes, some bytes]* where the first 3 bytes specify the position in the target file, the next two specify how many bytes "some bytes" are.
<RedNifre> I'm not aiming for efficiency, I'm aiming for readable source code.
<matthewd> String is the bytearray type. String#unpack is likely to be helpful.
<RedNifre> Yeah, I already unpacked them as C*
<RedNifre> How to I write an array somewhere into another array?
<RedNifre> something like [1, 2, 3, 4].put_at(1, ["a", "b"]) => [1, "a", "b", 4]
<matthewd> ary[1, 2] = ["a", "b"]
<RedNifre> also, I need [1,2,3].put_at(2, ["a", "b", "c"] => [1, 2, "a", "b", "c"]
<RedNifre> ah, of course!
KeyJoo has joined #ruby
workmad3 has joined #ruby
<matthewd> (but I really don't see why you wouldn't keep it as a string)
dionysus69 has quit [Ping timeout: 240 seconds]
<RedNifre> well, I have to pull 3 bytes from it and interpret as an int.
<RedNifre> I currently do that as size = (a[0] << 16) + (a[1] << 8) + a[2]
ur5us has joined #ruby
Silthias has joined #ruby
mostlybadfly has quit [Quit: Connection closed for inactivity]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
enterprisey has quit [Remote host closed the connection]
Silthias1 has quit [Ping timeout: 246 seconds]
quobo has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
wlycdgr1 has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
claudiuinberlin has quit [Quit: Textual IRC Client: www.textualapp.com]
ta_ has joined #ruby
wlycdgr1 has quit [Ping timeout: 248 seconds]
<apeiros> RedNifre: why don't you use a String? they are byte arrays. just make sure to use binary encoding.
<apeiros> also they are *much* more compact than integer arrays.
<RedNifre> Okay, I'll see if I can change it.
<RedNifre> Well, I'm nearly done so I first check if it actually works before I rewrite everything.
KeyJoo has quit [Ping timeout: 240 seconds]
<RedNifre> Ehm, how do I write an array of integers to a file interpreting the integers as single bytes?
donnie has quit [Quit: ZNC - http://znc.in]
milardovich has joined #ruby
<RedNifre> Ah, guess I'll do String::unpack
<apeiros> that's the wrong way round ;-)
<apeiros> you have an array, you want a string -> Array#pack
Cohedrin_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
donnie has joined #ruby
<RedNifre> Yeah, that's what I meant :)
<apeiros> also :: means class method. use # to denote instance methods
donnie has quit [Remote host closed the connection]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
donnie has joined #ruby
__Yiota has joined #ruby
KeyJoo has joined #ruby
<apeiros> RedNifre: re size requirements: an empty array, an array of ints up to 3 elements, an empty string, and a string with up to 23 bytes are all 40 bytes. an array with >3 elements is 40 bytes + size * 8 bytes. a string with > 23 bytes is 41 bytes + size * 1 byte
<apeiros> (ruby 2.4)
planigan has quit [Remote host closed the connection]
<apeiros> so 100 bytes of data as int array is 840 bytes, and as string 141 bytes. it's asymptotically 8x larger.
<RedNifre> Okay, given that my computer has some GB of RAM and I'm patching files that are 200kB large it's all fine. But I'll look into it.
<apeiros> sure. depending what you do, choosing an int array may still be the better choice.
planigan has joined #ruby
milardovich has quit [Remote host closed the connection]
AndBobsYourUncle has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
comet23 has joined #ruby
milardovich has joined #ruby
cajone has quit [Remote host closed the connection]
elsevero has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<RedNifre> If you have a minute I see if I can put it on github.
<apeiros> sure
cajone has joined #ruby
mark_on_the_moon has joined #ruby
__Yiota has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vondruch has quit [Client Quit]
vondruch has joined #ruby
elsevero has quit [Quit: elsevero]
donnie has quit [Quit: ZNC - http://znc.in]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<RedNifre> apeiros I currently don't have the time to set up the repo properly but here's a paste: https://gist.github.com/anonymous/00795f4fa3e7750d663b031875d28616
benlieb has quit [Quit: benlieb]
Cohedrin_ has joined #ruby
MrBusiness has quit [Read error: Connection reset by peer]
<apeiros> > class IpsRecord < Struct.new # don't do that. do IpsRecord = Struct.new(…), you can use do/end block if you have a class body.
<apeiros> you're not yet used to classes?
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<matthewd> apeiros: Discouraging inherit-from-struct seems likely to lead to confusion, IMO
<apeiros> how so?
<matthewd> You can't override+super in initialize
AndBobsYourUncle has joined #ruby
<apeiros> seems expected to me
<matthewd> (plus the fact it potentially takes people on a block-heavy journey when they're maybe better off sticking with a more rigid class == `class` starting point)
<apeiros> well, re the latter - people are also confused when they see `< not_a_plain_constant`. so that part is a stand-off IMO between different kinds of confusion :)
<RedNifre> apeiros Right, I'm very new to serious ruby.
MrBusiness has joined #ruby
<matthewd> Expected given a base understanding, sure... but it's still a PITA to get from using the default to "oh and I just want to give this one other ivar an initial value"
<apeiros> RedNifre: might be a good case to start experimenting with classes.
<apeiros> matthewd: IMO at that point, stop using a struct and just use a normal class.
<apeiros> structs are for small struct-y stuff. classes for everything beyond. just my 2c.
<RedNifre> But with a normal class I would have to define a constructor. Isn't Struct exactly right in my case?
<matthewd> Using `Class.new do`? 😏
<apeiros> RedNifre: sorry, I didn't explain clearly. I'm referring to your whole code. IpsRecord is perfectly fine otherwise.
<apeiros> matthewd: of course.
<RedNifre> What else about the code?
<RedNifre> I'll see if I can rewrite it to use strings instead of int arrays tomorrow. Anything else?
bronson has joined #ruby
<apeiros> RedNifre: got caught up in this little chat. I'm looking at it ;-)
<apeiros> also got something small to do IRL
<RedNifre> I'm implementing this format in the dumbest simplest way possible: https://zerosoft.zophar.net/ips.php
<RedNifre> e.g. that format has a run length encoding in some places which I expand at the earliest possible moment, wasting "lots" of RAM.
<apeiros> your code seems to look mostly fine otherwise. I don't like the long if/else assignment in L16-23, though.
<matthewd> I guess it depends on your definitions of dumbest/simplest.. if you mean 'the first thing that comes to mind', then I can't argue with that
<RedNifre> yeaYeah, that one also has the weird side effect of setting raw_bytes
<matthewd> But this seems more convoluted than I expect, given my loose understanding of what it does
<RedNifre> matthewd please note that I'm just beginning to use ruby seriously, so it's probably not straight forward at all.
<RedNifre> matthewd Could you check out this "finished" script? It's something that I personally think looks good: https://github.com/RedNifre/pi_assistant_garbage/blob/master/garbage.rb
<matthewd> Right; noted. I'm just feeling mixed signals because you're responding to feedback on how to simplify the code with ~ "yeah I know it's not efficient, I'm just doing it the simplest way"
bronson has quit [Ping timeout: 240 seconds]
runescape07rsps has joined #ruby
<RedNifre> matthewd sorry, I meant that expanding RLE encoded data early is "simple", not that converting a byte string to int array and back is simple.
<RedNifre> But maybe I'll should continue working on it a bit more before I'll ask for more feedback.
<RedNifre> But would you say that the garbage.rb looks unconditionally fine? https://github.com/RedNifre/pi_assistant_garbage/blob/master/garbage.rb
<matthewd> That one's the obvious example, just because I'm pretty sure you can get from array-of-ints back to just-strings purely via deletions
tomyncy618 has joined #ruby
tomyncy618 has quit [Quit: Page closed]
balazs_ has joined #ruby
wlycdgr1 has joined #ruby
<apeiros> YAML.load File.read( -> YAML.load_file
<matthewd> Not unconditionally, no... but that again comes back to what form of feedback you want
<matthewd> I think most feedback I'd give there would feel more like fussing over details
goyox86_ has quit [Ping timeout: 240 seconds]
<RedNifre> apeiros thanks, fixed
<matthewd> e.g. formatting issues... and I don't like the apparent instance_eval in the gpio library (though maybe that's out of scope)
<elomatreb> Those explicit + in lines 17 and 18 definitely look weird
<RedNifre> matthewd I don't even know what kind of feedback I want. Anything that would help.
<matthewd> For something of this size, sticking with a hash-based data structure isn't terrible... but in a larger app, I'd push for some Actual Classes instead
<RedNifre> elomatreb those signal the direction of the current. For inputs like buttons you would write the pin number with a minus in front of it.
<RedNifre> + is output, - is input
<elomatreb> Did they actually use the unary + method? First time seeing that in the wild
wlycdgr1 has quit [Ping timeout: 240 seconds]
<RedNifre> matthewd yes, having actual gpio pin objects would be better for larger projects but the point of the easygpio thing is to make using raspberry pi pins as easy as possible
<matthewd> I'm talking about classes for the 'garbage' stuff
<matthewd> (though that too)
<RedNifre> so in the beginning of the file you assign names to the pins you want to use, specifying the direction with plus or minus and run your code in the block. the gpio method takes care of activating the pins and even has an ensure clause in case the block crashes.
<RedNifre> classes for the "garbage" stuff?
<RedNifre> hmmm...
<RedNifre> Wouldn't that be overkill if the garbage data is just a calendar and a number?
<matthewd> Again, my objection to the gpio bit isn't the fact it provides an abstraction layer -- of course that's a good thing -- it's the detail of how it does it via instance_eval
<matthewd> I'd prefer 22 to be `x.led_paper = capacity_left?(..)`, say
<elomatreb> Depending on how you look at it using Ruby already is overkill, so you might as well go all the way and do proper classes
<matthewd> (where `x` is a block argument from 19)
<RedNifre> It was a block argument originally but I thought it looked neater with instance_eval.
<RedNifre> Of course that might be subjective or wrong
<RedNifre> I already thought about how a more serious approach would look like: Specify the pins for all programs in a separate yaml and then just do gpio("red_led", "button") do { |pins| pins.red_led.on() }
<RedNifre> That would be more explicit and flexible but it would also increase the perceived complexity.
<RedNifre> The instance_eval approach is more DSL-like: Declare at the start what you want, then just use it magically.
<matthewd> Yet again, I'm objecting to the instance_eval, not the fact you're defining the pin assignments here
<elomatreb> The problem with instance_eval interfaces is that you can't use your own methods inside the block you give
<RedNifre> I don't understand. What do you mean by you can't use your own methods inside the block?
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
<elomatreb> It would try to call them on the object you're evaling on. I.e. you def a helper method you want to use above the block, but it won't work inside an instance_eval block
<matthewd> RedNifre: Which methods are getting called on your gpio object, in this script?
<matthewd> I'll start you off: led_paper
<RedNifre> matthewd only led_paper and led_recycling, as specified in the parameters of gpio.
<matthewd> There are another four
<RedNifre> :O
<RedNifre> my world is crumbling!
<matthewd> Sorry, another three beyond those two
goyox86_ has joined #ruby
elcontrastador has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
workmad3 has quit [Ping timeout: 252 seconds]
<RedNifre> which ones? Do you mean loop and sleep?
<matthewd> Yes. loop, sleep, and capacity_left?
<matthewd> All called on the Gpio instance, because of the instance_eval
guille-moe has quit [Ping timeout: 260 seconds]
<RedNifre> Okay, but those hit missing methods and eventually find the capacity_left? method, so what is the problem? (Not being snarky, I honestly don't know what the problem is)
<matthewd> Well, there's the fact it breaks encapsulation: you're inside the object, so you can call its private methods
vondruch has quit [Client Quit]
<apeiros> sorry, I thought those RL things would be done quicker. got to go. but you're in good hands with matthewd :)
vondruch has joined #ruby
<matthewd> But mostly it just creates confusion because it's not obvious in the calling code that the evaluation context is being swapped out from underneath
<RedNifre> thanks apeiros :)
<matthewd> And just to avoid typing `x.` twice
<RedNifre> Well, it's two different philosophies I guess. You can create a clean, flexible interface that scales or a magical one that has a lot of implicit stuff in the background.
<RedNifre> To clarify, I personally think that it's fine for the garbage.rb case, but it becomes weird in the morse code case where I pass a method reference in line 46 here: https://github.com/RedNifre/pi_assistant_garbage/blob/master/morse.rb
<RedNifre> There's some extra morse code stuff that needs to know where to output the morse code. Ideally I would pass a pin object, but since those aren't exposed right now I have to parse the method reference.
<RedNifre> I still believe that the magical approach has value though. It keeps the simple things simple (but complicates the less simple things)
<RedNifre> Anyway, thanks for your input, I have to leave now but I'll try to fix the issues tomorrow.
<RedNifre> Good night and thanks!
aleandros has joined #ruby
RedNifre has quit [Quit: kwit]
TastyTrout is now known as Salmonidae
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
tcopeland has joined #ruby
AxelAlex has joined #ruby
AxelAlex has quit [Remote host closed the connection]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
ledestin has joined #ruby
AxelAlex has joined #ruby
benlieb has joined #ruby
t-recx has quit [Quit: t-recx]
ledestin has quit [Ping timeout: 260 seconds]
Mia has joined #ruby
Mia has joined #ruby
TomyLobo has quit [Ping timeout: 255 seconds]
enterprisey has joined #ruby
Bhootrk_ has quit [Quit: Leaving]
bronson has joined #ruby
wlycdgr1 has joined #ruby
cconstantine has quit [Ping timeout: 255 seconds]
bronson has quit [Ping timeout: 240 seconds]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
wlycdgr1 has quit [Ping timeout: 252 seconds]
kapil___ has quit [Quit: Connection closed for inactivity]
vondruch has quit [Client Quit]
vondruch has joined #ruby
wlycdgr1 has joined #ruby
astronavt has joined #ruby
enterprisey has quit [Remote host closed the connection]
belmoussaoui__ has joined #ruby
belmoussaoui has quit [Ping timeout: 246 seconds]
belmoussaoui__ is now known as belmoussaoui
<astronavt> i'm a little confused about Bundler. when i run `bundle install`, it installs to my system-wide gem directory
<astronavt> why?
<Salmonidae> that's the default behaviour, you can use --path for a local bundle that doesn't reside with your system gems. why, well, because it's more likely you'll re-use those gems as you go between different projects with their own bundles. Gemfile.lock is what ensures dependency resolution.
<astronavt> interesting
romulus10 has quit [Quit: Leaving]
<astronavt> coming from python i was expecting virtualenv-like behavior by default
<Salmonidae> more npm-like, or cargo-like (Rust).
<astronavt> so if i wanted true encapsulation i'd use 'bundle exec --path vendor/bundle' or something?
<Salmonidae> yep
<astronavt> ok thank you
<Salmonidae> oh
<Salmonidae> sorry
<Salmonidae> bundle install --path vendor/bundle
<Salmonidae> bundle install --help
<astronavt> or vendor/cache rather
<astronavt> oh
<Salmonidae> sure, where ever. i actually use --path .vendored
houhoulis has joined #ruby
<astronavt> i was actually reading the docs for 'bundle package' by accident
<astronavt> this is a good tool
vondruch has quit [Quit: vondruch]
<astronavt> fast, nicely laid out CLI
vondruch has joined #ruby
<astronavt> documentation could be better though ;)
<Salmonidae> 👍
<astronavt> way better than Pip
<astronavt> Gem + Bundler together i mean
<Salmonidae> ruby is way better than python too, so it's your lucky day 😎
<astronavt> hehe
<astronavt> i'm a data scientist so until you give me a giant machine learning and text processing ecosystem i'm stuck
<astronavt> what's ruby's C interface like? any reason someone couldn't port numpy to ruby?
<Salmonidae> not familiar with that space at all. the C interface seems good. it's easy. simple.
conta has quit [Ping timeout: 246 seconds]
<astronavt> so if i dont do "bundle install --path" is there any reason to use "bundle exec"?
<Salmonidae> yes
<Salmonidae> this is probably the most annoying and confusing thing about bundler
<Salmonidae> let me explain
vondruch has quit [Client Quit]
vondruch has joined #ruby
Mia has quit [Ping timeout: 248 seconds]
<Salmonidae> when you do 'bundle install --path vendored/foo' bin' scripts belonging to gems are not on your $PATH. so 'rspec' does not exist. bundle exec rspec is required to find it. now in case of system gems/bundle, 'rspec' will exist but it won't use your bundle!
<Salmonidae> dependency resolution will not be pinned to Gemfile.lock in case of bare 'rspec'
<Salmonidae> the work around, is to always require "bundler/setup" in your spec suite (for example). this ensures that if 'bundle exec' is not used, after the require of 'bundler/setup' all subsequent requires will be pinned to Gemfile.lock
vondruch has quit [Quit: vondruch]
<astronavt> gotcha
vondruch has joined #ruby
<astronavt> w/ similar motivation for "binstubs" right?
<Salmonidae> yeah. i haven't used them. my approach to this problem is to use require "bundler/setup".
cconstantine has joined #ruby
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nopolitica has joined #ruby
alveric2 has joined #ruby
nopoliti1 has quit [Ping timeout: 252 seconds]
alveric1 has quit [Ping timeout: 252 seconds]
AxelAlex has quit [Remote host closed the connection]
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
AxelAlex has joined #ruby
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby
enterprisey has joined #ruby
KeyJoo has quit [Ping timeout: 240 seconds]
zautomata has quit [Ping timeout: 240 seconds]
lexruee has quit [Quit: ZNC 1.6.5-frankenznc - http://znc.in]
lexruee has joined #ruby
vondruch has quit [Client Quit]
vondruch has joined #ruby
newbie57 has joined #ruby
lxsameer has quit [Ping timeout: 248 seconds]
<astronavt> can i change ~/.bundle/cache to something more reasonable like $XDG_CACHE_HOME/bundle ?
<astronavt> i could always symlink it, but i just hate having stuff lying around in ~
tcopeland has quit [Quit: tcopeland]
moei has quit [Quit: Leaving...]
brent__ has joined #ruby
Silthias1 has joined #ruby
Silthias has quit [Ping timeout: 255 seconds]
vondruch has quit [Quit: vondruch]
<Salmonidae> a lot of rubyists are mac users and don't linux good.
vondruch has joined #ruby
<Radar> Yeah we don't really do the regular linux things like recompiling our kernels from scratch whenever our GPU vendor releases an update
<Radar> And audio works 100% of the time on Mac
kies has quit [Ping timeout: 255 seconds]
<Salmonidae> it's not what i mean. software is usually optimal for the platform it is developed on, and in a lot of cases it's mac for ruby
<Radar> Works On My Machine™
<Salmonidae> yep
<Radar> Patches Welcome™®
<Salmonidae> nope
<Salmonidae> ⏲
<Radar> "plz support my platform" "but this is OSS, just contribute a patch back" "lol no u r maintainer, you patch plz" "but that is my free time that I would be spending supporting _your_ platform"
fishcooker has joined #ruby
<Radar> and on and on it goes
<Radar> You want life to be better? Patch it.
<Salmonidae> it depends how you look at it. i look at it that software should be optimal for all platforms, if it's some major ruby lib
vondruch has quit [Client Quit]
vondruch has joined #ruby
<Radar> I don't own a modern Windows system. If someone contacted me about a Windows support issue on one of my libraries I probably couldn't help them very well because I would struggle to reproduce the issue.
<Salmonidae> i use VMs for this problem
<Radar> Buying a Windows machine is within my capabilities, but then I need to set it up, install Ruby, replicate the bug... that's a good weekend project if I had nothing else on that weekend.
jenrzzz has joined #ruby
jenrzzz has quit [Changing host]
jenrzzz has joined #ruby
<Radar> I'd still need to buy Windows and set it up. That's at least 2 hours.
<Radar> Or I could spend that 2hrs triaging other issues?
<Salmonidae> sure. since when is open source not effort?
<Salmonidae> well that's up to you
<Radar> An OSS maintainer isn't your slave. If you want better support on a particular platform for a particular project then contribute back.
<Radar> Open source effort shouldn't just be the maintainer doing the effort.
<Radar> That's what leads to classical burnout.
<Salmonidae> i agree. but i also think it's something for the project to prioristise too.
<Radar> "plz add this feature" "I don't care about it" "omg u suck" <- classic OSS conversation
<astronavt> Salmonidae actually i'm a mac user
<astronavt> i have $XDG_DATA_HOME=$HOME/Library
<Radar> I agree that it would be something to prioritise, but only if it affected a large swath of users.
<astronavt> $XDG_CACHE_HOME=$HOME/Library/Caches
<Salmonidae> ah. but XDG is a linux standard as far as i know. it's non-standard on OSX, and it has its own equivalents.
cconstantine has quit [Ping timeout: 246 seconds]
<astronavt> either way, $HOME/.bundle is wrong ;)
comet23 has quit [Ping timeout: 246 seconds]
<Salmonidae> yeah should be configurable somehow
<Radar> indirect says: "I'm open to the possibility of allowing the user_bundle_path to be configured"
<astronavt> i feel like there ought to be an "official/unofficial" XDG mapping to Linux and Windows... and a compat library in every major programming language
<Salmonidae> that's very presumptious on his part
<Salmonidae> because i see XDG requests all the time
cconstantine has joined #ruby
<Salmonidae> and linux "programs" (C style) definitely respect it
<astronavt> tbh i'm surprised you can't just "gem install xdg" and have the problem solved
<astronavt> or have it set through environment variables
<astronavt> BUNDLER_HOME=$HOME/.bundler maybe? idk, hate to be presumptuous about this kind of thing without seeing the code
<Salmonidae> sure. that could work
<astronavt> maybe ~/.bundler is hardcoded everywhere and it'd take a whole afternoon to fix
doublemalt__ has joined #ruby
goyox86_ has quit [Quit: goyox86_]
<Salmonidae> it sounds like the complexity of it being configurable isn't worth it
<Salmonidae> and no one really cares.
<Salmonidae> more or less
brent__ has quit [Remote host closed the connection]
<Salmonidae> time better spent on other things
<Salmonidae> but if someone else did a PR im sure they'd review it
doublemalt_ has quit [Ping timeout: 248 seconds]
<Salmonidae> `gem install xdg` seems like a good idea too
vondruch has quit [Quit: vondruch]
vondruch has joined #ruby