SkillsPhp, js, html/css, react, symfony, python
Joined devRant on 3/13/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
So customer services reported an issue, today I was asked to investigate it. Well, that code is written in 2005 and is such a mess that I barely can imagine something even worse.
So, I switched xdebug on and spent whole day trying to understand what that code does. Found the bug, explained to CS and apparently that wasn’t the bug I was looking for, they just put wrong description on the story...
Ok, I keep looking, then idea occurred that there is no bug in the first place, they just use the module the wrong way, so I go to UI and change the type of the record and boom it works.
What a day...2
My first encounter with programming was modding, there was a game mod GTA SAMP which allowed to play it online.
At some point I wanted to create my own server so I started following all kind of tutorials, which was very convenient for me, because the game was really popular at the time so there were a lot of tutorials in my native language, while at that moment I haven’t really understood english.
Anyway, one year passed, I have became professional in copy-pasting, but never really tried to understand how the code works, it was more like change something randomly and see if it works. Of course I started identify patterns, I started to feel like I know what I am doing, but there was one thing I couldn’t understand and it was loops.
One day I tried to implement a system, well it was actually copying already existing one and customizing it. It was looping through multidimensional arrays (at that moment I wasn’t even aware such thing exists). So I don’t remember the details anymore, but I got stuck, to get further I had to understand how loops work, so I spent days trying to implement whatever I was implementing, until it clicked, at that moment I understood it, I finally understood how loops work and not only that, I also understood how arrays work now. It felt great, it felt like whole new world of possibilities opened for me, I felt like I can create anything right now, in fact I felt like a god.
I was 12 years old at that moment, but that story, it got stuck in my head, I always keep remembering it and I think it’s because that moment was the moment when I realized that nothing is impossible in this world.5
Together with Ken Thompson designed UTF-8, and created golang.
I also like his simplicity idea in software development:
“Data structures, not algorithms, are central to programming.”9
How fucking degraded you must be to ask a visitor to login so he can search a product on your ecommerce site. How the fuck making an account is going to convert into sales, if that user yet hadn’t found what he’s looking for and don’t want to waste his time filling your stupid register forms? Why the fuck, ecommerce site forces an account on their customers at all? Looking at you aliexpress.
Is it some kind of China’s spying scheme?7
Have any RSS reader recommendations? Tried several from main stream like feedly, inoreader none fits me, as they are noisy UI&UX wise, low support for own rss sources or have other annoying shit... I am looking something simple in UI but powerful in organising && personalising aggregated content - would be awesome to set custom filters, maybe even be able to script it. Also prefer self-hosted solution, but not necessarily, as long it can be accessed from all devices online.
Does something like that even exists? O should I start new side project?3
Any electrical engineers/tech hackers here?
I am planning to do raspberry & arduino project, basically it’s TV ambilight, but with camera recording the tv screen. Now I have a lot of stuff figured out already, will use wide angle camera connected to raspberry (so I can use it very close to the tv), it’s gonna record screen at lowest resolution which should be enough to analyze colors through opencv and has quite high bitrate. Behind the tv will have led strips around with arduino hooked, which has wifi shield connected.
Now key here is to capture image, analyze it, build array of colors and send it to the arduino to change the colors of led and everything 60 times per second (fps to match tv).
Amount of data is 0.3kb with 100 24bit leds, which is incredibly low.
I am not entirely sure how wifi works internally, but will it be handle to transfer data 60x/s, where not the size is the problem but actually the amount of transfers done? I should also take into account all other appliances using the wifi (pc, philips hue, phone...).
Or will it be more reliable to hook led’s directly to raspberry through wire (which’s also a cheaper option)?7
Me (cycling) vs Google maps:
G: in 100m turn left
G: stay on *** street and in 500m turn left
G: go straight and in 200m turn left
M: wtf google that’s where I came from...
M: *let’s try again
G: go straight
M: *does, passes oblique crossroad, but goes straight as google said
G: *a lot of talking that doesn’t make sense, perhaps recalculating
G: head west and make U turn
G: head east and make U turn
G: head east and make U turn
M: where is fucking east bitch?
M: stops to check the map on phone: shows to head straight 😩
* a few moments later
M: *heading single road that has no turns, for a few kilometers
G: in 100m turn left
G: turn left
M: *just follows the same road that has a slight turn and nothing else, then looking around if I missed any turn
G: head straight
M: bitch, the fuck you need to confuse shit out of me, single road is a fucking straight, not a fucking turn...
I am even surprised that I managed to reach my destination with such a shitty navigation...3
Had conversation with a software engineering student (S):
S: what kind of work you do?
M: I am web developer, working with PHP mostly.
S: some research group in my uni said that PHP is going to die and no one is using it anymore.
M: oh yeah? Well, that’s bullshit. 80+% of the internet is based on php, someone will need to support it.
S: Have your heard about asp.net core?
M: No, what’s that?
S: it’s a web framework that’s gonna kill php.
M: what’s so special about it?
S: it’s better than php
M: but why?
S: do you know [some local company name]?
M: no, what is it?
S: it’s this huge company that use asp.net core for everything so they don’t need php...
Now as I think about it, does asp.net core and sitecore has something in common 🤔?12
So it’s Monday again with shitty beginning...
Need to fix release blocking bug for ie11, so I try to download virtualbox and their ssl is expired for their download subdomain. And they have no other download servers. Awesome...2
So, it’s 2nd week of the sprint, and I literally received to do only all the shitty stories.
During sprint I only wrote 3 lines of code to fix a bug for a workaround (yup...).
All other time went into analyzing impact for future features, bugs and other bullshit. But implementing them is not in scope of the upcoming release...
And today I have been working as a QA, because our actual QA doesn’t have time to test everything our two other devs on the team implemented.
Also I can’t pickup anything new, because there is no time left in sprint thus I am stuck doing all above.
SO FUCK AGILE, SCRUM AND THIS MOTHERFUCKING SPRINT!!!5
It’s still work in progress, but let me tell you about it...
I was thinking about the ways how to optimize programming without writing all that repetitive code over and over again (especially in OOP with all kind of similar objects).
So I took a challenge to design easy to use and still flexible solution to generate code. What I came up with was inspired by a lot of different open-source projects like Symfony/MakerBundle, hygen.io and some others. Anyway, it’s a CLI tool, where you can script code templates, define input prompts and of course generate code, plus it’s easy to distribute because by default it supports git and can perform operations directly through it.
I designed new DSL for markup, similar to xml, meant to escape all kind of code by default. Same code template also can be scripted in the same file via python, including some settings like filename. Basically idea is to have self contained template files without scattered files all over the source code (like one for code, other for template...).
Stopped working on my side project until I figure out concurrency issue I had. A few weeks later I found out golang channels are blocking which exactly what I need.
Now I used channels in my implementation from the very beginning, so that means I actually never had that imaginary issue.
Refinement story from PO: can see soft deleted user data, that shouldn’t be possible
Dev: can’t replicate
PO: it’s common to soft delete user directly from database.
What the fuck?4
On 2016 I bought a new macbook pro 13’ 2015 mid. I loved it, I still love it, it works so smoothly even after 3 years and I am restarting it only once a month (or even less). I loved it so much, that I completely moved to whole ecosystem: new iphone X - which I love too, apple watch - which is awesome for my cycling workouts.
Anyway, a few month ago I changed a job, and when they asked what laptop I want it’s just natural that I requested macbook pro. And now I regret it...
I got macbook pro 13’ 2018, and it’s worst piece of shit I ever used. My old budget lenovo laptop for 400 euros worked way better than this crap.
* top touch bar is a fucking joke, if I want to skip/pause music, change/mute volume I need at least 3 clicks - good job apple, that’s super productive. I would rant about esc key too, but I kind of got used to it, still I prefer to feel it. But nah, got new keyboard so it doesn’t matter.
* sometimes it doesn’t charge, the only way to fix it - restart.
* if I close laptop it doesn’t sleep, that means every time I go away I need to explicitly tell my laptop to sleep. That wasn’t a case in 2015 model.
* after sleep mode it doesn’t detect my jack connected headphones anymore, so I need to replug them - this one is super annoying, considering I am working in open office.
* Something is always crashing or not working, in 2 months there was no a single time that it would last a single week without restarting.
So yeah, fuck you apple, not ever again gonna buy any of your products nor gonna recommend it to anyone.8
If you ever create an app without consulting UX designer, then at least use pinterest as an example what not to do:
1. Registering to see content - can’t count how many times I left web because of that (even having an acc, sometimes just to lazy to login).
2. Stop fucking forcing user to do things - in pinterest when you create an account you will see a popup to select 5 interests. You don’t want to? Leave. You don’t find 5 things in the list that interest you? Well, that’s your problem you are so boring. And fuck you pinterest, no one cares about your AI algorithms.
3. Do not fucking spam your users. Really, no one cares about what new content your stupid AI algorithm generated daily.
4. And last one, not specific to pinterest, but if you have live pagination, then please scroll user to the top of the screen after changing the page.
So just now I googled my name and found this website locatefamily.com that contains my full name, my fucking address and even my phone number - what the fuck, how this shit is even legal?5
Useless. Was freelancing while still in high school and after graduating got a job immediately after moving out to other city. Was studying just because my parents wanted me to. Was studying there for a half the year, then dropped out and focussed just on my job. After a year moved to the Netherlands to study, because my parents didn’t like that I dropped out. Guess what? I dropped out after a half the year and got a good paying job there.
Perhaps the only thing I got from studies was some friends I am still keeping in touch with. And also it gave me good pretext to end up where I am now, otherwise probably I would have stayed in my home country, that I must say, hate living in.1
Having LAN party tomorrow at the company. So I tried to install windows via bootcamp on my mac and it failed, leaving me with undeletable APFS container (partition) of 40GB.
Ended up wiping out whole ssd drive and reinstalling fresh os x. Normally I would be angry as fuck, but not this time. Planned this for a while already but was too lazy to do that earlier.
Oh, and finally started using encrypted filesystem.2
So, like probably for 3 years already, I had this open source project idea for cli tool that would increase development productivity. Since then I partially implemented it 2 times already.
First time was in elixir, but I abandoned it, because it haven’t fit my requirements.
Second time, i tried golang, I felt in love with language, but I missed some stable dependencies that I didn’t want to implement myself, so I abandoned it before I started.
Third time, I chose python, it had everything I needed, and I am already halfway finished the implementation. But I lost all motivation, so I haven’t done anything for the last 2 months, and reason for that is that I don’t really enjoy writing python code and also I wasn’t sure how to structure everything.
Now I am originally php developer, and I kind of convinced myself that php is not a good language to implement cli tool and yet I feel that I would like to start over again in php. I know the language inside out, I know how to structure everything and so I can be way more productive in it.
Also, one more reason I didn’t pick up php was distribution, when I am finished, I would like everyone to use this tool, even outside php and I believe it’s not easy with php. Consumers would need to install php, perhaps composer too and knowing php reputation that could be drawback.
Anyway, I feel depressed about this project and I am not sure how I should approach this issue which exists only in my mind, I would like to hear what you have to say.15
Finished my first week at the new company. Fucking love it.
Manager: we made a 3 week program for you, so you can get used to everything, adjust your pace, and when you feel ready, you can start getting real tasks.
*program literally contains plenty of 1hour meetings (had like 10 this week) with different people, also assignments that are intended to train me, but they have no value to the project (like think an imaginary field and add it to current application)*, except for last one which is to fix a real bug in their most legacy application.
Me *to team lead*: do I really need to do those imaginary assignments, can I just fix that bug already?
Me: *fixes the bug* I am done!
Manager: congratulations on your first finished task!
Everyone else in the office: *starts clapping*
*everyone treats me with respect*
*I get my second and third tasks*
*at the end of the day I go to the company’s own bar to get some free beer*6
1. Gaming, though I focus mostly on mainstream games and my all time favorite is deus ex series (second - TES).
2. Anime. Dragon ball was a huge part of my childhood, and today it’s still my favorite show next to one punch man.
3. Manga. I picked it up quite recently and it’s awesome, but it’s also expensive so I learned to enjoy it only while traveling. I am still reading my first one and it’s Tokyo Ghoul.
4. Embedded electronics. Again, I picked it up quite recently and really enjoying it, still working on my first project that I did with raspberry pi (iot led strip), also posted a story(rant) a while ago.
5. MTB cycling. While it’s not really that geeky, it’s my most favorite hobby I picked up last year June and since rode 1200km on mostly flats and also had my first 100km trip. This year I am planning to focus more on trails and expect learning more technical riding.3
So, I ranted before a lot about changing my job, also that I found quite decent workplace that I will start working at next week (https://devrant.com/rants/1929213/...).
Today was my last day at my old job. At the end of the day, my boss and a few colleagues, we opened some beers. We all agreed that at summer we all will meet again to run 10 kilometers in annual running event. Also, boss offered an opportunity to go back to my home country and open there a business unit that I would be all responsible for. Well, that sound awesome, and that may be a good opportunity for the future, that I may use one day, just not today.
Anyway, I get back home, see the flowers on the ground and my name on it. Ok, going to my room thinking who in the world could send flowers to me and I see a note hanging:
“Dear, gintko, Welcome to [New Company], we look forward to working with you.
Greetings, your new colleagues”.
So yeah, can’t actually believe that in the world there exists real companies that actually care about their employees, to the level that they sends flowers to their home. And I am going to be part of it! Now I am even more excited to start working there.3
At the moment I live in flat with other 5 people, I also have internet contract, so everyone pays me for wifi connection. Now there was this guy from Poland who moved in recently, and I think he asked someone from the flat for wifi credentials and told me that he has his own internet already so he won’t pay me.
Now I could just change credentials, but I wonder, maybe I could have some fun. Shall I nuke his wifi connected devices? Maybe spread some virus? Any suggestions?5
Last 2 days left to work at current company and I fucking hate it, never in my life I felt so unmotivated.2
What can be worse than Monday?
Monday, in the new office, with broken heating while it’s -8 Celcius (33.8F) outside, and not enough power to run 2 home heaters of 1k watts.2
It was all before flex and grid, and other modern features.
To achieve that, you needed to create tons of nested elements, that simulates table behavior and... Shit it hurts me to even remember that non-sense.5