rindolf | 36 files changed, 160 insertions(+), 1118 deletions(-) ==> a very productive night |
bavi | nice |
bavi | tighten it up? |
rindolf | I'd like to club my old self who just copy pasted and modified CSS code |
bavi | ha |
bavi | "let's just say I got rid of A LOT of extraneous whitespace" |
bavi | ;) |
rindolf | bavi: heh |
rindolf | bavi: i can probably save even more lines by converting the Contents.pm files to YAML |
hio | Why do people use Rust? Is it a form of Stockholm syndrome? |
hio | I mean, any child could see that this language is overcomplicated |
hio | Yet they act like it's all fine |
rindolf | hio: i feel that ponylang is more complicated than rust |
hio | ponylang has a GC, how can it be more complicated |
hio | just the weirdo decision from the Rust team to wrap lambda arguments with | args | is crazy |
hio | they did that just to make parsing easier. Can you imagine? Wow |
rindolf | hio: well, admittedly i didn't study rust too closely |
rindolf | hio: ruby has that too |
hio | They actually thought that making their parsing job slightly easier justifies making the language weirder and introducing new syntax that doesn't resemble function calls at all even though lambdas are basically exactly like functions |
rindolf | hio: this night I reduced my codebase by close to a 1,000 lines |
hio | that's great bro, you should start a facebook blog |
rindolf | hio: i have a facebook and stuff |
hio | I'm talking about really important issues |
rindolf | hio: my latest tweet sparked some interest there |
rindolf | hio: you are obsessed w discussing various languages |
hio | I have hopes for both ziglang and jailang. Odin seems okay too but it's really hard to keep track of a language that resides only in youtube videos |
hio | rindolf, bad languages are the reason why software sucks so much |
hio | literally if we only get one good language, everything else will be fixed within a matter of months to years |
rindolf | hio: a lot of software apps i use are OK |
hio | people are so thirsty for better languages, they jumped on Rust and Golang like crazy |
hio | can you imagine? it just shows how bad we have it |
tttb | hi |
rindolf | tttb: hi, sup? |
hio | jailang will be released this year, are you ready yet rindolf ? |
tttb | rindolf: i want my interface in Java to have attributes but they can't |
rindolf | hio: should i be? |
rindolf | tttb: ah |
tttb | should i use an abstract class |
tttb | or should i just give each concrete class the attributes and use an interface? |
rindolf | tttb: you can also define accessors |
tttb | i know, i'll use an abstract class for the attributes and an interface for the methods |
hio | rindolf, what do you think? don't you want 0.2 sec compile times? |
tttb | or is that dumb |
hio | 0.2 sec to compile an application that has c++ features and c++ speed is incredible |
hio | you should switch to it as soon as it's available |
bavi | https://www.xkcd.com/303/ :D |
rindolf | hio: sounds good - what will its licence be? |
rindolf | bavi: :) |
rindolf | bavi: i broke the travis build though :( |
bavi | rindolf: oh no! |
bavi | as soon as I got a passing build i disabled travis for that repo ;) |
rindolf | bavi: i suspect it is because i didn't install uglify-es |
rindolf | bavi: my projects are becoming chimeras |
hio | rindolf, MIT |
hio | ur welcome |
hio | what language are you using now? |
rindolf | perl, python, c, cmake, c++, website meta lang, javascript, ruby, gnu make, and more |
rindolf | hio: i use more than one |
hio | half of those are bad |
hio | why use perl, ruby, make? dude |
rindolf | hio: they are OK |
hio | i just said that they aren't okay at all |
rindolf | hio: that was to bavi BTW |
rindolf | hio: you are entitled to my opinion |
tttb | can someone please explain what the point of an interface is when an abstract class provides all its functionality? |
tttb | in Java |
rindolf | hio: one reason is that i have a lot of legacy perl code and it needs to be maintained |
rindolf | tttb: you can inherit from more than one interface |
hio | just rewrite ur perl |
hio | wait until jailang is released though |
tttb | OK |
rindolf | hio: heh |
bavi | i read the first few chapters of the gnu make manual the other day, i like how it's written |
rindolf | hio: i will rewrite all my perl code into $FASHION_LANGUAGE by hiring Chuck Norris, who will complete it in an hour and charge me 10,000,000 USD |
rindolf | bavi: :) |
rindolf | bavi: gmake now integrated guile scheme |
Era_Scarecrow | I didn't know chuck norris could code... i figured he'd just punch the computer and it would give him what he wanted... |
rindolf | Era_Scarecrow: the computer just does what he wants |
rindolf | Era_Scarecrow: by pure intimidation |
rindolf | hio: i like the mit licence |
rindolf | it is my go to licence for my own projects |
usr123 | rindolf: Hello. Could you please take a look at my code? |
rindolf | usr123: it seems fine, but you may have off-by-one errors |
Era_Scarecrow | rindolf & usr123> I'd have looked at it, but i don't use python, so i don't know. |
rindolf | Era_Scarecrow: python is easy |
Era_Scarecrow | perhaps, I'm not familiar with it, although it would mostly be syntax I'd have to get familiar with. |
rindolf | Era_Scarecrow: someone once told me he was able to look at python code and immediately be able to tweak it without knowing it |
rindolf | Era_Scarecrow: i think he already knew perl 5, though |
FriesAndSriracha | Any reason to use fish over zsh? |
rindolf | FriesAndSriracha: i am still using bash |
Era_Scarecrow | ditto, i also use bash... Depends on if there's a specific feature you need or not. |
rindolf | FriesAndSriracha: i found zsh too incompatible w bash |
usr123 | rindolf: Well in that case, I'm just returning if today is 7 and food is less or else I'm returning the first element of the array. even if it iterates one more or less would it affect the output? |
FriesAndSriracha | rindolf: I am still on Bash as well, I just wanna follow the bandwagon ;) |
rindolf | FriesAndSriracha: ah |
FriesAndSriracha | bandwagon == coolKids |
Era_Scarecrow | Fries> why would you want to jump on a bandwagon? I don't see the point... |
FriesAndSriracha | So that's why I was wondering if anyone here has used both fish and zsh and which one is better |
FriesAndSriracha | Or the pros and cons of both |
FriesAndSriracha | rindolf: also, what you mean by incompatible with bash? |
rindolf | FriesAndSriracha: csh is the bestest! http://www.shlomifish.org/open-source/anti/csh/ |
rindolf | FriesAndSriracha: i think $var does not expand words by default |
SigSegOwl | good morning everybody :) |
rindolf | FriesAndSriracha: the only thing better than csh is CMD.EXE |
FriesAndSriracha | I guess there's plugins for that |
rindolf | FriesAndSriracha: j/k |
rindolf | FriesAndSriracha: there is an option |
rindolf | SigSegOwl: hoooooo |
usr123 | unable to ask questions on their forum as well. Seems like I don't have enough points. This is bad |
FriesAndSriracha | I mean zsh seems to have a way bigger community than fish |
usr123 | is there a competitive programming channel on freenode? |
SigSegOwl | why do hdmi to dvi cables only work one way ? |
SigSegOwl | or even hdmi to displayport o.O ? |
rindolf | SigSegOwl: physics possibly |
FriesAndSriracha | Csh :P |
SigSegOwl | let me ask it a little bit differently... why can't i connect a screen that has vga, dvi, dp to a pc that only has hdmi xD |
Era_Scarecrow | SigSegOwl> Use a hammer... it will fit... |
SigSegOwl | Era_Scarecrow: hammer the screen or the pc ? |
rindolf | FriesAndSriracha: i am reminded of this too - http://www.shlomifish.org/humour/fortunes/show.cgi?id=more-advanced-than-CVS |
Era_Scarecrow | SigSegOwl> Hammer the connection into one of your ports... so... sort them all |
rindolf | Era_Scarecrow: heh |
Era_Scarecrow | http://rinkworks.com/stupid/cs_abuse.shtml |
FriesAndSriracha | Is there any CLI centric channel on Freenode? |
Era_Scarecrow | try joining #bash? |
FriesAndSriracha | That's pretty counterproductive ;) |
Era_Scarecrow | Although if you go to one of the Linux rooms they might be helpful |
FriesAndSriracha | Considering I am trying to move away from Bash |
SigSegOwl | so there is no way to connect dvi or dp to hdmi ? |
FriesAndSriracha | Ask in ##hardware ? |
Era_Scarecrow | SigSegOwl> Without a converter, probably not... |
rindolf | Era_Scarecrow: heh, funny link |
Era_Scarecrow | rindolf> Go back one level and there's ALL TYPES of topics.. programming, hardware, scammers... techno mumbo jumbo no one else understands :P |
usr123 | Is there a competitive programming channel on freenode? |
rindolf | usr123: you can discuss it here |
Era_Scarecrow | usr123> Hmmm maybe... Can't get more competitive than say CRobots though |
rindolf | usr123: problem is there are many CP sites |
SigSegOwl | see ya later then :D heading to work... |
rindolf | SigSegOwl: hooooo |
usr123 | Well. I did post my code. I just can't figure out the corner case I might be missing. |
l2y | usr123: try #algorithms |
usr123 | l2y: Thanks. on it |
rindolf | Era_Scarecrow: ah |
Era_Scarecrow | I don't know what channels there are, because when i go to look over the list of channels or search through them.... there's so many and my client isn't very good at searching channel lists, so hope you have the exact title of something... |
l2y | Era_Scarecrow: this is easy. you just Google "irc <yourtopic>", then find the first crawler, look at the number of members, and if it's legit, join |
Era_Scarecrow | l2y> Maybe. I've also just joined rooms to see if they are empty or not :P |
Era_Scarecrow | Here it's midnight... i should sleep soon |
rindolf | Era_Scarecrow: i stayed up all night refactoring old CSS stylesheets |
Era_Scarecrow | fun... |
rindolf | Era_Scarecrow: i ended up reducing the codebase by close to a thousand lines |
FriesAndSriracha | Sass! |
rindolf | FriesAndSriracha: no sass yet |
Era_Scarecrow | fun fun. I got a script for reducing the size of a differential data backup up and running |
rindolf | FriesAndSriracha: i just consolidated the CSS directives |
FriesAndSriracha | Sass changes lives :) |
rindolf | Era_Scarecrow: great |
rindolf | FriesAndSriracha: i like sass |
Era_Scarecrow | yeah... the big pain in the butt was trying to get diff and patch to work on potentially differing newline types, without it replacing whole files just because it was \n instead of \r\n lines or whatever |
rindolf | FriesAndSriracha: ah, are you a fan of the sriracha sauce? |
FriesAndSriracha | rindolf: sure am ;) |
rindolf | FriesAndSriracha: ah , i like it too |
rindolf | Era_Scarecrow: i see |
FriesAndSriracha | Mostly because if that Garlic |
FriesAndSriracha | *of |
rindolf | Era_Scarecrow: i use individual tarballs for backups |
rindolf | Era_Scarecrow: i have a 1 tb ext hard disk |
rindolf | Era_Scarecrow: and i exclude various large dirs that i don't need backed up |
Era_Scarecrow | mhmm... i have a backup script that runs every 6 hours taking files newer than my last backup and saving it, means the files are about 3Mb per backup per day. then when i get around to plugging in my other drive, just copy the backups and I'm golden. |
rindolf | Era_Scarecrow: ah |
Era_Scarecrow | but when i run my script, i can remove unnecessary inclusions cutting the size down to something like 100k, and then with diff/patch, down to 60k per day |
FriesAndSriracha | Well you can use rsync |
bavi | gah... i was talking down the dark hallway and accidentally kicked/stepped-on the cat and one of her incisors went right into my heel |
bavi | s/talking/walking :) |
rindolf | bavi: :( |
FriesAndSriracha | And that's why folks use your phone's LED |
Era_Scarecrow | Fries> Not sure how I'd use it, as this is the only running computer in the house right now... |
bavi | she is fine though :) |
rindolf | bavi: ah |
SlashLife^work | bavi: Ohhh, the ways in which cats can educate us about their ways ... =) |
FriesAndSriracha | Era_Scarecrow: oh |
bavi | now she has the zoomies |
rindolf | bavi: you should have got a fluorescent cat |
SlashLife^work | I'll totally get cats again when I have kids. *pull* - "Don't pull its tail!" - *pull* - "DON'T PULL ITS TAIL!" - *pull* -- *claw* -- *cry* - "I told you not to pull its tail!" |
bavi | hah |
FriesAndSriracha | http://theoatmeal.com/comics/cat_kill |
rindolf | bavi: there was this manx kitten who was born with metallic green fur |
SlashLife^work | rindolf: Heh. We had a cafe across a place I used to work to. They had a waitress who brought her big black dog in (looked like a golden retriever, except it was pitch black; are there pitch-black retrievers?) ... I suggested she could dye some fluorescent racing stripes into its fur. :D |
rindolf | bavi: i saw a photo of him in the newspaper |
SlashLife^work | FriesAndSriracha: I actually still have to read that book. :S |
hio | rindolf, what is a MUST HAVE feature for a programming language? |
bavi | rindolf: that's cool :) |
FriesAndSriracha | SlashLife^work: same situation here ;) |
bavi | integers |
hio | i personally really enjoy the automatic typing in typescript where a struct automatically gets a type if it fits the interface. I think it's called duck typing but not entirely sure |
SlashLife^work | FriesAndSriracha: Also have it lying around already? x) |
hio | i mean it makes perfect sense, if some data structure has the exact same fields as an interface that i defined then just let it have that type immediately |
hio | it's not duck typing because you still have to cast in Typescript |
rindolf | hio: see http://shlomif-tech.livejournal.com/57811.html |
FriesAndSriracha | Any point in learning Golang now? |
rindolf | FriesAndSriracha: to hack on golang projects |
hio | rindolf, i don't subscribe to this middle of the road crap "everything sux, get over it" attitude. There is right and wrong in the world, period |
hio | "You are damned either way, whatever you do." <-- very stupid attitude to have |
SlashLife^work | hio: And C++ is on the right side ... mostly. :D |
hio | c++ is just about the worst possible language that can exist |
Era_Scarecrow | My current languages of choice, include AHK and D... |
hio | hit me with some new and exciting c++ features, I'm sure they are ridiculously complex and useless |
FriesAndSriracha | Google is a LLC now? |
SlashLife^work | hio: I need a toolbox that gets the job done, not a crate full of useless, but exciting, gimmicks. |
rindolf | hio: what is better: English, Hebrew, French, German, Arabic, Spanish, Swahili, Japanese, Mandarin, ... |
hio | German |
SlashLife^work | I'll take a screwdriver over a fidget spinner every day. |
FriesAndSriracha | Also another language I've been hearing about is Haskell |
hio | Haskell is a toy language, people only use it when they want to appear smart |
FriesAndSriracha | Can we do server side coding with it? |
SlashLife^work | FriesAndSriracha: You can do server side coding with almost every language. |
SlashLife^work | FriesAndSriracha: If it can do console I/O on any modern OS, it can do server side web. |
FriesAndSriracha | SlashLife^work: I know that but is it a popular or niche thing , that's the question |
SlashLife^work | FriesAndSriracha: Look up CGI. :D |
SlashLife^work | FriesAndSriracha: I know people who use Haskell for web. |
hio | i mean look at this thing in c++: "auto glambda = [](auto a, auto&& b) { return a < b; };".. what's with the random array []? What is the array here??? |
rindolf | hio: we are not talking in German, are we? |
SlashLife^work | I don't think they based their whole server side stack on it, though ... but I actually don't know. |
hio | rindolf, we don't live in a perfect world, do we? |
SlashLife^work | hio: It's not an array. It's an empty capture. |
rindolf | hio: no. |
hio | great that we worked that out |
FriesAndSriracha | So this means there's no big projects using Haskell? |
SlashLife^work | hio: So you're complaining that [] can have three different meanings? |
hio | yes |
SlashLife^work | hio: Good luck with () then. |
hio | () only has one meaning |
SlashLife^work | It does? |
hio | yes, it means group up |
rindolf | hio: German has three genders, and some inanimate objects are male or female - like wtf? |
SlashLife^work | int x = foo(); double y = (2.0/3.0); int z = (int)y; ... I was thinking of at least one more a moment ago. |
FriesAndSriracha | Sorry guys, I was just a web developer, took a long break and now trying to get into coding again |
hio | it still all means "group up". |
hio | even the cast |
rindolf | hio: and a damsel is neuter |
SlashLife^work | hio: BS |
SlashLife^work | hio: Oh, the [] always means "index" |
hio | it never means that wow |
hio | int[10] does not mean index |
rindolf | FriesAndSriracha: what do you wish to do? |
FriesAndSriracha | rindolf: mostly to learn some kinda language |
rindolf | FriesAndSriracha: ah |
FriesAndSriracha | I know, HTML and CSS, and shell scripting |
SlashLife^work | Either that something can have indices (void foo(int[])), or that something *has* indices (int arr[32]), or that you want to access an index (int x = arr[3]), or which indices from the current scope you want to capture (auto lambda = [arr,&x](){ x = *arr; }) |
rindolf | FriesAndSriracha: ah |
FriesAndSriracha | And can use git |
rindolf | FriesAndSriracha: ah. |
FriesAndSriracha | But that's about it it her than by basic understanding of JavaScript |
xqb | hi helloz |
rindolf | FriesAndSriracha: can you write fizz buzz? |
hio | OK SlashLife^work, so it "accesses" variables inside the current scope as if the scope is an array. That's a complex way of seeing it but fine |
rindolf | xqb: mew |
FriesAndSriracha | s/her/other |
xqb | bsd bsd bsd irc irc bsd |
* xqb | shoos rindolf |
xqb | dem cats |
rindolf | xqb: cats are damn cute |
FriesAndSriracha | rindolf: oh Tom Scott made a video about it |
rindolf | FriesAndSriracha: about what? |
FriesAndSriracha | FizzBuzz I mean |
rindolf | FriesAndSriracha: ah |
rindolf | FriesAndSriracha: see https://github.com/shlomif/Freenode-programming-channel-FAQ/blob/master/FAQ_with_ToC__generated.md#what-is-fizzbuzz |
FriesAndSriracha | Whose GitHub page is this? |
FriesAndSriracha | Lotsa nice info ;) |
rindolf | FriesAndSriracha: someone i tutored was able to solve fizz buzz after the first few lessons |
rindolf | FriesAndSriracha: i am shlomif on gh |
FriesAndSriracha | Oh nice :) |
rindolf | FriesAndSriracha: there were some other contributors to the faq |
rindolf | FriesAndSriracha: and it may be somewhat opinionated |
FriesAndSriracha | Thanks for this, I've been out of this whole things for so long |
rindolf | FriesAndSriracha: thanks |
rindolf | FriesAndSriracha: you're welcome |
FriesAndSriracha | I think getting into Python would be a good idea |
rindolf | FriesAndSriracha: i think so too |
rindolf | FriesAndSriracha: python is easy to learn |
FriesAndSriracha | rindolf: yep I am kinda stuck between what to learn, to be honest |
rindolf | FriesAndSriracha: ah, i know that feeling |
FriesAndSriracha | People are suggesting Python, Ruby, Go... |
vdamewood | I vote for Python. |
xqb | hi etc |
FriesAndSriracha | and even JavaScript |
vdamewood | High? i am not! |
FriesAndSriracha | Node I mean |
squirrel | oops wrong chan |
mozzarella | I vote for ruby |
xqb | :) /me hi5s vdamewood |
vdamewood | FriesAndSriracha: What do you already know? |
rindolf | FriesAndSriracha: it reminds me of the philosophical dog that stands in equal distance between two identical piles of food and ends up starving to death |
* rindolf | puts mozzarella on FriesAndSriracha and eats them both |
FriesAndSriracha | I was a web developer, so no programming language, HTML, CASE, Shell scripting etc |
vdamewood | rindolf: share! |
rindolf | vdamewood: :) |
vdamewood | CASE? (Typo of CSS?) |
FriesAndSriracha | s/CASE/CSS |
FriesAndSriracha | vdamewood: autocorrect actually |
xqb | that's Buridan's donkey |
rindolf | FriesAndSriracha: ah |
vdamewood | Hey look, someone who doesn't think HTML is a programming language. |
FriesAndSriracha | rindolf: I know how that dog feels ;) |
xqb | it is a donkey |
rindolf | vdamewood: writing HTML is kinda programming though |
* vdamewood | kicks the donkey. |
vdamewood | It's time to kick ass! |
vdamewood | rindolf: I don't believe it it as all. |
xqb | heh |
rindolf | FriesAndSriracha: :) |
FriesAndSriracha | Oh and basic Unix tools, and Git |
FriesAndSriracha | That's all I know |
rindolf | FriesAndSriracha: OK, then learn python |
xqb | +1 py |
FriesAndSriracha | Seems reasonable |
vdamewood | FriesAndSriracha: If you're looking for suggestions of real a real programming language to learn, go with Python. it has Django and Flask. |
vdamewood | I prefer Django. |
rindolf | and bottle |
FriesAndSriracha | But Ruby has Rails and Sinatra too ;) |
vdamewood | Ruby is also not Python. |
vdamewood | Which is a point against Ruby. |
rindolf | FriesAndSriracha: the ruby hype seems to have mostly passed away |
vdamewood | Though, Python, Ruby, and Java are all fine languages for beginners. Python is just slightly better. |
FriesAndSriracha | rindolf: I know people are hyping Golang now |
vdamewood | Everything else is terrible for beginners. |
rindolf | FriesAndSriracha: and rust |
vdamewood | Golang is also on my terrible-for-beginners list. |
FriesAndSriracha | And Kotlin maybe |
rindolf | FriesAndSriracha: and node.js |
xqb | when I was starting, I was looking up how the same program (was it hello world?) looks like in different languages |
xqb | I found C#'s syntax to be the most appealing to me |
xqb | so I went with C# :) |
rindolf | xqb: OK |
vdamewood | xqb: Probably. Hello world is fairly popular for language juxtaposition. |
rindolf | the first language is always the hardest to learn |
FriesAndSriracha | I can't really go with C# |
xqb | !fgoogle juxtaposition |
FriesAndSriracha | I doubt it runs on Linux |
rindolf | FriesAndSriracha: it does |
xqb | it does but not as expected |
xqb | Mono is crap |
xqb | and you can't do WPF |
rindolf | FriesAndSriracha: even .NET core from Microsoft |
xqb | and 100+ things |
FriesAndSriracha | Python it is then ;) |
rindolf | FriesAndSriracha: sure |
vdamewood | xqb: justa- next to/besides. juxtoposition: to position next to/beside; to compare by placing side by side. |
l2y | FriesAndSriracha: it runs on Linux, and does so rather well as of today |
vdamewood | s/justa/juxta/ |
FriesAndSriracha | l2y: I mostly wanna do Server site coding |
xqb | thanks :) |
vdamewood | Well, Juxtaposition means the act as a noun. The verb is juxtapose. |
FriesAndSriracha | s/site/side |
FriesAndSriracha | Thanks a lot rindolf again! |
l2y | FriesAndSriracha: OK, whatever. just proving you wrong, so that you don't doubt any more |
FriesAndSriracha | Also thanks vdamewood |
vdamewood | Bah, I didn't so anything significant. |
FriesAndSriracha | l2y: oh I didn't know |
rindolf | FriesAndSriracha: you're welcome |
FriesAndSriracha | rindolf: I think you should also include Video tutorials in your Python resources |
vdamewood | I want to teach some stuff now. |
* xqb | 'd like to know what is unit testing and how do I start writing tests and what's a good read for testing |
vdamewood | xqb: Unit testing is when you write code that makes your other code works properly. For example, if you have a function called addtwo(x), you would write a functions like this: a = addtwo(3); if a == 5, return true; else return false; |
xqb | what's a unit in my code? a function/method? |
xqb | a .. line? |
xqb | what |
vdamewood | A separate program. |
vdamewood | Well, it could also be a function or collection of functions. |
xqb | I'm testing a separate program in my program? |
xqb | why don't I test my program directly? |
mozzarella | nigga |
vdamewood | You're not testing your program; you're testing parts (units) of your program. |
mozzarella | return a == 5 |
vdamewood | If I really wanted to go that fare: return addtwo(3) == 5 |
vdamewood | far* |
mozzarella | well you should |
xqb | assert addtwo(3) == 5 |
xqb | and then I run pytest in the background |
xqb | and I've tested a unit? |
vdamewood | xqb: That might work, but it doesn't look like PyTest is specifically for Unit testing. |
FriesAndSriracha | rindolf: but great resources still, thanks |
rindolf | FriesAndSriracha: you're welcome |
xqb | I see |
xqb | is TDD (Kent Beck) a good book? |
rindolf | xqb: quite |
rindolf | xqb: most of it is redundant |
xqb | I know what you think rindolf, you're the one who recommended it :P |
rindolf | xqb: ah |
PlanckWalk | A "unit" is generally an internal API contract. Often a function or method. |
xqb | what's an API contract |
rindolf | xqb: i can recommend against a different one - https://mail.perl.org.il/pipermail/perl/2010-April/010909.html |
rindolf | mozzarella: yes |
PlanckWalk | A specification for how one part of a system can use another. |
xqb | I see |
FriesAndSriracha | Oh that reminds me of this site https://hackr.io/ |
vdamewood | xqb: Many unit-testing frameworks follow the design of a Java unit-testing framework called JUnit. Though, this isn't strictly required, it sure does help organize things. |
vdamewood | xqb: https://docs.python.org/3/library/unittest.html |
rindolf | FriesAndSriracha: you can submit a pull-req for it |
FriesAndSriracha | rindolf: I have to find some good ones first though :) |
rindolf | FriesAndSriracha: you can put the link to the site for all langs |
xqb | vdamewood: I'll look at it, gtg, bbl, tyvm |
vdamewood | Laters |
rindolf | xqb: bye |
Jasparon | Hello friends: |
rindolf | Jasparon: meow |
Jasparon | Do programmers care about logic gates, or do I need to study EE/CE? |
Jasparon | rindolf: Long time no C |
rindolf | Jasparon: we do |
Jasparon | rindolf: Who is we? |
brwr | Jasparon: programmers who work with logic gates care about logic gates :) |
FriesAndSriracha | Gtg |
rindolf | Jasparon: there are bitwise and logical operators |
Jasparon | Uggggh.... |
rindolf | FriesAndSriracha: bye |
FriesAndSriracha | rindolf: see ya |
Jasparon | Suppose I want to get into how logic gates design works (theory), and I one day want to build custom circuits. |
rindolf | Jasparon: i am a software dev who studied EE/CEish |
Jasparon | Should I get an intro electronics book; or an intro circuits book? |
rindolf | Jasparon: and graduated |
Jasparon | Ok sure |
Jasparon | :) |
rindolf | Jasparon: well, not sure i can call what i studied CE |
Jasparon | rindolf: Right. |
brwr | Jasparon: IME its better to find a project that interests you and start working on it |
brwr | YMMV |
rindolf | Jasparon: it is technically EE proper, but calling me an electrical engineer would be a stretch |
rts-sander | IME? |
brwr | I find books helpful for things like design patterns and best practices, but not for code |
Jasparon | brwr: I know, but I want to learn how electronics work, and how computer electronics work |
brwr | rts-sander: in my experience |
rindolf | Jasparon: the Technion is funny |
Jasparon | rindolf: Maybe you're just a electronics-competent programmer? |
rts-sander | brwr: ah I see, I thought it was misspelled IMO |
brwr | Jasparon: +1 |
rindolf | Jasparon: i am clueless around electronics |
Jasparon | brwr: Ok neat |
Jasparon | brwr: Well, would you recommend I get: 1. Intro CE book. 2. Intro electronics. 3. Intro circuits? Which one? |
rindolf | Jasparon: they never showed us how to replace a lightbulb |
rindolf | Jasparon: wait a sec |
Jasparon | rindolf: 0, because it's a hardware issue |
brwr | Jasparon: i don’t know enough about electronics to make a recommendation. Sorry! |
FMan | morning |
rindolf | Jasparon: https://mitpress.mit.edu/books/computation-structures - this book is nice |
rindolf | Jasparon: and there is also http://www.nand2tetris.org/ |
brwr | IRC on mobile is sadface |
brwr | I get disconnected if I turn my screen off |
rindolf | Jasparon: i suggest you start from a high level prog lang |
rindolf | Jasparon: something like python |
rindolf | Jasparon: how good is your math? |
Jasparon | rindolf: So, I know about formal logic enough to know things like De Morgan's, but I still need to take college algebra |
Jasparon | Thanks for the books |
rindolf | Jasparon: you're welcome |
Jasparon | rindolf: Here is a good question: |
rindolf | Jasparon: logic can get pretty complicated and impractical |
Jasparon | Really? |
Jasparon | What's a good place to build objects? I think main? |
rindolf | Jasparon: at least the one that is under active research |
Jasparon | What's under active research? |
rindolf | Jasparon: you can also build them int he methods of other objects |
rindolf | Jasparon: logic |
Jasparon | correct. I think it's "not good" to create objects in the instance-scope? |
rindolf | Jasparon: why not? |
Jasparon | rindolf: I tried constructing an instance of my class, in the instance-level in Java; stackoverflow |
rindolf | Jasparon: otherwise you'll have a cluttered main func |
Jasparon | Makes sense |
rindolf | Jasparon: ah |
rindolf | Jasparon: you need to limit your recursion |
Jasparon | rindolf: Right. But I was so confused because my constructor was empty. |
rindolf | Jasparon: or use iterative tree recursion with a dedicated stack |
Jasparon | Good idea |
mvaenskae | hm, low level detail question on C's memory allocation; if i request 200MB of memory via malloc will that be virtual-addressed memory or real memory locations? |
Jasparon | rindolf: I should be going :) |
rindolf | Jasparon: where? |
rindolf | mvaenskae: hi |
rindolf | mvaenskae: it depends where the program is running\ |
Jasparon | Heehee... |
Jasparon | GTG :) |
mvaenskae | rindolf: hm, in kernel mode it would then get the bare memory locations i take |
rindolf | mvaenskae: possibly |
rindolf | mvaenskae: kernel code does not have malloc() usually |
* mvaenskae | ponders on reworking the sorting algos to not work with explicit arrays but a struct of linked/doubly-linked lists... |
rindolf | mvaenskae: at least the Linux kernel doesn't |
mvaenskae | hm, i could obviously adapt that to get the proper Linux kernel function but it could still fail due to fragmentation in allocation a large enough section |
rindolf | mvaenskae: heh |
mvaenskae | but i just realized my approach doesn't scale to structs to pointers to the next element, only to arrays of structs |
l2y | mvaenskae: is your allocations are not enormous, kernel won't move a page from virtual memory to disk, and virtual memory provides constant time access, so, why bother? |
l2y | s/is/if/ |
rindolf | mvaenskae: small optimisations can add up to a lot, but if your program can afford to be sub-optimally slower, then so be it |
mvaenskae | rindolf: i don't so much care for performance than for stability; people somewhat OK in C should be able to understand how I approached different sorting algos within the constraints of C in the most generic way and can use them for their own projects about as easily as importing my stuff |
rindolf | mvaenskae: see https://en.wikibooks.org/wiki/Optimizing_Code_for_Speed/Factor_Optimizations#Are_%22Small%22_Optimizations_Desirable? |
rindolf | mvaenskae: stability? |
mvaenskae | if it comes to just speed and i have a fixed interface i would have just commenced; i just realized my approach is not the most generic one |
rindolf | mvaenskae: if you want your program to behave then keep it out of the kernel |
Rashad | Morning |
mvaenskae | l2y: i was mostly thinking of the problems on fragmentation :) |
mvaenskae | rindolf: why keep it out of the kernel? |
Rashad | rindolf: sup? |
rindolf | mvaenskae: because code running in kernel land can do untold damage\ |
rindolf | Rashad: i refactored some CSS stylesheets |
rindolf | Rashad: shaved a thousand lines |
mvaenskae | rindolf: well, it's the kernel :) i expect nothing less of the system than request a sacrifice to boot again if i break it ;) |
Rashad | rindolf: Do you use CSS normalization libraries? |
Rashad | rindolf: Wow! |
Rashad | Nice |
rindolf | Rashad: no |
rts-sander | whitespace lines? :) |
rindolf | Rashad: it is for my talks at http://www.shlomifish.org/lecture/ |
rindolf | Rashad: the quad-pres ones |
rindolf | rts-sander: no |
l2y | mvaenskae: again, what can you do about it? nothing. malloc already allocates a contiguous block of memory, if you are in a kernel space, which you should never be in, you don't have malloc. you are provided with an interface and are bound to what the interface reveals about itself |
Rashad | rindolf: I don't know if you need this, but it's used by Twitter, GitHub and more: https://necolas.github.io/normalize.css/ |
rindolf | Rashad: i had done a lot of copying and tweaking |
mvaenskae | l2y: i may to do kernel development ;) and i wanted to clarify the memory pages returned :) i assumed them to be VA but it's early in the morning and i wasn't fully awake to properly recall :) |
Rashad | Neat |
rindolf | Rashad: ah |
rindolf | Rashad: it was bad |
Rashad | I can imagine. |
rindolf | Rashad: i had to consolidate my directives |
Rashad | What directives? |
rindolf | Rashad: the css ones |
Rashad | You mean like :hover and stuff? |
Rashad | Not sure I know what css directives are. |
Rashad | The ones with the @? |
mvaenskae | right now only userland and there i have now been verified how malloc works :) my aim is trying to eventually be able to write C code that is as generic as possible |
rindolf | Rashad: see https://github.com/shlomif/shlomi-fish-homepage/commits/master |
rindolf | Rashad: no |
rindolf | Rashad: i mean regular rules like b { color: red; } |
Rashad | Ah. |
Rashad | That's a lot of commits :D |
rindolf | Rashad: yes |
rindolf | Rashad: the site dates back to 1997ish |
Rashad | Wow. |
rindolf | Rashad: but i used svn->hg->git for it relatively later |
Rashad | What's that? |
rindolf | Rashad: first i used svn |
rindolf | Rashad: then moved to hg |
rindolf | and finally git |
Rashad | Ah those are versioning systems? |
rindolf | Rashad: yes |
Rashad | I see I see. |
rts-sander | looks like you finally did git gud |
rindolf | rts-sander: the main reason why i switched it to github was travis-ci |
rindolf | rts-sander: well, and hg does not seem to become more popular |
rts-sander | never heard of hg |
rindolf | rts-sander: heh |
rts-sander | rindolf: but do you like git itself more than the other systems? |
rindolf | rts-sander: it isn't too bad, but has its share of quirks |
rindolf | rts-sander: not sure |
rindolf | rts-sander: i still kinda miss the simplicity of the svn model. i don't feel i understand git |
velco | Good morning, ladies and gentlemen. |
Rashad | git is too complicated the only thing I use is push and pull |
Rashad | morning velco |
rts-sander | I've gotten decently proficient in git |
vendu | yo :) |
rts-sander | rindolf: do you also have experience with version control software in team settings or just solo projects? |
velco | git is love, git is life |
rindolf | rts-sander: also in teams |
velco | (that said, I was pretty happy with Mercurial too) |
vendu | rts-sander, i haven't :) |
rts-sander | svn broke more often than not when I tried it with other people |
velco | one does not have to understand git |
rindolf | rts-sander: git rebase can be a bitch too |
velco | one needs to know just enough of it, in order to accommodate their workflow |
rindolf | velco: well, git threw me off quite a lot |
rts-sander | if you have a lot of conflicts yeah |
rindolf | velco: good thing there is #git here |
rts-sander | git is advanced but there's no simplicity layer |
rts-sander | users are thrown right into the deep |
Rashad | Yeah. |
rindolf | velco: https://xkcd.com/1597/ |
velco | rindolf, without clicking it, I know what it is :D |
rindolf | velco: :) |
velco | but just clone/checkout/push/pull/branch/rebase are sufficient to 99.937% if what I need to happen |
velco | s/if/of/ |
velco | cherry-pick too |
rindolf | velco: commit |
velco | haha, yeah |
velco | log |
velco | diff |
* rindolf | deletes velco 's git-commit script |
rindolf | welcome to hell |
* velco | restores git worktree from the backup |
rindolf | lets do a pull req on git's git to remove git-commit |
rindolf | velco: git bisect is also useful |
rts-sander | lol I actually did that when I was a git noob |
merijn | rts-sander: The simplicity layer of git is "Just use Mercurial" |
rts-sander | back then the team I worked with worked on Windows and we had problems with file name case sensitivity |
rindolf | merijn: hg threw me off too |
merijn | rindolf: How so? |
rts-sander | merijn: meh once you learn git it's good |
rindolf | merijn: don't remember |
rindolf | merijn: and i hate its heads misfeature |
wwwwww | is it generally correct to say that jump instructions modify the program counter the same way an add instruction might modify a normal register? |
merijn | rts-sander: Yeah, but why would I bother when I already knows Mercurial and it's so much simpler to learn? :) |
rts-sander | merijn: good point, there's no reason to learn something more complex when you already have something that works |
rts-sander | that's why I'm not going through the effort of learning Haskell :D |
merijn | I don't think git is even that much more complex than mercurial |
rindolf | rts-sander: heh |
merijn | It just has really shit UI/UX |
rts-sander | UI? heh I just use the cmd line |
rindolf | merijn: https://en.wikipedia.org/wiki/Worse_is_better perhaps |
rindolf | rts-sander: cmd line is ui too |
merijn | rts-sander: I'm referring to the cmd line |
merijn | UI is UI, graphical or not |
loginoob | Is it really true that to learn some language, try to build something that one have no idea how to start |
loginoob | in that language |
rindolf | loginoob: i never did that |
rindolf | loginoob: perhaps try to contribute to an existing codebase |
rts-sander | ah, I assumed UI = GUI |
rts-sander | yeah I agree it's confusing at times |
rts-sander | for example git checkout -- path, git checkout branchname, git checkout -b newbranch all do something completely different |
rindolf | rts-sander: also see http://www.shlomifish.org/humour/fortunes/show.cgi?id=djb-on-cmd-interfaces |
merijn | rts-sander: I think this summarises it accurately: http://stevelosh.com/media/images/blog/2010/01/mercurial-vs-git.jpg |
rindolf | merijn: heh |
loginoob | git is easy until you fuck up |
merijn | loginoob: Then you just Google and copy&paste cryptic lines from blogposts until either all your data is gone or it's fixed :p |
rts-sander | oh hg = mercurial lol |
SlashLife^work | GAHHH! OCD!! >_<" |
loginoob | true |
merijn | rts-sander: Because nobody wants to type a command as long as "mercurial" :p |
loginoob | merry: You are a haskeller right? |
loginoob | shit |
SlashLife^work | I have a directory, an archive and an executable, all by the name of "qt-" in subsequent lines on the same terminal. "ls" colored them blue, red and green respectively ... |
loginoob | merijn: |
SlashLife^work | ... which means they do not perfectly line up because they use different subpixels. |
SlashLife^work | ... which annoys the hell out of me. |
merijn | loginoob: I program in Haskell among other things, yes :p |
SlashLife^work | GAAAAAHHHH!!!! |
SlashLife^work | Cannot ... unsee ... ;_; |
merijn | SlashLife^work: Your life could be worse |
rts-sander | SlashLife^work: you could probably remove the colors from ls |
jp | env TERM=dumb ls |
jp | sight has been unseen |
* vendu | writes a bullshit generator for git commit comments =) |
SlashLife^work | merijn: Well, I guess it confirms my 20/10 vision. |
Jeremeh | vendu: http://sebpearce.com/bullshit/ |
SlashLife^work | rts-sander: That won't help me now that I *know* they'd be offset when in color. :| |
vendu | bbs lunch :) |
merijn | SlashLife^work: Could have all your experimental results stored on a cluster fileshare with a deadline tomorrow only to realise the cluster is down for maintenance until late today >.> |
SlashLife^work | merijn: Yup. Maintenance is until Friday. And they moved the deadline from next Monday to yesterday. |
SlashLife^work | (On last Friday afternoon.) |
SlashLife^work | That would so be happening if I was still working at my previous job. >_> |