<hramrach>
I suppose map without arguments returns some Enumerator or whatever which has with_index
duderonomy has joined #ruby
<al2o3-cr>
hramrach: correct
<havenwood>
phaul: Last I heard, apeiros is well but busy. I thought he'd be back by now, but I guess it's still busy!
<havenwood>
phaul: Seems like a great idea to have rubydoc take on responsiblities.
evdubs has quit [Quit: Leaving]
<phaul>
I would be happy to implement them :)
<phaul>
or rubydoc is open source on github, pull requestes are welcome
<al2o3-cr>
phaul: that sounds aright! :P
<havenwood>
\o/
marz_d`ghostman has joined #ruby
<marz_d`ghostman>
With the inception of elixir, how is ruby so far?
gnufr33d0m has joined #ruby
evdubs has joined #ruby
<phaul>
ruby being multi paradigm adopts a lot of ideas from functional programming. Seems to be the trend. TBH in main industry I think ruby programmers will just program with what ruby 2.X offers. Time will tell
ur5us has quit [Ping timeout: 260 seconds]
<havenwood>
marz_d`ghostman: Matz like Elixir so some ideas are already finding their way back to Ruby.
<havenwood>
marz_d`ghostman: Elixir is a very different language than Ruby. It's not taking a substantial portion of Ruby programmer mindshare or anything. That said, <3 Elixir.
AJA4350 has quit [Quit: AJA4350]
brool is now known as bruul
TCZ has quit [Quit: Bye Bye]
<marz_d`ghostman>
Have you made the switch havenwood ? hehe
<havenwood>
marz_d`ghostman: My girlfriend is the engineering manager of an Elixir/Ember team. I took a job back before Phoenix 1.0 just to work on Elixir and really enjoyed it, but we don't use it at Square.
<marz_d`ghostman>
I'm dying to work on a elixir/phoenix project myself. :)
gnufr33d0m has quit [Remote host closed the connection]
jenrzzz_ has quit [Ping timeout: 240 seconds]
gnufr33d0m has joined #ruby
gnufr33d0m has quit [Remote host closed the connection]
davidw has quit [Ping timeout: 268 seconds]
witlesswonder has joined #ruby
drincruz has quit [Ping timeout: 268 seconds]
akemhp_ has quit [Ping timeout: 268 seconds]
<marz_d`ghostman>
By the way, have you guys tried scripting google drive API in ruby?
<marz_d`ghostman>
I'm having this problem where if I update a file, it says File not found. But when I list files from my drive, it's there.
witlesswonder has quit [Quit: Leaving]
greypack has quit [Ping timeout: 268 seconds]
Nahra has quit [Ping timeout: 268 seconds]
greypack has joined #ruby
Nahra has joined #ruby
gitter1234 has quit [Quit: Connection closed for inactivity]
howdoi has quit [Quit: Connection closed for inactivity]
greypack has quit [Ping timeout: 268 seconds]
marz_d`ghostman has quit [Quit: leaving]
jenrzzz has joined #ruby
greypack has joined #ruby
Nahra has quit [Ping timeout: 260 seconds]
jenrzzz has quit [Ping timeout: 268 seconds]
thenori has joined #ruby
Tempesta has quit [Quit: See ya!]
Fudo has joined #ruby
<adam12>
I tried Elixir / Phoenix on a project but went back to Ruby. It was _fine_, but for me not as enjoyable as Ruby.
<adam12>
I still maintain a few OSS projects I created for that project (ecto_network and phoenix_mtm) but new stuff that's not Ruby (mostly non-web) is Crystal/Go/Nim. Strong typed.
mozzarella has quit [Remote host closed the connection]
Tempesta has joined #ruby
ellcs has quit [Ping timeout: 245 seconds]
mozzarella has joined #ruby
cliluw has quit [Quit: Leaving]
ellcs has joined #ruby
cliluw has joined #ruby
wallace_mu has quit [Remote host closed the connection]
Fudo has quit [Remote host closed the connection]
wallace_mu has joined #ruby
Fudo has joined #ruby
cliluw has quit [Remote host closed the connection]
cliluw has joined #ruby
cliluw has quit [Client Quit]
wallace_mu has quit [Ping timeout: 272 seconds]
alex`` has quit [Ping timeout: 265 seconds]
braincrash has quit [Quit: bye bye]
braincrash has joined #ruby
chalkmonster has joined #ruby
TorpedoSkyline has joined #ruby
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Helenah has quit [Read error: Connection reset by peer]
Helenah has joined #ruby
jenrzzz has joined #ruby
cliluw has joined #ruby
gix- has joined #ruby
gix has quit [Disconnected by services]
jenrzzz has quit [Ping timeout: 265 seconds]
orbyt_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
thenori has quit [Ping timeout: 248 seconds]
thenori has joined #ruby
TorpedoSkyline has joined #ruby
TorpedoSkyline has quit [Client Quit]
thenori has quit [Ping timeout: 248 seconds]
bvdw has quit [Read error: Connection reset by peer]
gix- has quit [Ping timeout: 265 seconds]
bvdw has joined #ruby
donofrio has quit [Remote host closed the connection]
TorpedoSkyline has joined #ruby
impermanence has joined #ruby
<impermanence>
what is a good approach to check which file is executing a rake task?
<impermanence>
An installer script is running on my box and it is calling a rake task somehow/someway and for the life of me I cannot locate where/what file is calling this rake task lol
<impermanence>
I have tried grepping recursively everything I can think of
<impermanence>
I have tried running in verbose mode
<impermanence>
no joy
howdoi has joined #ruby
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mossplix has joined #ruby
cliluw has quit [Ping timeout: 265 seconds]
cliluw has joined #ruby
mossplix has quit [Remote host closed the connection]
<mozzarella>
impermanence: raise an exception from the rake task and you'll get a backtrace
<impermanence>
k
<mozzarella>
well
<impermanence>
that's a good idea
<impermanence>
or...well what?
<impermanence>
I just want to see whatever file is forming these rake tasks
<impermanence>
because I want to simply comment this failing task out lol
<mozzarella>
if this rake task is not being called by another ruby file it won't work
nfsnobody has quit [Ping timeout: 248 seconds]
jtperreault has quit [Ping timeout: 248 seconds]
jtperreault has joined #ruby
<mozzarella>
I guess then you'd want to find the parent process
nisstyre has quit [Ping timeout: 250 seconds]
<impermanence>
I guess I may need to attach a debugger to the process and look at every file being called lol
nfsnobody has joined #ruby
nisstyre has joined #ruby
Ishido has quit [Quit: Leaving]
alfiemax has joined #ruby
cliluw has quit [Ping timeout: 268 seconds]
Furai has quit [Quit: WeeChat 2.7]
mossplix has joined #ruby
Furai has joined #ruby
sauvin has joined #ruby
mossplix has quit [Remote host closed the connection]
cxl has quit [Quit: bye]
schne1der has joined #ruby
suukim has joined #ruby
suukim has quit [Client Quit]
chalkmonster has quit [Ping timeout: 272 seconds]
mossplix has joined #ruby
zdm has joined #ruby
schne1der has quit [Ping timeout: 268 seconds]
bruul has quit [Ping timeout: 260 seconds]
bruul has joined #ruby
bruul has quit [Ping timeout: 268 seconds]
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mossplix has quit [Remote host closed the connection]
akemhp has joined #ruby
cd has quit [Quit: cd]
infinityfye has joined #ruby
hiroaki has quit [Ping timeout: 268 seconds]
mossplix has joined #ruby
jenrzzz has joined #ruby
howdoi has quit [Quit: Connection closed for inactivity]
schne1der has joined #ruby
r3m has quit [Quit: WeeChat 2.8-dev]
r3m has joined #ruby
jenrzzz has quit [Ping timeout: 268 seconds]
jenrzzz has joined #ruby
jenrzzz has quit [Ping timeout: 265 seconds]
lineus_ has joined #ruby
lineus has quit [Ping timeout: 240 seconds]
cnsvc has quit [Quit: WeeChat 2.7]
ellcs has quit [Ping timeout: 245 seconds]
envex has quit []
sliddjur has joined #ruby
<sliddjur>
I get an error message on a ruby application, could I be missing some dependencies? I dont know much about ruby really, but here's the error message: Tags support is not enabled. Enable the "Yaml::PARSE_CUSTOM_TAGS" flag to use "!ruby/regexp"
<sliddjur>
google doesnt give me much, anyone can point me in the right direction?
houhoulis has quit [Remote host closed the connection]
cthulchu_ has quit [Ping timeout: 268 seconds]
ldepandis has joined #ruby
d3bug has quit [Quit: Connection closed for inactivity]
pandakekok9 has joined #ruby
jenrzzz has joined #ruby
jenrzzz has quit [Ping timeout: 240 seconds]
pandorian has joined #ruby
mossplix has quit [Remote host closed the connection]
cnsvc has joined #ruby
pandakekok9 has quit [Ping timeout: 240 seconds]
sergioro has quit [Quit: leaving]
markopasha has quit [Remote host closed the connection]
mossplix has joined #ruby
jenrzzz has joined #ruby
markopasha has joined #ruby
mossplix has quit [Ping timeout: 272 seconds]
cnsvc has quit [Ping timeout: 240 seconds]
jenrzzz has quit [Ping timeout: 240 seconds]
GodFather has quit [Read error: Connection reset by peer]
GodFather has joined #ruby
mikecmpbll has joined #ruby
ellcs has joined #ruby
jzinedine has joined #ruby
r3m has quit [Quit: WeeChat 2.8-dev]
r3m has joined #ruby
lxsameer has joined #ruby
lxsameer has quit [Client Quit]
markopasha has quit [Ping timeout: 272 seconds]
jacksop has joined #ruby
alfiemax has quit [Remote host closed the connection]
mossplix has joined #ruby
alfiemax has joined #ruby
jenrzzz has joined #ruby
mossplix has quit [Remote host closed the connection]
phaul__ has joined #ruby
phaul__ has quit [Quit: WeeChat 2.6]
phaul is now known as Guest41946
Guest41946 has quit [Killed (weber.freenode.net (Nickname regained by services))]
phaul has joined #ruby
Guest41946 has joined #ruby
alfiemax has quit [Remote host closed the connection]
alfiemax has joined #ruby
alice2296 has joined #ruby
alice2296 has quit [Client Quit]
tpanarch1st has joined #ruby
alice2296 has joined #ruby
alice2296 has quit [Client Quit]
alice2296 has joined #ruby
conta has joined #ruby
alice2296 has left #ruby [#ruby]
Voidwalker has joined #ruby
Voidwalker is now known as Guest68637
pandorian has quit [Ping timeout: 268 seconds]
TomyWork has joined #ruby
fercell has joined #ruby
jenrzzz has quit [Ping timeout: 240 seconds]
fphilipe has joined #ruby
fphilipe_ has quit [Ping timeout: 246 seconds]
lxsameer has joined #ruby
fphilipe has quit [Ping timeout: 245 seconds]
alfiemax has quit [Remote host closed the connection]
phaul has quit [Ping timeout: 265 seconds]
akemhp has quit [Remote host closed the connection]
phaul has joined #ruby
fphilipe has joined #ruby
akemhp has joined #ruby
Liothen has quit []
Liothen has joined #ruby
TCZ has joined #ruby
mossplix has joined #ruby
mossplix has quit [Read error: Connection reset by peer]
mossplix has joined #ruby
fphilipe has quit [Read error: Connection reset by peer]
jenrzzz has joined #ruby
Fenhl has quit []
Fenhl has joined #ruby
pandakekok9 has joined #ruby
jenrzzz has quit [Ping timeout: 268 seconds]
jacksop has quit [Remote host closed the connection]
jnix has quit []
jnix has joined #ruby
mossplix has quit [Read error: Connection reset by peer]
akemhp has quit [Remote host closed the connection]
mossplix has joined #ruby
phaul has quit [Ping timeout: 240 seconds]
phaul has joined #ruby
alex`` has joined #ruby
akemhp has joined #ruby
mossplix_ has joined #ruby
mossplix has quit [Read error: Connection reset by peer]
alfiemax has joined #ruby
Jason37 has joined #ruby
akemhp has quit [Client Quit]
fercell_ has joined #ruby
fercell_ has quit [Read error: Connection reset by peer]
fercell_ has joined #ruby
bvdw has quit [Read error: Connection reset by peer]
bvdw has joined #ruby
jenrzzz has joined #ruby
donofrio has joined #ruby
sliddjur has quit [Remote host closed the connection]
jenrzzz has quit [Ping timeout: 268 seconds]
alex`` has quit [Quit: WeeChat 2.7]
jacksop has joined #ruby
alex` has joined #ruby
alex` is now known as Guest91680
Guest91680 is now known as alex``
chalkmonster has joined #ruby
william1_ has joined #ruby
dionysus69 has joined #ruby
Jason371 has joined #ruby
Jason37 has quit [Ping timeout: 246 seconds]
Jason371 has left #ruby [#ruby]
AJA4350 has joined #ruby
pandakekok9 has quit [Quit: Lost terminal]
william1_ has quit [Ping timeout: 265 seconds]
jenrzzz has joined #ruby
infinityfye has quit [Read error: Connection reset by peer]
infinityfye has joined #ruby
jacksop has quit [Remote host closed the connection]
mossplix_ has quit [Remote host closed the connection]
mossplix has joined #ruby
Jonopoly has joined #ruby
jacksop has joined #ruby
jenrzzz has quit [Ping timeout: 268 seconds]
mossplix has quit [Ping timeout: 268 seconds]
jacksop has quit [Ping timeout: 260 seconds]
fphilipe has joined #ruby
jacksop has joined #ruby
jacksop has quit []
lxsameer has quit [Ping timeout: 272 seconds]
lxsameer has joined #ruby
jzinedine has quit [Ping timeout: 240 seconds]
mossplix has joined #ruby
drincruz has joined #ruby
captainrubyalot has joined #ruby
<captainrubyalot>
Hey all, anyone here working with XSD/XML/ruby on a daily basis? I'm building a bunch of parsers/mappers and would like to team up.
<captainrubyalot>
Things like XSD validators, object generators is what i am working on. I have to connect to a lot of legacy systems unfortunately.
mossplix has quit [Ping timeout: 265 seconds]
mossplix has joined #ruby
captainrubyalot has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
fphilipe has quit [Read error: Connection reset by peer]
fphilipe has joined #ruby
drincruz has quit [Ping timeout: 260 seconds]
jenrzzz has joined #ruby
bukkitgerman has quit [Ping timeout: 258 seconds]
chalkmonster has quit [Quit: WeeChat 2.7]
jenrzzz has quit [Ping timeout: 268 seconds]
alfiemax has quit [Remote host closed the connection]
jenrzzz has joined #ruby
captainrubyalot has joined #ruby
TCZ has quit [Quit: Bye Bye]
mossplix has quit [Remote host closed the connection]
drincruz has joined #ruby
jenrzzz has quit [Ping timeout: 246 seconds]
mossplix has joined #ruby
akemhp has joined #ruby
mossplix has quit [Ping timeout: 240 seconds]
anveo has joined #ruby
vondruch has quit [Ping timeout: 268 seconds]
bukkitgerman has joined #ruby
phaul has quit [Ping timeout: 246 seconds]
akemhp has quit [Remote host closed the connection]
drincruz has quit [Ping timeout: 246 seconds]
vondruch has joined #ruby
schne1der has quit [Ping timeout: 268 seconds]
phaul has joined #ruby
jenrzzz has joined #ruby
WA9ACE has quit []
WA9ACE has joined #ruby
TCZ has joined #ruby
alex`` has quit [Ping timeout: 268 seconds]
lucasb has joined #ruby
alex`` has joined #ruby
mossplix has joined #ruby
conta has quit [Quit: conta]
mossplix has quit [Read error: Connection reset by peer]
mossplix has joined #ruby
Fridtjof has quit [Ping timeout: 265 seconds]
jenrzzz has quit [Ping timeout: 268 seconds]
llua has quit [Quit: <Rudolph> shell code is what greycat reads to kids when he tucks them in]
llua has joined #ruby
Fridtjof has joined #ruby
fritzroy15 has joined #ruby
<fritzroy15>
hello, any idea why rbenv on ubuntu 18.04 sees ruby 2.5.1 as the latest version? it's up to 2.7 now
jcalla has joined #ruby
TCZ has quit [Quit: Bye Bye]
schne1der has joined #ruby
<jhass>
rbenv wants to be used with ruby-build, so make sure that's up-to-date
jenrzzz has joined #ruby
mossplix has quit [Remote host closed the connection]
jenrzzz has quit [Ping timeout: 268 seconds]
sphex has quit [Ping timeout: 272 seconds]
duderonomy has joined #ruby
duderonomy has quit [Client Quit]
wallace_mu has joined #ruby
dinfuehr has quit [Ping timeout: 240 seconds]
dinfuehr has joined #ruby
drincruz has joined #ruby
duderonomy has joined #ruby
duderonomy has quit [Client Quit]
duderonomy has joined #ruby
duderonomy has quit [Client Quit]
mossplix has joined #ruby
sphex has joined #ruby
fercell_ has quit [Quit: WeeChat 2.7]
jenrzzz has joined #ruby
NL3limin4t0r has quit [Ping timeout: 268 seconds]
NL3limin4t0r has joined #ruby
SeepingN has joined #ruby
jenrzzz has quit [Ping timeout: 265 seconds]
Esa_ has joined #ruby
TorpedoSkyline has joined #ruby
infinityfye has quit [Read error: Connection reset by peer]
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
TorpedoSkyline has joined #ruby
captainrubyalot has quit [Read error: Connection reset by peer]
mossplix has quit [Remote host closed the connection]
nuck has quit []
impermanence has quit [Remote host closed the connection]
nuck has joined #ruby
impermanence has joined #ruby
jenrzzz has joined #ruby
Iambchop has quit []
Iambchop has joined #ruby
jenrzzz has quit [Ping timeout: 265 seconds]
entel has quit []
entel has joined #ruby
impermanence has quit [Remote host closed the connection]
Helenah has quit [Read error: Connection reset by peer]
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
TorpedoSkyline has joined #ruby
drincruz has quit [Ping timeout: 268 seconds]
mossplix has joined #ruby
alfiemax has joined #ruby
davidw has joined #ruby
anveo has joined #ruby
jenrzzz has joined #ruby
alfiemax_ has joined #ruby
alfiemax has quit [Ping timeout: 268 seconds]
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
factormystic1 has joined #ruby
TorpedoSkyline has joined #ruby
factormystic has quit [Ping timeout: 272 seconds]
factormystic1 is now known as factormystic
jenrzzz has quit [Ping timeout: 265 seconds]
DaniG2k has joined #ruby
duderonomy has joined #ruby
Jacob-dev37 has joined #ruby
ellcs has quit [Ping timeout: 265 seconds]
d3bug has joined #ruby
mossplix has quit [Remote host closed the connection]
bruul has joined #ruby
fig-le-deunch has joined #ruby
Jonopoly has quit [Ping timeout: 240 seconds]
alfiemax_ has quit [Remote host closed the connection]
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mossplix has joined #ruby
jenrzzz has joined #ruby
mossplix has quit [Remote host closed the connection]
alfiemax has joined #ruby
impermanence has joined #ruby
alfiemax_ has joined #ruby
fig-le-deunch has quit [Ping timeout: 265 seconds]
alfiemax has quit [Ping timeout: 265 seconds]
jenrzzz has quit [Ping timeout: 260 seconds]
bvdw has quit [Read error: Connection reset by peer]
bvdw has joined #ruby
impermanence has quit [Ping timeout: 268 seconds]
fig-le-deunch has joined #ruby
DaniG2k has quit [Quit: leaving]
drincruz has joined #ruby
TorpedoSkyline has joined #ruby
fercell has quit [Quit: WeeChat 2.7]
alfiemax_ has quit [Remote host closed the connection]
cthulchu_ has joined #ruby
mikecmpbll has quit [Quit: inabit. zz.]
fig-le-deunch has quit [Ping timeout: 268 seconds]
alfiemax has joined #ruby
fig-le-deunch has joined #ruby
jenrzzz has joined #ruby
alfiemax has quit [Ping timeout: 240 seconds]
gix has joined #ruby
phaul has quit [Ping timeout: 260 seconds]
jenrzzz has quit [Ping timeout: 240 seconds]
nofxx has joined #ruby
howdoi has joined #ruby
AJA4350 has quit [Ping timeout: 260 seconds]
nofxx has quit [Remote host closed the connection]
fig-le-deunch has quit [Ping timeout: 268 seconds]
phaul has joined #ruby
factormystic has quit [Ping timeout: 260 seconds]
lxsameer has quit [Ping timeout: 268 seconds]
factormystic has joined #ruby
phaul has quit [Ping timeout: 260 seconds]
nofxx has joined #ruby
wildtrees has joined #ruby
wildtrees has quit [Remote host closed the connection]
wildtrees has joined #ruby
fritzroy15 has quit [Ping timeout: 265 seconds]
alex`` has quit [Ping timeout: 265 seconds]
<Jacob-dev37>
Hello!
alex`` has joined #ruby
fphilipe has quit [Ping timeout: 265 seconds]
<havenwood>
Jacob-dev37: Hi!
ldepandis has quit [Read error: Connection reset by peer]
<Jacob-dev37>
How is everithing here?
jenrzzz has joined #ruby
fercell has joined #ruby
mossplix has joined #ruby
davispuh has joined #ruby
TorpedoSkyline has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jenrzzz has quit [Ping timeout: 240 seconds]
Jacob-dev37 has quit [Quit: Leaving.]
TorpedoSkyline has joined #ruby
Ven`` has joined #ruby
cliluw has joined #ruby
fphilipe has joined #ruby
impermanence has joined #ruby
Lionyx has joined #ruby
<Lionyx>
I have a string that always has the format xxxx0000 where x is always a char and 0 is always a number, the quantity of numbers and chars vary, how do i split this string into two? should I use scan and regex? convert to array? pop the array elements until there's no numbers left?
<uplime>
uhaul is only used to offload when phaul gets too busy
<phaul>
:) I know my nick is terrible. It's the one I chose 20+ years ago, and now it's stuck. Not that I mind too much :D but I have heard ppl pronouncing it pee-hole, faul, paul etc. take you pick :D
fphilipe has joined #ruby
<uplime>
we can't all be as good as uplime, admittedly
TorpedoSkyline has joined #ruby
<leftylink>
hmm
<leftylink>
internally it's like paul to me I guess
mossplix has quit [Remote host closed the connection]
bvdw has quit [Read error: Connection reset by peer]
bvdw has joined #ruby
<pwnd_nsfw>
royal_screwup21, maybe silly, but did you hit bundle update?
<royal_screwup21>
nah my ruby version wasn't >=2.4.0
theantidaniel has quit [Read error: Connection reset by peer]
<pwnd_nsfw>
ah lol
<royal_screwup21>
also gotta love how bundler >=2.1 isn't backwards compatible..
<royal_screwup21>
```undler could not find compatible versions for gem "bundler": In Gemfile: bundler (~> 2.0.2) Current Bundler version: bundler (2.1.4)This Gemfile requires a different version of Bundler.Perhaps you need to update Bundler by running `gem install bundler`?Could not find gem 'bundler (~> 2.0.2)' in any of the relevant sources: the local
<royal_screwup21>
ruby installation```
sgen has quit [Quit: Leaving]
TCZ has quit [Quit: Bye Bye]
cliluw has quit [Ping timeout: 265 seconds]
alex`` has quit [Ping timeout: 268 seconds]
royal_screwup21 has quit [Remote host closed the connection]
cliluw has joined #ruby
jken_ has joined #ruby
jken_ is now known as jken
<jken>
Hello, JS dev trying to make some ruby work. Can I chain select on array like map in JS?
<jken>
What does the ! convention after method names imply in ruby? Forgive my ignorance
<uplime>
usually that they modify in place
<jken>
gotcha, that makes more sense then "not"
<uplime>
ie, sort might return a new sorted array, whereas sort! might sort the array it was called on
<jken>
Thank you!
<uplime>
np
<phaul>
usually it's a method that the author wants you to be careful about, sometimes it just means to raise exceptions etc. it's not a hard rule. it's a convention.