Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "heat wave"
-
Just after entering the office the heat wave hit me. 28ºC in the office at 8 a.m.?!?! Air conditioner down. Damn.
Live in North Europe they say. It's gonna be cool they say.18 -
During a heat wave, the basement is the place to be when you don't have air conditionning.
I got to code in a huge basement (formerly a dance room) with lots of couchs, and a nearby Wifi repeater.
And since it's the basement with no elevator, no one disturb me.7 -
Doing dev work in Belgium in an office without air conditioning and a
room temperature of 38°C (100F).. just impossible to focus.. in the car I almost burnt my fingers using the steering wheel and gear stick. Some of you guys have had similar experiences (temp? Location?), for me it's a first..5 -
ZNC shenanigans yesterday...
So, yesterday in the midst a massive heat wave I went ahead, booze in hand, to install myself an IRC bouncer called ZNC. All goes well, it gets its own little container, VPN connection, own user, yada yada yada.. a nice configuration system-wise.
But then comes ZNC. Installed it a few times actually, and failed a fair few times too. Apparently Chrome and Firefox block port 6697 for ZNC's web interface outright. Firefox allows you to override it manually, Chrome flat out refuses to do anything with it. Thank you for this amazing level of protection Google. I didn't notice a thing. Thank you so much for treating me like a goddamn user. You know Google, it felt a lot like those plastic nightmares in electronics, ultrasonic welding, gluing shit in (oh that reminds me of the Nexus 6P, but let's not go there).. Google, you are amazing. Best billion dollar company I've ever seen. Anyway.
So I installed ZNC, moved the client to bouncer connection to port 8080 eventually, and it somewhat worked. Though apparently ZNC in its infinite wisdom does both web interface and IRC itself on the same port. How they do it, no idea. But somehow they do.
And now comes the good part.. configuration of this complete and utter piece of shit, ZNC. So I added my Freenode username, password, yada yada yada.. turns out that ZNC in its infinite wisdom puts the password on the stdout. Reminded me a lot about my ISP sending me my password via postal mail. You know, it's one thing that your application knows the plaintext password, but it's something else entirely to openly share that you do. If anything it tells them that something is seriously wrong but fuck! You don't put passwords on the goddamn stdout!
But it doesn't end there. The default configuration it did for Freenode was a server password. Now, you can usually use 3 ways to authenticate, each with their advantages and disadvantages. These are server password, SASL and NickServ. SASL is widely regarded to be the best option and if it's supported by the IRC server, that's what everyone should use. Server password and NickServ are pretty much fallback.
So, plaintext password, default server password instead of SASL, what else.. oh, yeah. ZNC would be a server, right. Something that runs pretty much forever, 24/7. So you'd probably expect there to be a systemd unit for it... Except, nope, there isn't. The ZNC project recommends that you launch it from the crontab. Let that sink in for a moment.. the fucking crontab. For initializing services. My whole life as a sysadmin was a lie. Cron is now an init system.
Fortunately that's about all I recall to be wrong with this thing. But there's a few things that I really want to tell any greenhorn developers out there... Always look at best practices. Never take shortcuts. The right way is going to be the best way 99% of the time. That way you don't have to go back and fix it. Do your app modularly so that a fix can be done quickly and easily. Store passwords securely and if you can't, let the user know and offer alternatives. Don't put it on the stdout. Always assume that your users will go with default options when in doubt. I love tweaking but defaults should always be sane ones.
One more thing that's mostly a jab. The ZNC software is hosted on a .in domain, which would.. quite honestly.. explain a lot. Is India becoming the next Chinese manufacturers for software? Except that in India the internet access is not restricted despite their civilization perhaps not being fully ready for it yet. India, develop and develop properly. It will take a while but you'll get there. But please don't put atrocities like this into the world. Lastly, I know it's hard and I've been there with my own distribution project too. Accept feedback. It's rough, but it is valuable. Listen to the people that criticize your project.9 -
I left work early today, you know, to enjoy heat wave and the sun. At home I can take a nice shower and forget all the bugs from today.
Destination: Bergen op Zoom (boz)
Departing from: Rotterdam
1 train, straight through the country, sounds easy right?
Issue 1: boz train is 15 minutes late
Issue 2: massive issues emerge between one of the stations on my track and my train won't move
Solution 1: Take the train to Breda and then go to boz
Issue 3: that train has door issues, 15 minutes pass
Issue 4: During my trip to Breda all traffick between boz and Breda dies as well
Issue 4: the doors of the train ahead of us fuck up as well
Issue 5: I can't leave the train at the current stop because the doors are stuck
Thank god my father is willing to help me out by picking me up in the middle of nowhere in a place called Lage-Zwaluwe
And I'm wearing jeans and a backpack with a hot laptop in it from a hard days work
Luckily I don't have to work the following 2 days5