AboutI'm a fast typer and a slow eater. I enjoy long walks off short piers. I am the Florida Man.
Joined devRant on 1/8/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
This week in Programming Language appreciation: the multiplication operator in Python. You can use it on strings and arrays for incredible ease of use. For a horizontal line in a terminal?
print("-" * 30)
Very helpful, and I have used it a lot. And I miss it in other languages.13
Something I discovered at work today:
A sub procedure that takes three arguments:
A table name
It concatenates all of those values together and executed the dynamically generated query.
800 line file.
Could be 300 lines but despite having version control, the devs didn't have the balls to remove any of the code. Just commented it out or appended _old to the function names.
"It's easier to undo than version control"
Sure, but how much time are you spending wading through the waist-high swamp of shitty, useless code?7
Angular and MVC really slows shit down, doesn't it?
I added 1 (one) page which displayed two data grids,straight out of a database procedure. Here's the head count:
- 13(!!!!!) New files
- 5 old ones modified
- Build process on both server and client side (Visual Studio build and ng build)10
FATAL: Unknown parameter
FATAL: Unknown parameter
*googles get java version*
openjdk version "1.8.0_252"
What I already knew: hard disks made of crystal exist which can store 360TB of data for billions of years, they're just really slow.
What I didn't know: Elon musk owns the first and second disks and one of them was launched into space alongside is Tesla roadster! (He personally has the second)4
This morning: Two projects, neither working, both hopelessly broken (think: won't even build)
By lunch: both fixed.
A happy meal6
Something I probably shouldn't talk about:
One of the projects at work has a specific path you can visit. The """security""" is that nobody should know the path. But I can guaran-fucking-tee you it's not difficult to guess.
On this page, ***without a login***, you can view some user information. Well, you can view all of it, but only certain fields.
And if you perform a specific action on this page, you can get their password, plaintext.
This project is not mine. But learning all of this made me super uneasy. I had to share it.15
I've always liked Windows more than MacOS, but known deep in my heart that MacOS is more polished. More shiny, attractive, makes more sense, is easier to use, etc. Windows was never that far behind (however, they were probably furthest behind in Vista and 8), but they were always behind.
Looking at the new MacOS, I genuinely think that Microsoft offers a better experience now. While Android and iOS are still firmly battling, Windows just beats the living shit out of MacOS.
Windows is an OS built for either touch or mouse. If you use touch controls, the OS automatically adapts to it (larger context menus if you press and hold, smaller ones if you right click). You can enter tablet mode. The start menu has a good interface for both touch and mouse.
MacOS is an operating system designed for touch input on a device which famously has none.
It has fallen victim to a very common design error: too much fucking spacing. Every little thing, even items in a list, has a ton of pixels between them, and they all have rounded corners. Again, this is common for touch displays where you don't wanna fat finger stuff. But they don't offer a touch screen Mac and have expressed no interest in ever doing so.
Now they're going ARM on custom silicon. This is a good move in the long run, but it's going to be a rough couple of years. Apple admits two. You can probably reliably double that.
Is Apple killing the Mac on purpose or by accident?5
I hated the detailed, shadow-y icons that Windows 10 implemented a while back.
Now CopyApple is using them too...
Am I just crazy? Am I wrong about this new design trend being total ass?
Also: Apple literally copying everything now huh.13
It's official. I'm making multiplayer Minesweeper.
There's a Trello board, Discord server, and GitHub repo.
Initial gamemodes will be singleplayer, public (like agar.io) and vs (2+ players, support for teams is planned).
My big idea besides that is to have interesting powerups you can buy or find, adding a component of luck and some exciting new rules to the game.
And I may even put ads on it and try to feed myself.14
The amount of times I have read "I can't summit the application" in user issue tickets has prompted me to make this4
On the screen: four text boxes cycling through rainbow color backgrounds and spinning wildly in circles.
Manager walks in.
Here's the context.
We were pair programming and working on a simple form. We were just finishing up the style, and I suggested we use a CSS3 animation to make the invalid fields pulsate a light red once.
I'm the young guy in the office, so I am most familiar with the "new" front end stuff like flex and CSS3.
My colleague was unfamiliar with CSS3 animations, so I implemented the red flash quickly and showed him.
He was curious what else you could do with CSS3 animations, so I changed my "to/ from" to a "0%/ 25%/ 75%/ 100%" style animation to show how keyframes worked. Then I made the animation iterations infinite so it went on forever. Of course, I didn't have any normal colors on hand so I just went with my debug colors: red, green, blue, yellow, etc.
We submitted the form with invalid inputs and sure enough, they flashed rainbow colors. It looked pretty funny so I thought "haha, lets quickly add rotation while we're at it"
That's the point where the education turned to a little fun but it wasn't going to take more than a second.
So we did it and it looked pretty funny and it actually made me laugh. Then we started discussing next steps on the form (back-end). Discussion lasted maybe five minutes before our manager visited to update us.
As we were discussing, the invalid controls were still spinning and rainbow colored in the background. Whoops.
The words we managed to say were just "It's invalid" and then we broke out laughing.3
One week, and it turned out to be worse than that.
I was put on a project for a COVID-19 program in America (The CARES Act). The financial team came to us on Monday morning and said they need to give away a couple thousand dollars.
No big deal. All they wanted was a single form that people could submit with some critical info. Didn't need a login/ registration flow or anything. You could have basically used Google Forms for this project.
The project landed in my lap just before lunch on Monday morning. I was a junior in a team with a senior and another junior on standby. It was going to go live the next Monday.
The scope of the project made it seem like the one week deadline wasn't too awful. We just had to send some high priority emails to get some prod servers and app keys and we were fine.
Now is the time where I pause the rant to express to you just how fine we were decidedly **not**: we were not fine.
Tuesday rolls around and what a bad Tuesday it was. It was the first of many requirement changes. There was going to need to be a review process. Instead of the team just reading submissions from the site, they needed accept and reject buttons. They needed a way to deny people for specific reasons. Meaning the employee dashboard just got a little more complicated.
Wednesday came around and yeah, we need a registration and login flow. Yikes.
Thursday came and the couple-thousand dollars turned into a tens of millions. The amount of users we expected just blew up.
Friday, and they needed a way for users to edit their submissions and re-submit if they were rejected. And we needed to send out emails for the status of their applications.
Every day, a new meeting. Every meeting, new requirements that were devastating given our timeframe.
We put in overtime. Came in on the weekend. And by Monday, we had a form that users could submit and a registration/ login flow. No reviewer dashboard. We figured we could take in user input on time and then finish the dashboard later.
Well, financial team has some qualms. They wanted a more complicated review process. They wanted roles; managers assign to assistants. Assistants review assigned items.
The deadline that we worked so hard on whizzed by without so much as a thought, much less the funeral it deserved.
Then, they wanted multiple people to review an application before it was final. Then, they needed different landing pages for a few more departments to be able to review different steps of the applications.
Ended up going live on Friday, close to a month after that faithful Monday which disrupted everything else I was working on, effective immediately.
I don't know why, but we always go live on a Friday for some reason. It must be some sort of conspiracy to force overtime out of our managers. I'm baffled.
But I worked support after the launch.
And there's a funny story about support too: we were asked to create a "submit an issue" form. Me and the other junior worked on it on a wednesday three weeks into the project. Finished it. And the next day it was scrapped and moved to another service we already had running. Poor management like that plagued the project and worked in tandem with the dynamic and ridiculous requirements to make this project hell.
Back to support.
Phone calls give me bad anxiety. But Friday, just before lunch, I was put on the support team. Sure, we have a department that makes calls and deal with users. But they can't be trained on this program: it didn't exist just a month ago, and three days ago it worked differently (the slippery requirements never stopped).
So all of Friday and then all of Saturday and all of Monday (...) I had extended panic attacks calling hundreds of people. And the team that was calling people was only two people. We had over 400 tickets in the first two days.
And fuck me, stupid me, for doing a good job. Because I was put on the call team for **another** COVID project afterwards. I knew nothing about this project. I have hated my job recently. But I'm a junior. What am I gonna say, no?8
THIS JUST IN: American colleges are dedicated to renaming "master's" degrees to "main's" degrees, following GitHub's example12
There's a classic joke about how programmers check both ways on a one way street because users are so stupid.
Well I took a walk on my break and literally 30 seconds from the door to my building someone was going the wrong way on a one way street.
Does art imitate life, or does life imitate art?8
What's the WORST commonly used language to use for server side web development? By this, I mean which is LEAST fit for the job, not which one do you hate the most.
I vote Java. It's lack of creature comforts like operator overloading and it's verbose and strict nature are in direct contrast with the free-form nature of the web. At least C# lets you do some crazy stuff.32
Set up a chron job to backup my movies server.
copying 100-200 GB from a slow HDD to a slower HDD on a CPU that isn't exactly NASA material if you catch my drift.
I expected it to take a while but holy fuck, 45 minutes.
At least the archive finished at just 80GB.9
Maybe a stupid question but I can't seem to google the right words.
In Linux, how do I reference the same device (disk) through reboots? Like, there's no guarantee that /dev/sda1 will be the same device twice, right?
Like, if I have three or four disks and I want one for "backups", how do I choose that disk *every time*?4
So I was writing docs for my project the hard way. Manually. Every time I added something new, I had to find the right place for it to be alphabetically in the reference. And god forbid I want to have the same information in two pages: I would need to copy/ paste and pray that I not forget to update the information EVERYWHERE.
I didn't feel like installing and learning some new markdown generating bullshit so I just made my own system. It's very simple and intuitive and I love it.
I made sure it can cover two use case: reading partial documents from the disk, and rendering in-memory objects to markdown too (like rendering a collection of tuples into a table)
I didn't care much for templating, so there's no templating capability.2
So Minecraft Dunegons launched today.
Not my style of game, but I did purchase hero edition because fuck, the price is LOW given the IP attached and the fact that it was developed by Mojang. $20 for the full game and $30 for full game + extras? Incredibly refreshing in a market where $60 is standard for full game, and up to $75-80 for extras (like "I paid too much money" skins and such. I got a chicken pet and promise of two upcoming DLC with my extra $10)
Anyways I was happy with the price of a game for once and wanted to share!4
Probably Dennis Ritchie. Inventor of a timeless language and member of the Unix project at Bell. I think his work is significant and he lived his life, then died a good man.
Visual studio is rather silly.
In one project, just changing the character set to unicode was enough for the program to work.
In another project, exact same code, I also needed to add a command-line argument to enable unicode.
Isn't. That. Just. Silly.4
I've always admired Robinhood for their design and color choice, but recently, they went with this neon hacker green scheme and it's fucking awful
Guess I'll fuckin try again tomorrow.
Building a cross platform c program. On Linux side, just using a makefile. Today I tried using visual studios "clone" feature for git. It just downloads the files and makes them available to the editor, it doesn't make a project, obviously.
But this has some disadvantages. For one, you can't build, or run. Two, you don't get any project properties. My project needs to set the character encoding to Unicode. Can't do that without a project.
So I use their tool to create a project from existing code. It didn't really work. The build profiles were janky at best and I still couldn't set the character encoding.
Ended up just deleting the whole thing.5