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 - "netikras"
-
GUYS!!! SHE SAID "YES" !!!!
I'M SOOOO HAPPYYYYY!!!
All my dreams are becoming real! I was so nervous to ask, but it was worth it! I waited for the right moment, looked her in her eyes, she looked at mine.. And there I asked it: "are you willing to give it a try and install libreoffice instead of ms office?"
AND SHE SAID: "yes"!!!
Do I have the best wife or what!21 -
Shit... I just got my phone stolen. Realized it 40 seconds post factum [left it at the shop counter and someone took it].
20 minutes later called the police [cuz I had to get home and use wife's phone].
5 min later poluce arrived
10 min later they got all they could from shop's security officer.
Police officer asks me to login my samsung acc on his phone. 2 minutes later we are on the way to the exact location my phone is at.
15 minutes later officer hands me my samsung 😁
got my phone back in less than an hour after theft.
maybe... Ummm... Maybe all this tracking thing is not that bad...?13 -
Next time you're using some FOSS soft, or bitching about it being buggy or the maintainer not responding to your tickets the same day - remember, that the author of that soft could be enjoying some nap time, playing with hie/her child(ren), having a fun time with fam/friends, playing PC games, going for a walk, cooking and choosing healthy food over fast snacks, doing anything he/she wanted.
But instead, the developer chose to spend that time building a tool, so you could have it, so you could do things faster/easier. So YOU could spend your free time the way you want.
So next time you're bitching about something not working, stop for a moment and first say THANK YOU to the author for that tool. If not for people like him/her, you would still be doing your chores with sticks and stones18 -
- just do your job. Close this ticket already and go to the next one
- It's just a 1 minute job.. Don't build scripts for things that simple!
- Look, we don't have time to spare for coffee breaks. Stop wasting your time on scripting!
- netikras, the IST shift fucked things up again. I need you to do your magic and clear those alerts
- netikras, there are 20 tickets waiting to be investigated. Either your coleagues spend 2 hours on them or you do your magic in 2 minutes, as always..
- netikras, please share your scripts with your team
- netikras, I have nominated you for the Star Award for your script
- netikras, here's the star award and the financial prize. Those are nice swarovskies you've picked for your wife! Good choice!
- Since our team has lots of spare time now, I urge you all to attend X, Y and Z trainings. Trainings and Certification expenses are covered
A very similar scenario has just happened in 2 last workplaces of mine. In both cases I was the one to build the script despite my management's requests to stop wasting time and resources on them.
When I see what is wrong and take some actions to right those wrongs, when superiors build roadblocks for me claiming it's not worth it and in the end I still build my solutions and become the most efficient person/team in the whole department -- that right there is what boosts my ego to the sky and above!! It proves I am actually on the right track. It proves that I in fact have a better understanding than those who should have it.
It just makes me tick!
Looking for another adventure like that :) With more power to change things this time7 -
Devs: We need access to PROD DB in order to provide support you're asking us for.
Mgmt: No, we cannot trust you with PROD DB accesses. That DB contains live data and is too sensitive for you to fuck things up
Mgmt: We'll only grant PROD DB access to DBAs and app support guys
Mgmt: <hire newbies to app support>
App_supp: `update USER set invoice_directory = 54376; commit;`
----------------
I have nothing left to say....7 -
So I hear Christmas is coming, right? Here's a christmas tree for you!
P.S. this is the real thing. It's a Java project we have to work with... For Christ's sake! The guy who wrote this has recently left the company and handed this code to us as his legacy.
fuck.16 -
Testing a raspberry pi 4 as a computer driving our 4k dashboards' screen. Temperatures are constantly 80-90C.
Me: STEP ASIDE! MAKE WAY FOR A HOTFIX!
Rpi: aaahhh, 42C -- now we're talkin!8 -
MITM on all HTTPS traffic in Kazakhstan
https://bugzilla.mozilla.org/show_b...
Sweet Lord Jesus... Now there is a precedent10 -
Devrant has a critical performance issue. It kills my performance. I believe more users can be affected6
-
A nice thread to spend some time while waiting for RDS to scale up :)
https://twitter.com/RandallKanna/...6 -
- Google: Can I track you? You'd get this and that and much more if you allow me to.
- Microsoft: I will track you. Disable half of my settings if you do not want to be tracked.
- FB: I do NOT track you7 -
Just got a call from recruiter. I was asked what amounts of € would make me consider switching. I named an amount that seemed surreal. I think I heard attempts to control chuckling, followed by 'well almost all our clients could offer that much'
shit. I think I'm underpaid...12 -
Today is a great day for me! Today I've reached my weight goal - 99.9 . That's right guys - this nerd can proudly say that he's lost 20kg since last Nov!
Boi does that feel amazing.
So yeah guys, listen up. If your weight is <100 - appreciate that! Your hearts aren't in trouble, you can bend easily to put your socks on, you can sit with your legs crossed, you can do sooo many things! Enjoy it. And don't let it go easily. Don't think like I did: "meeh, it's just one more kilo -- I'll tackle it down later". It's a // TODO. It'll never happen!12 -
Python:
* looks nice when written
* painful to write nicely
Perl:
* looks horribly when written
* easy to write
C/C++:
* looks cryptic when written, hard to follow
* difficult to write
Java:
* looks somewhat nice if written well
* easy to write
Shell:
* looks crippled
* a breeze to write
it's like nice'n'easy doesn't even exist..24 -
All I wanted is to read a fucking article.
The UX is stunning, my friends.. I can feel real PROs were on this. /s
## MOTHER FUCKERS!6 -
Wtf, really??? Are they trying to liyerally KILL ME????
Got home from hospital today wth my family. Baby got sick. Wife also caught cold... Bad news. It was just me still healthy like a raddish [we have such saying].
So I got home. Started feeling somewhat funny. Sore thighs, feeling nauseaus, chilly, a bit dizzy.
10 minutes later I'm fucking trembling! It felt as of I was kicked put bare ass to -20C outside! I'm not exaggerating [probably made some typos.. Pls correct me] - i live where winters get like -35C. Everything around got like twice darker. And my lower teeth got itchy af [NOT the best feeling, trust me].
I must have caught cold too - I thought to myself, cuz I know what these sympthoms mean. I always have 'em all when I have fever. Since shivers are caused by rising fever I got my Microlife remote thermometer out of my drawer. Click, blue light, wait, beeep. 36.5C. Allright.. Maybe I got it wrong... Try again -- same result. Wife also gave a couple tries - nada. Nil. Nullpointerexception. Healthy like a pickle!
10 minutes later I couldn't stand the cold. Got under my blankets wife made some soup, tea,... I still have this analog thermometer, the one with quicksilver. Pop it into my armpit - jusyt in case. 10minutes later I take it out. It says 39,5 and rising. Try the microlife again. 36,5. WHAT THE FUCK?????????
If I weren't so fond of old-school stuff I'd be in a fucking ER now!!
Fuck you medical digital equipment made to be used at home! FUCK YOU!!
I'm pissed.
Do you folks kbow where could I get those q-silver thermometers? Just in case. They're already out of matket in my area for quite some time... For being dangerous [i give 'em that, okay?] and.... Lisen to this.... "unreliable"!
FUCK IT!15 -
#!/bin/sh
# Application X deployment script
## some code ##
function sudo_remove {
directory=$1
filename=$2
sudo /bin/rm -rf $directry/$filename
}
### some more code using function above ##
>400 servers completely corrupted. Twice in one week.
Who can spot it? :)9 -
No, listen to me. I cannot approve this PR because your code does not comply with our code style. All the imports and annotations must be sorted in ascending order by length. They must all make fir-like blocks of code. Because it looks nice.
Now go and fix your code
I just smiled and walked away to obfuscate my code with firs . I had no idea what to even say to that... I still don't14 -
Current mood: running and hiding from our IT admin.
I know he wants me to install Nod32 on my workstation! A Linux workstation!17 -
Plans for 2019
- make my app good enough for prod usage
- find someone to help me with ui
- find someone to help me with marketing
- register my own company
- end my twenties
- maybe quit my 9/5 job by the end of the year
it's gonna be a fun year :)2 -
Story #1: So I took a month of parental leave. And was planning to extend it a little longer to deal with my final exams. I was planning to spend lots of quality time with my wife and newborn son. Little did I know... It turns out that out of 5 OoO weeks I was looking forward I actually had 3 at most. The rest I've spent working remotely as I was insisted to deploy a brand new and poorly tested feature to PROD 2 days before my paternity leave. So I spent 2 weeks debugging things in PROD. Remotely. Needless to say that did suck.
Story #2: After story #1 I've learnt my lesson. This summer I took 3 weeks annual leave to renovate my apartment. I asked to not to be disturbed unless there's an emergency. And an emergency it was. One of our app users had a planned hi-load batch job lasting for 2-3 months. Hundreds of thousands of items had to be created and processed. It turns out the _processing_ algo had some flaws and was acting out. I was called out and asked to assist. I knew this sort of debugging is going to take a lot of my time so this time I put my conditions on the table: I will assist but I'll extend my leave by 1.5 the time I spend working now. They took the deal. Instead of 3 weeks I had 5 weeks of vacation!
I don't care that much about my salary. I prefer to exchange it for my time off hence I didn't ask for compensations.
Bottom line: NEVER EVER underestimate or undersell your time and effort. You are a valuable asset and if the team/client needs you on your day off -- make it count. Your time off is YOUR time. Never forget it.3 -
I was stuck with an architectural problem for a few days. Tried to solve it in many different ways. I could always do a quick hack and call it a day, but.. That's not pretty and it would be a trip wire for future developments.
Went to bed at ~2am. Took a few hours before I finally fell asleep. In my dream I was solving the same problem as in real life, except there I found an obvious and simple solution. Woke up at 8am, repeated that solution to myself a few times to not to forget it. Implemented it in the evening and it worked perfectly!
Moral of the story: do not work late. Better go to sleep, rest your mind. You might solve the problem while resting, and you will need a clear mind in the morning to remember and implement the solution :)
p.S. This happened to me more than once.2 -
that's quite accurate :) ofc there are exceptions (looking at you two naughty bois, metaspace and off-heap allocations!), but it's true for the most of it :)5
-
I do like my current employer very much :D
This is a snip from an official job ad in their portal :)7 -
Best:
1. Get into Linux
2. Quit Med studies after 5 years and jump into the IT train.
Worst:
use windows tools to resize partitions on a dual-boot laptop. Lost all my data on Linux parttn. :(8 -
1. Scripting out a team. I've built a collection of bash scripts to do what one of our teams does. Except the script does it in 30min and always does it well where that team used to take 4 to 10 hours and almost always missed something in the way.
2. Automate 70-80% of our BAU tasks with a single >4k loc bash script. Integrations with servicenow, lots of internal portals, predefined huge sets of commands to run on separate servers or lists of servers, do all sorts of diagnostics, schedule hw maintenance for DC folks, chase for approvals, track CHNG/CTSK tickets in a graphical chart so we would not miss any of them and lots lots more.
Finally we were able to afford time to make some coffee/tea.
These are the bau optimizations I'm proud of the most. And they have made significant impact on how our teams operate.
Whoever recognizes both company values in the tags and know what is that company - are they still using ´S´ in unix team? :)1 -
When I discovered Clean Code, design patterns, TDD and BDD. It just clicked. Ever since everything build so easy and obviously. I no longer have most of the code problems folks rant here about.
That's when it came to me: it's not enough to know how to write code. To climb off those amateur shoes I must adopt those methodologies, so that the code would be decoupled from me, from my style, and I've got to let tests drive my code rather than vice versa to have a flexible and reliable codebase that is cheap and easy to maintain/extend.40 -
WTF python.... How the fuck are you an OOP language and unable to overload constructors...?
No method overloading... and they say JAVA is a shitty language.24 -
Never assume you know better
Never assume others know better
Never assume others know
Never assume
Trust, but verify [doveriaj, no proveriaj]5 -
A tip to tech folks from my personal xp.
If you fuck up and make an impacting mistake in your company, like taking PROD down, noone is going to fire you on spot. Assign some more mandatory trainings - maybe. So you'd be more careful next time.
See, it's not worth getting rid of someone who made a mistake. You should be seated down and insisted to fix it. If you don't - then they might consider firing it. If you do fix it [with help or alone] - you become a more valuable asset to the company as you prove you are responsible for your actions and you take it seriously. You show that you can clean up your own shit and you don't need a babysiter next to you.
If you simply make a mistake and they replace you with someone else, that someone else is likely to be unaware of your mistakes and is doomed to repeat them. It's just bad for business.
Ofc if you making mistakes becomes a tendency rather than an exception, it's also a red flag for the business.
Don't get too laxed! And always answer for your shit. Never hide a fuckup - always alarm about it asap so that corrective actions could be taken by respective organs of the company while you are fixing it.
Come up with an action plan, announce it. Estimate resources you need [like help from others] - announce that too. Update concerned parties every half an hour or so about the status. If you find you need anything else while fixing it or you come across some blockers/delays/change of impact - always announce asap. Do avoid false alarms and disinformation.
// inspired by someone's rant today7 -
Now seriously, WHAT THE FUCK???
Every single time I have to work with people from a particular country [you have one guess. Yepp, that's the one], I see A-FUCKING-LOOOOOOT of manual work?!?
"can you reboot the server?"
-"sure, let me help you, sir" <20 minutes later> "done"
"can you unlock my account?"
-"yes, just a moment sir" <20 minutes later> "please check now"
"can you restart this environment w/ 200 instances?"
-"yes sir, let me check" <6 hours later> "please check now"
"you've missed 18 containers"
-"oh okay sir, will restart them now" <2hours later> "please check now"
[I am already OoO]
why is it that every time I have to work with you guys I am the one who is automating shit. How come you never think of/do any automata? You are fucking technitians, you should know how. WHY DO YOU ENJOY CLICKING ALL-DAY-LONG????
I'm serious. Why??? I'm struggling to understand...22 -
there's this thing I've noticed...
º the more interesting DEV task I'm working on, the more I forget to eat (sometimes at all @9-5)
º the more boring/repelling DEV task I'm working on, the more snack breaks I take
Am I alone here?
Does that mean exciting DEV (only?) work is more likely to keep you fit and boring tasks are dragging you to obesity?2 -
Me: ssl conn cannot be esrablished. Cert is not signed
Sr. Dev/architect: what url are you calling?
Me: dns_name:port
sd/a: yeah, I know that. But what is the url?
Me: *how the f... Did you get 'sr' and 'arch' titles, man???*
Me: why does it matter?
Sd/a: certificates depend on a url. Our LB selects a cert according to a request url
me: *buddy, I like you but I no longer look at you with respect like I used to before today...*9 -
That would probably be implementing multithreading in shell scripts.
https://gitlab.com/netikras/bthread
The idea (though not the project itself) was born back when I still was a sysadmin. Maintaining 30k servers 24/7 was quite something for a team of merely ~14 people. That includes 1st line support as well.
So I built a script to automate most of my BAU chores. You could feed a list of servers - tens or hundreds or more - and execute the same action on each of them (actions could be custom or predefined in the list of templates). Neither Puppet nor Chef or Ansible or anything of sorts was consistently deployed in that zoo, not to mention the corp processes made use of those tools even a slower approach than the manual one, so I needed my own solution.
The problem was the timing. I needed all those commands to execute on all the servers. However, as you might expect, some servers could be frozen, others could be in DMZ, some could be long decommed (and not removed from the listings), etc. And these buggars would cause my solution to freeze for longer than I'd like. Not to mention that running something like `sar -q 1 10` on 200 servers is quite time-consuming itself :)
And how do I get that output neatly and consistently (not something you'd easily get with moving the task to a background with '&'. And even with that you would not know when are all the iterations complete!)?
So many challenges...
I started building the threading solution that would
- execute all the tasks in parallel
- do not write anything to disks
- assign a title to each of the tasks
- wait for all the tasks to complete in either
> the same sequence as started
> as soon as the task finishes
- keep track of each task's
> return code
> output
> command
> sequence ID
> title
- execute post-finish actions (e.g. print to the console) for each of the tasks -- all the tracked properties are to be accessible by the post-finish actions.
The biggest challenges were:
a) how do I collect all that output without trashing my filesystems?
b) how do I synchronize all those tasks
c) how do I make the inception possible (threads creating threads that create their own threads and so on).
Took me some time, but I finally got there and created the libbthread library. It utilizes file descriptors, subshells and some piping magic to concentrate the output while keeping track of all the tasks' properties. I now use it extensively in my new tools - the ones where I can't use already existing tools and can't use higher-level languages.4 -
Our client decided to save some $$. At the end of each business day teams downscale their environments before leaving and the next day scale them up in the morning to start working.
The idea is not bad, but they are a bit too ignorant to the fact that some environments are exceeding AWS APIs limits already (huge, HUGE accounts, huge environments, each env easily exceeding /26 netmask, not even taking containers into account). Sooo... scaling up might take a while. Take today for example:
- come in to the office at 7
- start scaling up
- have lunch
- ~15:00 scaleup has finished
- one component is not working, escalating respective folks to fix them
- ~17:00 env is ready for work
- 17:01 initiate scaledown process and go home
Sounds like a hell of a productive day!!! -
At someone's wedding. Don't know anyone except my wife. She knows noone except for me and the bride.
Already spotted 3 programmers and I can give you my hat to shit into if that particular one of the three doesn't own a macbook. It's all over his face...5 -
Gitlab's CI/CD, Jenkins, TeamCity, Travis, Bamboo,.....
Fuck it, I'm too lazy to learn them all to pick the best choice for my case.
Meet 'pipeline.bash'
Perfect!15 -
Mgmt: We need performance metrics' comparison for those 2 tests ASAP, we'll ping you every 5 minutes
AWS Cloudwatch: *unusually slow - takes ~2 minutes to add/remove a metric or change the timeframe*
Me: *fuck*
AWS Autologout: "Let me just intervene here right before you take that screenshot that took you 1.5 hours to filter out..."1 -
Feel free to scroll by if you feel like it.
I am just very excited this evening because with today's commit I have reached a very important milestone in my side-project development. As of today all the [so far] 12 components are all working together and processing the main flow themselves.
No special functions, no test data in the code, nothing like that. A client is able to do its thing now as it should.
I know it doesn't sound like much, but as I'm working on this gigantic beast for 3 years now this milestone is hell of a reward for me!
Just wanted to share :)
edit: f* it! I'm getting a cake!4 -
Me: here's the code.
Sr: allright, looks fairly ok. Just change all *FIELD* modifiers to protected rather than private.
Me: what? Why???
Sr: bcz that's the code style we've adopted.
Me: srsly? If so.. Where do you use private fields then?
Sr: nowhere. We use either protected or public so we could extend any class we want9 -
So Windows XP source allegedly got leaked... And a bunch of other MS's OS (and other) files
https://limetorrents.info/Microsoft...
```
ms_dos_3_30_oem_adaptation_kit_source_code.7z - 591.99 KB
ms_dos_6_0_source_code.7z - 10.7 MB
nt5src.7z - 2.37 GB
torrent description.txt - 6.63 KB
windows_10_shared_source_kit.7z - 74.76 MB
windows_2000_source_code.7z - 122.35 MB
windows_ce_3_platform_builder_source_code.7z - 638.69 KB
windows_ce_4_2_081231.7z - 3.44 MB
windows_ce_5_121231.7z - 4.92 MB
windows_embedded_7_2014M12.7z - 12.9 MB
windows_embedded_ce_6_r3_170331.7z - 8.11 MB
windows_embedded_compact_2013_2015M09.7z - 93.17 MB
windows_nt_3_5_source_code.7z - 101.76 MB
windows_nt_4_source_code.7z - 106.22 MB
windows_source_bg.png - 134.83 KB
windows_source_bg.svg - 55.03 KB
```17 -
@netikras since when does proprietary mean bad?
Lemme tell you 3 stories.
CISCO AnyConnect:
- come in to the office
- use internal resources (company newsletter, jira, etc.)
- connect to client's VPN using Cisco AnyConnect
- lose access to my company resources, because AnyConnect overwrites routing table (rather normal for VPN clients)
- issue a route command updating routing table so you could reach confluence page in the intranet
- route command executes successfully, `route -n` shows nothing has changed
- google this whole WTF case
- Cisco AnyConnect constantly overwrites OS routing table to ENFORCE you to use VPN settings and nothing else.
Sooo basically if you want to check your company's email, you have to disconnect from client's VPN, check email and reconnect again. Neat!
Can be easily resolved by using opensource VPN client -- openconnect
CISCO AnyConnect:
- get a server in your company
- connect it to client's VPN and keep the VPN running for data sync. VPN has to be UP at all times
- network glitch [uh-oh]
- VPN is no longer working, AnyConnect still believes everything is peachy. No reconnect attempts.
- service is unable to sync data w/ client's systems. Data gets outdated and eventually corrupted
OpenConnect (OSS alternative to AnyConnect) detects all network glitches, reports them to the log and attempts reconnect immediatelly. Subsequent reconnect attempts getting triggered with longer delays to not to spam network.
SYMANTEC VIP (alleged 2FA?):
- client's portal requires Sym VIP otp code to log in
- open up a browser in your laptop
- navigate to the portal
- enter your credentials
- click on a Sym VIP icon in the systray
- write down the shown otp number
- log in
umm... in what fucking way is that a secure 2FA? Everything is IN the same fucking device, a single click away.
Can be easily solved by opensource alternatives to Sym VIP app: they make HTTP calls to Symantec to register a new token and return you the whole totp url. You can convert that url to a qr code and scan it w/ your phone (e.g. Google's Authenticator). Now you have a true 2FA.
Proprietary is not always bad. There are good propr sw too. But the ones that are core to your BAU and are doing shit -- well these ARE bad. and w/o an oppurtunity to workaround/fix it yourself.13 -
Everyone's crying about big bad companies using innocent graduates by offering them a few non-paid internships. But when it comes to mgmt manipulating devs into non-paid overtime by questioning their estimates, noone sees a problem.
For fuck's sake, you are the devs, YOU and ONLY YOU can do tech estimates, not the mgmt. You are nothing close to a developer if you allow them to manipulate you like that. Just a dummy coder at best. A puppet with no backbone. An amoeba. You are DISGUSTING and a disgrace to developers' proffession.
Start acting proffessionally for once!!10 -
* Colleague asks how to make a alias for IP address
* Open up notepad++ w/ admin rights and load C:\Windows\System32\Drivers\etc\hosts in
* add a new entry to map IP to the alias
* hit sequence [ENTER][ESC]:wq[ENTER]
* wonder why is notepad window still there... Did it freeze again?
... happens to me all the time :(4 -
Ooohhh I feel GDPR is seriously kicking in. And frankly I like it :)
just minutes ago a spanish photographer asked me if he could take a photo of me and use it in his expo. The photo thing took like half a minute, but we spend another 10 minutes on explanations, documentations and signing of aggreements.
Poor photographer. But I love that I know what exactly is going to happen with my portrait and my email :)
go GDPR!8 -
For shits I opened myh spam box in gmail. There was a flood of spam from dating.lt . I wanted to just go over there and see if I somehow have an account in there. And delete it if possible.
But when I tried to log in with my usual "spam credentials" -- this hapened3 -
They always say "Stop wasting time".
They always say "Just use the tools we are all using".
They always say "I get it, you're the OSS guy. IDC, go to work now".
They always say "I hope you won't be logging this time on our customer's timesheet".
And they always come back to me "Look, I've heard that tool you've made/found is really cool and efficient, saves lots of trouble and makes us go faster. Can you send it to me via slack? TIA"
I see things that could/should work better and I make them do exactly that. It's my gift. It's my curse.3 -
Okay, That right there is pathetic https://thehackernews.com/2019/02/... .
First of all telekom was not able to assure their clients' safety so that some Joe would not access them.
Second of all after a friendly warning and pointing a finger to the exact problem telekom booted the guy out.
Thirdly telekom took a defensive position claiming "naah, we're all good, we don't need security. We'll just report any breaches to police hence no data will be leaked not altered" which I can't decide whether is moronic or idiotic.
Come on boys and girls... If some chap offers a friendly hand by pointing where you've made a mistake - fix the mistake, Not the boy. And for fucks sake, say THANK YOU to the good lad. He could use his findings for his own benefit, to destroy your service or even worse -- sell that knowledge on black market where fuck knows what these twisted minds could have done with it. Instead he came to your door saying "Hey folks, I think you could do better here and there. I am your customes and I'd love you to fix those bugzies, 'ciz I'd like to feel my data is safe with you".
How on earth could corporations be that shortsighted... Behaviour like this is an immediate red flag for me, shouting out loud "we are not safe, do not have any business with us unless you want your data to be leaked or secretly altered".
Yeah, I know, computer misuse act, etc. But there are people who do not give a tiny rat's ass about rules and laws and will find a way to do what they do without a trace back to them. Bad boys with bad intentions and black hoodies behind TOR will not be punished. The good guys, on the other hand, will.
Whre's the fucking logic in that...
P.S. It made me think... why wouldn't they want any security vulns reported to them? Why would they prefer to keep it unsafe? Is it intentional? For some special "clients"? Gosh that stinks6 -
I think I'm falling in love. With TDD.
I used to be very skeptic about it. You know, the usual reasons: it takes longer to deliver, constant "flow" interruptions, etc, etc. But ever since I've tried it I'm nothing but happy about my choice :)
I'm moving forward, I'm not making any regressions, I'm no longer afraid to make any changes in my code as I know tests will show what exactly I break,.. And most importanty, I have all use-cases with corner-cases defined and "explained" in the code... No more do I have to search in Confluence for how this exact scenario should behave. Everything is here. Everything's in the tests.
It's amazing!
Yeah, it DOES take longer to deliver so if you're hardcore Agile living by "Ship it as soon as it compiles" TDD might be too slow. But if you prefer knowing when your code is covering all the use cases w/o any errors -- TDD is the way.12 -
So one day I come home from work and my wife meets me with a pack of these little tux-fellows!
Do I have the best wife or what!!!12 -
Tl;dr; even password as simple as 123! Could be too dificult to use for unauth access. Even if you write it down for someone! Some minor HID config changes could be unbeatable for some people.
I always leave my lappy at the office and I leave it turned on and connected so I could connect to it from home if I really need to. The holiday is not an exception. I left it connected too.
Forba few weeks I was trying to connect to it from home to doublecheck xpra command I was using. Without any luck. The lappy was unreachable all this time :/
today some people came in the office. I reached out to one of them I trust the most to check on my lappy. And he says it's charger is unplugged. Fucking janitors...
I ask to plug it back in and turn it on. LUKS password prompt pops up. I send him the pw via sms along with a note that I'm using non-EN kbd layout. He confirms he'll manage.
20 minutes later he pings me "are you sure the pw is correct?". Yes it is! 5 more minutes later he pings me "... Is this how you type numbers and symbols with your layout?" nope, it's the other way around!
10 more minutes later he plugs in his own kbd, still fails. Sets up my layout in his lappy, spends a few minutes using it, plugs it back to my lappy and FINALLY enters the pw correctly.
Come on dude.. 😁2 -
this is ridiculous...
I have to use a tool that only works on IE browser. (yes, I know, sucks. Regardless...)
1. open up the IE. Navigate to https://google.com
2. google is opened in Edge instead
3. Edge insists on setting Edge as default
4. google.com loads up and insists on installing and using Chrome as default.
... I just wanted to search for stuff and instead, I got 2 offers to change my browser....8 -
Allright, this one begs for a rant.
Me (Linux boi):
0 checkout code
1 update local config file
2 compile
3 deploy locally
4 run
5 use
Coleague (Windows boi):
0 checkout code
1 update local config file
2 compile
3 deploy locally
4 run
-1 "configuration xyz not found in config file"
→ goto #3
After 4 attempts:
ø windows.reboot()
3 deploy locally
4 run
-1 "configuration xyz not found in config file"
3 deploy locally
4 run
5 use
// out of curiosity...
3 deploy locally
4 run
-1 "configuration xyz not found in config file"
NO side actions taken (no configs updated, no code changes made, no nothing. Just simple double-clicking the redeploy script again and again)
Now... How do you objectively explain THAT?
http://weknowmemes.com/2013/01/... IRL :)8 -
Sooooo.. Aws's route53 and ELB outage nuked all our environments. 503 here, 503 there, 5xx everywhere.
Just sitting and picking nose for we've got nothing else to do now.. Who on the fucking earth thought it might be a great idea to centralize the whole fucking internet into 3 companies' hands!?!
How's your day?7 -
Email: "we have carried out a phishing test company wide"
Me: Nice!
Email: "results are here"
Me: wow, already done? Didn't even see the email. I must've subconciously discarded it! Damn, I'm good!!
Email: "the test was carried out yesterday"
Me: *was OOO y-day*
Me: fuck12 -
Saturday. It's already an evening. Kid is asleep. Wife is doing her thing in another room. I'm on my own, I now have time do do whatever I want! So a personal project time it is!
Open up a lappy, wake up my Mint. Switch to a workspace with IntelliJ ide. There's some message popped up on a screen. With a red cross. Read the message -- your licence has expired.
Shit.
Open up chrome, go to jetbrains website, log in, purchase an all-in licence page, filling in the form, last check before confirm... Wait, that ain't right. That's my college email I no longer have access to! Phew, it's a good thing I checked before submitting!
Go to account settings, update my email address, go back to licence purchase form, fill it all in, last check, and...
Wait..
Email hasn't changed. What if they send something valuable to my mailbox upon lic purchase? I can't risk, it's 200€ after all...
Oh come on! Open a support ticket. But it's Saturday so I don't think I'll get a response until Monday :(
and there goes ruined a perfect evening for some coding :(
shit...5 -
> Last year wrote a unittest - I was asked to delete it
> no design patterns. Not a single one
> no encapsulation
> fucked up inheritance [I had no idea it was possible at all...]
> generics every-fucking-where
> I could go on...
this month the lead dev was not in and I had to make a new feature. Guess what I did :)
tdd [coverage >90%], a couple of builders, a factory or two, two composites, one decorator, only a few generics - only where really needed. Private fields, not a single @Autowired field [they were fucking my tdd], nicely abstracted integrations, and so on. Everything is writen according to clean code: max 10loc methods, <140col lines, reusable constants and utils, SOLID as a rock, etc.
Due date is next week. Took me 3 weeks to craft it.
Guess who's gonna be piiiiiiiiiiiiisssedd 😁
the best part - I don't even work there, our company was hired for xx hours as helping hands 😁
that's not all. They have like 6 envs and their deployment is all-fucking-manual. Will try to learn how to dockerize that app and deploy it on docker. Gosh I wish I could see his face when he's back 😁
p.S. From ethical point of view, he's the only dev who believes his code is perfect. No other dev in the team agrees. AND he once said: 'it's gonna be my way or no way at all'. So I don't think I did wrong... Did I? :)8 -
what the FUCK!!! What's wrong with your heads people!?!? If you write code, write it in application source. NOT IN THE FUCKING DATABASE!!!
Database is a REPOSITORY for entities -- NOT a place to be tangled with BUSINESS LOGICS!
Raise_application_error(-20201, 'Payment already confirmed'); my ass!5 -
Some folks I cannot remember keep popping up with their 'i am back' posts and make me wonder: "should I know this lad? Was he here before me? Was he posting so little quality content that I didn't even notice him? Will I offend that person by saying idk who he is? Should I really care...?6
-
I do own a HI-end XPS 13 w/ i7. I have it for more than 3 years by now. It's a fucking beast! It's running cold, VERY snappy, does its job VERY well and VERY fast. I cannot imagine owning a faster machine...
Today I've noticed that all the 3 years I've been running in powersave mode (cpu capped at 1.7 GHz).
Jesus hugging Christ!13 -
What's the point of abstraction layers if you're riddling all the code with
if (AbstractionLayer.SomeType instanceof ImplemantationLayer.SomeTypeIml1) {
// do stuff
} else if (AbstractionLayer.SomeType instanceof ImplemantationLayer.SomeTypeIml2) {
// do stuff
} else if (AbstractionLayer.SomeType instanceof ImplemantationLayer.SomeTypeIml3) {
// do stuff
} else if (AbstractionLayer.SomeType instanceof ImplemantationLayer.SomeTypeIml4) {
// do stuff
}
???
Seriously.. Guys. Am I missing some point here?9 -
oh, it got better!
One year ago I got fed up with my daily chores at work and decided to build a robot that does them, and does them better and with higher accuracy than I could ever do (or either of my teammates). So I did it. And since it was my personal initiative, I wasn't given any spare time to work on it. So that leaves gaps between my BAU tasks and personal time after working hours.
Regardless, I spent countless hours building the thing. It's not very large, ~50k LoC, but for a single person with very little time, it's quite a project to make.
The result is a pure-Java slack-bot and a REST API that's utilized by the bot. The bot knows how to parse natural language, how to reply responses in human-friendly format and how to shout out errors in human-friendly manner. Also supports conversation contexts (e.g. asks for additional details if needed before starting some task), and some other bells and whistles. It's a pretty cool automaton with a human-friendly human-like UI.
A year goes by. Management decides that another team should take this project over. Well okay, they are the client, the code is technically theirs.
The team asks me to do the knowledge transfer. Sounds reasonable. Okay.. I'll do it. It's my baby, you are taking it over - sure, I'll teach you how to have fun with it.
Then they announce they will want to port this codebase to use an excessive, completely rudimentary framework (in this project) and hog of resources - Spring. I was startled... They have a perfectly running lightweight pure-java solution, suitable for lambdas (starts up in 0.3sec), having complete control over all the parts of the machinery. And they want to turn it into a clunky, slow monster, riddled with Reflection, limited by the framework, allowing (and often encouraging) bad coding practices.
When I asked "what problem does this codebase have that Spring is going to solve" they replied me with "none, it's just that we're more used to maintaining Spring projects"
sure... why not... My baby is too pretty and too powerful for you - make it disgusting first thing in the morning! You own it anyway..
Then I am asked to consult them on how is it best to make the port. How to destroy my perfectly isolated handlers and merge them into monstrous @Controller classes with shared contexts and stuff. So you not only want to kill my baby - you want me to advise you on how to do it best.
sure... why not...
I did what I was asked until they ran into classloader conflicts (Spring context has its own classloaders). A few months later the port is not yet complete - the Spring version does not boot up. And they accidentally mention that a demo is coming. They'll be demoing that degenerate abomination to the VP.
The port was far from ready, so they were going to use my original version. And once again they asked me "what do you think we should show in the demo?"
You took my baby. You want to mutilate it. You want me to advise on how to do that best. And now you want me to advise on "which angle would it be best to look at it".
I wasn't invited to the demo, but my colleagues were. After the demo they told me mgmt asked those devs "why are you porting it to Spring?" and they answered with "because Spring will open us lots of possibilities for maintenance and extension of this project"
That hurts.
I can take a lot. But man, that hurts.
I wonder what else have they planned for me...rant slack idiocy project takeover automation hurts bot frameworks poor decision spring mutilation java11 -
[ctrl] + [alt] + [→]
[ctrl] + [alt] + [←]
Using Linux desktops exclusively for a decade or so. Being used to this shortcut as I use it at least a few times every minute. To those who don't know - this shortcut typically switches you to the virtual desktop (workspace) on the left/right.
Then you are assigned to help some folks who only have Windows desktops.
....
My desktop spent more time rotating to the left and to the right than standing still. I wonder what were these devs who saw my screen break-dancing all day long thinking...13 -
Soo.. yeah.. I've just build a fully functional http webserver with BASH :) Yippee!!
Proof in the comments31 -
Wow! They are incredible!
I keep creating new email filters every week or so, and they keep finding new ways to send me spam!
The best part is - these emails are sent from our internal infra. Judging by the sender it looks like they have created a bot collecting various events and sending them to... everyone.
Much smart. Many useful.
Much working1 -
mangodb's rant reminded me of smth.. Folks from my country might remember this story.
So we have a national e-health system. Millions have been invested, half of the money have never reached the project [disappeared smwhr in between] and its quality is not shiny. It works, sometimes even fast enough. But boy does it have bugs... Let's not get into that. It's politics.
So some time ago one IT guy spotted a bug that allowed him to get sensitive info of other patients. He informed e-health folks and waited for a fix. He waited for a few weeks but the fix had never been released. So he published his findings in soc media [yepp.. Stupid move]. That caused a national scandal. Not to mention he had been pressed with charges.
That guy and our health minister were invited in one of the tv debates. The guy was asked to explained how he found all this sensitive data. And he explained that he hit f12 in his browser, opened a network tab, issued a network request by clicking smth in the webpage analysed received data in the dev tools.
The minister looked somewhat happy, maybe a lil proud of himself - a person who has a "gotcha!" moment has that very glow he had. And he said: "what you did there was obvious hacking. I reckon you should know that true developers do not do those things you have just explained to us" [he was talking about dev tools].
I died inside a little bit.3 -
Not mine, saw this one somewhere on the internets [prolly in one of commitstrip's comments]
- make an initial estimate [4 hours]
- double the number [8 hours]
- incr units [8 days]2 -
There is a company providing a very speciffic service. And it has a core application for that svc, supported by a core app team.
That company also has other services, which are derivations of the core one. So every svc depends on core.
Now that we're clear on that... I was working in a team of one of the subservices. We very strongly depended on core. In fact, our svc was useless if integration w/ core broke down.
The core team had an annoying habbit. They refused to version their webservices and they LOVED to push api updates w/o any warnings. Our prod, test, other envs used to fail bcz of core api changes quite often. Mgmt, IT head was aware of the problem and customers' complaints as well.
So as a result, once core api changes we're all in a panic mode: all prior priorities are lowered and revival of prod is to be our main focus. Core api is not docummented, the changes are not clear, so we have to reverse engineer the shit out of it. We manage to patch our prod up w/ hotfixes, but now we have tech debt. While working on the debt, core api changed again, in test env. Mgmt pushes debt back and reallocates us to hotfix test. Hotfix is 80% done when another core api breaks. Now mgmt asks us to drop wtv we're working on and fix that new break. By the time we're to deploy the hotfix, another api breaks in another env. The mgmt..... You get the picture :)
2 years go by, nothing has changed so far.6 -
I previously worked as a Linux/unix sysadmin. There was one app team owning like 4 servers accessible in a very speciffic way.
* logon to main jumpbox
* ssh to elevated-privileges jumpbox
* logon to regional jumpbox using custom-made ssh alternative [call it fkup]
* try to fkup to the app server to confirm that fkup daemon is dead
* logon to server's mgmt node [aix frame]
* ssh to server directly to find confirm sshd is dead too
* access server's console
* place root pswd request in passwords vault, chase 2 mangers via phone for approvals [to login to the vault, find my request and aprove it]
* use root pw to login to server's console, bounce sshd and fkupd
* logout from the console
* fkup into the server to get shell.
That's not the worst part... Aix'es are stable enough to run for years w/o needing any maintenance, do all this complexity could be bearable.
However, the app team used to log a change request asking to copy a new pdf file into that server every week and drop it to app directory, chown it to app user. Why can't they do that themselves you ask? Bcuz they 'only need this pdf to get there, that's all, and we're not wasting our time to raise access requests and chase for approvals just for a pdf...'
oh, and all these steps must be repeated each time a sysadmin tties to implement the change request as all the movements and decisions must be logged and justified.
Each server access takes roughly half an hour. 4 servers -> 2hrs.
So yeah.. Surely getting your accesses sorted out once is so much more time consuming and less efficient than logging a change request for sysadmins every week and wasting 2 frickin hours of my time to just copy a simple pdf for you.. Not to mention that threr's only a small team of sysadmins maintaining tens of thousands of servers and every minute we have we spend working. Lunch time takes 10-15 minutes or so.. Almost no time for coffee or restroom. And these guys are saying sparing a few hours to get their own accesses is 'a waste of their time'...
That was the time I discovered skrillex.3 -
I'm having an existential crisis with this client.
We are spending millions of $s every year to make sure the product's performance is perfect. We are testing various scenarios, fine-tuning PLABs: the environment, application, middleware, infra,... And then we provide our recommendations to the client: "To handle load of XX parallel users focusing on YY, yy and Zy APIs, use <THIS> configuration".
And what the client does?
- take our recommendations and measure the wind speed outside
- if speed is <20m/s and milk hasn't gone bad yet, add 2x more instances of API X
- otherwise add 3xX, 1xY and give more CPUs to Z
- split the setup in half and deploy in 2 completely separate load-balanced prod environments.
- <do other "tweaking">
- bomb our team with questions "why do we have slow RTs?", "why did the env crash?", "why do we have all those errors?", "why has this been overlooked in PLABs?!?"
If you're improvising despite our recommendations, wtf are we doing here???
One day I will crack. Hopefully, not sometime soon.3 -
A shoutout to all the cool guys and gals who are not afraid of covid-19 and see no reason to be careful or take all (any) the safety measures available...
A shoutout to all the cool kids who claim to believe that this is "just a flu".
Feast your eyes on this comparison. We have that low deaths rate (so far) ONLY because we are taking this shit seriously and we take all the precautions we can. Now imagine if the Infected numbers were as high as the Spanish flu -- 33% of the population? Numbers start to get real scarry when you start making conversions to absolute values. considering mortality rates this "just a flu" is the most lethal of all the major flu pandemics since late 19th century (according to this ref.)
Guys, gals, non-binaries, stay safe. Care for yourselves and peeps around you.
src: https://wikiwand.com/en/...12 -
God damn it, LEARN TO FUCKING READ!!!
#support-channel
> Admin: @here the tool will be disabled from today until Wednesday
> Chap: @here Admins, I cannot use the tool it says that it is disabled. Please let us know when we'll be able to use it again
FFS.. Srsly, man...5 -
Q: What's a "muscle memory"?
A: It's when you open up devRant, skim through several posts, get bored, decide to visit some other website for more stimulation, close the tab with devRant, open a new tab and your hands type in devrant.com [ENTER] before you know it4 -
It worked! After all those years I've talked someone into linux'ising all theit workstations :) now that someone is eventually convinced it would solve most of the problems. Now they are collecting all the bau requirements. Next - testing phase. And then, if all works out well - reinstalling 100+ workstations with linux :)
yayyy9 -
> Hi xx team, we are getting 500 errors from your api. Here's http request and resp.
< hi, we are calling yy team's api http://yy.Com?/api/yyy and it does not respond in 3 minutes, so we treat this as an esockettimeout. Please reach out to yy team
> hi yy team, can you assist us?
< hi, please provide request, url and response you're getting from us
> yy, all this info is in this very mailtrail
< hi, I cannot see request nor response anywhere
> [screenshot w/ highlighted "http://yy.Com?/api/yyy" and "and it does not respond in 3 minutes". Please read through this email thread, it has all the info
< hi, I need request and response to investigate this issue. Esockettimeout is not our error
<wtf are you smoking???>7 -
Don't you just love it when you ask Hibernate to fetch some data from DB and it does that for you.?And also updates a few more tables on its way. And inserts a few more rows. And updates another couple of fields..
Isn't that just amazing? I mean.. What could be more satisfying than getting an "ORA-00001: unique constraint (some.constraint) violated" while issuing a FUCKING **GET** METHOD?5 -
There's this huuuge project I was a part of for half a year. I was kicked off along with a few dozens of other devs (>60% of total manpower) a while ago for particular company reasons.
Now the remaining devs are oh-so-enjoying their time there..
1. workload has not changed
2. deadlines have not changed
3. no one will have Christmas-NewYear vacation
4. a new k8s-based infra is scheduled to roll out to PROD on Dec 23 (k8s is still far from ready - might need a few more months)
The most fun part is that it's not client's mgmt who has decided for #4 -- it's our own....
Boys.. Girls.. Save yourselves.3 -
Sometimes I wish I could run code outside computers/servers/microchips. Then I could build another world.3
-
Allright, so FIRST I have to create an *ORDER* and only then create a *CART*.
Cuz why would anyone want it to make any sense..4 -
When I say I hate cats an I'm replied with 'but they are so cute' and I find this pearl at home...
I fucking HATE cats!13 -
Has anyone noticed that rants here have a pulse?
Yesterday was a VIM day. Today is windows-sucks day.
What's the tomorrow's topic? Anyone has an agenda?
*whoppsie, wrong tag12 -
"Computers aren't the thing. They are the thing that gets us to the thing."
-- Joseph McMillan, quoting Gordon Clark6 -
Friday. 17:56. Time to go home.
> git add *
> git commit -m 'wip, feature almost done, need to test'
> git pu... [BIG FAT BSOD]
fuck it, I'm out13 -
I was hoping to work on my project this weekend. Turns out, the kindergarten gave all the parents a task - to make a Christmas-y house with their child.
Damn it!!
Well, I didn't work on my project, no doubt about that. But I found some other place to overengineer the shit out of it. And, frankly, I LOVED it.
2 days wasted. Not even sorry.
EDIT: all the materials are from the trash bin. That makes it even more fun!
EDIT2: Paint job is my wife's :) I'm too sloppy for it.13 -
Here's a life hack for you.
If you're ever in need of a whiteboard for drawing/sketching, grab a few white a4 paper sheets, a roll of transparent duct tape, tape both sheets together side-by-side. Cover both sheets with tape
et voila! You have yourself a portable & foldable whiteboard!
The more sheets you involve, the bigger the whiteboard will be :)
P.S. It's very handy!!12 -
And now they are threatening us... Brilliant!
- they refuse to sign a legal agreement with us [for our services]
- they only gave us a verbal promise they will pay for our services
- they revoke lots of our accesses
- another company is taking over their product we were hired to look after before. Now they demand us do things for them for free
- a few integrations are malfunctioning with premature EOF [while reading a response]. I had escalated this with the most throughout case analysis I have done in my entire life. Three times over the last 2 years. Explaining every single detail that needs to be done, how, by whom and how to interpret the results. Escalations went to their high level mgmt. And directly had been rerouted to /dev/null...
- now they asked us to fix this whole shit. For free ofc, they have no money to pay us..
- they begged
- when that didn't work - they started threatening to route all their customers' complaints to us and flood us with them
at first I was proud to work on their project. I didn't want to leave it when my manager asked me to. A national level project, making a difference for my own country. But now.....
that's gov, my friends. That's politics and power games.8 -
Allright, that was srsly cool!
We are doing family trips across Lithuania on weekends. This weekend we have visited a "gravity hill".
So basically here's what you do:
- drive your car down the slope, to the bottom
- stop the car. Leave at neutral
- the car itself starts moving.. UP TO THE HILL!!
I was sceptic, but ffs, it took my car less than 2 minutes to reach 25km/h from a point zero!!
I even tried once more with my engine turned off. The same thing happened :)8 -
Okay, so today I've taught a colleague how to use a simple office ruler to measure AWS server's CPU usage :) We needed to figure out whether CPU% spikes correlate with error message in logs an d latency spikes. Once again a ruler was the perfect tool for the job.
P.S. no, CPU% spikes did not correlate to errors in logs1 -
You do know that "why do I need you if I can copy-paste code from SO?" joke floating around, right? Today I had a real-life situation perfectly illustrating it.
So I bought a set of parking sensors. Cheap ones, from AliExpress. Prolly the cheapest ones I could find. Installed them w/ engine turned off. All seemed fine. Cleaned it all up, got ready to go, started the engine and beeeep beeep beeepeeeeep beepp ..... beeeeeeeeep.
fuck.
Tried unplugging/replugging them one-by-one to find the faulty one. Nada. Apparently they all were false-alarming. They must all be bad, bcz they seem to work well w/ engine turned off (ignition on) and only false-alarm when engine is on.
Allright, I'll get a new set next weekend, a more expensive one and replace them again.
There goes my €20 and another week basically w/o parking sensors (car length is >5 meters, so sensors do help a lot).
Today I spend a few hours removing my rear bumper again, replacint all the sensors, wiring, etc. Tests show promising results - all sensors seem OK even w/ engine on! Close it all up, start a car again and.... beeep bep bep beeep beeee..eeeeppp.
MOTHER FUCK!
Another 30min-hour goes by while looking for a possible culprit. And I found it. The fix could did not take longer than 5 seconds. Apparently a wire feedint the sensors' controller was too close to sensors' wires. All I had to do is to push that wire a lil further from the controller with my index finger.
I could have saved €30, a week of time, half a day of work if I only knew what wire to [literally] poke.
shit...4 -
No, this is not a joke/meme.
So I was searching the internet for 2-in-1 laptops -- looking around what could be my next lappy if my current xps13 died. I had a hunch the xps13 convertable is quite overpriced and was looking at lenovo offerings to compare.
This is what one of the largest LT e-shops suggested to buy along with the lappy :)
Dangerous times these are I guess.. Everyone and everything needs protection
[I assume you won't need translation ;) ]9 -
Don't waste your time - they said.
Use Spring - the good ol' framework - they said
It's not slow - they said
me: ignores them, builds a custom jetty-based webserver with the same functionality Spring+tomcat can offer (mappings, routings, etc).
My app: boots up completely in <300ms, while Spring tutorials say a hello-world app takes 3+ seconds to spin-up http://websystique.com/spring-boot/...
me: already set for deployment in lambda. I bet I can tune it up even further with lazy-loading if I really have to...
Moral of the story: sometimes bare-bones solution is a better choice: more performant, more extendable, more testable, more lightweight.
That, dear folks, is the classic LESS IS MORE :)12 -
A cache - related bug that gets triggered only at high loads, 10k parallel sessions or so.
Parsing 30GB of logs, trying to find something to work with....
yippee......5 -
TL;DR; windows XP + bat scripts + fascination about being able to make things yourself.
I was born and raised in a village. And the thing about living in a village is that you are free :) Among all the other freedoms you are also free to build your own solutions to various domestic problems, i.e. to build stuff. This is one of the things that fascinates me about living outside the city.
When I finally was old enough (and had the means to, i.e. a computer) to understand that programming is something that allows you to build your own solutions to computer problems, it got to me.
With win 3.1 I was still too fresh and too young. With win 95 I was more interested in playing with neighbours outdoors. With win 98 I was a bit too busy at school. But with win XP the time had come. I started writing automation solutions for windows administration using .bat scripts (.vbs was and still is somewhat repelling to me). I no longer needed to browse Russian forums and torrent sites to find a solution to a problem I had! That was amazing!!! [esp. when my Russian was very weak].
That was the time when I built my first sort-of-malware - a bat script downloading and installing Radmin server, uploading computer's IP and admin credentials to my FTP.
I loved it!
However, I'd stumbled upon may obstacles when writing with batch. I googled a lot and most of the solutions I found were in bash (something related to Linux, which was a spooky mystery to me back then). Eventually, I got my courage together and installed ubuntu. Boy was I sorry... Nothing was working. I was unable to even boot the thing! Not to mention the GUI...
Years later I tried again with ubuntu [7.10 I think.. or 7.04] on my Pavilion. Took me a looooot of attempts but I got there. I could finally boot it. A couple of weeks later I managed to even start the GUI! I could finally learn bash and enjoy the spectacular Compiz effects (that cube was amazing).
I got into bash and Linux for the next several years. And then I thought to myself - wait, I'm writing scripts that automate other programs. Wouldn't it be cool I I could write my own programs that did exactly what I wanted and did not need automation? It definitely would! I could write a program that would make sound work (meaning no more ALSA/PA headaches!), make graphics work on my hardware, make my USB audio card to be set to primary once connected and all the other amazing things! No more automation -- just a single program or all of that!
little did the naive me knew :)
I started with python. I didn't like that syntax from the beginning :/ those indentations...
Then I tried java. Bucky (thenewboston), who likes tuna sandwiches, on my phone all the free time I had. I didn't learn anything :/ Even tried some java 101 e-book. Nothing helped until I decided to write some simple project (nothing fancy - just some calculations for a friend who was studying architecture).
I loved it! It sounds weird, but I found Swing amazing too. With that layout manager where you have to manually position all the components :)
and then things happened and I quit my med studies and switched to programming. Passed my school exams I was missing to enter the IT college and started inhaling every bit of info about IT I could get my hands on (incl outside the college ofc).
A few more stepping stones, a few more irrelevant jobs to pay my bills in the city, and I got to where I am now.5 -
Fun though practical question.
You've accidentaly pasted and sent some internally used password, let it be your account pw or some server's root pw, into a company's chat channel with 100+ other employees. What do you do next? :)
P.S. deleting the message is not possible
P.P.S. this happens. Thanks to windows "Let me just quickly change window focus from putty to chat window" _FEATURE_ I've accidentally shared like a dozen of root passwords with others.11 -
- The phone has 32GB total storage space
- Kita means Others
idk folks, smth looks fishy to me...12 -
Google is amazingly good at using tech to solve problems we did not even know we have...
I mean.. How did we even survive til this day w/o google making restaurant reservation or barbershop calls..? We are cavemen bcz we still do it all ourselves... So inefficient..
/s4 -
You think arrays starting with 1 are annoying?
HA!
How about time in a day starting with 12?
12:00, 12:45, 1:00, 1:45,...,11:45, 12:00, 12:45, 1:00, 1:45, ..., 11:45, 12:00, 12:45, 1:00 again
What if arrays started with 12? I bet Americans would love that!
arr[12]=fuck
arr[1]=this
arr[2]=shit
arr[3]=!!!14 -
This is getting annoying.
For the past >half a year I've been chasing windmills. This is what my BAU day looks like:
- We login to client's network
- We start running some Sanity tests before the actual runs (actual runs are hell of an expensive (financially and time-wise) thing to launch) to make sure environment is OK.
- Sanity tests fail. wtf? Nothing's been changed since y-day!
- Spend ~3-4 hours digging logs, code, more logs,... Apparently some genius decided to change a single parameter.
- Spend another 1-2 hours trying to work around that parameter (since apparently that genius did have a task to do that, so we'll most likely have to find a way to live with it)
- Restart the whole env (~30min).
- Launch a Smoke, Sanity tests to verify env state.
- Launch the actual test
- Go home.
Next day:
- We login to client's network
- We start running some Sanity tests before the actual runs to make sure environment is OK.
- Sanity tests pass.
- Run the actual test
- Concurrency on RDS database is sky-rocketing! WTF did that come from??? Nothing's been changed since y-day!!
- Spend ~1-2 hours looking for anything changed, dig some logs for anything unusual. Nothing.
- Escalate to DBA. 2 hours later DBA says "fix the app". thanks for nothing mate....
- Spend remaining 2 hours analysing AWR. Give up, restart the whole RDS instance. Another hour wasted.
- Time to go home. Out of curiosity run Sanity test -- all good. Run the actual test -- all good. wtf??
- Go home
Next day
- We login to client's network
- We start running some Sanity tests before the actual runs to make sure environment is OK.
- Sanity tests fail. wtf? Nothing's been changed since y-day!
- Spend ~3-4 hours digging logs, code, more logs,... Apparently some genius decided to change a single parameter.
- Spend another 1-2 hours trying to work around that parameter
- ..... I think you know where this is going.
And this keeps going on and on, day by day. Spending the better half of the day chasing windmills and doing our actual work on the last hour of the working day or even after that.
We have plenty of interesting tasks in our Jira but we're squirels spinning in the wheel and never being able to touch them.
It feels like I'm wasting my time. I could do so much more with my time!
[just needed to vent ] -
I barely ever drink, so.. Almost every holiday party I've been in was awkward :)
there was this Christmas once where one of my family members got unexpectedly wasted and embarased me and himself in front of my newly wedded wife. A few next christmas in the fam were awkward.
There was this christmas party in my student days with othet students. Like they say, medics study hard and party hard. Everyone got wasted and fel asleep a few hours past midnight. We had lectures next morning so I didn't sleep [as I was the only one sober and had] to wake everyone up for 9am lectures. Never ever had I attended such parties since.
At even younger age [high school] I was in a new year party. Incidentaly only couples were there. Soo.. After the fireworks went off - the lights were turned off and all I could hear were kissing and other noises of this kind. Everyone's wasted ofc, but me
needless to say now I'm very picky who to celebrate with. A closest family, a glass of bubbly or some hot wine is enough and I'm comfortable with everyone.1 -
I actually do have one. 2 years ago I found myself in a stressful situation. It lasted for an hour or so but all ended well. Ever since that incident I was wondering what should be different so that situations like these could be avoided. I had an idea. I began making sketches, sorting out the architecture I'd need and then it hit me. Shit, I could reuse this very principle for a MUCH larger scale! And in fact there's noone in the market offering this yet! There are similar products, products that offer a tiny part of my idea's functionality, but none of them are even close to what I have in mind!
And so the coding began. I was still a student back then. And employed 12hrs/day. And married. Needless to say I did not have much time for coding. Now I'm also a father (although not a student any more!) which makes my schedule even worse.
All in all I've made quite a few widely reusable libraries by now which have saved me 10s of thousands of lines typing, had yet another idea on alternative TLS which seems impossible to crack (well okay, possible. But there's a twist - cracker will not be able to know he cracked the algo :) ). Now I'm close to 100k LOC of my main project and struggling with a fucking FE (since I'm more of a bkend guy). FE's already taken a few months from me and I'm still in a square 1 :/ But I'm moving forward. Slowly, but moving. Frustrated af, but not giving up.
I had a sort of a dream to start my project before I'm 30. I have less than a year left. Still doable. This project, if it's sucessful, has a potential to become extremely popular as it offers solutions to multiple problems we have today. This project should save me from 9-to-5 work every day where, no matter how great the environment is, I feel trapped. But I need money to survive in this city . With my family.
This project should be a solution to all of my problems and probably something great the world could enjoy.
I wish I could make it. I really do. I don't want to be 9-5 any more. I don't want to be dictated what's my schedule, what's that I have to do now. what to think. I want to be free of all of this. Have enough time to live. To travel, see the world. Live in a house (God I miss living in a house....). Spend time with my family. Show my lil boy what a wonderful thing the World is!
I really want this to work. I want to be free again. And I wish I hadn't to deal with FrontEnd.
Allright, enough wabbling. Time for a nice cup of tea and back to coding. "The next big thing" is not going to create itself while I'm ranting, right?6 -
Users.applyAll(u -> u.watchOut(true), u -> u.setCry(false), u -> u.setPout(false));
Users.each(u -> u.tell(He.getName() + " is coming to " + TownRegistry.getCommonName()));
List<Object> list = He.composeList();
He.validate(() -> list);
He.validate(() -> list);
List<Object> naughty = He.filter(He.UserType.NAUGHTY, () -> list);
List<Object> nice = He.filter(He.UserType.NICE, () -> list);
He.with(naughty, nice).arrive(TownRegistry.next());
Users.each(u -> u.setStateObserver(User.State.SLEEPING, He.asObserver()));
Users.each(u -> u.setStateObserver(User.State.AWAKE, He.asObserver()));
He.subscriptions().monitorEvents(s -> s.type == He.EventType.BAD);
He.subscriptions().monitorEvents(s -> s.type == He.EventType.GOOD);
He.subscriptions().each(s -> He.advisor(He.EventType.GOOD).advice(s));5 -
By all means I've learned most of the cool stuff with a lil project me and my bro did. It was a platform for bot farm of one mmorpg. It had it all: schedules, profiles, bot groups, monitoring, analytical module [was still a wip], auto-profiling to fight antibot [sort of ML - it was analyzing patterns after our bots got banned and attempted to change our bots behaviour], etc.
Eventualy we came up to conclusion that a library we used for botting [the mocked interaction with an actor] was flawed. It seemed that its authors had a contract or smth with the game authors to reveal which actors are bots. We dropped the whole thing as rewriting the lib would be too big of a waste of time :\7 -
ha...
that I did NOT expect.
Opening a website in chrome. Laptop's transforms into a drone and tries to lift off my desk and fly away with its fans. I see warning popups telling me that CPU Tº is 100ºC.
Opening website in FF. Laptop calmly opens it up and raises Tº from 50ºC to only 75ºC.
And here I thought that Chrome is fine-tuned for anything you can throw at it.
And the website really has nothing fancy in it... Just some text to read, images to see in the background and some buttons to click on.
https://ignitis.lt/lt/...
its EN version, however, does not have the laptop-heater feature installed.
WTF11 -
There's this one lead dev in our dpt who keeps posting pictures to our company's Teams 'general' channel with shit in the toilet after someone forgot to either flush or use the brush.
Caption usualy says "I don't mean to cause nausea to anyone, but we are all adults here and should know how to flush / use the toilet brush".
Does every company have this guy or are we the chosen ones?8 -
My coleague's story
- before leaving after long day at the office final look at support cases (after official support hours)
- sev1 ticket logged an hour ago, noone called us (although should have; after support hours)
- angry manager calls and demands to get in touch with the client immediately (we're already after support hours, FTS should pick the case, not us)
- we reach out. Customer has business-impacting case
- after initial info gathering: some cert got expired, they got a new one and placed it in the app's directory. The app still does not work
- the first question we ask: "are you sure you have placed it in the right directory?"
- "yes, we are sure. No problems there" - answers a voice with indian accent
- noone finds the root cause for hours.
- It's already 1am
- someone from client's specialists comes up with an idea: "are we sure the cert is in the right place? Let's try to move it to the same directory the old one was in the first place"
- .................................................
- production is working again
- "Why didn't anyone from support suggest this?!?!"
- .................................................
- 2am. Case solved, manager is informed everything's allright now.
- In the morning we get yelled at by the manager bcz we supposedly missed a sev1 ticket and were incompetent during the conf. call
This reminds me why I stay away from support. And why I started hating people. And why I do not work with indians (our ways are too different for me to stay sane and not to kill anyone).3 -
Apparently google is quite good at finding songs by querying a rythm stuck in your head... :D :D
aaahhhh, finally found it. Now I can continue with my life :)3 -
> Run 'All Tests' with Coverage
No tests failing
Coverage >95%
Hell yeah! I've tasted TDD and I don't want to look back!2 -
Posted a question on SO a few minutes ago. It seems like they are downvoting questions before reading them. If after reading the question it appears legit and written according to all the rules - they return the upvote.
Wtf dude...14 -
Soooo.... It's almost summer alright.. Centralized heating is long gone already and they forecast +1C tonight.
I mean I do have to survive... Guess I'm keeping this overnight
yeah, pic qlty us shitty, sensors say it's 70-8020 -
I'm considering myself a Linux person. ATM I'm creating an Azure account to play around with their pipelines -- need that for my current task.
I feel filthy :(
Like doing a crime or smth...
I'll need a shower soon14 -
Youtube, I don't live in Slovenia. I'm nowhere near Slovenia. I don't know slovenian nor have I ever had anything to do with the country or the language.
Why the fuck did you decide to show me only slovenian ads for the last weeks?10 -
- halt and catch fire
- silicon valley
- mr robot
are there others, at least half as good as hcf?20 -
Oh my, our frontend (FE) dev is amazing! He never ceases surprising me :D
[FTR: I'm building backend (BE).]
Here's a message at Trello I found today:
-----------
Hey @netikras
responseBody e --> Whoops! Lost connection to http://test.application.com/chat/...**************
Do you return this error to FE as a string when FE loses connection to BE?
-----------
I mean.. come on buddy :D Use that gray mass of yours2 -
- build a self-service shell script to manage your environment in all kinds of ways with a single script and different switches
- ask tech manager for a server to keep that script [and others] at so coleagues should not bother setting dependencies up on their windows workstations
- be asked to list out all use cases
- be promissed your consolidated tool will be torn apart and replaced by 8 other tools depending on use-cases. Meaning 8 different browser windows open at all times to manage your single env
- be assured that this kind of improvement will take months and is doubtful to pay off2 -
git commit -m 'some fixes. FTR I hate Torvalds and I am NEVER using any piece of software built by him!'
// inspired by someone's rants a while ago2 -
When you know the whole week's weather forecast w/o even looking at it, because your neighbours above you are aged people and when they read it out *loud* you can hear it all sooo clearly...
Boy do I want my own house....6 -
Oh I have quite a few.
#1 a BASH script automating ~70% of all our team's work back in my sysadmin days. It was like a Swiss army knife. You could even do `ScriptName INC_number fix` to fix a handful of types of issues automagically! Or `ScriptName server_name healthcheck` to run HW and SW healthchecks. Or things like `ScriptName server_name hw fix` to run HW diags, discover faulty parts, schedule a maintenance timeframe, raise a change request to the appropriate DC and inform service owners by automatically chasing them for CHNG approvals. Not to mention you could `ScriptName -l "serv1 serv2 serv3 ..." doSomething` and similar shit. I am VERY proud of this util. Employee liked it as well and got me awarded. Bought a nice set of Swarowski earrings for my wife with that award :)
#2 a JAVA sort-of-lib - a ModelMapper - able to map two data structures with a single util method call. Defining datamodels like https://github.com/netikras/... (note the @ModelTransform anno) and mapping them to my DTOs like https://github.com/netikras/... .
#3 a @RestTemplate annptation processor / code generator. Basically this dummy class https://github.com/netikras/... will be a template for a REST endpoint. My anno processor will read that class at compile-time and build: a producer (a Controller with all the mappings, correct data types, etc.) and a consumer (a class with the same methods as the template, except when called these methods will actually make the required data transformations and make a REST call to the producer and return the API response object to the caller) as a .jar library. Sort of a custom swagger, just a lil different :)
I had #2 and #3 opensourced but accidentally pushed my nexus password to gitlab. Ever since my utils are a private repo :/3 -
Got a 1 day of alone time :) 8 hours WFH ant then the (almost) whole evening was MINE. Guess how it went :)
Coding until 2am and falling asleep on my keyboard, waking up on a cold lappy at 5am bcz its battery died and its aluminium frame was freaking freezing.
I know right? That was an awesome evening! I've managed to catch and fix some nasty bugs!6 -
that awesome feeling when you run
iptables -F
and ssh just freezes.. And then you notice that last iptables -S printed: -P INPUT DROP
And it's someone else's server you have borrowed :D1 -
All these super expensive and fancy enterprise tools. CloudWatch, AppDynamics, Grafana, Splunk and whatnot. Spent a month trying to figure out why the fuck the app does not perform well.
Took 1 day with tcpdump, awk and gnu utils to figure out why.
Should anyone need a tcpdump analyzer -- try my awk script. Shows response times of each network call w/o impacting app performance :)
https://gist.github.com/netikras/...14 -
Be a fellow who's distracted af. You just had a presentation in another city. You're driving home and a light lits up saying you need gas. You stop at the petrol station, pour in some gas, grab a cop of joe while you're at it, pay and leave. You're 15minutes away from the gas stop already and an unknown number is calling you. You pick it up. A male voice says
Voice: "hello, this is police. Did you just leave a gas stop 15 minutes ago?"
You: *wtf, what the fuck did I do now!* "yes, I sure did."
Voice: "you forgot to pay for the fuel"
you: *oh shit, he's right! I remember now - I only paid for the coffee! Shit! I'm in trouble now. *
"oh.. Right, you're right, I forgot... I'll turn around and come back to pay
Voice: "wait, don't rush, I may be able to help you. I'll call you back, keep your phone close" *hangs up*
5 minutes later phone rings again.
Voice: "can you pull over, please? Here's a phone number of that gas stop. Give them a call, I'm sure you'll sort it our. Have a nice day!" *hangs up*
you call that number. A woman picks up.
You: "hello, I forgot to pay you for the gas, gimme a few minutes - I'll turn around and get back to you"
Operator: "do not worry, I think I can help you! You can pay for it at your home town if you like, but I'm afraid they might not be working today. But they will tomorrow! Would that be OK for you?"
you: "umm, yeah, of course! It's my fault - anything is OK for me!"
operator: "ooorrr.. I could pay for you now and you would pay me back. Would that work? Here's my bank account, I'll pay for you when you send me those 50 something €"
a fantasy story? Made up story? Bed time stories? Dysney movie plot? Phishing? Canada?
No. This is Lithuania :) believe it or not, this is a true story, and there are more like this one.
Respect to the police!12 -
Shit. My ssd died y-day. Got a new one [970evo] today (tx bro!).
Guess who's gonna spend the night recreating the whole env: ui, scripts, triggers, integrations, tunnels, qemu vms, apps, bkup restores,....
Shit9 -
2 Questions for guys [and gals, let's not be sexists..] with beards.
1. Why the beard? :)
2. What dev are you [bkend/fend/fstack, what lang.?]? Or admin?
I wonder if there is a correlation..16 -
What if a code, running a factory, making dev ducks, was buggy? Would these ducks cause more bugs in our codes?2
-
I think I still have a 64MB HDD somewhere on a shelf at my late grandpa's house.
Now they make CPUs with caches of that capacity...
o tempora..
EDIT:
FFS! This CPU cache contains >44 floppy disks! I've never even had that many!!!11 -
Just a thought.
If your project has good coverage with tests, it should be possible to develop an algorithm that recreates your production code entirely from tests.
Just look at IntelliJ - its autosuggestions on missing properties/methods are 99% times correct - I only need to hit that ENTER button. Add some AI to recreate some algorithms and there you go - you can use your tests as both: code specs and a part of QA.
Any takers for the next AI project? :)4 -
MS Teams:
*Notification*: Bob sent you a message: "Hello netikras. Got a minute for a call? Andrew told me <...>"
Open up Teams, open chat with Bob. Last message received -- 2 weeks ago. Chat summary on the left (chats list) shows the last message was 2 minutes ago with "Hello netikras. Got a...."
Prolly just javascript failed to fetch the full message to display it in the chat.. refresh the Teams tab
Same thing.
How the f*ck do I read the full message? WHAT DID ANDREW TELL BOB????
Fucking Micro$oft... Ironically, the only thing they're good at is hardware. Well okay and the office suite.
Can't even make a working chat app that doesn't lose messages or doesn't behave like a three-headed dragon with multiple personalities in each head.4 -
When you walk to the yard with a lappy to code some stuff in the nature, smth comes up and you leave your lappy running on a chair for 6+ hours, then finally remember it and it still has >75% juice w/o being suspended.
Sweet!10 -
oh, I have a few mini-projects I'm proud of. Most of them are just handy utilities easing my BAU Dev/PerfEng/Ops life.
- bthread - multithreading for bash scripts: https://gitlab.com/netikras/bthread
- /dev/rant - a devRant client/device for Linux: https://gitlab.com/netikras/...
- JDBCUtil - a command-line utility to connect to any DB and run arbitrary queries using a JDBC driver: https://gitlab.com/netikras/...
- KubiCon - KuberneterInContainer - does what it says: runs kubernetes inside a container. Makes it super simple to define and extend k8s clusters in simple Dockerfiles: https://gitlab.com/netikras/KubICon
- ws2http - a stateful proxy server simplifying testing websockets - allows you to communicate with websockets using simple HTTP (think: curl, postman or even netcat (nc)): https://gitlab.com/netikras/ws2http -
FUCK!!!!
Got tickets to jbcnconf. Got all the flights in order. Got a place to stay.
And apparently someone decided to have a strike in the airlines on the day my connecting flight was supposed to happen. And ofc the flight got cancelled. And ofc there are no alternatives.
So now the whole ~1k€ conference deal will go down the gutter. FUCK!! I soooo wanted to visit Barcelona and attend that conf!!
FUCK!!!!!!!!!!!!
P.S. I hate you, Ryanair5 -
IDK, man, it feels like the LB might still be caching. How 'bout throw yet another no-cache? Just to be sure.7
-
Sorry, need to vent.
In my current project I'm using two main libraries [slack client and k8s client], both official. And they both suck!
Okay, okay, their code doesn't really suck [apart from k8s severely violating Liskov's principle!]. The sucky part is not really their fault. It's the commonly used 3rd-party library that's fucked up.
Okhttp3
yeah yeah, here come all the booos. Let them all out.
1. In websockets it hard-caps frame size to 16mb w/o an ability to change it. So.. Forget about unchunked file transfers there... What's even worse - they close the websocket if the frame size exceeds that limit. Yep, instead of failing to send it kills the conn.
2. In websockets they are writing data completely async. Without any control handles.. No clue when the write starts, completes or fails. No callbacks, no promises, no nothing other feedback
3. In http requests they are splitting my request into multiple buffers. This fucks up the slack cluent, as I cannot post messages over 4050 chars in size . Thanks to the okhttp these long texts get split into multiple messages. Which effectively fucks up formatting [bold, italic, codeblocks, links,...], as the formatted blocks get torn apart. [didn't investigate this deeper: it's friday evening and it's kotlin, not java, so I saved myself from the trouble of parsing yet unknown syntax]
yes, okhttp is probably a good library for the most of it. Yes, people like it, but hell, these corner cases and weird design decisions drive me mad!
And it's not like I could swap it with anynother lib.. I don't depend on it -- other libs I need do! -
(short story)
happened a couple of months ago. I was drawing some diagrams on the board -- planning new infra for the app. While explaining all this to the analyst I needed some random number. It was smth like 1470285206. Half an hour later I need another random number. And I again come up with the same exact sequence....
It was both funny and spooky at the same time. Apparently my biological RNG is utterly broken.. Either that or my subconsciousness wants to tell me something about an early morning of 2016 Aug 4.1 -
BAT0 (Charging - 100% remaining time 00:00:00), health 100.0%: 8.318V 0.592A 4.92426W
Fuck yeah!! No more "Charging - 186%", no more "health 54%". I feel alive again!!!!2 -
Finally got a new laptop at work!
The first thing to do: install linux in it so the beast could roar free.
Download mint iso, dd it into an usb drive, boot it up in uefi mode, .... /dev/sda read error: -110. Fuck, must be smth w/ secure-boot. Disable it, rinse and repeat. Same error. Wtf, could my drive be broken?
dd iso into another usb drive, boot live env -- read error. THE FUCK! It's wildly unlikely my both usb drives died on the same fucking day!
Go to it admin to ask for an usb drive. Iso->usb, boot -- live env is up. My my, look who's unfortunate today :)
cryptsetup, install, reboot et voila, the beast is finally roaring!6 -
FUUCCKKKK!! I need to hit smth. Or rant..
So that flaky ec2 issue.. These ec2s act as a shared environment for multiple apps. Our app is one of them. I have no access to those ec2s at all.
What I have access to is my app and some monitoring. Now the app randomly starts lagging while nearly idling. At the same random times monitoring stops completely and doesn't come back up. This happens to random app instances at random times.
Reached out to infra support, managed to get attention from the big boys [mgmt]. Today we got the fix deployed. I test it out -- problem persists.
I find this behaviour somewhat familiar. Managed to get some server stats from infra folks. Apparently cpu% is high as well as load avg [cpu queue]. Bingo! I know how to fix it!
So I write a long comment w/ all the commands and all the 'if that, do this'. Send it to one of the infra technitians
and I get a reply: 'we will apply cpu usage limitations to fix the issue'
wait... Cpu% limitations will do nothing but highlight the underlying problem...
'no, instances have high cpu utilisation which is causing those lags. We will limit cpu resources and it will be fixed'
oh ffs... Cpu utilization and cpu queue are VERY different things.. I tried explaining that to them like 7-9 times. And all I get is:
'yes, cpu utilization is the problem. We will limit it and solve the problem'
I would surely escalate all of this through higher channels if only I could get my hands on those ec2s and have a proof. But that is not happening and I'm forced to sit back and watch them break things even worse until they are out of options and mark my query as 'wont fix'....
Fuck that's frustrating....
*thinking to myself* so I've read about that new vulnerability 2 days ago that allows one to escape from docker container to the host... What if <...>4 -
https://alldaydevops.com/register/
WHAT THE FUCK???? UX level: 9000
I do like dark themes in many places. But IMO this is just too much
And the font..? Is this registration for witch-hunt or satanists' party?17 -
Sharing your password with your coleagues is like sharing your underwear or your GF with them. It's not right and unless you're into some weird fetish you won't really want them back...
I've been asked to help in my previous project and I'm fairly certain my credentials are expired/locked/forgotten there. Guess whose managers will be encouraging sharing current dev's on that project passwords...2 -
You are a developer and you will only log time you're actually working. This means you will not be logging time spent in meetings, chasing for specs, requirement clarifications and similar. You must log 8 hours each day.
^^-- wtf?!? Is anyone else working in similar conditions?12 -
Fun game: find a random tech meme/joke and search it in google with "site:devrant.com". If you find it - you drink4
-
when you think about it.. Moses was the first guy ever to download data from The Cloud and distribute it via p2p protocol [torrent]. The first it pirate ever.
Happy Easter!2 -
Okay, so there's this thing I've noticed. Whenever I find another job the old job suffers very hard very soon. So far there were these cases:
- goes bancrupt wthn a month after I left
- the department gets closed due to reorganisation next week after I left
- a sinkhole opens up right under the 14 stores building I left 2 months ago
- and today... 10 minutes before I go to a job interview on my lunch break prod db pulls a failed-hdd-and-all-data-is-now-lost stunt...
Every single workplace I've left suffered a lot. Is this some kind of a superpower? Can I fight evil with it? Should I put it on my cv? Should I let my manager know...? Or ask for a raise? :D6 -
Migration in progress (long one, lasting over a month)
PM: Let's schedule a meeting to discuss migration progress
PM: Let's schedule a meeting to agree on what should we test
PM: Let's schedule a meeting to get specs of the new infra
Seriously, PMs. One 1 hour long meeting costs at least 4 hours of productive time (1 hour for travel, 1 hour for the meeting, 1+ hour for preparing for the meeting, 1+ hour for post-meeting discussions). And more often than not all meetings end with "We will come back to you later in regards to <some question not answered during meeting>" and it always means "we'll continue this chat via emails"
Why can't you first ask "do we need a meeting or can we sort this out via email?" ??? Or are you intentionally wasting everyone's time?4 -
The more I work with performance, the less I like generated queries (incl. ORM-driven generators).
Like this other team came to me complaining that some query takes >3minutes to execute (an OLTP qry) and the HTTP timeout is 60 seconds, so.... there's a problem.
Sure, a simple explain analyze suggests that some UIDPK index is queried repeatedly for ~1M times (the qry plan was generated for 300k expected invocations), each Index Scan lasts for 0.15ms. So there you go.. Ofc I'd really like to see more decimal zeroes, rather than just 0.15, but still..
Rewriting the query with a CTE cut down the execution time to pathetic 0.04sec (40ms) w/o any loops in the plan.
I suggest that change to the team and I am responded a big fat NO - they cannot make any query changes since they don't have any control on their queries
....
*sigh*
....
*sigh*
but down to 0.04sec from 3+ minutes....
*sigh*
alright, let's try to VACUUM ANALYZE, although I doubt this will be of any help. IDK what I'll do if that doesn't change the execution plan :/ Prolly suggest finding a DBA (which they won't, as the client has no € for a DBA).
All this because developers, the very people sho should have COMPLETE control over the product's code, have no control over the SQLs.
This sucks!27 -
To leave 9/5 behind and successfully launch my own thing. By design it should require minimal maintenance so I should be good to spend my time however I feel fit. Get my fam and close relatives involved as well.
Move out of that tiny apartment into a large house outside the city where my kids could grow their imagination, have nearly unlimited space to plat at safely, where I would no longer feel squeezed in tightly.
I'm the donkey and that's my carrot hanging in front of me1 -
Here's a thought!
Our bodies are mortal. And they are like flowers: they grow, blossom at their best and then begin their slow degradations, deaths.
Our mind is what seems to be the essence of _us_.
Now suppose someone finds a way to copy our minds into some tech so they could survive our bodies' deaths. Making us sort of immortal. Sounds cool, eh?
But that would make a copy of your mind. You would still be stuck in your mortal body while your copy would be immortal. Would you be happier to die knowing that it's YOU who is dying and not your copy, rather than dying w/o leaving a copy of you behind? Is a copy of you still YOU?
It could be YOU for others. But is it YOU for you?23 -
Speaking of.. What in your opinion would be an appropriate way to warn someone about security problems, like db passwords in git?
I once came across dozens of extremely sensitive services' infra accesses: alibaba/aliexpress, natuonal observatories, gov institutions, telecomms, etc. I had dozens [if not hundreds] routers' and firewalls' credentials along with addresses. I tried one to confirm validity - it worked. I wanted to warn them but did not want to get in trouble.
If it were servers, I'd set a motd or append some warning messages in .profile. But not sure how to do it for non-server devices
what would you do? How would you warn them?
P.S. Deleting that record was a smart move, buddy ;)
p.P.S. Sorry, wrong category... Can't edit now :(6 -
See? And you were worried it would take our jobs away from us. It's still got a lot to learn!
I mean, you, developers, are fucked. It's us, Performance Engineers, whose asses are safe15 -
That moment when you have 2 Chrome windows open, each having 100+ tabs. Walk through each of the tabs to close off as many as possible and make some room but you cannot, as all of them are required or will be required soon enough.27
-
I must be a madman.
Trying to log in to appDynamics. enter account name, hit ENTER -- <...>/appdynamics.com/controller/undefined, 404: Page not found.
Go back, do that again -- same result
Go back, ctrl+F5, try again -- same result.
So in the end I did 17 or 19 back-retry attempts in a row and the last one DID log me in.
Peachy.
<F><U><C><K.<J><S>1 -
TIL you can crash a Tomcat request processing if the app reads request bodies using a reader() and you feed it a json body with an innocent nbsp :) the whole request processing just goes *pooooft*
reminds me of an ios bug which could brick the phone if it received an sms with weird chars.
These lynch-pin-bugs where a single byte/char in the right place at the right time can tear things down, are so subtle and fascinate me for some reason :)3 -
My newest BASH project: reactive BASH
:)
Yes, I do like shell THAT much!
Since today my bhttp lib supports STOMP [still need to work on 1.2 compliance], i.e. I can carry out live communication with MQ. Meaning I can script the whole thing, be it 5 calls 5 reads, be it 20 subscriptions and reacting to unlimited number of messages in either of them with separate actions. WITHOUT A FOREST OF IF-ELSEs OR CASE-ESACs!!!
Boi do I love shell scripting... :D
Next project: AI in BASH3 -
Don't. Especially while you're not a senior specialist. It doesn't really matter bad company or good: they all have something bad, they all have something good. From the bad examples you will learn WHAT, HOW and *WHY* should not be done. From the good examples you will learn what and why works and how efficiently.
Next month I'm gonna be working on a project that is SO bad I will flood DR with rants. But I'm looking forward to it, because I know I will learn what else should not be done.
Better learn from their mistakes than your own2 -
Is 10km/day walk going to help lose weight? How efficiently? What do you think?
I believe this topic fits developers' community very well :)31 -
Soo... What's with the HTTP:GET payload? Rfc allows it but libraries implemebting it - don't. Anyone knows why are libs not following specs?8
-
It's the first time I've heard someone pronounce kubectl as kubecuttle....
How hard is it to say kjub-cee-tee-el?12 -
Eventually you reach a point at which you see that even java's baked-in libs lack abstraction and more layers.4
-
@netikras
not sure why, but you tend to appear on google search "devrant". i thought it was a random user each time when i first saw it... tried on different devices/ips... 80% of them, you showed up.
are you aware of this?
anyone else have similar, or totally different, insight on this?
though it was different IPs, i should mention that they were all on the same subnet... not local, public IPv4 /28 subnet12 -
What music do you like to listen while pooping?
I for one like Moby. "Ooooh Lordy, trouble's so hard, oooh Looor[*pause*]dyyy, my trouble is hard"5 -
Shit. I've fucked up. Will have to rewrite ~20% of the new feature tomorrow :(
I should not have trusted him....2 -
A weird one..
I spend a few hours every day simply walking in the nature. I'd like to use that time for coding. However it's easier to light fire under the sea than write code on a phone :)
then there are tablets. Not powerful enough for compilation nor does it have powerful IDEs, but it could be quite handy to vnc to a decent computer and do the stuff-stuff :) but tapping a screen ain't something pleasant. A physical kbd would be much nicer
So before I purchase a tablet with sim slot - are there any other, more suitable solutions?9 -
Hey, I need ideas. Keywords: DIY, IT cabinet, cooling. I hope I'll catch your eye :)
So I'm doing my apartment renovation. Complete renovation, 100% everything is remade. Soviets did a lot wrongs but one thing they did I like - storage compartments below ceiling (like double ceiling.. does it have a name in English? I often see them in garages). So I tore down the old compartment and created a bigger new one. I've moved some of my IT devices up there: router, switch, raspberry, etc. Now... it's okay while it's autumn-winter, it's bearable up there. I'm worried temperatures might get very high during summer.
Compartment is not that big, smth 1m x 2 m x 0.5 m.
Any ideas for cooling? I could set up a vent fan to circulate air but it's hardly a cooling. Also not very effective. A/C is not an option as the compartment is too far away from outter walls. Also A/C might be somewhat overkill :) 5 minutes ago I've remembered I had an in-car portable fridge-like thing that could keep drinks decently cooled during summer. I'm wondering whether it would work? Any ideas where could I get this cooling mechanism (what to even google for? :) )?
Is there anything better in the market? DIY? I'm not willing to spend a fortune for this idea (one more reason A/C is an overkill)2 -
Heads-up, stop using email as a user-id in your systems. netikras@gmail.com and net.ikras@gmail.com are the same recipient. And noone really checks for that dot when validating a new user in our systems, do we? :)9
-
In the upcomming days/weeks/months my comments and/or rants might be inadequate: full of rage, depressive, dumb, etc. I appologise in advance. Please let me know if I do that and I'll take those posts down. TIA
Life just gave me lemons too sour for any lemonade.9 -
Merry Christmas to everyone celebrating it. I sincerely hope each of you has someone to cozy up this festive season. Remember and share all the good stories that happened this year, all the sores that hurt you back then but turned out well in the end. Share your plans, hopes and dreams to achieve next year.
Be it a friend, a family, a significant other or your neighbour. Cozy up and enjoy. After all this hard year you've all deserved it.
[don't try to trick yourself that you're better off alone. We both know it's not true]
After a long break I'm having a white Christmas this year. That and my kiddo stepping his first steps, apartment nearly done and a huge christmas tree in one of the rooms, and the fact that I've finaly 100% nailed my gift for my wife [never ever has this happened bfore! Can't wait to see her face in the morning :) ] -- I'm full of Christmas spirit this year!
I wish you all have a great holiday!1 -
Omfg... Fixed 3 LifeRay 6.1.1 ce security bugs in less than a day. I should be proud, but I am actualy fucking worried I've been with this project for too long if I can already make liferay fixes THAT fast...
Am I becoming a legacy...? Shit5 -
Who has too much time on their hands and wants a throwaway project? :)
Say there are some poll results. Like this one. Each item has xx.yy% of all the votes. The task would be to come up with an algorythm that would read in those results and make a few predictments on how many participants were in this poll :)
I don't need it, I just came up with it and thought it might be a fun project for someone. I know I'd go for it if I had free time on my hands :)
P.S. if you're up for it, sharing a solution code is more than welcome!20 -
Are desktop PCs becoming a legacy, a history, just like floppy disks or CDs? Do you have one? Do you really need it?
I do have a decent tower pc in my balcony since last year. Haven't used it since early August and I honestly don't know what would I use it for once I bring it back in28 -
Mother hugging systemd... Nobody asked tou to be born in a first place. Nobody asked you to solve problems we didn't have. And nobody asked you to open hugging backdoors in our systems!
https://thehackernews.com/2018/12/...3 -
!dev
is it just me or are others also noticing that our society is getting similar to the one seen in Idiocracy [the movie]?
I mean... I'd understand one or two dumb things: people do it, realize how stupid it is and move on. But now it's more like the other way around: people do something smart, realize it, undo it and move on.
Has anyone else seen Idiocracy?20 -
I never liked YAML. But lately, I'm starting to dislike it more and more.
I mean, wtf is that?
- digest YAML input -- a valid YAML
- digest JSON input -- a valid YAML
A language that embeds another language.
Can it be any more confusing..?
Sure it can. the
```
script:
- echo "John said: hello there"
```
will fail YAML linter, because, even though I used quotes, yaml sees `echo "John said` as an object key
I think I'm yet to find more nonsense with YAML. And eventually, I'll grow to hate it.8 -
Allrighty, so we have a huge migration upcoming. The planning started early this spring. We've split the whole process into separate tasks and estimated each of them. Also marked all the tasks client should take care of itself so save funds and time. All-in-all the whole thing estimated like 4 months if we did it [single dev, tremendous amounts of communication with various parties, buy and prepare the infra, adapt app to the changes, testing, monitoring, etc.] and like a month if client did the tasks we shouldn't be doing. The funding for migration is time-bound and can only be used before December. Cool! We got notified that by the end of April we should be good to go! Plenty of time to do things right!
April comes. Silence. Mid-april we resch out to the client. Since there's plenty of time left migration is getting lower priority to other tasks. Well allright, sort of makes sense. We should migrate mid-July. Cool!
July comes. Client replies that everyone's on vacation now. Gotta wait for August - will do the quicker version of migration to make it on time. Well allright....
August comes. Everyone's vusy with whatever they've postponed during summer. Hopefully we'll start migration in September. Mhm...
September comes. We're invited to a meeting by project funders to explain tasks' breakdown, justify the time needed to make the migration. We're being blamed for surreal estimations and poor organization of tasks as nothing's happened yet... [they were the ones who always were postponing things....]. Moreover, they can only spare 20% of infra resources required for data alone anf they want us to make that enough for all environments, all components, all backups, all databases,... You get the pic.
The leader of the meeting semi silently mumbled to other participants 'Well then I'm afrsid we can't make a full migration in time.. Only partial. That's very unfortunate, very. That's why we should not have incopetent vendors [*glancing at us*]'
somehow we agreed we'll get the resources mid-November and we should be thankful for him bcz he'll have to pull some strings for... us..
I left the meeting with my fists squeezed so hard! But it's okay, we got smth useful: resources and start date. Although it leaves us with less than a month to do smth requiring a month for a sunny-day scenario. Nvm, still doable.
Last week we get an email that resources will be available at the beginning of December [after deadline] and we should start a full migration no sooner than Nov 12. Which leaves us with 50% of our estimated fucking optimistic scenario time and not enough resources to even move a single db.
Fuck I hate politics in dev... Is it wrong for me to want to tie them to a pole, set them on a veeery slow fire and take a piss on them while they're screaming their shitty lungs out? I'd enjoy the view and the scream. I know I would. And while enjoying I might be tempted to take a burning 20cm diameter wooden stick and shove it up their assholes. Repeatedly. Round-robin. Promissing them I'll take it out in 5 seconds and pulling it out after 2 minutes.
Can I?8 -
Don't you just love how you have to clone the whole 40GB library's repo, load it in your IDE and hook that IDE's debugger to your app, because some moron developing that turd decided to mute an exception?
Thanks God the lib is opensource. Otherwise I'd have to jdb without any sources, which sounds like a lot of days of a lot of fun (y) -
Today I had my first ever prod db fuckup due to too wide where clause in delete query. Spent 8 hours restoring service. It's 02.09 now and I'm finally home, going to bed.
Interestingly enough I've enjoyed this experience... -
Eu article 13/17/...
Can anyone post a link to summarized explanation what these are? I'm on mobile so long texts won't do
tia39 -
Once I sent an email to a coleague asking what is the diff between @Resource and @Autowired annotations.
A simple google qry would have handed me the answer right away..1 -
A global pandemic - it's the time of the year when you can legally enter Bank premises wearing a mask w/o drawing any attention.
It's the time of the year when every crime is carried out by "criminals wearing a mask"3 -
Participating in a non-profit project related to corona outbreak. It should help thousands of people to say at home, have a peace of mind and stay healthy.
Our project should go Live this/next week and we already have a blessing from our government. They are already making some legal exceptions to us.
That feels good!5 -
- hanging my brain on a nail and drying it watching Netflix
- stroll/hike in nature (park, forest, by the river, etc.). At least 1 hour long
- warm seasons: riding around the city on my e-scooter at max speeds (works amazingly well!)
- warm seasons: gardening1 -
Online tutorials and universities hate me for this simple trick making you learn webdev quickly.
There are 4 simple steps that will make you learn webdev quickly
Transfer me 20 bitcoins to find out this secret method to learn webdev quickly2 -
So.. Yeah.. A huge corp decided they no longer need a dba. For at least 2 months, starting DEC.
Ora, enterprise features - all the way in. Meaning only dbas have the knowledge
I've got some corn to pop. Anyone fancy to join?3 -
well that's curious... Apparently, when uploading a csv file via bot, Slack now appends a .py suffix to it.
I wonder what's the logic behind it. Trick as many users as possible into executing potentially malicious code?21 -
I wonder how much more profitable is this year for Corona brewers :)
just sitting in a car next to a shop. I've never seen this many folks buying sixpacks of Corona.2 -
I swear the God I'm considering getting a rabied dog just to bite your balls off in case I ever see you in the streets..
- guys X are running load tests on env A
- load tests complete
- analysis of test results is being done
- slow response times are obsered
- someone asks whether X guys took a thread dump for further analysis
- a guy from team X (Mr. Xx) replies: "Will take the Thread Dump now."
- 10 minutes later uploads the whole fucking 2GB log file to Slack
- Xx replies: "I do not see anything wrong in the dump"
A fucking retard... Shove that useless dump up your ass and THEN tell me there's nothing wrong with it! Why the FUCK do you think that's the case? Moron1 -
I always used to think that Linux + Intel == <3
And here I am, ordering Qualcom and Realtek wifi cards to replace my Intel one.
Fuck you Intel for removing the lar_disable iwlwifi parameter!!!
FTR: https://dev.to/netikras/...10 -
Remember /dev/rant for devrant (https://devrant.com/rants/1569303) ? :)
Here's the first version of it: https://gitlab.com/netikras/... . read-only, with some hacks.
Oh, and if anyone needs a pure-shell library for json -- feel free to use it :) Bear in mind it might still be buggy.2 -
Anyone recalls my raspberry's hotfix for overheating problem?
Frankly I am considering it as a long-term solution. I currently have a proper rpi fan applied but it's just too freaking noisy! I thought my work lappy is noisy when at 90C. But this tiny rpi fan is just.. Painfully loud! Especially when rpi is suppised to be tiny and invisible.
Soo.. Yeah.. 3"" fan for an rpi it is!9 -
So I'm on my morning stroll. Walking, enjoying, watching the world around me.. It's nice how cherries blossom. They smell very tempting to stop there and enjoy the moment. Some flowers under the cherry...
Why do plants blossom again? Oh yeah, that's right, to exchange some speciments in order to grow fruit and seeds. To have their offspring. Just like every other living macroorganism [with a few exceptions ofc]. Life has no other way to survive but to exchange genetic material between two parties and only then trigger growth of the new life.
And that is a very strict rule. No more, no less: it takes exactly 2 organisms to make new life. But why is that? If my memory serves, theory of evolution says that life is like business: cut the losses and let the profits run. Over time it discards everything not required for the organism in order to save energy, and only successful new "investments" remain in the genome. The unsuccessful ones die before they proliferate, so the bad genes shall not survive.
It also says that very simple things, very simple changes lead to very complex outcomes. Us. Life.
But what is simple about life having to need 2 other lives? Exactly 2. It's either simple or efficient, depends on perspective. BUT IT IS NOT BOTH. Look at cells. They just split in half and multiply. Dead simple. It takes one of them to make another one. But with mammals, birds, reptiles, plants and other macroorganisms [excpt fungi] this is not the case! Why?!? I can't think of any scenario where two generic microorganisms, following some dead simple mutations, would come up w/ something that inefficient and overly complex. Like they're living on their own, multiplying by division, and smth very simple happens and they can no longer divide, only mate in pairs. The primitive, efficient and simple mechanism gets terminated and replaced with a different one, incredibly complex one!
Sure, we have protozoa which have similar reproductive mechanisms. They exchange genetic material to multiply.
But look at our, human cells. They dont need that! Look at some reptiles, some plants that only take one to make another. They don't pair as well! It's simple. Efficient. Why do protozoa need 2 for the species to survive?
It's not simple and efficient [tho helps us adapt, but its not my point for now]. See, things like this make ne wonder. What if we, the life, are not as accidental as we think? What if this whole mechanism was set off by someone or something billions of years ago? That's mean there are much older, much more superior cognitive organisms than us. What if protozoa was version 3 of new life [the first two did not survive]? Viruses - v2? Sea creatures - v3, reptiles - v4, and so on until they came up with us, mammals? That'd surely mean we are not alone in this universe. Are they watching us? Will they create a new species any time soon? What's our purpose, are we just an experiment?
And so, from cherry blossoms to existensial dilemma, my stroll is over. Time for breakfast :)1 -
Hi ranters. We need to talk.
I've been thinking, I'm lately getting tired of code everywhere. Suppose one is a software engineer / senior developer. What is one's career path from this point on?
Tech lead? Architect? And then what? Is that all? A dead end?
Management would be also a possibility I guess. But is that a horizontal career change or are there any spots in vertical plane?22 -
I did it! I've finally figured it out!
I've always had this feeling that AvatarOfKaine reminds me of someone. Todaybit finally hit me - O know who it is!
It's mr. Heckles. Always out of context, talks about hell knows what and every time he says smth the only sensible phrase that wants to come out of your mouth is ".... Anyway...."23 -
- why did you enter test data text value with this <script> html? Don't do that. Use normal text
this is something I've never expected to hear from a php/react dev.... I'm truly disappointed. I really am.
On top of that he refused to follow my recommendations to google: "xss". Another teammate had to google for him and drop a link.
Just when I was about to like working with this guy.... :(5 -
The one that got me to my current employment. I was working as a sysadmin and was trying to switch to dev. I'd tried one interview in another company and failed it miserably. I was soooo nervous I was literally shaking. And I think I failed every possible dev question. Ffs I couldn't even remember how to swap 2 variables! Yes, I was THAT nervous. Bcz I needed that spot so much.
After that I decided to cool down for a few weeks. Then my current employer's hr reached out and asked to come over. I did. We had a chat with HR and they told me I'll be asked to do a homework task. Surely I was okay with it! They sent me the task via email, but smth [I don't recall what] happened at my sysadmin work and I was extremely short on time. I missed the homework due date ofc. A few days later they reached out to me and gave me another week. I missed that too. Again I got a call from them and I was asked what was the problem. I explained I don't have time atm and mentioned that it might be better to skip this oppurtunity for me. That it might be bettet for them to hire someone else.
To my surprise they did not back off. They kept talking, one thing led to another and somehow they made me commit to arrive to their office to do the homework task.
I was startled. I would have bailed on me if I were them... They didn't..
They didn't give up on me
they are amazing4 -
It's now. The last few months. I'm starting to think I might have to leave developer's career [fucking broken messenger heads.. Made me post this rant prematurely]. I'm starting to feel that I have so much more to offer than just write code, solve minor problems by moving miniature blocks here and there.
As for now I've moved to Performance Engineers. Will see how that turns out. But I have a feeling I won't feel like staying there for long either.4 -
I'm on vacation since Aug 06, so it's already a week and 3 days (incl. today). And yet SOMEHOW I've already worked 28 hrs for my employee... And I was wondering why is my apartment renovation lagging so much,,,
-
My parents didn't mind. Since childhood, they used to tell me that I can choose my profession freely. I tried with medicine. Burned lots of €s and lots of time. And then switched to IT. Parents did not get in my way - on the contrary, helped me wherever they could. And allowed me to shoot my own foot whenever I was so stupidly determined to.
I believe it's the best kind of parenting -- allowing your children to make their choices, their own mistakes and learn from them while suggesting a piece of advice along the way. -
## Learning k8s
Okay, that's kind of obvious, I just have no idea why I didn't think of it..
I've made a cluster out of a rpi, a i7 PC and a dell xps lappy. Lappy is a master and the other two are worker nodes.
I've noticed that the rpi tends to hardly ever run any of my pods. It's only got 3 of them assigned and neither of them work. They all say: "Back-off restarting failed container" as a sole message in pod's description and the log only says 'standard_init_linux.go:211: exec user process caused "exec format error"' - also the only entry.
Tried running the same image locally on the XPS, via docker run -- works flawlessly (apart from being detached from the cluster of other instances).
Tried to redeploy k8s.yaml -- still raspberry keeps failing.
wtf...
And then it came to me. Wait.. You idiot.. Now ssh to that rpi and run that container manually. Et voila! "docker: no matching manifest for linux/arm/v7 in the manifest list entries."
IDK whether it's lack of sleep or what, but I have missed the obvious -- while docker IS cross-platform, it's not a VM and it does not change the instructions' set supported by the node's cpu. Effectively meaning that the dockerized app is not guaranteed to work on any platform there is!
Shit. I'll have to assemble my own image I guess. It sucks, since I'll have to use CentOS, which is oh-so-heavy compared to Alpine :( Since one of the dependencies does not run well there..
Shit.
Learning k8s is sometimes so frustrating :)2 -
Allright, so.. 3 (sort of 4) dev projects at work (7 roles in total), 2 (sort of 3) DEV projects at home, 2 guys approaching to me via messenger w/ DEV/Linux questions, family (with a baby), construction works in the apartment, taking care of the farmstead,...
Whenever you ask "what do you do", I'm not even sure where to start.
Whenever you call me with "Hello, I'm calling from company X, do you have some time to answer a few questions" I sort of want to hit someone really hard before answering "yes, sure". -
If you had a choice, what environment would you prefer for programming [and why]?
- home
- outdoors, nature
- caffee, library, etc
- office
- [other?]4 -
For some reason I find reading tech books a repelling activity. I'd rather spend longer hours googling SO issues, GH/GL tickets, reading blogs than reading a well recommended book on the topic.
But then again.. What is the difference between a series of blog posts and a book...? Not much of it. At least I cannot come up with how blog posts would be superior to a structured and many times reviewed book :) Many posts are lame or just skim through the topic. The same holds true with books too. So maybe it's worth getting that 200pages thin book instead..2 -
@netikras I had an idea for @chatgpt. Went something like this. What do you think, should I PR it into the bot? (in bash ofc)13
-
O.M.F.G how much longer is that gonna take?!?! It's been 2 days already! 2 fucking days!!!
That's it. Fuck the docs. I'm going hardcore now: hooking up a debugger and diving into the unseen depths of Spring's automatic JPA repo initialization.
Unless any one of you knows how to
1. Manually create jpa repo interface bean
2. Make transactions work [also enable them manually by declaring beans in @Configuration]
and do all this in a single @Bean method. Jpa provider - hibernate.
Nobody? Not a single one? Allright then, I'm going in :(1 -
Heh, I'm curious... Before you ++ someone, do you glance at how many ++s does the person already have? Does this influence you choice whether to ++ or not?
And how about comments? Does ++s count affect whether/how you coment on one's rant/comment?
I've caught myself clicking ++ only bcz I saw the uswr already had >10k. I wonder why is that :)
edit: I'm not proud of it6 -
https://support.google.com/youtubem...
That's an interesting marketing model. Basically it says: "If you don't want us to send you data, buy our PREMIUM package."
somewhat ironic :) G has enough servers to jam our internet throughput and is asking $ for not doing that :) Sounds like... Ransomware11 -
Allright, so now I have to extend a brand new application, released to LIVE just weeks ago by devs at out client's company. This application is advertised as very well structured, easy to work on, µservices-based masterpiece.
Well either I lack a loooot of xp to understand the "µservices", "easy to work on" and "well structured" parts in this app or I'm really underpaid to deal with all of this...
- part of business logic is implemented in controllers. Good luck reusing it w/o bringing up all the mappings...
- magic numbers every-fucking-where... I tried adding some constants to make it at least a tiny bit more configurable... I was yelled at by the lead dev of the app for this later.
- crud-only subservices (wrapped by facade-like services, but still.. CRUD (sub)services? Then what's a repository for...?). As a result devs didn't have a place where they could write business logic. So business logic is now in: controllers (also responsible for mapping), helpers (also application layer; used by controllers; using services).
- no transactions wrapping several actions, like removing item from CURRENT table first and then recreating it in HISTORY table. No rollback/recovery mechanism in service layers if things go South.
- no clean-code. One can easily find lines (streams) 400+ cols long.
- no encapsulation. Object fields are accessed directly
- Controllers, once get result from Services (i.e. Facade), must have a tree of: if (result instanceof SomeService.SomeSubservice1.Item1) {...} else if (result instanceof SomeService.SomeSubservice2.Item4) {...} etc. to build a proper DTO. IMO this is not a way to make abstraction - application should NOT know services' internals.
- µservices use different tables (hats off for this one!) but their records must have the same IDs. E.g. if I order a burger and coke - there are 2 order items in my order #442. When I make a payment I create an invoice which must have an id #442. And I'm talking about data layer, not service or application (dto)! Shouldn't µservices be loosely coupled and be able to serve independently...? What happens if I reuse InvoiceµService in some other app?
What are your thoughts?1 -
You little fuck.......
I ask you how to get my access to some system and I get attacked with how did I dare to report issues to you my colleague was having w/o having my own acc...
This is the first time I have played the victim card in my life. Let's see how that works out.
P.S. it's a massive CORP so I expect some some wasp-nest-poked effect.3 -
Clak!
Clak!
Clip!
Squeeeek-clak!
Tat! Tat! Tat!
Clip-clip!!
Badabang!
Clak!
Clak!
Yepp.. Everybody got some free fidget-swag from the BuildStuff conf :) now the whole office sounds like a clocks' shop3 -
This is not an ad!
But if anyone is in a need for a decent java profiler - here's yourkit's festive deal: https://www.yourkit.com/purchase/ (Personal)
You can legally use this licence for both personal and commercial needs. It's non-expiring. You can have up to 3 profiler copies simultaneously (deactivate one to activate another if all 3 slots are used)
I just thought some of you might find this useful. Since I'm a performance engineer I grabbed this deal as if it was the last one in the shelf :) The tool is good, the price is decent and it's for lifetime.
Again, it's not an ad. I don't care if you purchase it or not. I just thought I've come across smth nice and felt like sharing.2 -
Oh shit... My XPS 13 seems to slowly approach it's EOL :(
It has lost power 3 times already since yesterday. The last time it shut down while I was browsing BIOS (UEFI) settings, on a charger...
shit :(
Yes, I am drooling at the new XPS 7390 with advertised battery lifetime of 21 hour. But I'm so used to my lappy.
Shit :(9 -
What is the cheapest and closest to "decent" cloud computing provider you've come across? I'm currently using scaleway ARMs -- all thanks to someone posting scaleway's name and comparing server prices to a cup of morning coffee :) . It's OK, really can't complain (although it's somewhat silly to sync ssh keys on-boot only IMO). Is there anything cheaper with no less quality?6
-
Fun story
tl;dr; analog FTW!
so we've just had a nice game. A few teams internationally gathered together in the aws gameDay. We had aws accounts set up [one per team] and our goal was to maintain our t2.Micros to deal with incoming load. The higher the latency - the less points we get, the more 5xx - the more points we lose. The more infra we have, the more points we pay for it.
So we are quite new in aws, most of us know aws only in theory. And that's the best part!
So at first we had some steady, mild load incoming. But then bursts came up and we went offline. It's obvious we needed an lb w/ autoscaling. Lb was allright, we did set it up and got back online. We also created an autoscaling group and set it up.
Now what we couldn't figure out is how the f* do we make that group scale automatically, as a response to traffic! So we did what every sane person would do - we monitored LB's stats and changed autoscaling group's config manually 😁
needless to say we won the game w/ 23k points. 2nd place had 9k.
That was fun!3 -
2 AIX workloads got messed up during patching. Apparently they had a local database and they were in PROD env.
"Not a biggie - there's always a netbackup to restore the whole workload" - I said and reached out to netbackup folks.
Turns out even though netbackup was configured properly it had never even initiated successfully bcz backup NIC was not whitelisted in network layer. Never ever in 3 years.
Service guys were piiiiiiiiiiiiised big time1 -
One more reason to "LOVE" Liferay...
Caused by: java.lang.ClassCastException: com.project.x.portlets.CurrentUser cannot be cast to com.project.x.portlets.CurrentUser1 -
hdparm -y /dev/sdb # to the rescue for the silence
turns out I could simply reorganize my mounts and spin down my hdd. Now at last can I enjoy the silence...
If I try to listen carefully I can only hear street noises from across the river and a few 9-stores buildings [something ~600 meters] through a closed plastic window and absolutely nothing from my PC.
Now.. Next mission: how to silence those street noises...5 -
There was this tech guy in our project. I don't really know how techy nor what his role was, but I do know he was a techie.
Lately we'd noticed he was behaving more and more managerish. Orchestrating resources over slack, scheduling meetings, the managerial slang... Bulletpoints... It was obvious what's going to happen - he was striving for a manager's chair. Cool. He seemed like a guy who can indeed do this well. And the fact that he's a techie was promising - he should understand so many things.
Boy did that come around and bite us in our asses. Turns out this guy is a googler. If we are working on some case [as we always are] he jumps in and offers his opinion, although he is far from our technical area. We explain how/why it is not a good idea. Then he does some googling and comes back with a different idea! And insists on testing it out... FTR, a single test in our project could take from 1 to 6 hours. And he's a manager now!! We can't just ignore his requests...
Allright, we do that testing. Results are far from satisfying. We continue investigating. He does as well. We'd like to try something out, but there he comes with a new idea! And ofc we are asked to test it out as well.
Our own testing is postponed again.
A few days like this one pass by. In a daily meeting we are blamed for taking that long to do our investigation and we are questioned as engineers.
Superb...
Honestly? I'm having second thoughts about this new role. It's supposed to be fun and challenging and all, but this kind of shit is just too much...7 -
Hey folks!
! Do not read further or open this rant if you are likely to be offended!
I always wanted to know but had no nice way to ask so I'm just gonna shoot.
Most of you must have worked/be working with foreign people: canadians, french, chinese, etc. How would you describe those people as colleagues [e.g. lazy, stubborn, chatty, etc.]? The goods and the bads would be perfect.
The topic is sensitive. Please be polite but sincere. This question nor its answers are not meant to offend anyone. We all have our cultural differences, we all have been taught different. I'm just wondering what could I or anyone else expect from each foreign teammate.15 -
Thoughts after a security conference.
The private sector, no matter the size, often plays a role (e.g. entry vector, DDoS load generating botnet, etc.) in massive, sometimes country-wide attacks. Shouldn't that make private businesses' CyberSec a matter of national security? Shouldn't the government create and enforce a security framework for private businesses to implement in their IT systems? IMO that'd also enforce standardised data security and force all the companies treat ITSec with at least minimal care (where "minimal" is set by the gov)
What are your thoughts?10 -
Need UX opinion.
I need to make a menu which is a single point for everything. Hierarchical menus is the default nowdays, but they get tedious as the entries' list grows and clicks-to-goal can become high af very quickly.
By "single point for everything" I mean that there's only one menu, as tiny (screen-space-wise) as possible, containing hierarchy of options.
What are other options?
What's your opinion on radial menus? I often see them in games and various eye-candies. Radials would solve the overflowed-list problem with classic menus (as radials can have multiple layers of items around the core) and they seem tiny. And I can easily imagine them in touch-enabled devices. How bad are they irl? Are they used in web or just in native apps? What are the trends?
I did my share of research but there's surprisingly little info covering this tool :)4 -
Finally!! I've managed to molest containerd and kubernetes!!
Now I can run k8s in a container :) yayy!!!
https://gitlab.com/netikras/KubICon
Next: figure out a way to automatically and transparently share certs6 -
I gues devrant android app got an update recently [last week?]? Notifications suddenly started to work. Yayy!
But in-app notifications broke. More often than not either tab in notifs [all, ++, comments, etc.] loads nothing and there's no way to re-fetch data manually. If _all_ breaks I have to browse each category manually to see what's new.
Is it just me or is anyone else experiencing this?
Galaxy s7 edge, stock everything.
P.S. I rarely get to rant about devrant :) -
okay, it has come to it.
Yes, I most likely have a faulty audio controller in my laptop.
Yes, I understand that that's probably why my speakers are making unusual background noises.
And yes, I realize that this might be the reason why I can't hear anything in my 3.5mm earphones.
But, why, dear Cinnamon, WHY do you have to keep me from any kind of system settings GUI? I can no longer launch the System Settings, Network settings, sound settings, etc -- no Settings at all.
And why did you have to freeze the whole Cinnamon the first time the problem appeared? The X didn't mind it, ffs! I could move the mouse around... but that's pretty much it. Apart from switching to TTYs and moving the mouse I couldn't do anything else in the UI.
That's pretty annoying. It's not like I can remove my audio controller... (I don't think breaking off the corner of my MB where the audio region is counts as 'remove the audio controller').
This first happened when I fried my wifi µPCIe card. That's alright - I could replace it and use system settings again. But now...? How the fuck do I go around that NOW???1 -
Note to self: keep not trusting online tutorials and ALWAYS, A.L.W.A.Y.S take them with a grain of salt.
Now why do you fine lads think `nmcli networking off && nmcli networking on` over ssh is a bad idea? And how to quickly make it suitable for over-ssh-execution? Let's see who knows shell! [HINT: see tags for an almost-answer]
... when people not sure what shell characters mean are writing tutorials... FUCK!12 -
2013 I guess. It's the year I jumped on the IT train. As a unix/linux sysadmin in a worldwide bank, been there for over 3 years. It was an amazing experience. Used a lot of my knowledge and learned even more. Got a chance to play around with enterprise software and hardware [remotely], deal with various vendors, have business with folks from all around the globe, learn enterprise processes, incident handling, be the initiator of automation of our processes,...
Boy it was an amazing year. In both professional and personal lives :) -
## Learning k8s
Interesting. So sometimes k8s network goes down. Apparently it's a pitfall that has been logged with vendor but not yet fixed. If on either of the nodes networking service is restarted (i.e. you connect to VPN, plug in an USB wifi dongle, etc..) -- you will lose the flannel.1 interface. As a result you will NOT be able to use kube-dns (because it's unreachable) not will you access ClusterIPs on other nodes. Deleting flannel and allowing it to restart on control place brings it back to operational.
And yet another note.. If you're making a k8s cluster at home and you are planning to control it via your lappy -- DO NOT set up control plane on your lappy :) If you are away from home you'll have a hard time connecting back to your cluster.
A raspberry pi ir perfectly enough for a control place. And when you are away with your lappy, ssh'ing home and setting up a few iptables DNATs will do the trick
netikras@netikras-xps:~/skriptai/bin$ cat fw_kubeadm
#!/bin/bash
FW_LOCAL_IP=127.0.0.15
FW_PORT=6443
FW_PORT_INTERMED=16443
MASTER_IP=192.168.1.15
MASTER_USER=pi
FW_RULE="OUTPUT -d ${MASTER_IP} -p tcp -j DNAT --to-destination ${FW_LOCAL_IP}"
sudo iptables -t nat -A ${FW_RULE}
ssh home -p 4522 -l netikras -tt \
-L ${FW_LOCAL_IP}:${FW_PORT}:${FW_LOCAL_IP}:${FW_PORT_INTERMED} \
ssh ${MASTER_IP} -l ${MASTER_USER} -tt \
-L ${FW_LOCAL_IP}:${FW_PORT_INTERMED}:${FW_LOCAL_IP}:${FW_PORT} \
/bin/bash
# 'echo "Tunnel is open. Disconnect from this SSH session to close the tunnel and remove NAT rules" ; bash'
sudo iptables -t nat -D ${FW_RULE}
And ofc copy control plane's ~/.kube to your lappy :)3 -
As my apt renovation is nearly completed it's time to get all the cool toys. And that's where I need your ideas :)
what should I get? What techie-stuff would you think is worth considering?
I for one have wet dreams about vacuuming robots. Not a roomba ofc [bcz it ties to Apple], smth else. I get that an opensource robot would be a pipe dream, but I'd love smth I could control via bash scripts [prolly via lan] at least. Some api would be nice :) . Any advices here? Cleaning quality should be way above 'okay'.5 -
WE: javaagent-based monitoring, as seen in this screenshot <attached>, is reporting full old-gen, full young-gen, full one of the survivors and a sky-rocketing full GC right before the service outage.
WE: container monitoring in this screenshot <attached> shows that the application peaked its memory very suddenly to MAX values and platoed on that. Then container monitoring is blank, suggesting a complete outage of a few minutes. After that monitoring starts again with memory usage reported at low levels and immediatelly spiking back to MAX again, suggesting the container crashed and had been respawned by an orchestrator. This repeats a few times throughout the day.
they: I did not find any evidence of application running out of memory. Maybe our monitoring is not working correctly?
we: *considering updating our resumes* -
Lack of sleep, being tired.
Yepp, that is boring. But that's what kills my productivity. Anything else is just excuses for being lazy..Because of lack of sleep and being tired -
Oooh no. A golden fish would do. A Leprechaun too. Maybe I'd give a shot with a unicorn. But God sees I'm not going to have any business with geanies! No sir! Especially when we're talking about important matter, like dev!
-
Like this
```
((Type.ClassType) typeElement.getSuperclass()).asElement().baseSymbol();
((Symbol.ClassSymbol) typeElement).baseSymbol();
//((Type.ClassType) typeElement.getSuperclass()).asElement().getEnclosedElements().get(2);
((Type.ClassType) typeElement.getSuperclass()).asElement().getEnclosedElements().get(8);
//mirrorToElement(typeElement.getSuperclass());
Type type = (Type) typeElement.asType();
//Symbol symbol = ((Type.ClassType) typeElement.getSuperclass()).asElement().getEnclosedElements().get(2);
Symbol symbol = ((Type.ClassType) typeElement.getSuperclass()).asElement().getEnclosedElements().get(8);
//new Types(((JavacProcessingEnvironment) processingEnv).getContext()).memberType(type, symbol);
((JavacTypes) processingEnv.getTypeUtils()).types.memberType(type, symbol).getReturnType();
//((Type.ClassType) typeElement.getSuperclass()).asElement().getEnclosedElements()
``` -
I'm thinking about starting a blog. Though I have no interest in building it myself, esp. when we already have plenty blogging platforms out there.
What blog platform would you recommend?3 -
npm XXXXXX -f
seems to be the only way to make it work... sadly :( Even though I have no idea what I am doing.4 -
Every time I move the cursor in a file or press alt+tab I hear bed springs squeaking. It's getting annoying :/4
-
Oi, good lads! Here's a question
Do you meditate at work? If you do, would you mind sharing:
- what does it look like? i.e. half an hour of your lunchtime or a task in Jira for that or smth..? are you doing it individually or in groups?
- is it a part of your company culture or just smth you do on your own?
- how often? How long?
- which technique?
- would you recommend?
- which country is this in?
I'm thinking to suggest mindful meditation in my company as I've noticed it's significantly improved my critical thinking and judgement - something others could benefit from as well. And I need some examples, pros/cons, possible ways of implementation, etc.4 -
Spent 3 nights to make a single unittest pass. This night - sleep was soooo satisfying - i've finally felt I deserved to rest2
-
Curious.. What cli mnemonics do you use?
Here are my favourites:
-siLk [curl]
-netpaulo [netstat] [Paulo, the Networks guy]5 -
What the f*...
SomeType {
var something = {
somethingElse: "blah",
whatever: "halb"
}
var doStuff = function() {
this.something.whatever = "foo";
}
}
Based on what fucking logic are you claiming "something" is _undefined_ while running doStuff()??? What the fuck is wrong with you??? It's a freakin' static context!!!! "SOMETHING" IS DESIGNED TO BE DEFINED ! ! ! ! !8 -
How come calm shit like this keeps me awake? And the moment I take my headset off - eyes close shut?
I don't get it...
https://youtube.com/watch/...1 -
- load tests via web
- load tests via api
- figure out why the fuck hibernate started proxying Blob.class after migration rather than using jdbc implementation, like before
- fix ^^
- reconfigure tomcat to ditch random for urandom completely [still getting econnreset]
- continue conversation with sysadmin, tester, analyst, 2 PMs, infra architect, junior dev
- provide immediate support for analyst and tester as soon as they need it
- provide support to another dev on another project
and that's my today's todo list. I think I need more personalities [more threads] to keep going -
Come back home after 2 months of absence (during quarantine I was away) just to find that tomorrow I'll be WFH w/o internet.
Sounds like it's gonna be a productive day!1 -
Hey, internet! Does chrome/FF have any plugins enabling any tab to become a monitoring dashboard? I have too many monitoring tools to keep an eye on at the same time... Opening multiple chrome windows and tiling them on the screen is one way, but tile 6 windows and the desktop gets cluttered by taskbars/arrdessbars/other stuff. Doing it all in one tab would save space.
Soo.. anyone knows the right tool for the job? TIA1 -
oh, and #4
Not something I'd be very proud of, but I see people liked it. Back in the day I think it was cool indeed.
You know Conky, right? Soo... I made it clickable :)
https://github.com/netikras/...
demo: https://youtube.com/watch/...
pardon the lag.. I was using an atom netbook to record that demo :)
P.S. the repo is no longer maintained. -
TIL: apparently we are gold-collar workers :)
Neither white nor entirely blue. We are gold!
Well how about that!2 -
GitLab, you really should fix your CI.
I mean, I know .gitlab-ci.yml has to be written carefully, having in mind that GL shell is a castrated bourne shell, but come on... Failing a pipeline because I used a semicolon in an `echo` parameter string?
echo ""items: 0" ## this will fail
echo "items 0" ## this will pass
This is a bit too much.
Removed the semicolon and the pipeline worked just fine.11 -
## Learning k8s
Okay, seriously, wtf.. Docker container boots up just fine, but k8s startup from the same image -- fails. After deeper investigation (wasted a few hours and a LOT of patience on this) I've found that k8s is right.. I should not be working.
Apparently when you run an app in ide (IDEA) it creates the ./out/ directory where it stores all the compiled classes and resources. The thing is that if you change your resources in ./src/main/resources -- these changes do NOT reflect in ./out/. You can restart, clean your project -- doesn't matter. Only after you nuke the ./out and restart your app from IDE it will pick up your new resources.
WTF!!!
and THAT's why I was always under an impression that my app's module works well. But it doesn't, not by a tiny rat's ass!
Now the head-scratcher is WHY on Earth does Docker shows me what I want to see rather than acting responsibly and shoving that freaking error to my stdout...
Truth be told I was hoping it's k8s that's misbehaving. Oh well..
Time to get rid od legacy modes' support and jump on proper implementation! So much time wasted.. for nothing :(9 -
Anyone from dranters attending devconf cz? Is registration required? Or am I late to the party already?1
-
Hmm..
My game changing caching proxy [mitmcache] in CI implementation works miracles in localhost. It shaves off build times significantly: what used to build in ~2min now builds in 18sec.
However, this doesn't seem to be true in CI... For some reason build times remain the same [more or less] when cached and considerably longer when the cache is cold/empty..
Damn it.
I don't understand why...
A week wasted. And I have to explain the client why me failing in this is a good thing, so I'd get paid
https://gitlab.com/netikras/...