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 - "not only python"
-
Sit down before you read this.
So I interviewed a guy for a "Support Engineer" internship position.
Me and the team lead sit down and are waiting for him to enter, but apparently he's actually making a coffee in the kitchen.
This isn't exactly a strike since the receptionist told him that he can go get a drink, and we did too. It's just always expected for him to get a glass of water, not waste 3 minutes brewing a coffee.
In any case he comes in, puts the coffee on the table, then his phone, then his wallet, then his keys and then sits on our side of the table.
I ask him to sit in front of us so we can see him. He takes a minute to pack and tranfer himself to the other side of the table. He again places all of the objects on the table.
We begin, team lead tells him about the company. Then I ask him whether he got any questions regarding the job, the team or the company . For the next 15 minutes he bombards us with mostly irrelevant and sometimes inappropriate questions, like:
0: Can I choose my own nickname when getting an email address?
1: Does the entire department get same salaries?
2: Are there yoga classes on Sundays only or every morning?
3: Will I get a car?
4: Does the firm support workspace equality? How many chicks are in the team?
5: I want the newest grey Mac.
And then.. Then the questions turn into demands:
6: I need a high salary (asks for 2.5 more than the job pays. Which is still a lot).
I ask him why would he get that at his first job in the industry (remind you, this is an internship and we are a relatively high paying company).
He says he's getting paid more at his current job.
His CV lists no current job and only indicates that he just finished studying.
He says that he's working at his parent's business...
Next he says that he is very talented and has to be promoted very quickly and that we need to teach him a lot and finance his courses.
At this point me and the team lead were barely holding our laughs.
The team lead asks him about his English (English is not our native language).
He replies "It's good, trust me".
Team lead invites him for an English conversation. Team lead acts like a customer with a broken internet and the guy is there to troubleshoot. (btw that's not job related, just a simple scenario)
TL: "Hello, my name is Andrew, I'm calli..."
Guy: *interrupts* "Yes, yes, hi! Hi! What do you want?"
TL: "Well, if you let me fi..."
Guy: "Ok! Talk!"
TL: "...inish... My internet is not working."
Guy: "Ok, *mimics tuning a V engine or cooking a soup* I fixed! *points at TL* now you say 'yes you fixed'".
Important to note that his English was horrible. Disregarding the accent he just genuinely does not know the language well.
Then he continiues with "See? Good English. Told you no need to check!".
After about half a minute of choking on out silent laughter I ask him how much Python experience he has (job lists a requirement of at least 1 year).
He replies "I'm very good at object oriented functional programming".
I ask again "But what is your experience? Did you ever take any courses? Do you have a git repository to show? Any side.."
*he interrupts again* "I only use Matlab!".
Team lead stands up and proceeds to shake his hand while saying "we will get back to you".
At last the guy says with a stupid smile on his face "You better hire me! Call me back tomorrow." Leaves TL hanging and walks away after packing his stuff into the pockets.
I was so shocked that I wasn't even angry.
We both laughed for the rest of the day though. It was probably the weirdest interview I took part at.35 -
I fucking love people like this.
Yesterday I met a 'friend' who I hadn't seen in a very long time. Just a guy I used to know tbh but let's call him Friend anyway. After a while in the conversation this happened...
*Friend doesn't know I have a degree in CS*
Friend: "WHAT?? YOU LIKE PROGRAMMING? NO WAY! ME TOO!"
Me: "THAT'S AWESOME! You've been programming for long?"
Friend: "A little over a year now. I know almost all languages now. C++, C#, Python, Java and HTML. Still a couple left to go. Once you're on the level I achieved programming becomes really, really easy. How long have you been programming?"
Me: "Almost a decade now"
Friend: "Damn dude you must know all languages by now I suppose?"
Me: "I've been mainly doing C++ so not really haha"
Friend: "I can always help when you're struggling with one language. C++ is pretty easy tbh. You should learn others too btw. HTML for example is pretty important because you can program websites with it"
Me: "Yeah... Thanks... So... What project are you working on right now?"
Friend: "I'm making a register page for my very own forum. The only problem I have is that PHP won't save the login details"
Me: "Hahaha I know the feeling. MySQL?"
Friend: "What?"
Me: "What do you use to save your data"
Friend: "Just a txt file. It's easier that way."
Me: "Hahaha true. Who needs safety right? *smiles*"
Friend: "Actually it's 100% safe because only I can see the txt file so other people can not hack other users."
Me: "Yes! That's great! Cya!"
Friend: "I'm working on a mmorpg too btw! I can learn you to make games if you want. Just call me. Here's my number"
Me: "Alright... Thanks... Bye!"
*Arrives at home*
*Deletes number*
I do not make this up.
I can understand that someone who isn't in the CS industry doesn't take it too seriously and gets hyped when their "Hello World" program works.
I'm fine with that.
The thing that really triggers me is big headed ass holes like this. Like how much more like a absolute dickhead could you possibly more act? Fucking hate people like that.32 -
I'm a self-taught 19-year-old programmer. Coding since 10, dropped out of high-school and got fist job at 15.
In the the early days I was extremely passionate, learning SICP, Algorithms, doing Haskell, C/C++, Rust, Assembly, writing toy compilers/interpreters, tweaking Gentoo/Arch. Even got a lambda tattoo on my arm after learning lambda-calculus and church numerals.
My first job - a company which raised $100,000 on kickstarter. The CEO was a dumb millionaire hippie, who was bored with his money, so he wanted to run a company even though he had no idea what he was doing. He used to talk about how he build our product, even tho he had 0 technical knowledge whatsoever. He was on news a few times which was pretty cringeworthy. The company had only 1 programmer (other than me) who was pretty decent.
We shipped the project, but soon we burned through kickstart money and the sales dried off. Instead of trying to aquire customers (or abandoning the project), boss kept looking for investors, which kept us afloat for an extra year.
Eventually the money dried up, and instead of closing gates, boss decreased our paychecks without our knowledge. He also converted us from full-time employees to "contractors" (also without our knowledge) so he wouldn't have to pay taxes for us. My paycheck decreased by 40% by I still stayed.
One day, I was trying to burn a USB drive, and I did "dd of=/dev/sda" instead of sdb, therefore wiping out our development server. They asked me to stay at company, but I turned in my resignation letter the next day (my highest ever post on reddit was in /r/TIFU).
Next, I found a job at a "finance" company. $50k/year as a 18-year-old. CEO was a good-looking smooth-talker who made few million bucks talking old people into giving him their retirement money.
He claimed he changed his ways, and was now trying to help average folks save money. So far I've been here 8 month and I do not see that happening. He forces me to do sketchy shit, that clearly doesn't have clients best interests in mind.
I am the only developer, and I quickly became a back-end and front-end ninja.
I switched the company infrastructure from shitty drag+drop website builder, WordPress and shitty Excel macros into a beautiful custom-written python back-end.
Little did I know, this company doesn't need a real programmer. I don't have clear requirements, I get unrealistic deadlines, and boss is too busy to even communicate what he wants from me.
Eventually I sold my soul. I switched parts of it to WordPress, because I was not given enough time to write custom code properly.
For latest project, I switched from using custom React/Material/Sass to using drag+drop TypeForms for surveys.
I used to be an extremist FLOSS Richard Stallman fanboy, but eventually I traded my morals, dreams and ideals for a paycheck. Hey, $50k is not bad, so maybe I shouldn't be complaining? :(
I got addicted to pot for 2 years. Recently I've gotten arrested, and it is honestly one of the best things that ever happened to me. Before I got arrested, I did some freelancing for a mugshot website. In un-related news, my mugshot dissapeared.
I have been sober for 2 month now, and my brain is finally coming back.
I know average developer hits a wall at around $80k, and then you have to either move into management or have your own business.
After getting sober, I realized that money isn't going to make me happy, and I don't want to manage people. I'm an old-school neck-beard hacker. My true passion is mathematics and physics. I don't want to glue bullshit libraries together.
I want to write real code, trace kernel bugs, optimize compilers. Albeit, I was boring in the wrong generation.
I've started studying real analysis, brushing up differential equations, and now trying to tackle machine learning and Neural Networks, and understanding the juicy math behind gradient descent.
I don't know what my plan is for the future, but I'll figure it out as long as I have my brain. Maybe I will continue making shitty forms and collect paycheck, while studying mathematics. Maybe I will figure out something else.
But I can't just let my brain rot while chasing money and impressing dumb bosses. If I wait until I get rich to do things I love, my brain will be too far gone at that point. I can't just sell myself out. I'm coming back to my roots.
I still feel like after experiencing industry and pot, I'm a shittier developer than I was at age 15. But my passion is slowly coming back.
Any suggestions from wise ol' neckbeards on how to proceed?32 -
So a few days ago I felt pretty h*ckin professional.
I'm an intern and my job was to get the last 2003 server off the racks (It's a government job, so it's a wonder we only have one 2003 server left). The problem being that the service running on that server cannot just be placed on a new OS. It's some custom engineering document server that was built in 2003 on a 1995 tech stack and it had been abandoned for so long that it was apparently lost to time with no hope of recovery.
"Please redesign the system. Use a modern tech stack. Have at it, she's your project, do as you wish."
Music to my ears.
First challenge is getting the data off the old server. It's a 1995 .mdb file, so the most recent version of Access that would be able to open it is 2010.
Option two: There's an "export" button that literally just vomits all 16,644 records into a tab-delimited text file. Since this option didn't require scavenging up an old version of Access, I wrote a Python script to just read the export file.
And something like 30% of the records were invalid. Why? Well, one of the fields allowed for newline characters. This was an issue because records were separated by newline. So any record with a field containing newline became invalid.
Although, this did not stop me. Not even close. I figured it out and fixed it in about 10 minutes. All records read into the program without issue.
Next for designing the database. My stack is MySQL and NodeJS, which my supervisors approved of. There was a lot of data that looked like it would fit into an integer, but one or two odd records would have something like "1050b" which mean that just a few items prevented me from having as slick of a database design as I wanted. I designed the tables, about 18 columns per record, mostly varchar(64).
Next challenge was putting the exported data into the database. At first I thought of doing it record by record from my python script. Connect to the MySQL server and just iterate over all the data I had. But what I ended up actually doing was generating a .sql file and running that on the server. This took a few tries thanks to a lot of inconsistencies in the data, but eventually, I got all 16k records in the new database and I had never been so happy.
The next two hours were very productive, designing a front end which was very clean. I had just enough time to design a rough prototype that works totally off ajax requests. I want to keep it that way so that other services can contact this data, as it may be useful to have an engineering data API.
Anyways, that was my win story of the week. I was handed a challenge; an old, decaying server full of important data, and despite the hitches one might expect from archaic data, I was able to rescue every byte. I will probably be presenting my prototype to the higher ups in Engineering sometime this week.
Happy Algo!8 -
This one guy wanted a website to sell illegal drugs or something. Oh and he only offered $20 for it. Obviously I didn't take it.
There was another guy who wanted a calculator in Python. I'm not sure why, but I think he was a student who wanted someone to do his homework. He offered $250 so I took it. Once it was done, he didn't pay and blocked me.
I quit freelancing about two months ago or something since I was sick of it. Most clients are disrespectful.20 -
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
Every day.
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28 -
FOR FUCKS SAKE PEOPLE ! JS AND PYTHON ARE NOT THE BEST LANGUAGES NOR THE ONLY THING YOU SHOULD LEARN. THERE'S NO TOOL OUT THERE THAN CAN FIX EVERYTHING.
WTF HAPPENED TO THIS INDUSTRY IT'S AS IF JS AND PYTHON ARE ALL THEY TEACH THESE DAYS ...
ENOUGH ! BE A POLYGLOT OR GTFO (OR YOU CAN SPEAK ONLY 1 LANGUAGE AND STOP FORCING IT WHERE IT DOESN'T BELONG)
now that that's out of my system. bring it on59 -
curl cheat.sh — get an instant answer to any question on (almost) any programming language from the command line
tldr
do curl cht.sh/go/execute+external+program to see how to execute external program in go
And this question: why I actually should I start the browser, and the browser has to downloads tons of JS, CSS and HTML, render them thereafter, only to show me some small output,
some small text, number or even some plot. Why can't I do a trivial query from the command line
and instantly get what I want?
I decided to create some service that will work as I think such a service should work.
And that is how wttr.in was created.
Nowadays you probably know, how to check the weather from the command line, but if not:
curl wttr.in
or
curl wttr.in/Paris
(curl wetter in Paris if you want to know the weather in Paris)
After that several other services were created (the point was to check how good the console
can solve the task, so I tried to create services providing information
of various nature: text, numbers, plots, pseudo graphic etc.):
curl rate.sx/btc # to check exchange rate of any (crypto)currency
curl qrenco.de/google.com # to QRenco.de any text
And now last but not least, the gem in this collection: cheat.sh.
The original idea behind the service was just to deliver a various UNIX/Linux command line cheat sheets via curl. There are several beautiful community driven cheat sheet repositories such as tldr, but the problem is that to use them you have to install them first, and it is quite often that you have no time for it, you just want to quickly check some cheat sheet.
With cheat.sh you don't need to install anything, just do:
curl cheat.sh/tar (or whatever)
you will get a cheat sheet for this command (if such cheat sheet exists inf one of the most popular community-driven cheat sheet repositories; but it surely does).
But then I thought: why actually show only existing cheat sheets? Why not generate cheat sheets or better to say on the fly? And that is how the next major update of cheat.sh was created.
Now you can simply do:
curl cht.sh/python/copy+files
curl cht.sh/go/execute+external+program
curl cht.sh/js/async+file+read
or even
curl cht.sh/python/копировать+файл
curl cht.sh/ruby/Datei+löschen
curl cht.sh/lua/复制文件
and get your question answered
(cht.sh is an alias for cheat.sh).
And it does not matter what language have you used to ask the question. To be short, all pairs (human language => programming language) are supported.
One very important major advantage of console oriented interfaces is that they are easily
programmable and can be easily integrated with various systems.
For example, Vim and Emacs plugins were created by means of that you can
query the service directly from the editor so that you can just write your
questions in the buffer and convert them in code with a keystroke.
The service is of course far from the perfection,
there are plenty of things to be fixed and to be implemented,
but now you can see its contours and see the contours of this approach,
console oriented services.
The service (as well as the other mentioned above services) is opensource, its code is available here:
https://github.com/chubin/cheat.sh
What do you think about this service?
What do you think about this approach?
Have you already heard about these services before?
Have you used them?
If yes, what do you like about them and what are you missing?26 -
This happened when I was on third semester of the career at university. I had my first boyfriend, the "Python" guy. He has that nickname because he used Python as his main programming language and nobody on the classroom used it.
In a few words, he was a... horrible human being. He talked down to me almost all the time, saying to me that my country was sh*t (he is from United States, and for a reason he never wanted to told me, he cannot go back to his country), that my university was sh*t and he said "you're will be lucky if you rot programming in a chair".
As you might wondering, yes, unfortunately it was a toxic relationship. Once he said he wanted to kill the teacher because he though that he hacked his laptop D:
He claimed that he was going to teach me python and security stuff, bla bla bla, but nothing. I learned python by my own.
I almost lost my faith in dev future because I though that the only ones that could have a real future in programming where people without ethics and only if they have a friend or a relative on a company.
The saddest part was that I dated him because I love smart boys, but he was just an idiot that, furthermore, wanted to change me (he pressured me to have tattoos, dye my hair and have sex, things that, of course, I didn't do).
I found courage to break up with him. I waited until the semester ends (in order not to lose my programming final projects) and, the day after the last day of class, I broke up with him.
I recovered my faith on programming when, next semester, one of the teachers invited me to give a python programming workshop :D and I gave two python workshops, and two of mobile development.
Now I'm working as a junior .NET developer. Thank God I broke up with him before the relationship became even worse. "Python" wanted to marry me after a year! O_O11 -
A couple of months back I got an interview for a junior android devel position. I do not consider myself a junior devel, bt fuck it they paid 78k a year plus benefits and this is for south texas where it ain't thaaat expensive. So i kept my mouth shut and went with it.
The company was glorious, one of those hipsert marketing companies with cool couches and shit and people doing fuckign whatever all over the place and cool tools and desks.
So the initial interview with the hr dept went amazing, real cool guys and very down to earth. Next was the senior android dev.
This dude.
It was to be a phone interview, with a lil coding test. Fine whatevs. But the moment he called i knew shit was going down hill. Dude sounded dead af. Like he could not stand being himself that day. Asked asshole questions that every developer in Android should know that were frankly quite insulting ("what company develops the Android os" kind of deal) but kept my mouth shut and answered as needed.
Then the coding portion. Given a string, find the first position of the first repeated char, so if I had , fuck i dunno "tetas" then t was the first (and only) char repeated and it should have given out 2.
Legit finished it up in less than 6 mins and only because he was making me explain my entire thought process.
He got angry for some reason. Mind you I speak like a hippie, with a melow town and calm voice all the damned time, got that Texas swag going on as well as any good ol' boy from Texas should right?
Well this dude was not having none of that shit that day.
Dude was all like "ok now....why exactly did you do it this way?"
With a VERY condescending tone. And i explained that at first I normally think about solutions in pseudocode, so I wrote that as well...1 min or less. In python. This is after I still had the Java solution on screen with perfectly clean and working Java. I saif that since Python was as close to pseudocode as it gets that I figured i would just write the "pseudocode" in python and then map it to Java with all the required modifications.
"Welk i did not ask you to write it in java, so i dunno why you would even do that to begin with"
That is one of many asshole remarks. The first when I mentioned that I found React Native good for prototyping complex ideas for FUCKING FUN. Passion motherfucker. Shit so fly I do it for fun. "We don't deal with that here so I am not interested in what you can do with that or how would it help me"
Mofocka plz.
Well going back to the python shit. I explain (calmly) that it was just a way that I had to figure details, to think of different implementations. He continues by saying that it takes valuable company time.
Then he proceeds to tell me that he believes that i cheated since i fi ished the java "problem" too fast.
I told him that simple stuff like that should take even less for any senior java dev and that we could run another example if he wanted.
Bring it puto.
But no.
He then said that he still did not understand the need for Python in my solution. I lost it.
"Look man, getting real tired of your tone, i explained already, it is just a mental process, i do this when comming up with solutions, thinking in theory, not languages, helps me bridge the gap between problem and implementation, the solution works, it is efficient and fast and i can do it in 5 diff ways if you wanted, i offered and you said no. Don't really know what else you want"
"All i am saying, i am not going to hire you if you are going to be writing Python for Android, that is useless to me"
Lost it more.
I do sound different when pissed. So I basically told him that he asked for my reasoning behind and it was given, that not getting it was a you problem.
Sooooo did not get the job. Was relieved really. Can't imagine having a twat like that as a lead devel.19 -
2 hours, maybe 2.5.
No one works for more than that, it's not how brains work. Or bodies for that matter, you gotta pee eventually.
OK maybe I'm pedantic and shouldn't count breaks... But then where lies the threshold? A fifteen minute coffee break? An hour long lunch break?
Could we use scrum storypoints to brag then (I once finished 12 points in a day!) — not really, because they're not standardized units of work.
Lines of code then? Well, the dev who copy pastes Java classes would beat the guy adjusting a dense Python script, without necessarily doing more.
No, the only true measure is of course grams of amphetamine per week, and in that metric I win from everyone.
😂😅😶😣😓😟😖😧😵😰🚑16 -
TL;DR: don't fuck with your IT guy.
One of the guys in our office treats his laptop like shit, has dropped it a number of times and had managed to break the screen. There was a nice crack diagonally corner to corner across the screen with a nice black splotch around it making a good chunk of his screen unusable. Servicing the laptop would be too expensive and would mean being without the machine for several weeks forced to use a Mac.
I offered to replace the screen for him since I have experience doing laptop repairs. Once the screen arrived I kept the laptop for the evening and spent an hour replacing the screen. I left a note telling him he owed me $60 for my time.
He sees the note, laughs and says "I'll buy you lunch."
Not only does this guy only keep his word when offering to buy lunch about 10% of the time, when he does actually do it he charges it on the company card so it isn't really him paying for it. So I spent my lunch break writing up a little Python app which randomly fucks with his mouse and keyboard.
I sent him a message that I needed to run some tests on his new screen tonight so I'll be able to install it and set it to run on boot.
The app does things like:
Jiggle the mouse
Minimize all windows to show the desktop
Double click
Right click
Can't decide if I want to add in reboots as well.
I figure I'll leave it going until I get $60 worth of entertainment out of it.17 -
So I was taking a Linux class in college. I knew Linux pretty good at this point but it was a required course for my degree. I found some other people who were programmers in other languages like python and C and we just fucked around the whole semester. End of semester is coming up and the teacher poses a problem: write a bash script to do this complex thing that bash isn't the best language. But it's a Linux class. Everyone is typing away while the four of us are stunned, having no clue. So we did the only reasonable thing: write a bash script which echos a full python script to achieve it into a file, run that python script, then delete it. We submitted first and got extra credit. She threw it up on the projector as an "extrodinary example" of a good script, having not looked at it. She complimented us profusely, never turning around or reading it.12
-
A few weeks ago at infosec lab in college
Me: so I wrote the RSA code but it's in python I hope that's ok (prof usually gets butthurt if he feels students know something more than him)
Prof: yeah, that's fine. Is it working?
Me: yeah, *shows him the code and then runs it* here
Prof: why is it generating such big ciphertext?
Me: because I'm using big prime numbers...?
Prof: why are you using big prime numbers? I asked you to use 11, 13 or 17
Me: but that's when we're solving and calculating this manually, over here we can supply proper prime numbers...
Prof: no this is not good, it shouldn't create such big ciphertext
Me: *what in the shitting hell?* Ok....but the plaintext is also kinda big (plaintext:"this is a msg")
Prof: still, ciphertext shows more characters!
Me: *yeah no fucking shit, this isn't some mono/poly-alphabetic algorithm* ok...but I do not control the length of the ciphertext...? I only supply the prime numbers and this is what it gives me...? Also the code is working fine, i don't think there's any issue with the code but you can check it if there are any logic errors...
Prof: *stares at the screen like it just smacked his mom's ass* fine
Me: *FML*12 -
Had devRant installed for a while now and finally have something worth sharing.
This happened in my last Python lab at uni:
Me: *Working away at this week's assignment*
Dude next to me: You know last week's assignment?
Me: Yes?
Dude: Did you test you solutions to the exercises?
Me: Yes
Dude: Oh, I didn't. Do you think I'll lose marks?
Me: Yes
I can only hope I'm not forced to work with this guy on group assignments...10 -
Every step of this project has added another six hurdles. I thought it would be easy, and estimated it at two days to give myself a day off. But instead it's ridiculous. I'm also feeling burned out, depressed (work stress, etc.), and exhausted since I'm taking care of a 3 week old. It has not been fun. :<
I've been trying to get the Google Sheets API working (in Ruby). It's for a shared sales/tracking spreadsheet between two companies.
The documentation for it is almost entirely for Python and Java. The Ruby "quickstart" sample code works, but it's only for 3-legged auth (meaning user auth), but I need it for 2-legged auth (server auth with non-expiring credentials). Took awhile to figure out that variant even existed.
After a bit of digging, I discovered I needed to create a service account. This isn't the most straightforward thing, and setting it up honestly reminds me of setting up AWS, just with less risk of suddenly and surprisingly becoming a broke hobo by selecting confusing option #27 instead of #88.
I set up a new google project, tied it to my company's account (I think?), and then set up a service account for it, with probably the right permissions.
After downloading its creds, figuring out how to actually use them took another few hours. Did I mention there's no Ruby documentation for this? There's plenty of Python and Java example code, but since they use very different implementations, it's almost pointless to read them. At best they give me a vague idea of what my next step might be.
I ended up reading through the code of google's auth gem instead because I couldn't find anything useful online. Maybe it's actually there and the past several days have been one of those weeks where nothing ever works? idk :/
But anyway. I read through their code, and while it's actually not awful, it has some odd organization and a few very peculiar param names. Figuring out what data to pass, and how said data gets used requires some file-hopping. e.g. `json_data_io` wants a file handle, not the data itself. This is going to cause me headaches later since the data will be in the database, not the filesystem. I guess I can write a monkeypatch? or fork their gem? :/
But I digress. I finally manged to set everything up, fix the bugs with my code, and I'm ready to see what `service.create_spreadsheet()` returns. (now that it has positively valid and correctly-implemented authentication! Finally! Woo!)
I open the console... set up the auth... and give it a try.
... six seconds pass ...
... another two seconds pass ...
... annnd I get a lovely "unauthorized" response.
asjdlkagjdsk.
> Pic related.rant it was not simple. but i'm already flustered damnit it's probably the permissions documentation what documentation "it'll be simple" he said google sheets google "totally simple!" she agreed it's been days. days!19 -
A fanfic based on devRant-chan. The character was created by @caramelCase and a drawing by @ichijou.
This is freestyle. I'll think of an image of a scene and go with the flow. I won't remove my fingers from the keyboard and I won't edit or change anything. That's how I come up with my best ideas.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Notes:
B/N = Boss' name (I was too lazy to think of one.)
Anything in between astericks is in italics.
Ex.) *this is in italics.*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It was an early January morning when devRant-chan was situated in her desk, typing away on her laptop. She was working on a Python script for her barbaric client when she could've been out with friends. Oddly enough, her Sunday was surged with tranquility.
Normally, Sunday is when her irksome boss barks orders at her on the phone.
"This is wrong!"
"What is this?"
"Change it!"
devRant-chan resented her boss but loved her job. After all, "you can't force yourself to like everyone," was something her elder brother would tell her.
She released a slight chuckle, the one she would only display at the thought of her brother.
Her musings were interrupted when a concerning thought crawled into her mind like an undesirable intruder.
Why hasn't her boss called to complain yet? It's not that she enjoyed his complaining, which she didn't. She simply found it odd, since he's done this every Sunday morning, since she was a junior developer.
Unless he found someone else to complain to? In that case, good riddance!
But still, it wasn't a euphoric feeling to be replaced. She was already accustomed to his Sunday morning calls that it feels almost lonely not to receive them.
She should call him... Just in case some situation—or—problem—has emerged.
She dialed his number, waiting patiently for a reply.
"Hello," said her boss.
"Ah, hello," said devRant-chan. "I called, wondering—"
"You've reached the voicemail of B/N, please leave a message after the beep."
"Damn..." mumbled devRant-chan with a sharp exhale. "I always fall for that."
Why didn't her boss answer the phone? It was odd of him, considering he's always answered her calls.
She was about to dial her coworker when she received an email, which stimulated her attention. The subject of the email read:
*Important. Please read.*
She opened the email. It was her boss. The email read:
*Hello.*
*In case you aren't aware, I had quit my job, due to the stress. I've left the manager in charge. Starting tomorrow, he will be your new boss.*
*-B/N*
Before she could rejoice in excitement, she detected a strange change of voice, emitting from the email. Did her boss really write this?
That's when she spotted something. The word "tomorrow."
Her boss didn't write this.
He would never use words such as "tomorrow," or "today." He would use time instead. If this was her boss, he would say "in 24 hours."
She checked the IP of the email. Oddly enough, it was her boss' IP.
Still, the pieces didn't fit the puzzle. Her boss didn't complain, answer her call, or use his style of speaking in the email.
Something happened to him and she knows it. Whatever it is, has something to do with the manager, and she was determined to figure it out.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This was just a quick random fanfic, and I'm not sure if I'll continue it. As I said, I didn't plan anything, since it's freestyle. I might or might not continue it, so I'll think it over.8 -
So yesterday one of the "senior" python developers woke me up at 1 am (we work in different time zones, and he knows how many hours I'm ahead) asking why isn't his code working. The error message was:
[ERROR] Runtime.ImportModuleError: Unable to import module 'app': xxx is not installed, run `pip install xxx` Traceback (most recent call last)
I am at lose of words and patience. Not only idiots who can't google simple stuff are seniors, additionaly we went from "DevOps is a culture" straight to "hey I'm developer in my silo, if it doesn't work on my machine it's DevOps problem, plz fix".12 -
Man, I think we've all gotten way too many of these.
Normally most interactions that I have are through email. Eventually some would try to contact me via phone. These are some:
"Hey! We are calling you from <whatever company name> solutions! (most of them always seem to end on solutions or some shit like that) concerning the Ruby on Rails senior dev opportunity we were talking about via email"
<niceties, how are you doing, similar shit goes here...eventually>
So tell us! how good/comfortable would you say you are with C++?"
Me: I have never done anything serious with c++ and did just use it at school, but because I am not a professional in it I did not list it in my CV, what does it have to do with Rails?
Them: "Oh the applications of this position must be ready to take in additional duties which sometimes happen to be C or C++"
Me: Well that was not anywhere in the offer you sent, it specifically requested a full stack Rails developer that could work with 3 different frontend stacks already and like 4 different databases plus bla bla bla, I did not see c++ anywhere in it. Matter of fact I find it funny, one of the things that I was curious about was the salary, for what you are asking and specifically in the city in which you are asking it for 75k is way too low, you are seriously expecting a senior level rails dev to do all that AND take additional duties with c++? cpp could mean a billion different things"
Them: "well this is a big opportunity that will increase your level to senior position"
Me: the add ALREADY asks for a senior position, why are you making it sound that I will get build towards that level if you are already off the bat asking for seniors only to begin with?
Them: You are not getting it, it is an opportunity to grow into a senior, applicants right now are junior to mid-level
ME: You are all not making any sense, please don't contact me again.
=======
Them: We are looking for someone with 15 years experience with Swift development for mobile and web
Me: What is up with your people not making these requirements in paper? if I knew from the beginning that you people think that Swift is 15 years old I would have never agreed to this "interview"
Them: If you are not interested in that then might we offer this one for someone with 10 years experience as a full stack TypeScript developer.
Me: No, again, check your dates, this is insulting.
===
* For another Rails position
Them: How good are you with Ruby on Rails in terms of Python?
Me: excuse me? Python has nothing to do with Ruby on Rails.
Her (recruiter was a woman) * with a tone of superiority: I have it here that Python is the primary technology that accompanies Rails development.
Me (thinking this was a joke) : What do you think the RUBY part of Ruby on Rails is for? and what does "accompanies Rails development" even means?
Her: Well if you are not interested in using Rails with Python then maybe you can tell us about your experience in using Javascript as the main scripting platform for Rails.
Me: This is a joke, goodbye.
====
To be fair this was years ago when I still didn't know better and test the recruiters during the email part of being contacted. Now a days I feel sorry for everyone since I just say no without even bothering. This is a meme all on itself which no one has ever bothered to review and correct in years for now. I don't know why recruiters don't google themselves to see what people think of their "profession" in order to become better.
I've even had the Java/Javascript stupidity thrown at me by a local company. For that one it was someone from their very same HR department doing the rectuiter, their shop foreman was a friend of the family, did him the service of calling him to let him know that his HR was never going to land the kind of developer they were looking for with the retarded questions they had and sent him a detailed email concerning the correct information they needed for their JAVAscript job which they kept confusing with Java (for some reason in the context of Spring, they literally wanted nothing with Spring, they wanted some junior to do animations and shit like that on their company's website, which was in php, Java was nowhere in this equation)
I think people in web development get the short end of the stick when it comes to retarded recruiters more than anywhere else.3 -
If programming languages had honest slogans, what would they be?
-C : Because fuck you.
-C++ : Fuck this.(- Dan Allen )
-Visual Basic : 10 times as big but only 5 times as stupid.
-Lisp : You’re all idiots.
-JavaScript : You guys know I’m holding up the internet, right ?
-Scala : That was a waste of 4 weeks.
-Go : Tell me about it, Scala.
-Python : All we are saying, is give un-typed a chance.
-R : Whoa, I was supposed to be a statistics package!
-Java : Like a Roomba, you guess it’s OK but none of your friends use it.
-PHP : Do Not Resuscitate.
-Perl : PHP, take me with you.
-Swift : Nobody knows.
-HTML : No.
-CSS : I said no.
-XML : Stop.
Source:@Quora: https://quora.com/If-programming-la...6 -
To those that think they can't make it.
To those that are put down by those that don't understand you.
And to those that have never had a dream come true.
Not a rant, but the story of how I got into programming
I've always been into tech/electronics. I remember being told once that when I was 3, I used to take plug sockets to pieces. When I was 7, I built a computer with my dad.
There isn't a thing in my room that hasn't been dismantled and put back together again. Except for the things that weren't put back together again ;)
When I was 15, I got a phone for Christmas. It was a pretty crappy phone, the LG P350 (optimus ME). But I loved it all the same.
However I knew it could do a lot more. It ran a bloated, slow version of Android 2.2.
So I went searching, how can I make it faster, how to make it do more. And I found a huge community around Android ROMs. Obviously the first thing I did was flashed this ROM. Sure, there were bugs, but I was instantly in love with it. My phone was freed.
From there I went on to exploring what else can be done.
I wanted to learn how to script, so over the weekend I wrote a 1000 line batch (Windows cmd) script that would root the phone and flash a recovery environment onto it. Pretty basic. Lots of switch statements, but I was proud of it. I'd achieved something. It wasn't new to the world, but it was my first experience at programming.
But it wasn't enough, I needed more.
So I set out to actually building the roms. I installed Linux. I wanted to learn how to utilise Linux better, so I rewrote my script in bash.
By this time, I'd joined a team for developing on similar spec'd phones. Without the funds to by new devices, we began working on more radical projects.
Between us, we ported newer kernels to our devices. We rebased much of the chipset drivers onto newer equivalents to add new features.
And then..
Well, it was exam season. I was suffering from personal issues (which I will not detail), and that, with the work on Android, I ended up failing the exams.
I still passed, but not to the level I expected.
So I gave up on school, and went head first into a new kind of development. "continue doing what you love. You'll make it" is what I told myself.
I found python by contributing to an IRC bot. I learnt it by reading the codebase. Anything I didn't understand, I researched. Anything I wanted to do, google was there to help me through it.
Then it was exam season again. Even though I'd given up on school, I was still going. It was easier to stay in than do anything about it.
A few weeks before the exams, I had a panic attack. I was behind on coursework, and I knew I would do poorly on exams.
So I dropped out.
I was disappointed, my family was disappointed.
So I did the only thing I felt I could do. I set out to get a job as a developer.
At this stage, I'd not done anything special. So I started aiming bigger. Contributing to projects maintained by Sony and Google, learning from them. Building my own projects to assist with my old Android friends.
I managed to land a contract, however due to the stresses at home, I had to drop it after a month.
Everything was going well, I felt ready to get a full time job as a developer, after 2 years of experience in the community.
Then I had to wake up.
Unfortunately, my advisors (I was a job seeker at the time) didn't understand the potential of learning to be a developer. With them, it's "university for a skilled job".
They see the word "computer" on a CV, they instantly say "tech support".
I played ball, I did what I could for them. But they'd always put me down, saying I wasn't good enough, that I'd never get a job.
I hated them. I'd row with them every other day.
By God, I would prove them wrong.
And then I found them. Or, to be more precise, they found me. A startup in London got in contact with me. They seemed like decent people. I spoke with their developers, and they knew their stuff, these were people that I can learn from.
I travelled 4 hours to go for an interview, then 4 hours back.
When I got the email saying they'd move me to London, I was over the moon.
I did exactly what everyone was telling me I couldn't do.
1.5 years later, I'm still working with them. We all respect each other, and we all learn from each other.
I'm ever grateful to them for taking a shot with me. I had no professional experience, and I was by no means the most skilled individual they interviewed.
Many people have a dream. I won't lie, I once dreamed of working at Google. But after the journey I've been through, I wouldn't have where I am now any other way. Though, in time, I wish to share this dream with another.
I hope that all of you reach your dreams too.
Sorry for the long post. The details are brief, but there are only 5k characters ;)23 -
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
I love devRant. But the people constantly saying "Python is shit" OR "Windows is for idiots" OR "Never use C it's ancient" OR "Microsoft sucks" OR any other fucking subjective opinion that's absolutely worthless drive me crazy.
I see many people here asking "Should I do [option1] or [option2]?" And the only responses are "[option3 which is not a fucking option you degraded fuck who thinks his/her opinions somehow matter in this discussion while they are clearly NOT helping]"
Sorry but this place has "Rant" in it's name so I thought this would be appropriate.22 -
I'm not even that old and I've had it with young cocksure, full of them self language/environment evangelists.
- "C# is always better than Java, don't bother learning it"
- "Lol python is all you need"
- "Omg windows/linux/mac sucks use this instead"
The list goes on really, at some point you have got to realize that while specialization is great, you have to learn a little bit of everything. It broadens you horizon a lot.
Yea, C# does some nifty stuff, but Java does too, learn both. Yea I'm sure Linux is better for hosting docker containers, but your clients are on mac or windows, learn to at least navigate and operate all three etc. Embrace knowledge from all the different tech camps it can only do you good and you will be so much more flexible and employable than your close minded peers :)
Hell even PHP has a lot to teach us (Even more than just to be a bad example, har har)9 -
It's more than a story bear with me.
Open source world is big enough to scare a beginner like me, which happened when I started with my first contribution in the year 2015. So many platforms, lot of organisations, freaking images of coding languages, pull request, issues and bugs- these all were enough to freak me out.
The only thing which motivated me to stay and know about the open source technology was to develop my first program using python. I was in great difficulty as when I started writing my program I was stuck after almost every two to three stages of compilation, so I needed guidance. I started my search on Github by creating my repository, pushing my code and following developers. I was amazed to see such a good response from people around me, not only they helped me to debug and fix the issue but they also helped me to understand and build my program from a new perspective. Daily discussions and communication, new issue build up and solving them by the traditional way of GUI further motivated me to learn the Git using the command line tool.
I still remember the year I worked on a repo using the command line tool, it was amazing. Within months or few, the fear of open source tools, community, interaction all just flew away. With this rant I will like to suggest all the beginners and open source enthusiast to just step a foot ahead and ask openly to the world- "I need help" and believe me you will be showered with information and help from all the world.
Happy contribution.8 -
POSTMORTEM
"4096 bit ~ 96 hours is what he said.
IDK why, but when he took the challenge, he posted that it'd take 36 hours"
As @cbsa wrote, and nitwhiz wrote "but the statement was that op's i3 did it in 11 hours. So there must be a result already, which can be verified?"
I added time because I was in the middle of a port involving ArbFloat so I could get arbitrary precision. I had a crude desmos graph doing projections on what I'd already factored in order to get an idea of how long it'd take to do larger
bit lengths
@p100sch speculated on the walked back time, and overstating the rig capabilities. Instead I spent a lot of time trying to get it 'just-so'.
Worse, because I had to resort to "Decimal" in python (and am currently experimenting with the same in Julia), both of which are immutable types, the GC was taking > 25% of the cpu time.
Performancewise, the numbers I cited in the actual thread, as of this time:
largest product factored was 32bit, 1855526741 * 2163967087, took 1116.111s in python.
Julia build used a slightly different method, & managed to factor a 27 bit number, 103147223 * 88789957 in 20.9s,
but this wasn't typical.
What surprised me was the variability. One bit length could take 100s or a couple thousand seconds even, and a product that was 1-2 bits longer could return a result in under a minute, sometimes in seconds.
This started cropping up, ironically, right after I posted the thread, whats a man to do?
So I started trying a bunch of things, some of which worked. Shameless as I am, I accepted the challenge. Things weren't perfect but it was going well enough. At that point I hadn't slept in 30~ hours so when I thought I had it I let it run and went to bed. 5 AM comes, I check the program. Still calculating, and way overshot. Fuuuuuuccc...
So here we are now and it's say to safe the worlds not gonna burn if I explain it seeing as it doesn't work, or at least only some of the time.
Others people, much smarter than me, mentioned it may be a means of finding more secure pairs, and maybe so, I'm not familiar enough to know.
For everyone that followed, commented, those who contributed, even the doubters who kept a sanity check on this without whom this would have been an even bigger embarassement, and the people with their pins and tactical dots, thanks.
So here it is.
A few assumptions first.
Assuming p = the product,
a = some prime,
b = another prime,
and r = a/b (where a is smaller than b)
w = 1/sqrt(p)
(also experimented with w = 1/sqrt(p)*2 but I kept overshooting my a very small margin)
x = a/p
y = b/p
1. for every two numbers, there is a ratio (r) that you can search for among the decimals, starting at 1.0, counting down. You can use this to find the original factors e.x. p*r=n, p/n=m (assuming the product has only two factors), instead of having to do a sieve.
2. You don't need the first number you find to be the precise value of a factor (we're doing floating point math), a large subset of decimal values for the value of a or b will naturally 'fall' into the value of a (or b) + some fractional number, which is lost. Some of you will object, "But if thats wrong, your result will be wrong!" but hear me out.
3. You round for the first factor 'found', and from there, you take the result and do p/a to get b. If 'a' is actually a factor of p, then mod(b, 1) == 0, and then naturally, a*b SHOULD equal p.
If not, you throw out both numbers, rinse and repeat.
Now I knew this this could be faster. Realized the finer the representation, the less important the fractional digits further right in the number were, it was just a matter of how much precision I could AFFORD to lose and still get an accurate result for r*p=a.
Fast forward, lot of experimentation, was hitting a lot of worst case time complexities, where the most significant digits had a bunch of zeroes in front of them so starting at 1.0 was a no go in many situations. Started looking and realized
I didn't NEED the ratio of a/b, I just needed the ratio of a to p.
Intuitively it made sense, but starting at 1.0 was blowing up the calculation time, and this made it so much worse.
I realized if I could start at r=1/sqrt(p) instead, and that because of certain properties, the fractional result of this, r, would ALWAYS be 1. close to one of the factors fractional value of n/p, and 2. it looked like it was guaranteed that r=1/sqrt(p) would ALWAYS be less than at least one of the primes, putting a bound on worst case.
The final result in executable pseudo code (python lol) looks something like the above variables plus
while w >= 0.0:
if (p / round(w*p)) % 1 == 0:
x = round(w*p)
y = p / round(w*p)
if x*y == p:
print("factors found!")
print(x)
print(y)
break
w = w + i
Still working but if anyone sees obvious problems I'd LOVE to hear about it.38 -
Hello everyone, this is my first time here so hi! I want to tell you all a story about my current situation.
At 18 while in the military I was able to get my first computer, it was a small hp pavilion laptop with windows 7. The system would crash constantly, even though I would only use it for googling stuff and using fb to talk to people. 5 months after I got it and continuously hated it decided to find out why and who could I blame (other than myself) for the system making me do the ctrl alt del dance all the time....
Found out that there are people called computer programmers that made software. Decided to give it a go since I had some free time most days. Started out with c++ because it was being recommended in some websites. Had many "oh deeeeer lord" moments. After not getting much traction I decided to move to Java which seemed like an easier step than C++. Had fun, but after some verbosity I decided to move into more dynamic lands. Tried JS and since at the time there was no Node and I was not very into the idea of building websites I decided to move into Python, Ruby, PHP and Perl and had a really great time using and learning all of them. I decided to get good in theoretical aspects of computer programming and since I had a knack for math I decided to get started with basic computer science concepts.
I absolutely frigging loved it. And not only that, but learning new things became an obsession, the kind that would make me go to bed at 02:40 am just to wake up at 04:00 or 06:00 because the military is like that. I really wanted to absorb as much as I could since I wanted to go to college for it and wanted to be prepared since I did not wanted to be a complete newb. Took Harvard CS50, Standford Programming 101 with Java, Rice's Python course and MIT's Python programming class. I had so much fun I don't regret it one bit.
By the time I got to college I had already made the jump to Linux and was an adept Arch user, Its not that it was superior or anything, but it really forced me to learn about Linux and working around a terminal and the internals of the system to get what I want. Now a days I settle for Fedora or Debian based systems since they are easier and time is money.
Uni was a breeze, math was fun and the programming classes seemed like glorified "Hello World" courses. I had fun, but not that much fun, most of my time was spent getting better at actual coding. I am no genius, nor my grades were super amazing(I did graduate with honors though) but I had fun, which never really happened in school before that.
While in school I took my first programming gig! It was in ASP.NET MVC, we were using C#, I got the job through a customer that I met at work, I was working in retail during the time and absolutely hated it. I remember being so excited with the gig, I got to meet other developers! Where I am from there aren't that many and most of them are very specialized, so they only get concerned with certain aspects of coding (e.g VBA developers.....) and that is until I met the lead dev. He was by far one of the biggest assholes I had ever met in my life. Absolutely nothing that I would do or say made hem not be a dick. My code was steady, but I would find bugs of incomplete stuff that he would do, whenever I would fix it he would belittle me and constantly remind me of my position as a "junior dev" in the company saying things as "if you have an issue with my code or standards tell me, but do not touch the code" which was funny considering that I would not be able to advance without those fixes. I quit not even 3 months latter because I could not stand the dick, neither 2 of the other developers since the immediately resigned after they got their own courage.
A year latter I was able to find myself another gig. I was hesitant for a moment since it was another remote position in which I had already had a crappy experience. Boy this one was bad. To be fair, this was on me since I had to get good with Lumen after only having some exposure to Laravel. Which I did mentioned repeatedly even though he did offer to train me in order to help him. Same thing, after a couple of weeks of being told how much I did not know I decided to get out.
That is 2 strikes.
So I waited a little while and took a position inside another company that was using vanilla PHP to build their services. Their system was solid though, the lead engineer remains a friend and I did learn a lot from him. I got contracted because they were looking for a Java developer. The salary was good. But when I got there they mentioned that they wanted a developer in Java...to build Android. At the time I was using Java with Spring so I though "well how hard can this be! I already use Android so the love for the system is there, lets do this!" And it was an intense, fun and really amazing experience.
-- To be continued.10 -
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
And for the love of gawd: let them have a strictly typed language. Why would you teach with JavaScript!?
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6 -
For fucks sake, just because you don't know anything besides JS, you don't have to constantly complain how it's "so fucked up"!
Yeah there's a lot of frameworks. So what? Python has 50+ wsgi frameworks just for server-side apps, Linux has literary hundreds of desktop environments, C++ has over 30 actively-developed UI frameworks, and let's not even get started on CMSs or game engines. And each language comes with its own dependency management or two, NPM discourages static linking & bundling dependencies until the very end, while some others only recommend dynamically linking widely-available dependencies & always bundling the remaining ones.
Software development is constantly evolving, and for most time there's no right or wrong approach. And when one approach is chosen over another, there's a reason for that. Imagine you just found a perfect library for your use case, but some idiot decided to only offer minified code with bundled jQuery? Or a different idiot made it impossible to have multiple versions of a dependency on your system without resorting to one of various third-party hacks?
Every language has a ton of various frameworks & libraries that ultimately do the same thing, every language has a bunch of design choices you probably don't understand at first, and every language was made with a purpose and the fact that you're using it proves it achieved that.
Last but not least, all devs had to learn about quirks in various languages, and they're fucking tired when someone who barely knows a language tries to act smart going "ahaha how the fuck 0.1 + 0.2 isn't 0.3".10 -
This happend to me around 2 weeks ago. For some reason, I decied to post this now.
I won the lottery, yey! I mean, bot really, but I am <19yo student, "less than junior dev" in my office, but sonce I am the only one who is capable of working with hardware, I was working month back as a sysadmin for a few days. Our last sysadmin was really good working but really, really toxic guy, so he got fired on a spot after argument with some manager or whatever, no big deal, we could have another guy hired in a week. But, our backup server literally was on fire, all data probably dead because bad capacitor or whatever. This was our only backup of everything at the time. Everyone in full fucking panic mode, we had literally no other working HW we could use for backup, but then comes me, intern employed on his first dev job for 3 months. That day I bought some HW for my own personal server at home (Intel NUC with some Celeron, 4GB DDR4 RAM and two 240GB SSDs for RAID 1. My manager asked everyone in the office for sollution how to survive next 4 days before new server arrives. People there had no idea what tk do and no knowedgle about HW, I just came from a break and offered my components for a week, since there was noone else who can work with HW, servers and stuff like this, manager offered me $500+HW cost if I, random intern, can make it work. I installed Debian on that little PC, created RAID1 from both SSDs, installed MySQL server and mirrored GIT server from our last standing server (we had two before one of them went lit 🔥), made simple Python script to copy all data on that RAID, with some help of our database guy copied whole DB from production to this little computer and edited some PHP so every SQL request made on our server will run on that NUC too. Everything after ±2 hours worked perfectly. Untill a fucking PSU burned in our server and took RAID controller with him in sillicon heaven next night, so we could not access any data unltill we got a new one. Thanks to every god out there, I was able to create software RAID from survived HDDs on our production server and copy all data from that NUC on the servers software RAID and make it working at 3 AM in the night before an exam 😂. Without this, we would be next ±40 hours without aerver running and we might loose soke of our data and customers. So my little skill with Linux, Python, MySQL and most importantly my NUC hardware I got that day running as a backup server saved maybe whole company 😂.
Btw, guess who is now employee of the year with $2500 bonus? 😀
Sorry for bragging and log post, but I was so lucky an so happy when everything worked out, good luck to all sysadmins out there! 👍
TL:DR: Random intern saved company and made some money 😂7 -
I found this on Quora and It's awesome.
Have I have fallen in love with Python because she is beautiful?
Answer
Vaibhav Mallya, Proud Parseltongue. Passionate about the language, fairly experienced (since ...
Written Nov 23, 2010 · Upvoted by Timothy Johnson, PhD student, Computer Science
There's nothing wrong with falling in love with a programming language for her looks. I mean, let's face it - Python does have a rockin' body of modules, and a damn good set of utilities and interpreters on various platforms. Her whitespace-sensitive syntax is easy on the eyes, and it's a beautiful sight to wake up to in the morning after a long night of debugging. The way she sways those releases on a consistent cycle - she knows how to treat you right, you know?
But let's face it - a lot of other languages see the attention she's getting, and they get jealous. Really jealous. They try and make her feel bad by pointing out the GIL, and they try and convince her that she's not "good enough" for parallel programming or enterprise-level applications. They say that her lack of static typing gives her programmers headaches, and that as an interpreted language, she's not fast enough for performance-critical applications.
She hears what those other, older languages like Java and C++ say, and she thinks she's not stable or mature enough. She hears what those shallow, beauty-obsessed languages like Ruby say, and she thinks she's not pretty enough. But she's trying really hard, you know? She hits the gym every day, trying to come up with new and better ways of JIT'ing and optimizing. She's experimenting with new platforms and compilation techniques all the time. She wants you to love her more, because she cares.
But then you hear about how bad she feels, and how hard she's trying, and you just look into her eyes, sighing. You take Python out for a walk - holding her hand - and tell her that she's the most beautiful language in the world, but that's not the only reason you love her.
You tell her she was raised right - Guido gave her core functionality and a deep philosophy she's never forgotten. You tell her you appreciate her consistent releases and her detailed and descriptive documentation. You tell her that she has a great set of friends who are supportive and understanding - friends like Google, Quora, and Facebook. And finally, with tears in your eyes, you tell her that with her broad community support, ease of development, and well-supported frameworks, you know she's a language you want to be with for a long, long time.
After saying all this, you look around and notice that the two of you are alone. Letting go of Python's hand, you start to get down on one knee. Her eyes get wide as you try and say the words - but she just puts her finger on your lips and whispers, "Yes".
The moon is bright. You know things are going to be okay now.
https://quora.com/Have-I-have-falle...#4 -
How can you tell if someone's a node.js coder?
Don't worry they'll tell you.
What do I dislike about node.js?
The fanboys.
Seriously you guys need to chill out. Your language is not the end of all other languages. It isn't going to replace PHP or Python or Ruby. It's not going to be the only thing around in 4 years.
I'm not a fan of JavaScript, I just don't like the language. I don't care about all the advantages and the other bs you're shouting about. If I want that feature I'm sure I can find a way to get it in my language.
Now shoo fly you're bothering me11 -
TL;DR :
"when i die i want my group project members to lower me into my grave so they can let me down one last time"
STORY TIME
Last year in College, I had two simultaneous projects. Both were semester long projects. One was for a database class an another was for a software engineering class.
As you can guess, the focus of the projects was very different. Databases we made some desktop networked chat application with a user login system and what not in Java. SE we made an app store with an approval system and admin panels and ratings and reviews and all that jazz in Meteor.js.
The DB project we had 4 total people and one of them was someone we'll call Frank. Frank was also in my SE project group. Frank disappeared for several weeks. Not in class, didn't contact us, and at one point the professors didn't know much either. As soon as we noticed it would be an issue, we talked to the professors. Just keeping them in the loop will save you a lot of trouble down the road. I'm assuming there was some medical or family emergency because the professors were very understanding with him once he started coming back to class and they had a chance to talk.
Lesson 1: If you have that guy that doesn't show up or communicate, don't be a jerk to them and communicate with your professor. Also, don't stop trying to contact the rogue partner. Maybe they'll come around sometime.
It sucked to lose 25% of our team for a project, but Frank appreciated that we didn't totally ignore him and throw him under the bus to the point that the last day of class he came up to me and said, "hey, open your book bag and bring it next to mine." He then threw a LARGE bottle of booze in there as a thank you.
Lesson 2: Treat humans as humans. Things go wrong and understanding that will get you a lot farther with people than trying to make them feel terrible about something that may have been out of their control.
Our DB project went really well. We got an A, we demoed, it worked, it was cool. The biggest problem is I was the only person that had taken a networking class so I ended up doing a large portion of the work. I wish I had taken other people's skills into account when we were deciding on a project. Especially because the only requirement was that it needed to have a minimum of 5 tables and we had to use some SQL language (aka, we couldn't use no-SQL).
The SE project had Frank and a music major who wanted to minor in CS (and then 3 other regular CS students aside from me). This assignment was make an app store using any technology you want. But, you had to use agile sprints. So we had weekly meetings with the "customer" (the TA), who would change requirements on us to keep us on our toes and tell us what they wanted done as a priority for the next meeting. Seriously, just like real life. It was so much fun trying to stay ahead of that.
So we met up and tried to decided what to use. One kid said Java because we all had it for school. The big issue is trying to make a Java web app is a pain in the ass. Seriously, there are so many better things to use. Other teams decided to use Django because they all wanted to learn Python. I suggested why not use something with a nice package system to minimize duplicating work that had already been done and tested by someone. Kid 1 didn't like that because he said in the real world you have to make your own software and not use packages. Little did he know that I had worked in SE for a few years already and knew damn well that every good project has code from somewhere else that has already solved a problem you're facing. We went with Java the first week. It failed miserably. Nobody could get the server set up on their computers. Using VCS with it required you to keep the repo outside of the where you wrote code and copy and paste changes in there. It was just a huge flop so everyone else voted to change.
Lesson 3: Be flexible. Be open to learning new things. Don't be afraid to try something new. It'll make you a better developer in the long run.
So we ended up using Meteor. Why? We all figured we could pick up javascript super easy.Two of us already knew it. And the real time thing would make for some cool effects when an app got a approved or a comment was made. We got to work and the one kid was still pissed. I just checked the repo and the only thing he committed was fixing the spelling of on word in the readme.
We sat down one day and worked for 4 straight hours. We finished the whole project in that time. While other teams were figuring out how to layout their homepage, we had a working user system and admin page and everything. Our TA was trying to throw us for loops by asking for crazy things and we still came through. We had tests that ran along side the application as you used it. It was friggin cool.
Lesson 4: If possible, pick the right tool for the job. Not the tool you know. Everything in CS has a purpose. If you use it for its purpose, you will save days off of a project.1 -
99% of our server-side code is Python and PHP (legacy applications).
Asked a junior dev to make a small update to a PHP site so we could have it run some cleanup server side. Plenty of existing PHP code to look at and piece something together. Should be 50 lines max.
Did he use the existing PHP code to do this task? Nope. Did he at least use Python? Nope.
Node.js
His response?
"I couldn't figure it out and Node.js seemed to have good support for mongo so I used that instead."
We have 0 lines of server side javascript. Never had node installed. Literally none of the devs use node here. Not only is this completely outside of our tech stack, but he had to take the time to learn Node and JS just because he thought it was easier.
Much would of rather he put in twice as much time to learn the tools of our stack.8 -
Well I’ve had my LinkedIn status to open for a little while now. Time to check what exciting offers (me, an iOS developer / team lead) has received.
- Senior python engineer with multiple years machine learning experience.
- a job 3000 miles outside the only city I’ve marked myself as interested in.
- Architect for a .NET team.
- Senior UX Researcher.
- The same job for a bank 6 times. But each time they won’t initially give the name of the company. Only “my fav client to work with” until I respond.
... not much hope in this process9 -
So we are in computer lab with some bitch ass c++ program on the board,,its approx. 150 sloc with lot of if's and else's...halfway into the session my friend rolls on his chair comes to my system asking for help, i say sure dude why not.
So we both roll to his system and that bastard has 0 indentation,a set of brackets for every if else even for non-compound statements with every bracket in a line of its own.......
With great difficulty of restraining myself from punching him in the face,,,i politely ask him"Have you ever coded in python"
He says no
I say "that was a rhetorical question"
Everyone around us bursts into laughter and that poor lad still has no idea what just happened
Python should be made compulsory for fags like these,, they'll know the meaning of indentation only then7 -
After a long time just reading your posts, here's my first post:
Just for clarification: I'm studying electrical engineering in Germany. During your time at university, you have to work half a year as a intern to get some practical experience. So I'm in a position where I mainly have to say "yes" to work that is given to me. Also I'm working with a lot of PLC programmers, so I'm nearly the only one who programs non-PLC stuff at the department.
But now it's time for my rant (and also my most satisfying optimization ever). In the job interview for the internship, my task at the company was described as C# programmer. I only programmed C and Python before, but C# looked interesting and so I learned C# from ground up in the summer before the internship. I quite liked it and I was really happy on my first day of work. Then I was greeted with this message: "I know you are hired as C# programmer, but could you please look into this VBA program, it takes 55 seconds until it finishes its task and that's to slow". So I (midly angry because I had to do VBA and not C#) started the program and it was really horribly slow (it just created a table with certain contents from a very big imported symbol file). I then opened up the source code and immideately saw bad code. The guy who wrote it basically just clicked on the macro recording button and used the recorded mouse clicks in the source code. The code was like: Click on cell A1 -> copy cell A1 -> move to sheet XY -> click on cell A2 -> paste copied stuff and so on... I never 'programmed' in VBA before, so I used my knowledge of 'real' programming languages to do this task. After using some arrays and for-loops, which did not iterate over all the 1.000.000 unused cells after the last used one, the program took only 3 seconds after it finished the new table! Everybody was quite impressed, which led to much more VBA optimization... That was clearly not my goal haha :)9 -
!programming
Anyone else gets peeved when you're insulted in a language your insulter thinks you don't speak?
I was at the indoor climbing gym, struggling halfway up a difficult route when a fat idiot attached to a 'Intro to Climbing' class howled to her friends "Look at that blind idiot, can't he see that big red piece beside his foot?" (I was climbing a green route) in Cantonese (a Chinese dialect).
😒9 -
As much as I love opensource I hate really hate some of its actvie community members (read this as "freetards" <-- see urbandictonary). As a .Net + web devloper with minimal C experience (I just started learning it) and literally no Python experience its not really easy to contribute for me to many (most) opensource software for linux. I am using some <unnamed software> and I found a <critical bug>, it was easy to reproduce and I wrote for list of possible solutions, found it in a code and linked and basically wrote a docummentation longer than any other I ever wrote for every single project I did ever, combined. This <software> was critical for my server and since owner of github repo and few other people there were really active, I hoped that this bug with pretty good documentation will be solved fast, I went to my bed with a heroic feeling of an open source community contributor that helped saving world. I was horribly wrong. Tomorrow, I got 3 passively agressive responses from owner and other 2 freetards that summed up said <other1>:"oh thats nice, fix i yourself and commit it", <other2>:"have a sex with yourself" in a nice way, and <owner>: "fix my softwate and create mrege request". After replying that I have no experience my Python skills are not on a level requied for such an action, he messaged me on twitter I have linked to my GitHub profile saying even less nicely that I am a "retarded c*nt" and that I should learn Python and fix it myself. This makes me stay with my Windows based Server for some time now, fuck this. I googled his github nickname and guess what. Our main freetard is admin on an <unnamed linux forum> and mebmber of many other "computer help" with literally half of his posts just slightly toxic posts about how everyone should use linux and how supreme it is ober anything other, the other hals was crying why linux has only 1% of market share. Oh boi I am not sure why but ITS MAYBE BECAUSE OF FREETARDS LIKE YOU.
And the funnies thing is, hes not only freetard, he is just fullstack retard. One of his posts is "helping" to some <noob windows user> installing Linux. tl:dr for this las part: Freetard basically wiped all data of that <noob>.
PS: Bless everyone who do not respond "oh nice, now you can do it yourself"10 -
Doing linguistic research where I need to parse 2000 files of a total of 36 GB. Since we are using python the first thing I thought was to implement multi threading. Now I changed the total runtime from three days to like one day and a half. But then when I checked the activity monitor I saw only 20 percent of the CPU usage. After a searching process I started to understand how multi threading and multi processing works. Moral of the story: if you want to ping a website till they block you or do easy tasks that will not use up all power of one core, do multi thrading. If you need to do something complicated that can easily consume all the powers of a single CPU core, split up the work and do multi processing. In my case, when I tried to grab information from a website, I did multi thrading since the work is easy and I really wanted to pin the website 16 times simultaneously but only have 4 cores. But when it come to text processing which a single file will take 80 percent of cpu, split it up and do multi processing.
This is just a post for those who are confused with when to use which.12 -
Inspired by the comment I posted on another rant.
My uni decided to be one of those progressive tech schools that start people with Python. Mind you, I had prepared myself with studying as much as I could with math and programming by automating things and similar stuff in our computer when I was at my previous job, so I had a better idea as to what i could expect.
Introduction to computer science and programming with Python or some shit like that was the name of the class, and the instructor was a fat short ugly woman with a horrible attitude AND a phd in math, not comp sci and barely any industrial knowledge of the field.
She gave us the "a lot of you will fail" speech, which to me is code for "I suck and have no clue what I am doing"
One assignment involved, as per the requirements the use of switch cases. Now, unless someo knew came about, Python does not have swio cases. Me and a couple of less newbie like students tried to point out that switch cases were non existent and that her switch case example was in Javascript, not python, curly braces and everything. She told us to make it work.
We thought that she meant using a function with a dictionary and we pass the key and shit, a simple way of emulating the switch case.
NOPE she took points and insisted that she meant the example. We continuously pointed out that her example was in JS and that at the time Python did not have switch cases. The nasty woman laughed out and said that she didn't expect anyone to finish the assignment with full points.
Out of 100 points everyone got a 70. No problem. Wrote a detailed letter to the dean. Dean replied and talked to her (copied her in the email because fuck you bitch) and my grade was pulled up to full mark.
Every other class I had with her she did not question me. Which was only another class on some other shit I can't remember.
Teachers are what make or break a degree program. What make or break the experience, going to college is putting too much faith on people. If you ask me, trade certification, rigorous training is the future of computer science, or any field really. Rather than spending 4+ years studying a whoooole lotta shit for someone to focus on one field and never leave it.17 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
It has been bugging the shit out of me lately... the sheer number of shit-tier "programmers" that have been climbing out of the woodwork the last few years.
I'm not trying to come across as elitist or "holier than thou", but it's getting ridiculous and annoying. Even on here, you have people who "only do frontend development" or some other lame ass shit-stain of an excuse.
When I first started learning programming (PHP was my first language), it wasn't because I wanted to be a programmer. I used to be a member (my account is still there, in fact) of "HackThisSite", back when I was about 12 years old. After hanging out long enough, I got the hint that the best hackers are, in essence, programmers.
Want to learn how to do SQL injection? Learn SQL - write a program that uses an SQL database, and ask yourself how you would exploit your own software.
Want to reverse engineer the network protocol of some proprietary software? Learn TCP/IP - write a TCP/IP packet filter.
Back then, a programmer and a hacker were very much one in the same. Nowadays, some kid can download Python, write a "hello, world" program and they're halfway to freelancing or whatever.
It's rare to find a programmer - a REAL programmer, one who knows how the systems he develops for better than the back of his hand.
These days, I find people want the instant gratification that these simpler languages provide. You don't need to understand how virtual memory works, hell many people don't even really understand C/C++ pointers - and that's BASIC SHIT right there.
Put another way, would you want to take your car to a brake mechanic that doesn't understand how brakes work? I sure as hell wouldn't.
Watching these "programmers" out there who don't have a fucking clue how the code they write does what it does, is like watching a grown man walk around with a kid's toolbox full or plastic toys calling himself a mechanic. (I like cars, ok?!)
*sigh*
Python, AngularJS, Bootstrap, etc. They're all tools and they have their merits. But god fucking dammit, they're not the ONLY damn tools that matter. Stop making excuses *not* to learn something, Mr."IOnlyDoFrontEnd".
Coding ain't Lego's, fuckers.36 -
If programming languages were countries, which country would each language represent?
Disclaimer: its just a joke
Java: USA -- optimistic, powerful, likes to gloss over inconveniences.
C++: UK -- strong and exacting, but not so good at actually finishing things and tends to get overtaken by Java.
Python: The Netherlands. "Hey no problem, let'sh do it guysh!"
Ruby: France. Powerful, stylish and convinced of its own correctness, but somewhat ignored by everyone else.
Assembly language: India. Massive, deep, vitally important but full of problems.
Cobol: Russia. Once very powerful and written with managers in mind; but has ended up losing out.
SQL and PL/SQL: Germany. A solid, reliable workhorse of a language.
Javascript: Italy. Massively influential and loved by everyone, but breaks down easily.
Scala: Hungary. Technically pure and correct, but suffers from an unworkable obsession with grammar that will limit its future success.
C: Norway. Tough and dynamic, but not very exciting.
PHP: Brazil. A lot of beauty springs from it and it flaunts itself a lot, but it's secretly very conservative.
LISP: Iceland. Incredibly clever and well-organised, but icy and remote.
Perl: China. Able to do apparently almost anything, but rather inscrutable.
Swift: Japan. One minute it's nowhere, the next it's everywhere and your mobile phone relies on it.
C#: Switzerland. Beautiful and well thought-out, but expect to pay a lot if you want to get seriously involved.
R: Liechtenstein. Probably really amazing, especially if you're into big numbers, but no-one knows what it actually does.
Awk: North Korea. Stubbornly resists change, and its users appear to be unnaturally fond of it for reasons we can only speculate on.17 -
So this happened last week.
Last week I went as a volunteer to give an introduction class basic programming to some guys and gals who are going to attend computer science soon next year.
The class lasted one week and we had done some basic algorithms and programming in Python.
Besides that we also did some very basic websites (html, css and javascript).
Obviously all those people were very enthusiastic.
Some were a little bit too enthusiastic...
There were these 2 guys who were best friends. They already knew everything apparently. Even though they just finished high school they had been programming for over 10 years, had already made countless of websites, applications, 'hacked Windows', RATs and some amazing games.
So there were some people there who never had programmed before. I started giving the lecture and warned people who already knew some basics of programming the first day might be a quite boring but I could not simply skip it obviously.
Those 2 dickheads acted like the biggest childs ever, started screaming in class, making sure everyone knew they were bored, and were constantly complaining to me that they know what print, for, while and strings were. I stayed calm and tried to explain them again I simply couldn't skip parts of the lecture for them.
Every hour and every day it started getting worse and worse with them. Not only but the whole class were furiously mad at them. Some other students even started screaming at them. They screamed back insulting everyone they even didn't what php was and stupid stuff like that.
At some point they interrupted me AGAIN and asked me how long I programmed. I told him little them over 5 years or something. They started laughing at me. Those 2 dickheads looked at me like they were so much better than me because they programmed over 10 years.
At some point, almost the last day, I had enough of their bullshit, interruption, screaming, insulting other students who asked questions, ... I said you know what, you give the lecture!
They refused because they felt too good for all these other 'noobs' (the other students). They would never become good and blah blah more bullshit.
I said alright, we're doing websites, you've made some websites, show me your most impressive website.
He was happy and felt honered.
He sent me the whole folder and I showed his website on code on the big screen in the room.
Then I said: "Everyone, pay close attention to this!"
That dickhead smiled and felt good
Me: "This is how NOT to make a website"
I started explaining to everyone all things that were complete shit and all things that were straight up sins.
That one friend of the dickhead stayed quiet. The other dickhead became as red as a tomato. At some points you even saw tears in his eyes. At some point he insulted me I was a scriptie and simply left.
The class started clapping.
One of the weirdest but also best moments of my life
Moral: Don't act like a complete bigheaded dickhead, don't feel better than everyone and show some respect
Thank you for reading
Have a nice day!3 -
I hate when idiots make assumptions without basis. My company so higher up idiots decided not to use Python. I said why they said it’s not scalable. I asked have anyone of you ever wrote micro service which can handle millions request every hours? Have you ever wrote service in Python? Have you ever worked on Python? Architect said but Python doesn’t have type support? I said there is use Python3. He said I want to validate my request payload. I told have you tried form and decorators. I told, I have 8 years experience. I worked in every language and I one has advantage over others depending on situation. Then they said, but we want only Java as finding resources is easy. I said have you checked git Python overtook Java in case resources, you are outdated. I don’t want to leave company but even after so many argument these idiots just dropping Python and because of that I am loosing so many good resources.8
-
I've recently received another invitation to Google's Foobar challenges.
A while ago someone here on devRant (which I believe works at Google, and whose support I deeply appreciate) sent me a couple of links to it too. Unfortunately back then I didn't take the time to learn the programming languages (Python or Java) that Google requires for these challenges. This time I'm putting everything on Python, as it's the easiest language to learn when coming from Bash.
But at the end of the day.. I am a sysadmin, not a developer. I don't know a single thing about either of these languages. Yet I can't take these challenges as the sysadmin I am. Instead, I have to learn a new language which chances are I'll never need again outside of some HR dickhead's interview with lateral thinking questions and whiteboard programming, probably prohibited from using Google search like every sane programmer and/or sysadmin would for practical challenges that actually occur in real life.
I don't want to do that. Google is a once in a lifetime opportunity, I get that. Many people would probably even steal that foobar link from me if they could. But I don't think that for me it's the right thing to do. Google has made a serious difference by actually challenging developers with practical scenarios, and that's vastly superior to whatever a HR person at any other company could cobble together for an interview. But there's one thing that they don't seem to realize. A company like Google consists of more than just developers. Not only that, it probably consists - even within their developer circles - of more than just Python and Java developers. If any company would know about languages that are more optimized such as C, it would be Google that has to leverage this performance in order to be able to deliver their services.
I'll be frank here. Foobar has its own issues that I don't like. But if Google were a nice company, I'd go for it all the way nonetheless - after all, they are arguably the single biggest tech company in the world, and the tech industry itself is one of the biggest ones in the world nowadays. It's safe to say that there's likely no opportunity like working at Google. But I don't think it's the right thing. Even if I did know Python or Java... Even if I did. I don't like Google's business decisions.
I've recently flashed my OnePlus 6T with LineageOS. It's now completely Google-free, except for a stock Yalp account (that I'm too afraid to replace with my actual Google account because oh dear, third-party app stores, oh dear that could damage our business and has to be made highly illegal!1!). My contacts on that phone are are all gone. They're all stored on a Google server somewhere (except for some like @linuxxx' that I consciously stored on device storage and thus lost a while back), waiting for me to log back in and sync them back. I've never asked for this. If Google explicitly told me that they'd sync all my contacts to my Google account and offer feasible alternatives, I'd probably given more priority to building a CalDAV and CardDAV server of my own. Because I do have the skills and desire to maintain that myself. I don't want Google to do this for me.
Move fast and break things. I've even got a special Termux script on my home screen, aptly named Unfuck-Google-Play. Every other day I have to use it. Google Search. When I open it on my Nexus 6P, which was Google's foray into hardware and in which they failed quite spectacularly - I've even almost bent and killed it tonight, after cursing at that piece of shit every goddamn day - the Google app opens, I type some text into it.. and then it just jumps back to the beginning of whatever I was typing. A preloader of sorts. The app is a fucking web page parser, or heck probably even just an API parser. How does that in any way justify such shitty preloaders? How does that in any way justify such crappy performance on anything but the most recent flagships? I could go on about this all day... I used to run modern Linux on a 15 year old laptop, smoothly. So don't you Google tell me that a - probably trillion dollar - company can't do that shit right. When there's (commercialized) community projects like DuckDuckGo that do things a million times better than you do - yet they can't compete with you due to your shit being preloaded on every phone and tablet and impossible to remove without rooting - that you Google can't do that and a lot more. You've got fucking Google Assistant for fucks sake! Yet you can't make a decent search app - the goddamn thing that your company started with in the first place!?
I'm sorry. I'd love to work at Google and taste the diversity that this company has to offer. But there's *a lot* wrong with it at the business end too. That is something that - in that state - I don't think I want to contribute to, despite it being pretty much a lottery ticket that I've been fortunate enough to draw twice.
Maybe I should just start my own company.6 -
TLDR: programming helped with my math weakness
I've always been bad at math. I always failed my math quizzes, and to be honest the only thing that I remember from that time was that I hated it, I didn't want anything to do with it, to hell with functions and formulas and all of that garbage.
Fast forward a couple of years. I just started my masters degree in machine learning and I'm sort of inclined to applications of deep learning in signal processing. Currently I'm writing a fourier transform in raw python and I've never had more fun. I feel like programming has helped me a lot with math, being able to see how each component behaves when you write a function helps a lot! Being able to plot things helps a lot! Not having to imagine mathematical functions as esoteric mystical wonders but being able to split them up into small components and seeing what you're doing wrong HELPS. A. LOT.
Just felt like sharing. I feel like programming has made me a generally smarter person, in regards to how I approach problems and think about stuff.4 -
I wrote a prototype for a program to do some basic data cleaning tasks in Go. The idea is to just distribute the files with the executable on our shared network to our team (since it is small enough, no github bullshit needed for this) and they can go from there.
Felt experimental, so I decided to try out F# since I have always been interested with it and for some reason Microsoft adopted it into their core net framework.
I shit you not, from 185 lines of Go code, separated into proper modules etc not to mention the additional packages I downloaded (simple things for CSV reading bla bla)
To fucking 30 lines of F# that could probably be condensed more if I knew how to do PROPER functional programming. The actual code is very much procedural with very basic functional composition, so it could probably be even less, just more "dense"
I am amazed really. I do not like that namespace pollution happens all over F# since importing System.IO gives you a bunch of shit that you wouldn't know where it is coming from unless you fuck enough with Ionide and the docs. But man.....
No need for dotnet run to test this bitch, just highlight it on the IDE, alt enter and WHAM you have the repl in front of you, incremental quasi like Lisp changes on the code can be REPL changed this way, plethora of .NET BCL wonders in it, and a single point of documentation as long as you stay in standard .net
I am amazed and in love, plus finding what I wanted to do was a fucking cakewalk.
Downside: I work in a place in which Python is seen as magic and PHP, VB.NEt and C# is the end all be all of languages. If me goes away or dies there will be no one else in this side of the state to fuck with F#
This language needs to be studied more. Shit can be so compact, but I do feel that one needs to really know enough of functional programming to be good at it. It is really not a pure language like Haskell (then again, haskell is the only "mainstream" pure functional language ain't it not?) but still, shit is really nice and I really dig what Microhard is doing in terms of the .net framework.
Will provide later findings. My entire team is on the Microsoft space, we do have Linux servers, but porting the code to generate the necessary executables for those servers if needed should be a walk in the park. I am just really intrigued by how many lines of code I was able to cut down from the Go application.
Please note that this could also mean that I am a shit Golang dev, but the cut down of nil err checkings do come somewhere.9 -
Im not dead yet (dunno about next week), for those that knew me here when I was around, but I really wanted to come to a place I know I could get some comments about it, but what the whole IT/Tech world right now?
Python and its CoC shenanigans
Linus leaving
Mozilla telemetry spying on you https://reddit.com/r/linux/...
And so on and on, the ride isnt over yet, right? (it never is, it only gets more fun from here on baby)question bsd works too linus it you had a change to stop it gentoo richard stallman open source trueos looks cool if you have an nvidia gpu install it had it5 -
I can't figure out shit..
To be honest I created this profile just so I can write down somewhere what I am going through.
So, once upon a time I had graduated from college and went right into a corporate (has only been 2 years since). I was fortunate enough that I got assigned a project that was just starting, and even though I had no clue what was going on, I started doing whatever was assigned.
I initially worked in java and then finished all my tasks earlier than expected, so they switched me to another C++ project that builds on top of it.
Fast forward 2.5 years, I'm now the team lead of the CPP project and all my friends who were in the core team have left the company.
As usual, the reason behind it is shitty management. These mfs won't hire competent people and WILL ABSOLUTELY NOT retain the ones that are. I can feel it in my bones that it is time for me to leave, but fuck me if I understand what I am good at.
I have been able to handle all the tasks that they threw at me, be it java or c++ - just because I love logic and algorithms. I have been dabbling in ML and AI since 4-5 years now, but could never go into it full time.
Now I'm looking at the job postings and Jesus Christ these bitches do not understand what they want. I have to be expert in 34567389 technologies, mastering each of whom (by mastering I mean become proficient in) would need at least 6-8 months if not more, all with 82146867+ years of experience in them.
I don't know if I am supposed to learn on Java (so spring boot and stuff) or I'm supposed to do c++ or I'm gonna go with Python or should I learn web dev or database management or what.
I like all of these things, and would likely enjoy working in each of these, but for fucks sake my cv doesn't show this and most of the bitch ass recruiter portals keep putting my cv in the bin.
Yeah...
If you have read so far, here's a picture of a cat and a dog.5 -
Everyone talks about their hate of js but like python is honestly just as bad.
- shitty package manager,
* need to recreate python environments to keep workflows seperate as oppose to just mapping dependencies like in maven, npm, cargo, go-get
* Can't fix python version number to project I.e specify it in requirements
- dynamic typing that gets fixed with shitty duck typing too many times
- no first class functions
- limited lambda expressions
- def def def
- overly archaic error messages, rarely have I gotten a good error message and didn't have to dive into package code to figure it out
- people still use 2.7 ... Honestly I blame the difficulty of changing versions for this. It's just not trivial to even specify another python version
- inconsistent import system. When in module use . When outside don't.
- SLOW so SLOW
- BLOCKING making things concurrent has only recently got easier, but it still needs lots of work. Like it would be nice to do
runasync some_async_fcn()
Or just running asynchronous functions on the global scope will make it know to go to some default runtime. Or heck. Just let me run it like that...
- private methods aren't really private. They just hide them in intelisense but you can still override them....
I know my username is ironic :P11 -
When defining a range, let's say from 1 to 3, I expect:
[1, 2, 3]
Yet most range functions I come across, e.g. lodash, will do:
_.range(1, 3)
=> [1, 2]
And their definition will say: "Creates an array of numbers ... progressing from start up to, but not including, end."
Yet why the fuck not including end? What don't I understand about the concept of a frigging range that you won't include the end?
The only thing I can come up with that's this is related to the array's-indexes-start with-0-thing and someone did not want to substract `-1` when preparing a for loop over an 10 items array with range(0,10), even though they do not want a range of 0 to 10, they want a range from 0 to 9. (And they should not use a for loop here to begin with but a foreach construct anyway.)
So the length of your array does not match the final index of your array.
Bohhoo.
Yet now we can have ranges with very weird steps, and now you always have to consider your proper maximum, leading to code like:
var start = 10;
var max = 50;
var step = 10;
_.range(start, max + step, step)
=> [10, 20, 30, 40, 50]
and during code review this would scream "bug!" in my face.
And it's not only lodash doing that, but also python and dart.
Except php. Php's range is inclusive. Good job php.4 -
So here's the deal. I am a team lead of a small company and I have a junior who is an idiot. I mean literally, idiot. We code in Python mostly and as Python is not structured as a default Java or C# project, the developer needs to be very careful so that the structure (or tiers) is maintained properly.
Now this girl, always messes up the tiers. Say one enhancement can be easily implemented in the UI tier, she would do the implementation in the core Db access layer, which may complete this particular enhancement, but breaks all the other functions (sometimes the whole project) connected to that particular module of the Db layer. She doesn't do any integration testing after updating the code, she only checks the current enhancement she is working on. When the enhancement goes to the testing phase, the testers find those broken functions and that results a re-work (most of the times done by me).
I have warned her. Even our manager has warned her. She always tells that she is working to improve herself. But I know, she isn't. She mostly chats with her boyfriends (yes, with an 's') when she has no work to do. She never upgrades herself or works on her skills.
I can easily report about her, and they will fire her without any warning (they did it already with a guy earlier). I don't want to do that again. What should I do? Any suggestions?
Oh, she has a great ego. She thinks that knows and understands everything. She will listen to your suggestions carefully, but will never follow those.11 -
This rant is inspired by another rant about automated HR emails like "we appreciate your interest [bla bla] you got rejected [bla bla]". (Please bare with me).
I live in an underdeveloped country, I graduated in September, did Machine Learning for my thesis and I will soon publish a paper about it, loved it wanted to work as ML/data science engineer. On all the job postings I found there was only one job related, I sent resume, they didn't answer, couple months later that company posted that they want a full stack web dev with knowledge of mobile dev and ML, basically an all in one person, for the salary of a junior dev.
- another company posted about python/web scraping developer, I had the experience and I got in touch, they sent me a test, took me 3 days, one of the questions took me 2 days, I found an unanswered SO question with the exact wording dating to 6 months ago, I solved it, sent answers, never heard back from them again.
- one company weren't really hiring, I got in touch asking if the have a position, they sent a test, I did it, they liked it, scheduled an interview, the interviewer was arrogant, not giving any attention to what I am saying, kept asking in depth questions that even an expert might struggle answering. In the end they said they're not really hiring but they interview and see what they can find. Basically looking for experts, I mentioned that im freshly graduated from the very beginning.
- over 1000 applications on different positions on LinkedIn across the whole world, same automated rejection email, but at least they didn't keep me waiting.
- I lost hope. Found a job posting near me, python/django dev, in the interview they asked about frontend (react/vueJS) and Flutter, said I don't have experience and not interested in that, they asked about databases, C and java and other stuff that I have experience in, they hired me with an insulting salary (really insulting) cuz they knew im hopeless, filling 2 positions, python dev and tech support for an app built in the 90s with C/java and sorcery... A week into the job while I'm still learning about the app I'm supposed to support, the guy called me into the office: "here's the thing" he said, "someone else is already working on python, i want you to learn either react or vueJS or flutter" I was in shock, I didn't know what to say, I said I'll think about it, next week I said I'll learn react, so I spent the week acting like im learning react while I scroll on FB and LinkedIn (I'm bad, I know).
- in the weekend a foreign company that I applied to few weeks ago got in touch, we had some interviews and I got hired as DevOps/MLOps. It's been a month and I'm loving it, the salary is decent and I love what I do.
Conclusion: don't lose hope.8 -
When I was about 10 I tried to make a basic midi sequencer/synthesiser using just the python standard library.
The only sound production there was was winsound.beep, which played a sine wave at the frequency given.
I realised that if I put enough really short beeps together I could make some mildly convincing instruments - I remember an electric piano, acoustic guitar, some kind of bass synth, and maybe more?
Then I put them together to make a song. The problem was though that you can't play multiple notes together as winsound.beep was blocking (though I didn't understand that at the time).
I had no knowledge of threading or async so I opened multiple python interpreter instances to play multiple channels. That's how I learnt about command-line arguments!
But I really struggled to get the sounds to be in time because python is not exactly rapid.
I made a kind of note sequencer using a library called easygui, based on tkinter (TCL wrapper), and I remember being told off at school for bringing in a usb stick with the exe of my program that I made with py2exe.
So many old technologies and fond memories...2 -
I've been using microsoft dev stack for as long as i remember. Since I picked up C#/.NET in 2002 I haven't looked back. I got spoiled by things like type safety, generics, LINQ and its functional twist on C#, await/async, and Visual Studio, the best IDE one could ask for.
Over the past few years though, I've seen the rise of many competing open source stacks that get many things right, e.g. command line tooling, package management, CI, CD, containerization, and Linux friendliness. In general many of those frameworks are more Mac friendly than Windows. Microsoft started sobering up to this fact and started open sourcing its frameworks and tools, and generally being more Mac/Linux friendly, but I think that, first, it's a bit too late, and second, it's not mature yet; not even comparable to what you get on VS + Windows.
More recently I switched jobs and I'm mainly using Mac, Python, and some Java. I've also used node in a couple of small projects. My feeling: even though I may be resisting change, I genuinely feel that C# is a better designed language than Java, and I feel that static type languages are far superior to dynamic ones, especially on large projects with large number of developers. I get that dynamic languages gives you a productivity boost, and they make you feel liberated, but most of the time I feel that this productivity is lost when you have to compensate for type safety with more unit tests that would not be necessary in a static type language, also you tend to get subtle bugs that are only manifested at runtime.
So I'm really torn: enjoy world class development platform and language, but sacrifice large ecosystem of open source tools and practices that get the devops culture; or be content with less polished frameworks/languages but much larger community that gets how apps should be built, deployed, monitored, etc.
Damn you Microsoft for coming late to the open source party.11 -
New webdev job ad in a small town where I live:
"We need a junior to mid level full-stack dev - Python, Flask, Django, ES6, Angular, TypeScript, Git, etc..."
ME:
"Fuck, I tick all the checkboxes! - And it's like the only Python job around here! Yey! I so want to work with Python" excited sends cv and an extremely well crafted cover letter.
Company calls after few days:
"Hi! So we'd like to invite you for interview. Some of the tech we work in: Shopify, Wix, and SquareSpace. We're also trying to get into some other frameworks and started looking at Magento and Wordpress.... It's not really much coding, mostly content management...."
What the actual fuck!?!
I still agreed to interview...3 -
I have this one chick on Twitter that she used to be a fellow classmate of mine while I was going for my Bachelors degree.
She would always bitch and complain about how the teachers we had were horrible at teaching. I had to interact with her because of one assignment and EVERYONE in the team was good and well with the items, we finished it rather quick (build a terminal emulator) and we were just thinking about ways to make it look cooler. It was challenging to be honest, but everyone was so interested in it and had all the materials requires plus a very nice instructor to go with that would be overly happy to answer questions and provide additional content, the instructor in question made no book requirement for the class and provided instead free resources, be it video content or his own code on the matter to make sure that everyone got it.
Dude was amazing (most of my university instructors were truly fascinating or people that had worked for very interesting projects) and so when she complain that the guy "had no idea how to teach" I decided to investigate a little.
You see, she had NEVER taken any consideration that maybe you should advance your studies in the field, particularly in programming, by doing your own fucking research. No, the professor is not supposed to hold your fucking hand while you are trying to understand how a fucking function IN FUCKING PYTHON works, dude gave a full length lecture and the only retard that did not understood the topic: was you. He went to you to help you and instead you gave the man an attitude because for some fucking reason he was accounted for your own fucking stupidity. Motherfucker was there for more than 30 minutes trying to explain to this dumb chick the nuances of def hello(): return "hey there" and for some fucking reason you were too daft to understand that.......
The chick complained to us in the team how because of work she had NO time whatsoever to dedicate to reading programming or general software engineering materials......yet her twitter was FULL of book reviews concerning novels and self help books and bullshit like that.
If you are like that, and blame it on your teachers: fuck-you.
To this day she still bitches about the teachers from time to time, I legit told her once that she had no business attending a C.S degree.
Do you think you can get into Julliard without ever touching a fucking instrument? no. Do you think you can tell some Terence Fletcher-throwing-a-chair-at-your motherfucker to show you how to position your hands on a drumstick or what keys to press on a piano? FUCK NO.
If you were being DAFT on a ProGraMmiNg101 for which they picked Python to be the language to use and blamed your fucking stupidity to a teacher then yet again: FUCK-YOU6 -
How I met python
[long read but worth]
There's nothing wrong with falling in love with a programming language for her looks. I mean, let's face it - Python does have a rockin' body of modules, and a damn good set of utilities and interpreters on various platforms. Her whitespace-sensitive syntax is easy on the eyes, and it's a beautiful sight to wake up to in the morning after a long night of debugging. The way she sways those releases on a consistent cycle - she knows how to treat you right, you know?
But let's face it - a lot of other languages see the attention she's getting, and they get jealous. Really jealous. They try and make her feel bad by pointing out the GIL, and they try and convince her that she's not "good enough" for parallel programming or enterprise-level applications. They say that her lack of static typing gives her programmers headaches, and that as an interpreted language, she's not fast enough for performance-critical applications.
She hears what those other, older languages like Java and C++ say, and she thinks she's not stable or mature enough. She hears what those shallow, beauty-obsessed languages like Ruby say, and she thinks she's not pretty enough. But she's trying really hard, you know? She hits the gym every day, trying to come up with new and better ways of JIT'ing and optimizing. She's experimenting with new platforms and compilation techniques all the time. She wants you to love her more, because she cares.
But then you hear about how bad she feels, and how hard she's trying, and you just look into her eyes, sighing. You take Python out for a walk - holding her hand - and tell her that she's the most beautiful language in the world, but that's not the only reason you love her.
You tell her she was raised right - Guido gave her core functionality and a deep philosophy she's never forgotten. You tell her you appreciate her consistent releases and her detailed and descriptive documentation. You tell her that she has a great set of friends who are supportive and understanding - friends like Google, Quora, and Facebook. And finally, with tears in your eyes, you tell her that with her broad community support, ease of development, and well-supported frameworks, you know she's a language you want to be with for a long, long time.
After saying all this, you look around and notice that the two of you are alone. Letting go of Python's hand, you start to get down on one knee. Her eyes get wide as you try and say the words - but she just puts her finger on your lips and whispers, "Yes".
The moon is bright. You know things are going to be okay now.10 -
When I landed my dream job in 2009 (which is also be my first job in the industry), I had no clue about python. The company just asked me three months after starting with them for something related if I'd like to join the automation team. It sounded like fun to me, so the company paid for me a private remote instructor for a week. Then I went across the world to the main office to work directly with our automation team for two weeks. I picked it up quickly and well (or so I thought) and was churning out scripts for a few years.
Through a series of unfortunate events, I and many others no longer work there. Five years later, I have a renewed interest in Python so I take online courses to relearn it. Why is it so much harder this time around? I do remember it, but not in great detail nor as well as I did, but I'm baffled that I'm struggling so much the second time around.
It's only Python! Still getting enjoyment out of it as I did before though.3 -
I've got a HDD, gotta look for any data left on it. I don't need a 1:1 copy of the drive to determine if any data is even there still, and i'm also strapped for space, so I threw together a little 20-line or so Python script to skip over large amounts of empty space so I only have to sift through what little it finds to see if anything's left at all. I wrote it, ran it... and it took a while. Too long. My SSD was floored and RAM was full for no reason. I double-checked my code...
device.seek(0)
device_size = len(device.read())
If you don't get it, this would've tried to load the ENTIRE DRIVE'S CONTENTS into RAM before giving the length. The drive's 128GB or so. That's not happening.
I'm a fucking idiot.
EDIT:
This is what this was for. This ain't ext4. What in the fuck...?11 -
Was interviewing someone for a role, asked them a basic question in Python (before anyone gets on my case about interview coding questions, it's removing duplicates and the answer is to just cast to set, I'm just checking that they actually know Python). Perusing Stack Overflow while I wait for their answer (it's a remote call and I give them a bit of time to calmly deliberate). The exact prompt I gave them pops up as a question, the asker is registered to their profile.
Not only did they not get the job, but I downvoted the question and marked it as duplicate. Rejection and unemployment can be temporary, but StackOverflow reputation is FOREVER. -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
Today on "How the Fuck is Python a Real Language?": Lambda functions and other dumb Python syntax.
Lambda functions are generally passed as callbacks, e.g. "myFunc(a, b, lambda c, d: c + d)". Note that the comma between c and d is somehow on a completely different level than the comma between a and b, even though they're both within the same brackets, because instead of using something like, say, universally agreed-upon grouping symbols to visually group the lambda function arguments together, Python groups them using a reserved keyword on one end, and two little dots on the other end. Like yeah, that's easy to notice among 10 other variable and argument names. But Python couldn't really do any better, because "myFunc(a, b, (c, d): c + d)" would be even less readable and prone to typos given how fucked up Python's use of brackets already is.
And while I'm on the topic of dumb Python syntax, let's look at the switch, um, match statements. For a long time, people behind Python argued that a bunch of elif statements with the same fucking conditions (e.g. x == 1, x == 2, x == 3, ...) are more readable than a standard switch statement, but then in Python 3.10 (released only 1 year ago), they finally came to their senses and added match and case keywords to implement pattern matching. Except they managed to fuck up yet again; instead of a normal "default:" statement, the default statement is denoted by "case _:". Because somehow, everywhere else in the code _ behaves as a normal variable name, but in match statement it instead means "ignore the value in this place". For example, "match myVar:" and "case [first, *rest]:" will behave exactly like "[first, *rest] = myVar" as long as myVar is a list with one or more elements, but "case [_, *rest]:" won't assign the first element from the list to anything, even though "[_, *rest] = myVar" will assign it to _. Because fuck consistency, that's why.
And why the fuck is there no fallthrough? Wouldn't it make perfect sense to write
case ('rgb', r, g, b):
case ('argb', _, r, g, b):
case ('rgba', r, g, b, _):
case ('bgr', b, g, r):
case ('abgr', _, b, g, r):
case ('bgra', b, g, r, _):
and then, you know, handle r, g, and b values in the same fucking block of code? Pretty sure that would be more readable than having to write "handeRGB(r, g, b)" 6 fucking times depending on the input format. Oh, and never mind that Python already has a "break" keyword.
Speaking of the "break" keyword, if you try to use it outside of a loop, you get an error "'break' outside loop". However, there's also the "continue" keyword, and if you try to use it outside of a loop, you get an error "'continue' not properly in loop". Why the fuck are there two completely different error messages for that? Does it mean there exists some weird improper syntax to use "continue" inside of a loop? Or is it just another inconsistent Python bullshit where until Python 3.8 you couldn't use "continue" inside the "finally:" block (but you could always use "break", even though it does essentially the same thing, just branching to a different point).19 -
So, this is probably somewhat esoteric but...
While studying at university I had a "programming paradigms" module, dunno why they called it that, it was more like "introduction to functional programming".
So, it's kinda mind bending, we'd only really started to get our heads around classical object oriented programming and they throw functional programming at us.
It's worse than that though, for do they use an established language, like lisp/scheme, functional Python, or even given Haskell?
No, of course they didn't. They taught us Oz.
You probably won't have heard of it, but this language is burned into the back of my brain, along with a vague understanding of the n-queens problem we had to solve graphically (using qTk, which I dunno if someone took qt and tk and blended them, I stopped asking questions after a while).
To top it off did this language (at the time) have a stand alone interpreter? Did it buggery! It was coupled to the Mozart programming system, which is just Emacs (which has a bloody lisp built into it,so close, yet so far 😭).
It gets worse, though, oh does it get worse, for pause dear reader and consider, have you ever heard of Mozart/oz before, I'd put money on most of you had not heard of it until today.
For, you see, I believe at the time of writing, one, yes, ONE text book exists on this language. When I was doing my assignment there was merely some published conference notes and language design documents.
That's not all, I was not the only one experiencing difficulties with this language, someone in the class ended up pouring through the mailing lists and found the very tutor teaching the class struggling at first to understand the language.
I had to repeat that year. The functional programming class was one semester.
When I retook that year, it was a whole year long. However, halfway through the year, original tutor was fired and a new tutor was hired to teach the language.
He was, understandably, just as confused as we were.
There was a Starbucks and a pub equidistant from the lecture hall, though in opposite directions. From lecture to lecture we had no idea which one we'd end up in.
I have reason to believe Mozart/Oz it some sort of otherworldly abomination designed to give students the occasional nightmare flashback, long after they've left.
My room had post it notes, sheets of paper, print outs, diagrams, doodles and pens, just stuck to the wall, I looked like a raving lunatic three hours away from being institutionalised. There was string connecting one diagram to the next and images of a chess queen all over. As I attempted to solve the n-queens problem.
Madmans knowledge, I call it. I can never unlearn all that, in fact it seeps into much of the code I write. Such information was not meant for the minds of a simple country bumpkin such as myself...
Mozart/Oz... I wouldn't be the programmer I am today without it, and that's frankly terrifying...10 -
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
https://pastebin.com/MWechZj912 -
That satisfaction when you're teaching Python and git to a friend, and not only she actually understands things right away, but she tells you: "It's ok if you don't know this, I'll try to look it up and figure it out by myself".
Every now and then, the world doesn't seem such a dark and gloomy place :)5 -
love-hate relationship with Python semi-rant
The year is 2020.
I have already grown accustomed to the idea that in order to do ML without worrying too much about having to completely jump through hoops with the tech stack I have chosen that I would have to settle with Python, which I like.....for small scripts that don't do much other than piping data around or doing simple admin tasks, that is generally our use of Python at work.
For anything bigger I would prefer something else. Not because I find anything inherently horrible in Python, I find it to be a nice language overall, that has made it possible for many to find a passion inside of the world of development and possibly an interesting in overall engineering and computer science principles. Much respect Python, good game Guido VR, what you did changed the world.
But it is that damn whitespace that gets me, the need to use it as a way to properly write blocks, I just can't make myself like syntactical whitespace no matter what I do. I can do without static typing, shit I did it for the longest time with JS way tf before Node and Typescript were a thing, and I have done it before PHP's attempt at having type hints, which still leave much to be desired. Ruby(imho) the most elegant language around doesn't have it and that is fine really, it does not bother me as much, if mypy gets powerful and widely adopted enough it will then be a non-issue.
But another thing that the 4 languages i mentioned before have is non-existent syntactical whitespace......I just can't stand it.
So, why am I saying all of this nonsense? Today I wanted to recreate a conda environment and landed on the use of YAML............which has syntactic whitespace and I lost my shit.
I seldom bitch about languages and technologies, shit, I used VBScript before, not only did I get paid handsomely for it, but I fucking enjoyed it(probably cuz I am a masochist).
But two things I cannot abide: VBA and syntactic whitespace.
Once I get enough knowledge for it I will push for the same level of tooling in Python to be ported to Scala.
Thank you for coming to my whiny post about something as small as bitching about syntactic whitespace.8 -
My NDA prevents me of revealing a lot but here we go...
Hi,
during a 2 year hiatus after High School I decided to study CS. Coming from a third world country with no prospect of getting a nice job without breaking my back or getting spit on by overconfident CS geeks who now actually make a living wage there, I decided to study abroad.
I immediately realized what I have been missing... the culture, the people, the happenings,... I have been starved of LIFE
Anyways, I got the language pretty much down, uni is pretty hard but doable and I got the unthinkable... A JOB. I am currently a working student for a year at a multimillion dollar global conglomerate, doing what some may think of as scripting/data tinkering. I get payed more than both my parents combined, which is why they don't know anything... 😂 (yet, gotta ease em into it).
Now I have gotten my contract extended, which shows that I am doing a decent job there, the boss is firm but chill, coworkers are helpful and resourceful.
But what really grinds my gears is that I am mashing code together whilst googling my brain out, but I am not gaining any skill...
Now comes my grievance, the bane of my existence, the evil Morty to my Morty,... GitHub.
In this professional surrounding, where I got handed a $2,5k notebook and a overly huge paycheck, I never use Git (because we have a proprietary, internal, and very transparent alternative (transparent for the higher ups 😬 ))
I always wanted to contribute on GitHub, but I get very intimidated by the projects there and their scopes, people are waaay too knowledgeable in comparison to me and I will most certainly screw something up and embarrass myself. Since I am very self-conscious and awkward I would most probably just delete my profile there and lurk in the shadows again.
I need help, not only for my mental health, but also to expand my skillset and improve myself, since skill is the only thing I can still acquire.
Does anyone know where I should start as a overglorified python script-kiddy who still thinks 1337 is cool and mr Robot is a decent show?
Thanks,
@rn11 -
So python does not have constants and the only way to create one is to create a class with a getter but no setter.
WHAT.THE.FUCK or am I just wrong?4 -
Decided to spend my weekend on a little side project that I thought I could finish quickly.
Not only does my code not work, but what I wrote is so horrible that I'm honestly ashamed. Its like the despicable porn that you sometimes end up watching and the horror of realizing what the hell you just watched after you finish - I thought my code was good, but really, it was trash.
Before I started writing I though to myself, "I'll finish this project and then I'll upload it to my Github to expand my repository", but now I cringe at the thought of someone else reviewing this pile of shit I call my code.
It's 2 am here in Israel. I know I should go to sleep, but I'll just stare at the ceiling, feeling unproductive because everything I did today is literally worthless.
How the fuck do I justify this shit to myself? Calling this a "learning experience" feels like a fucking joke.
Honestly, I don't know why I chose Python to do OOP when Kotlin would have served me much better.
But, there's always tomorrow, isn't there?2 -
Running a fucking conda environment on windows (an update environment from the previous one that I normally use) gets to be a fucking pain in the fucking ass for no fucking reason.
First: Generate a new conda environment, for FUCKING SHITS AND GIGGLES, DO NOT SPECIFY THE PYTHON VERSION, just to see compatibility, this was an experiment, expected to fail.
Install tensorflow on said environment: It does not fucking work, not detecting cuda, the only requirement? To have the cuda dependencies installed, modified, and inside of the system path, check done, it works on 4 other fucking environments, so why not this one.
Still doesn't work, google around and found some thread on github (the errors) that has a way to fix it, do it that way, fucking magic, shit is fixed.
Very well, tensorflow is installed and detecting cuda, no biggie. HAD TO SWITCH TO PYHTHON 3,8 BECAUSE 3.9 WAS GIVING ISSUES FOR SOME UNKNOWN FUCKING REASON
Ok no problem, done.
Install jupyter lab, for which the first in all other 4 environments it works. Guess what a fuckload of errors upon executing the import of tensorflow. They go on a loop that does not fucking end.
The error: imPoRT eRrOr thE Dll waS noT loAdeD
Ok, fucking which one? who fucking knows.
I FUCKING HATE that the main language for this fucking bullshit is python. I guess the benefits of the repl, I do, but the python repl is fucking HORSESHIT compared to the one you get on: Lisp, Ruby and fucking even NODE in which error messages are still more fucking intelligent than those of fucking bullshit ass Python.
Personally? I am betting on Julia devising a smarter environment, it is a better language already, on a second note: If you are worried about A.I taking your job, don't, it requires a team of fucktards working around common basic system administration tasks to get this bullshit running in the first place.
My dream? Julia or Scala (fuck you) for a primary language in machine learning and AI, in which entire environments, with aaaaaaaaaall of the required dlls and dependencies can be downloaded and installed upon can just fucking run. A single directory structure in which shit just fucking works (reason why I like live environments like Smalltalk, but fuck you on that too) and just run your projects from there, without setting a bunch of bullshit from environment variables, cuda dlls installation phases and what not. Something that JUST FUCKING WORKS.
I.....fucking.....HATE the level of system administration required to run fucking anything nowadays, the reason why we had to create shit like devops jobs, for the sad fuckers that have to figure out environment configurations on a box just to run software.
Fuck me man development turned to shit, this is why go mod, node npm, php composer strict folder structure pipelines were created. Bitch all you want about npm, but if I can create a node_modules setting with all of the required dlls to run a project, even if this bitch weights 2.5GB for a project structure you bet your fucking ass that I would.
"YOU JUST DON'T KNOW WHAT YOU ARE DOING" YES I FUCKING DO and I will get this bullshit fixed, I will get it running just like I did the other 4 environments that I fucking use, for different versions of cuda and python and the dependency circle jerk BULLSHIT that I have to manage. But this "follow the guide and it will work, except when it does not and you are looking into obscure github errors" bullshit just takes away from valuable project time when you have a small dedicated group of developers and no sys admin or devops mastermind to resort to.
I have successfully deployed:
Java
Golang
Clojure
Python
Node
PHP
VB/C# .NET
C++
Rails
Django
Projects, and every single fucking time (save for .net, that shit just fucking works on a dedicated windows IIS server) the shit will not work with x..nT reasons. It fucking obliterates me how fucking annoying this bullshit is. And the reason why the ENTIRE FUCKING FIELD of computer science and software engineering is so fucking flawed.
But we can't all just run to simple windows bs in which we have documentation for everything. We have to spend countless hours on fucking Linux figuring shit out (fuck you also, I have been using Linux since I was 18, I am 30 now) for which graphical drivers for machine learning, cuda and whatTheFuckNot require all sorts of sys admin gymnasts to be used.
Y'all fucked up a long time ago. Smalltalk provided an all in one, easily rollable back to previous images, easily administered interfaces for this fileFuckery bullshit, and even though the JVM and the .NET environments did their best to hold shit down, and even though we had npm packages pulling the universe inside, or gomod compiling shit into one place NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO we had to do whatever the fuck we wanted to feel l337 and wanted.
Fuck all of you, fuck this field, fuck setting boxes for ML/AI and fuck every single OS in existence2 -
How I got selected for GSoC'19:
I will describe my journey from detail i.e from the 1st year of the college. I joined my college back in 2017 (July), I was not even aware of Computer Science. What are the different languages of CS, but I had a strong intuition of doing BTech from CSE only?
So yeah I was totally unaware of the computer science stuff, but I had a strong desire to learn it and I literally don’t know why I had this desire. After getting into college, I was learning HTML, Python, and C, also I am really thankful to my friends who really helped me to learn, building logic and making stuff out of it. During the 1st month of joining the college, I got to know what is Open Source, GSoC, Github due to my helpful seniors. But I was not into Open Source during my 1st year of college as I thought it is very difficult to start. In my 1st year, I used to do competitive programming and writing scripts in Python to automate various stuff. I never thought that I would even start doing Open Source development, also in the summer vacations after the 1st year I used to practice programming on HackerRank and learnt an awesome course called Automate the Boring Stuff with Python(which I think is one of the most popular courses for Python) which really helped me to build by Python skills.
Now the 2nd year came, I was totally confused between doing Open Source development or continue with my Competitive programming. But I wanted to know about Open Source development, so I thought to start now will be a good idea. I started attending meetups of OSDC(Open Source Developers Club) which is a hub of my college, which really helped me to know more about Open Source development from my seniors. I started looking for beginner friendly projects in Python on the website Up For Grabs, it’s really helpful for the beginners. So I contributed in a few of them, and in starting it was really tough for me but yeah I continued, which really helped me to at least dive into Open Source. Now I thought to start contributing in any bigger project, which has millions of lines of code which will be really interesting. So I started looking for the project, as I was into web development those days so I thought to find a project which matches my domain. So yeah I finally landed on Oppia:
Oppia
I started contributing into Oppia in November, so yeah in starting it was really difficult for me to solve any issue (as I wasn’t aware of the codebase which was really big), but yeah mentors at Oppia are really helpful, they guided me which really helped me to start my journey with Oppia. By starting of January I was able to resolve around 3–4 issues, which helped me to become the collaborator at Oppia, afterward I really liked contributing to it and I was able to resolve around 9–10 issues by the end of February, which landed me to become a Team Member at Oppia which was really a confidence boost and indication for me that I am in the right direction.
Also in February, the GSoC organizations list was out, and yeah Oppia was also participating in it. The project ideas of Oppia were really interesting, I became even confused to pick anyone because there were 4–5 ideas which seemed interesting to me. After 1–2 days of thought process I decided to go for one of them, i.e “Asking students why they picked a particular answer”, a full stack project.
I started making proposals on it, from the first week of March. I used to get my proposal reviewed frequently from the mentors, which really helped me to build a good and strong proposal.
I must say a well-defined proposal is the most important key for getting selected in GSoC, also you must have done some contributions to the organization earlier which I think really maximize your chances of selection in GSoC.
So after my proposal was made, I submitted it on the GSoC website.
Result Day:
It was the result day, by the way, I had the confidence of being selected, but yeah I was a little bit nervous. All my friends were asking when is your result coming, I told them it will come at 12.30AM (IST). Finally, the time came when I refreshed the GSoC website, Voila the results were out. I opened the Oppia organization page, and yeah my name was there. That was the day I was really happy and satisfied, I was thinking like I have achieved something in my life. It was a moment of pleasure for me, I called my parents and told them my result, they were really happy for me.
I say cracking GSoC is worth it, the preparation you do, the contributions you do, the making of the proposal is really worth.
I got so many messages from my juniors, friends, and seniors, they congratulated me. After that when I uploaded my result of Facebook and LinkedIn, there were tons of comments and likes on the post. So yeah that’s my journey.
By the way, I am writing this post after really late, sorry for it. I must have done it earlier, but due to milestone 1 of GSoC, I was busy.3 -
More like a sub company/department inside a company: Android.
I still use it as my main driver, but every time I try to get back into development with it(did it professionally for 2 years nearing on 3 and was a lead Android dev, mind you not necessarily by merit....) I end up hating everything about it.
The tooling is meh, the API is hideous and even with the addition of Kotlin, which I do find a nicer language over Java I still dislike it. The ammount of shit needed to make something as simple as store data, manage fragments, integrate with the NDK, make JSON API calls or even shake motions is just ludicrous and counter intuitive. I can see why people would hate Java based on Android, a language that I generally love and defend.
I firmly believe that people extend frameworks or tooling for 2 reasons only:
1 the stack is so awesome that you just want to create packages and libraries to extend the functionality of a powerful environment, like gems for Ruby, python packages, Node packages, php composer, nuget etc
2 the stack is so fucking hideous that people need to fix shit: the entire android square utility framework, butterknife, flutter, react native, codenameone, etc etc
The case with Android is the second. I have not met a professional Android developer that completely likes everything about Android, but will seldom find people that HATE other frameworks or environments.
Android it is for me. Still my daily driver and I love every Android phone I have ever owned. It just makes me feel lots of more compassion for fellow Android devs.4 -
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!5 -
So here I am testing some python code and writing to a file. No big deal. But damn is it taking a long time to get data back from this API. Ah it's fine I'll let it work in the background.
40 minutes later.
Oh! The requests timed out. No big deal. I'll just cut out the parts that are already done.
1st request in.
I wonder what the file is looking like.
Only showing 1 request.
waitaminute.jpeg
I should have more than that.
*Suddenly realizes that I was writing to the file and not appending.
Fuuuuuuuuuuuuuuuuuuck2 -
I fucking hate Electron, what ever happened to developing software natively? It's not like you have to stick to dot Net and C# or whatever, there's literally Lazarus or Delphi, which, at least Lazarus, not only is open source but also supports all major platforms.
Even Python has GTK, Qt and Pywin32 or whatever its called. While not exactly cross platform, it's still not eating up 1GB of RAM when you launch it.
I don't care if Bob from across the street uses it because he's too lazy to learn anything new, but when huge companies like fucking Discord (valued at 10B dollars) use it, it's insane.
More than once has Discord had a memory leak and was reaching upwards of 6.5GB of RAM usage.
Whats the most popular code editor? VSCode, Electron.
Chat client? Discord, Electron.
Wanna use something other than Discord? Maybe Matrix? Well guess what, while they do have multiple clients, the most developed and usable one is Element, yeah, Electron.
Slack? Electron
My crypto wallet? Exodus, Electron.
I genuinely don't think 16GB of RAM is enough nowadays. Thankfully I'm running a very minimal install of Arch Linux and do most of my work in a KVM, but it still hurts my brain.
By the way things are looking nowadays, We'll be using Javascript for Kernels soon.
Thanks for coming to my Ted Talk.
Also apparently the filter on this site sees ". net" as an url.10 -
So I work for a company that does outsource, this company is pretty nice, but I don't get to see it too often. The one where I'm outsourcing though is the one where I spend all of my time.
Now, this company is a kind of a startup working with AI and Deep Learning (but not if statements :o ), but I came here as a full stack python developer that should implement their AI modules into real apps (mainly web apps).
Everything sounds good untill now, I learn lots and I'm doing what I wanted: python development. The problem is: management + one kiss ass guy.
The amount of work that should be done and the deadlines that should be kept are so messed up that I end up working extra hours, sometimes even in weekend, just to get it done. I'm the only apps developer there, so passing my tasks is not an option. I tried to talk about this, but I was met with a "loser can't keep up even with these few tasks..." kind of attitude.
Moreover, there is a guy that would do anything for the boss's attention, so he speaks everyone there behind their backs (and we all know it, but he's the favorite and he actually knows his stuff so we can't do much about him).
Now the question: what should I do? I only have 5 months here (so leaving would put a hole in my CV, I don't even know what to answer at this interview question "why are you leaving"), plus that the managers from these two companies are highschool friends which means that if I go and ask for a different project, the atmosphere at work will change (maybe this is overthinking already, but I can't help it). Also, last week I could barely get through the days without crying from stress.
TL;DR: I learn a lot from this company, but the deadlines are killing me and my stress level is at an all time high. I want to leave, but I kind of can't because I want my CV to look good.
So yeah, this is my first real rant, feels good to put it out there17 -
finally got TI to cough up their SDK and I noticed there's no compiler or linker or anything. Turns out I need to use TASM.
...TASM is for MS-DOS or compatible. I'm on Linux.
Well, it went poorly, as usual, specifically like this:
- tried to automate building with DOSBox config and Python script: output binary always corrupted. Manually repeated, TASM mangles output on DOSBox every time. No PCem or 86box, and i'm on a Ryzen, so no KVM DOS. Out of luck there.
- TASM Linux build or wrapper? No build, but there is a wrapper! ...wait, it needs... 4 things written by random people to be made from source. I mean, that's not actually that bad... oh, after setting all of them up (and struggling through some autoconf/automake bullshit, one of the programs only had source for a 2.x kernel and autoconf/automake were not happy about it) it fails because one project's been worked on a lot more and dropped support for working with the other 3... goddammit.
- Community SDK? Several options for this... but all of them need .NET 2 to run on Win9x, don't work in Wine, or require... hey look, TASM! GODDAMMIT!
- DOS on a real machine? It's a massive bitch to shuttle files to and from a real DOS machine quickly and I can't take 30 minutes between builds that take me 4 minutes to change enough to need tested again.
why must i suffer like this22 -
Python is a fucking joke. "Readability" disguised as 150+ magic methods and values. Virtual environments to hide shitty dependency management. Strings that may or may not act as comments. No correlation between package and module names - install Pillow; import PIL. **kwargs instead of options=dict(), because why separate function arguments from arbitrary extra data? And finally, the only way to have tkinter on Windows is to install IDLE, so that some fucktard can stick their shitty app right up yours ...7
-
Welcome to this week's episode of "sudo-woodo tries to get a single Python script merged", starring...
•The software architect so senior they were working here while I was still in pre-school. Wasn't added as a reviewer and was completely absent on this project for two months but came in on this PR with a few questions, including questioning design decisions they agreed on the last time they saw the project.
•The QA lead with ten years of experience... in Java. Has never even touched Python and asked to review, only for every issue raised but one stemming from not knowing the language.
•The CI guy. A script guru who will find a problem with literally anything. Honestly the most helpful person of the bunch.
•My coworker. Hasn't said anything yet.
please send help -
! rant
Sorry but I'm really, really angry about this.
I'm an undergrad student in the United States at a small state college. My CS department is kinda small but most of the professors are very passionate about not only CS but education and being caring mentors. All except for one.
Dr. John (fake name, of course) did not study in the US. Most professors in my department didn't. But this man is a complete and utter a****le. His first semester teaching was my first semester at the school. I knew more about basic programming than he did. There were more than one occasion where I went "prof, I was taught that x was actually x because x. Is that wrong?" knowing that what I was posing was actually the right answer. Googled to verify first. He said that my old teachings were all wrong and that everything he said was the correct information. I called BS on that, waited until after class to be polite, and showed him that I was actually correct. Denied it.
His accent was also really problematic. I'm not one of those people who feel that a good teacher needs a native accent by any standard (literally only 1 prof in the whole department doesn't), but his English was *awful*. He couldn't lecture for his life and me, a straight A student in high school, was almost bored to sleep on more than one occasion. Several others actually did fall asleep. This... wasn't a good first impression.
It got worse. Much, much worse.
I got away with not having John for another semester before the bees were buzzing again. Operating systems was the second most poorly taught class I've ever been in. Dr John hadn't gotten any better. He'd gotten worse. In my first semester he was still receptive when you asked for help, was polite about explaining things, and was generally a decent guy. This didn't last. In operating systems, his replies to people asking for help became slightly more hostile. He wouldn't answer questions with much useful information and started saying "it's in chapter x of the textbook, go take a look". I mean, sure, I can read the textbook again and many of us did, but the textbook became a default answer to everything. Sometimes it wasn't worth asking. His homework assignments because more and more confusing, irrelavent to the course material, or just downright strange. We weren't allowed to use muxes. Only semaphores? It just didn't make much sense since we didn't need multiple threads in a critical zone at any time. Lastly for that class, the lectures were absolutely useless. I understood the material more if I didn't pay attention at all and taught myself what I needed to know. Usually the class was nothing more than doing other coursework, and I wasn't alone on this. It was the general consensus. I was so happy to be done with prof John.
Until AI was listed as taught by "staff", I rolled the dice, and it came up snake eyes.
AI was the worst course I've ever been in. Our first project was converting old python 2 code to 3 and replicating the solution the professor wanted. I, no matter how much debugging I did, could never get his answer. Thankfully, he had been lazy and just grabbed some code off stack overflow from an old commit, the output and test data from the repo, and said it was an assignment. Me, being the sneaky piece of garbage I am, knew that py2to3 was a thing, and used that for most of the conversion. Then the edits we needed to make came into play for the assignment, but it wasn't all that bad. Just some CSP and backtracking. Until I couldn't replicate the answer at all. I tried over and over and *over*, trying to figure out what I was doing wrong and could find Nothing. Eventually I smartened up, found the source on github, and copy pasted the solution. And... it matched mine? Now I was seriously confused, so I ran the test data on the official solution code from github. Well what do you know? My solution is right.
So now what? Well I went on a scavenger hunt to determine why. Turns out it was a shift in the way streaming happens for some data structures in py2 vs py3, and he never tested the code. He refused to accept my answer, so I made a lovely document proving I was right using the repo. Got a 100. lol.
Lectures were just plain useless. He asked us to solve multivar calculus problems that no one had seen and of course no one did it. He wasted 2 months on MDP. I'd continue but I'm running out of characters.
And now for the kicker. He becomes an a**hole, telling my friends doing research that they are terrible programmers, will never get anywhere doing this, etc. People were *crying* and the guy kept hammering the nail deeper for code that was honestly very good because "his was better". He treats women like delicate objects and its disgusting. YOU MADE MY FRIEND CRY, GAVE HER A BOX OF TISSUES, AND THEN JUST CONTINUED.
Want to know why we have issues with women in CS? People like this a****le. Don't be prof John. Encourage, inspire, and don't suck. I hope he's fired for discrimination.11 -
Why WordPress is not very good:
I wrote a quick 230 line python script that uses the power of urllib, ebooklib and 12 regular expressions that would make any italian proud to download webnovels from virlyce.com and turn them into .epub files for me.
The chapters are all individual WordPress pages, and after sequentially downloading only 202 of them I got an internal server error.
Why, WordPress?
Of course, I saw this coming and put mitmproxy to good use caching everything, so even though my python script with terrible error handling crashed I don't have to do it all again (yay)4 -
I actually never felt the need to scream at a co-worker so let's talk about that time a co-worker screamed at me instead.
tl;dr : some asshole boss screamed and threatened me because someone else's project was shit and didn't work.
Context: I was in my third year of school internship (graded) and my experience is C, C++, C#, Python all in systems programming, no web.
I was working as an intern for a shit company that was selling a shit software to hospitals (though not medically critical, thank God) the only tech guy on site was the DBA (cool guy) the product was maintained by a single dev in VB from his house, the dude never showed up to work (you'll understand why) and an other intern who couldn't dev shit.
I was working with the DBA on an software making statistical analysis from DB exports, worked nice, no problems here if we forget the lack of specs or boundaries (except must work in ieShit).
The other intern was working on something else (don't ask me what it is) I just remember it was in GWT before the community revived it. His webapp was requesting the company http server for a file instead of having one of it's java servlet to fetch it (both apps ran on sane server) which caused a lot of shit especially CORS error. That guy left (end of contract) and leaves his shit as is, boss asked me to deploy the app, I fiddle with it to see if it works and when I find out it doesn't then that asshole starts screaming at me in front of every other employee present, starts threatening to burn me in the tech world and have me thrown out of my school for no goddamn reason than the other dude's project doesn't work.
After the screaming I leave and warn my school immediately.
I guess that's why the other dev never came to work.
I had three weeks of internship left, that I did from home and worked probably less than 2 hours a day so suck it asshole.
Still had a good grade because I was reviewed by the DBA and he was happy with the work I did.
It was only later that I realized that what he did was categorizing as harassment (at least in France) and decided that never again this would happen without a response from my lawyer.1 -
I don't know what to do with my life anymore, as a self taught web developer, I started like anybody doing HTML, CSS and js, and then I met PHP and WordPress.
why the fuck PHP is ugly ? and why WordPress is uglier ? I tried to learn how to build a simple plugin in WordPress but the hooks system make me want to kill my self, how the fuck PHP powers 80% of the web ? every time I write PHP I wish I was never born, the problem is that I can't change job because I am old and I live in a fucking country who is technologically primitive, they fucking know only PHP and JAVA, no Node, No Ruby, No Python, only fucking PHP.
I learned React, I learned Node but you know what I did this last year ? I raped a themeforest theme for about dozen plus websites, A SINGLE THEME FOR MORE THAN DOZEN CLIENTS, my boss does not care, only me who is not sleeping at night because a tried to customize a Prestashop theme and it gave me cramps in the stomach, I feel depressed and useless, I want to quite my job but I can't, I have mouths to feed, WHY THE FUCK DID I FELL IN LOVE WITH PROGRAMMING, I was happy fixing computers, what can I do if the only project that I have are WordPress and Prestashop?
how did you do to stay sane when working with wordpress and prestashop ? are you not human ?I can't take it anymore.
I need a new road map, fuck it I will focus only on JS and Node and fuck PHP.10 -
I started with C#at the age of 12, it was way too complicated and I learned Lua for Computer craft instead. Next I learned Ruby for RPG Maker and finally Javascript for web Dev stuff.
Now comfortable enought with Javascript but put off by its quirks I learned Java for compiling faulty minecraft mods, but I only fully learned it in school.
At the same time I learned python and quite liked it for scripting, but ultimately it was not a good match for my projects.
Disapointed with Java I returned to C# and liked it quite a lot, but started learning C++. After touching my first Microcontroller I learned C and I've stuck with it as my favorite language.
Along the way I picked up Kotlin, in case I need to do some Java shit. Much better.
But how did I come to an understanding of programming. Well I got better after each time I got a layer deeper until I hit silicon.
I had tinkered with electronics since I was 15 so I just had to study some boolean mathematics in school and some vintage computers architecture and instruction sets and...
Then I finally understood how that shit I wrote in Lua way back when was actually executed by my hardware.
Allways dig deeper and you'll find enlightenment eventually. -
Fuck the managers !! Fucking Fuck Fuck !!!
I am in manual testing for 3 years. Wanted to move in to automation since 2016 January !
They kept delaying.
While waiting I kept autating stuffs and making utilities to use for everyone.
Recently automated a 5 yr old manual process.
Made an utility that can perform a 5 hours manual activity in 5 mins.
Our automation team had a vacancy.
The managers were asked to nominate names who could fill the spot from the current manual team.
They didn't suggested my name.
I am not bragging but I am the only person in the team who nows Selenium , UFT , Java , Python even though being in the manual testers.
The team is going to hire someone from the outside.
I just got to know it all this today.
These bastards should die in hell !!!!
I hate these bastards !!!!6 -
How deep does the rabbit hole go?
Problem: Convert numpy array containing an audio time series to a .wav file and save on disk
Error 1:
Me: pip install "stupid package"
Console: Can't pip, behind a proxy
Me: Finds workaround after several minutes
Error 2:
Conversion works, but audio file on disk doesn't work
Encoding Error only works with array of ints not floats
BUT I NEED IT TO BE FLOATS
Looks for another library
scikits.audiolab <- should work
Me: pip --proxy=myproxy:port install "this shit"
Command Line *spits back huge error*
Googles error <- You need to install this package with a .whl file
Me: Downloads .whl file <- pip install "filename".whl
Command Line: ERROR: scikits.audiolab-0.11.0-cp27-cp27m-win32.whl is not a supported wheel on this platform.
Googles Error <- Need to see supported file formats
Me: python -c "import pip; print(pip.pep425tags.get_supported())"
Console: AttributeError: module 'pip' has no attribute 'pep425tags'
Googles Error <- Use another command for pip v10
Me: python -c "import pip._internal; print(pip._internal.pep425tags.get_supported())"
Console: complies
Me: pip install "filename".whl
Console: complies
Me: *spends 30 minutes to find directory where I should paste .dll file*
Finds Directory (was hidden btw), pastes file
Me: Runs .py file
Console: from version import version as _version ModuleNotFoundError: No module named 'version'
Googles Error <- Fix is: "just comment out the import statement"
Me: HAHAHAHAHAHA
Console: HAHAHAHAHA
Unfortunately this shit still didn't work after two hours of debugging, lmao fuck this7 -
After a lot of work I figured out how to build the graph component of my LLM. Figured out the basic architecture, how to connect it in, and how to train it. The design and how-to is 100%.
Ironically generating the embeddings is slower than I expect the training itself to take.
A few extensions of the design will also allow bootstrapped and transfer learning, and as a reach, unsupervised learning but I still need to work out the fine details on that.
Right now because of the design of the embeddings (different from standard transformers in a key aspect), they're slow. Like 10 tokens per minute on an i5 (python, no multithreading, no optimization at all, no training on gpu). I've came up with a modification that takes the token embeddings and turns them into hash keys, which should be significantly faster for a variety of reasons. Essentially I generate a tree of all weights, where the parent nodes are the mean of their immediate child nodes, split the tree on lesser-than-greater-than values, and then convert the node values to keys in a hashmap to make lookup very fast.
Weight comparison can be done either directly through tree traversal, or using normalized hamming distance between parent/child weight keys and the lookup weight.
That last bit is designed already and just needs implemented but it is completely doable.
The design itself is 100% attention free incidentally.
I'm outlining the step by step, only the essentials to train a word boundary detector, noun detector, verb detector, as I already considered prior. But now I'm actually able to implement it.
The hard part was figuring out the *graph* part of the model, not the NN part (if you could even call it an NN, which it doesn't fit the definition of, but I don't know what else to call it). Determining what the design would look like, the necessary graph token types, what function they should have, *how* they use the context, how thats calculated, how loss is to be calculated, and how to train it.
I'm happy to report all that is now settled.
I'm hoping to get more work done on it on my day off, but thats seven days away, 9-10 hour shifts, working fucking BurgerKing and all I want to do is program.
And all because no one takes me seriously due to not having a degree.
Fucking aye. What is life.
If I had a laptop and insurance and taxes weren't a thing, I'd go live in my car and code in a fucking mcdonalds or a park all day and not have to give a shit about any of these other externalities like earning minimum wage to pay 25% of it in rent a month and 20% in taxes and other government bullshit.4 -
Don’t teach with LOGO, but instead start with Scratch, then something more advanced like Python and after that maybe C# or Java.
Teach different operating systems and software, not only Windows and Microsoft Office. There should be class with Linux (Mint for instance) with LibreOffice and another with macOS and iWork.
Teach basic troubleshooting steps.
Less theory, more practice.
STOP BEING SUCH MICROSOFT ORIENTED.
Ability to use own laptop (I would be really happy to use my own one).
Teach basic commands for Windows and Unix based systems.
Teach how to install Windows and Linux.3 -
had to create a rather large CLI based application in Java as a graduate level assignment.
Doing shit like this makes me appreciate Node/Python/literally fucking anything else much more for this shit in which storing and retrieving JSON does not have to be that much of a fucking hassle WITHOUT using external libraries(they want it all made by hand)
I love Java, don't get me wrong, but I would rather use it for only a couple of things. I stopped working as a Mobile dev precisely because of Android being shit for Java. No, Kotlin does not fix it, its not the language that is my problem, its the fucking general architecture of the Android API that pisses me off.
And no, I do not care if you like it, like 1 fucking bit. I am not saying that the architecture is shit, I am saying that I did not like it.
Sigh.......oh well. Almost done with the assignment, but still.7 -
I don't get it.
I tried Kotlin on Android just for fun, and it doesn't support binary data handling, not even unsigned types until the newest version. Java suffers from the same disease.
How does one parse and process binary data streams on such a high end system? Not everything is highlevel XML or JSON today.
And it's not only an Android issue.
Python has some support for binary data, and it's powerful, but not comfortable.
I tried Ruby, Groovy, TCL, Perl and Lua, and only Lua let's you access data directly without unnecessary overhead.
C# is also akward when it comes to data types less than the processer register width.
How hard can it be to access and manipulate data in its natural and purest form?
Why do the so called modern programming language ignore this simple aspect that is needed on an everyday basis?11 -
I used to think that I had matured. That I should stop letting my emotions get the better of me. Turns out there's only so much one can bottle up before it snaps.
Allow me to introduce you folks to this wonderful piece of software: PaddleOCR (https://github.com/PaddlePaddle/...). At this time I'll gladly take any free OCR library that isn't Tesseract. I saw the thing, thought: "Heh. 3 lines quick start. Cool.", and the accuracy is decent. I thought it was a treasure trove that I could shill to other people. That was before I found out how shit of a package it is.
First test, I found out that logging is enabled by default. Sure, logging is good. But I was already rocking my own logger, and I wanted it to shut the fuck up about its log because it was noise to the stuffs I actually wanted to log. Could not intercept its logging events, and somehow just importing it set the global logging level from INFO to DEBUG. Maybe it's Python's quirk, who knows. Check the source code, ah, the constructors gaves `show_log` arg to control logging. The fuck? Why? Why not let the user opt into your logs? Why is the logging on by default?
But sure, it's just logging. Surely, no big deal. SURELY, it's got decent documentation that is easily searchable. Oh, oh sweet summer child, there ain't. Docs are just some loosely bundled together Markdowns chucked into /doc. Hey, docs at least. Surely, surely there's something somewhere about all the args to the OCRer constructor somewhere. NOPE! Turns out, all the args, you gotta reference its `--help` switch on the command line. And like all "good" software from academia, unless you're part of academia, it's obtuse as fuck. Fine, fuck it, back to /doc, and it took me 10 minutes of rummaging to find the correct Markdown file that describes the params. And good-fucking-luck to you trying to translate all them command line args into Python constructor params.
"But PTH, you're overreacting!". No, fuck you, I'm not. Guess whose code broke today because of a 4th number version bump. Yes, you are reading correctly: My code broke, because of a 4th number version bump, from 2.6.0.1, to 2.6.0.2, introducing a breaking change. Why? Because apparently, upstream decided to nest the OCR result in another layer. Fuck knows why. They did change the doc. Guess what they didn't do. PROVIDING, A DAMN, RELEASE NOTE. Checked their repo, checked their tags, nothing marking any releases from the 3rd number. All releases goes straight to PyPI, quietly, silently, like a moron. And bless you if you tell me "Well you should have reviewed the docs". If you do that for your project, for all of your dependencies, my condolences.
Could I just fix it? Yes. Without ranting? Yes. But for fuck sake if you're writing software for a wide audience you're kinda expected to be even more sane in your software's structure and release conventions. Not this. And note: The people writing this, aren't random people without coding expertise. But man they feel like they are.5 -
The only thing I studied from HTML is that you have to close anything you have opened.../>
I already had some experience with C++ and suddenly they suggested me to take a mentoring.
My mentor - Well, we're going to learn HTML.
- I'm busy. I'm learning python...
- What have you done? Did you learn the HTML?
- Eeh I need to do a neutral network project for the uni. Wait please...
- It's time to learn HTML.
- Eeh I have a deadline in these days. I have to make an Ethereum smart contract. Wait please...
- HTML!
- WAIT!
Finally I asked my mentor to stop this fucking recursion. I'm not going to learn it.1 -
These guys who only know Python and fuck you up, because you are used to write "true" instead of "True", or "else if" instead of "elif". Finally they laugh about you, because you are not able to "remember this simple syntax"!!!2
-
Another day, another company that doesn’t live up to its own hype.
This time interviewing for a company that only want people who are willing to start with the language they currently know but learn other programming languages and not shy away from new things.
Brilliant, I’m up for that. I love learning and want to be at a place that values learning. I’ve got 20+ years of experience and I’ve learnt all sorts in that time to stay relevant. Currently I’m a c# dev, but I’ve worked on projects using JavaScript & Typescript, Angular, React etc. Done front end and back end, taught myself mongo and architecture. Point is that I have a proven track record of learning.
To cut a long story short, they give me a .net test. Nothing special about it. I have a 4 hour chat. And a week later I’m rejected because I don’t do Python. WTF?!
I thought this place was all about allowing people to learn if they were willing, not about what they know right now. I’m calling bullshit.7 -
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from rant import depression as fuck
from WhiskeyBottle import *
import time
while bottle.contents > 0.0 and time.datetime():
fuck.rant()
Yeah ok, this will be one of a few, but I'll try to keep it short. Damn, whiskey is not helping. Nor various smokables.
So yeah, have you ever had a dream? I consider myself a gamer the whole life, always loved creative worlds, dynamics, mechanics, plots, stuff you could and couldn't do. To the point I promised myself I'd make a game - NAH - I'll be making games in the future. You know, good games, that you come back to. Like Doom. Or those porn games.
Never went to Uni or nothing. Was born in a poor European country with Internet more broken than my soul right now. Years later, after acquiring some good hardware, learning a bunch of languages, Unity, Unreal Engine 4 and experimenting for about 10 years now with small scripts, apps and mini-games I've come to this realization.
I only made one "full" "game" in my life, and that was when I was like 16 in Klik & Play (early Game Maker). And it was shit. It was horrible, horrible shit. It literally makes you want to cry when you play it. It's 16-bit brain cancer. And it's the best I've ever published.
Now I've been through countless prototypes, none of which I've developed any further. I had ideas, plans, even made some more advanced roadmaps and dev cycles. Estimated costs, time, mechanics, gameplay hooks.
I never finish anything.
I get bored. Frustrated sometimes. There's always an improvement, something that "if I'd finish that it would be it! Screw this thing I was working on now, THAT will be worth sacrificing it." It's tiresome. I'm getting old.
And honestly, I don't know how people do it anymore. Trying to compromise those side-projects (they take all my free time which is not much) and work is just... draining. I'm losing hope. Maybe I shouldn't be allowed into the gamedev world after all. Maybe I'll just pump half-assed pieces of crap everybody will hate.
Or worse, nobody will care.7 -
TLDR;
How much do you earn for your skill set in your country vs your cost of living?
BONUS;
See how much I & others earn.
Recently I became aware of just how massive the gap in developers earnings are between countries. I'd love to calculate a fixed score for income vs cost of living.
I know this stuff is sensitive to some so if you prefer just post your score (avg income p/m after tax / cost of living).
I'm not shy so I'll go first:
MY RATES
Normal Rate (Long term): $23
Consulting / Short term: $30-$74
Pen Test: $1500 once off.
Pen Test Fixes: consulting rate.
Simple work/websites: min $400+
Family & Friends: Dev friends are usually free (when mutually beneficial). Family and others can fuck off, even if they can pay (I pass their info to dev friends with fair warning).
GENERAL INFO
Experience: 9 years
Country: South Africa
Developer rareness in country: Very Rare (+-90 job openings per job seeker).
Middle class wage in country: $1550 p/m (can afford a new car, decent apartment & some luxuries like beer/eating out).
Employment type: Permanent though I can and do freelance occasionally.
Client Locality: Mostly local.
Developer Type: Web Developer (True web dev - I do anything web related from custom HTTP servers to sockets, services, advanced browser api's, apps & more).
STACKS / SKILLSETS
I'M PROFICIENT IN:
python, JavaScript, ASP classic, bash, php, html, css, sql, msql, elastic search, REST, SOAP, DOM, IIS, apache
I DABBLE WITH:
ASP.net, C++, ruby, GO, nginx, tesseract
MY SPECIALTIES:
application architecture, automation, integrations, db's, real time data, advanced browser apps/extensions (webRTC, canvas etc).
SUMMARY
Avg income p/m after tax: $2250
Cost of living (car+rent+food): $1200
Score: 1.85
*Note: For integrity when calculating my cost of living I excluded debt repayments and only kept my necessities which are transport, food & shelter.
I really hope you guy's post your results, it would be great to get an idea of which is really the worst / best country to be a developer in.20 -
ok so first post, i would like to say whoever the fuck decided <!----!> was gonna be comments in html, i fucking hate you. not only is it the most ugly comments system out of any language i know, but its so unusable to type out, i'd rather call <script> just to be able to put it in // half the time (if i ever use comments, i rarely do) python its one single character, js its 2 which yeah is kinda annoying but atleast its 2 of the same so i dont have to reach across the fucking keyboard, here comes html the language most devs need nowadays to promote a project at least saying reach across your entire keyboard to fucking write a comment.7
-
Fellow Deviants, I need your help in understanding the importance of C++
Okay, I need to clarify a few things:
I am not a beginner or a newbie who has just entered this community...
I have been using C++ for some time and in fact, it was the language which introduced me to the world of programming... Before, I switched to Java, since I found it much better for application development...
I already know about the obvious arguments given in favour of C/C++ like how it is a much more faster and memory efficient than other languages...
But, at the same time, C/C++ exposes us and doesn't protect us from ourselves.. I hope that you understand what I mean to say..
And, I guess that it is a fair tradeoff for the kind of power and control that these languages (C/C++) provide us..
And, I also agree with the fact that it is an language that ideally suits our need, if we wish to deal with compilers, graphics, OS, etc, in the future...
But, what I really want to ask here is:
In this age and times, when hardware has advanced so much, where technically, memory efficiency or execution speeds no longer is the topmost priority... These were the reasons for which C/C++ was initially created...
In today's time, human concept of time matters more and hence, syntactical less complicated languages like Java or Python are much more preferred, especially for domains like application development or data sciences...
So, is continuing with C++, an endeavour worth sticking with in the future or is it not required...
I am talking about this issue since I am in a dilemma about the use of C++ in the future...
I would be grateful if we could talk about keeping AI, Machine Learning or Algorithms Optimisation in mind... Since, these are the fields in which I am interested in...
I know that my question could have been posted in a better way.. But, considering the chaos that is present in my mind, regarding this question doesn't allow me to do so...
Any kind of suggestion or thoughts would be welcome and much appreciated...
P.S: I currently use C++ only for competitive programming or challenges...28 -
Variable assignment as declaration is stupid. Looking at you, Python 😑
You can never be sure whether you accidentally overwrite a previous value and you have to fuck around with global because it doesn't know what's an assignment to a global var and what's a declaration. It's just not as satisfying as doing it explicitly and only leads to errors24 -
I'm really not sure. When I was 7-8 years old, I liked to view source in IE, then I somehow managed to use Javascript in the browser. First only some dumb opening of windows. And I liked Batch, so I made some files for copying, backup and stuff.
Then I got to PHP during the years from some online tutorial about making dynamic websites. My website was more static than stone, but yeah, I did page loading with PHP! Awful experience anyway, because I had to install Xampp, get it work and other stuff. 11 years old or so. (and I used Xampp only as a fileserver between laptop and desktop later, because.. PHP4... just no.)
As 12 years old or so I experienced my first World of Warcraft (vanilla) on a custom server in an internet cafe and I thought it's a singleplayer game. When I found out that no, I googled how to make my own server (hated multiplayer back then and loved good games with huge storylines). Failed miserably with ManGOS, got something to work with ArcEMU. There I learned some C++ basic stuff, which I hoped would helped me to fix some bugs. When I opened the code I was like: "Suuure." and left it like that. I learned what a MySQL database is, broke it like four times when I forgot WHERE and still rather played with websites i.e. html, css, js and optionally php when I wanted to repair a webpage for the server. With a friend we managed to get the server work via Hamachi, was fun, the server died too soon. Then I got ManGOS to work, but there wasn't really any interest to make a server anymore, just singleplayer for the lore. (big warcraft fan, don't kick me :D )
I think it was when I was 13y.o. I went to Delphi/Pascal course, which I liked a lot from the beginning, even managed to use my code on old Knoppix via Lazarus(Pascal). At this age I really liked thoae Flash games which were still common to see everywhere. So I downloaded .swfs, opened and tried to understand it. Managed to pull some stuff from it and rewrite in Pascal. Nope, never again that crap.
About the same time I got to Flash files I discovered Java. It was kind of popular back then, so I thought let's give it a try. I liked Flash more. Seriously. I've never seen so much repetitiveness and stupid styling of a code. I had either IDE for compiling C++ or Pascal or notepad! You think I wanted my code kicked all over the place in multiple folders and files? No.
So back to Pascal. I made some apps for my old hobby, was quite satisfied with the result (quiz like app), but it still wasn't the thing. And I really thought I'd like to study CS.
I started to love PHP because of phpBB forums I worked on as 15 y.o. I guess. At the same time I think there was an optional subject at school, again with Pascal. I hated the subject, teacher spoke some kind of gibberish I didn't really understand back then at all and now I find it only as a really stupid explanation of loops and strings.
So I started to hate Pascal subject, but not really the lang itself. Still I wanted something simpler and more portable. Then I got to Python as hm, 17y.o. I think and at the same time to C++ with DevC++. That was time when I was still deciding which lang to choose as my main one (still playing with website, database and js).
Then I decided that learning language from some teacher in a class seriously pisses me off and I don't want to experience it again. I choose Python, but still made some little scripts in C++, which is funny, because Python was considered only as a scripting lang back then.
I haven't really find a cross-platform framework for C++, which would: a) be easy to install b) not require VisualStudio PayForMe 20xy c) have nice license if I managed to make something nice and distribute it. I found Unity3D though, so I played with Blender for models, Audacity for music and C# for code. Only beautiful memories with Unity. I still haven't thought I'm a programmer back then.
For Python however I found Kivy and I was playing with it on a phone for about a year. Still I haven't really know what to do back then, so I thought... I like math, numbers, coding, but I want to avoid studying physics. Economics here I go!
Now I'm in my third year at Uni, should be writing thesis, study hard and what I do? Code like never before, contribute, work on a 3D tutorial and play with Blender. Still I don't really think about myself as a programmer, rather hobby-coder.
So, to answer the question: how did I learn to program? Bashing to shit until it behaved like I desired i.e. try-fail learning. I wouldn't choose a different path.2 -
At what point can I claim to not be a script kiddie anymore?
Like, I've built compilers, and interpreters for an excel-like syntax, I refactored a pdf-parsing library from the ground up. I managed databases and wrote protocols for communicating with hardware.
But most of my experience is with python / nodejs / golang. It is only recently that I started playing with C and rust for actual efficient system code.8 -
python machine learning tutorials:
- import preprocessed dataset in perfect format specially crafted to match the model instead of reading from file like an actual real life would work
- use images data for recurrent neural network and see no problem
- use Conv1D for 2d input data like images
- use two letter variable names that only tutorial creator knows what they mean.
- do 10 data transformation in 1 line with no explanation of what is going on
- just enter these magic words
- okey guys thanks for watching make sure to hit that subscribe button
ehh, the machine learning ecosystem is burning pile of shit let me give you some examples:
- thanks to years of object oriented programming research and most wonderful abstractions we have "loss.backward()" which have no apparent connection to model but it affects the model, good to know
- cannot install the python packages because python must be >= 3.9 and at the same time < 3.9
- runtime error with bullshit cryptic message
- python having no data types but pytorch forces you to specify float32
- lets throw away the module name of a function with these simple tricks:
"import torch.nn.functional as F"
"import torch_geometric.transforms as T"
- tensor.detach().cpu().numpy() ???
- class NeuralNetwork(torch.nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__() ????
- lets call a function that switches on the tracking of math operations on tensors "model.train()" instead of something more indicative of the function actual effect like "model.set_mode_to_train()"
- what the fuck is ".iloc" ?
- solving environment -/- brings back memories when you could make a breakfast while the computer was turning on
- hey lets choose the slowest, most sloppy and inconsistent language ever created for high performance computing task called "data sCieNcE". but.. but. you can use numpy! I DONT GIVE A SHIT about numpy why don't you motherfuckers create a language that is inherently performant instead of calling some convoluted c++ library that requires 10s of dependencies? Why don't you create a package management system that works without me having to try random bullshit for 3 hours???
- lets set as industry standard a jupyter notebook which is not git compatible and have either 2 second latency of tab completion, no tab completion, no documentation on hover or useless documentation on hover, no way to easily redo the changes, no autosave, no error highlighting and possibility to use variable defined in a cell below in the cell above it
- lets use inconsistent variable names like "read_csv" and "isfile"
- lets pass a boolean variable as a string "true"
- lets contribute to tech enabled authoritarianism and create a face recognition and object detection models that china uses to destroy uyghur minority
- lets create a license plate computer vision system that will help government surveillance everyone, guys what a great idea
I don't want to deal with this bullshit language, bullshit ecosystem and bullshit unethical tech anymore.11 -
How the Common Lisp Community will eventually die soon:
Clojure is the only main Lisp dialect having some sort of heavy presence in today's modern development world. Yes, I am aware of other(if not all) environments in which Lisp or a dialect of it is being used for multiple things, CADLisp, Guile Scheme, Racket, etc etc whatever. I know.
Not only is Clojure present in the JVM(I give 0 fucks about whether you like it or not also) but also has compilation targets for Javascript via Clojurescript. This means that i can effectively target backend server operations, damn near everything inside of the JVM and also the browser.
Yet, there is no real point in using Lisp or Clojure other than for pure academic endeavours, for which it is not even a pure functional programming language, you would be better served learning something else if you want true functional purity. But also because examples for one of the major areas in software development, mainly web, are really lacking, like, lacking bad, as in, so bad most examples are few in between and there is no interest in making it target complete beginners or anything of the like.
But my biggest fucking gripe with Lisp as a whole, specifically Common Lisp, is how monstrously outdated the documentation you can find available for it is.
Say for example, aesthetics, these play a large role, a developer(web mostly) used to the attention to detail placed by the Rails community, the Laravel community, django, etc etc would find on documentation that came straight from the 90s. There is no passion for design, no attention to detail, it makes it look hacky and abandoned. Everything in Lisp looks so severely abandoned for which the most abundant pool of resources are not even made present on a fully general purpose language constrained as a scripting environment for a text editor: Emacs with Emacs Lisp which I reckon is about the most used Lisp dialect in the planet, even more so than Clojure or Common Lisp.
I just want the language to be made popular again y'know? To have a killer app or framework for it much like there is Rails for Ruby, Phoenix for Elixir, etc etc. But unless I get some serious hacking done to bring about the level of maturity of those frameworks(which I won't nor I believe I can) then it will always remain a niche language with funny syntax.
To be honest I am phasing away my use of Clojure in place of Pharo. I just hate seeing how much the Lisp community does in an effort to keep shit as obscure and far away from the reach of new developers as possible. I also DESPISE reading other Lisp developer's code. Far too fucking dense and clever for anyone other than the original developer to read and add to. The idea that Lisp allows for read only code is far too real man.
Lisp has been DED for a while, and the zombies that remain will soon disappear because the community was too busy playing circle jerks for anything real to be done with it. Even as the original language of AI it has been severely outshined by the likes of Python, R and Scala, shit, even Javascript has more presence in AI than Lisp does now a days.9 -
<opinion>
You may be a prod ninja but I believe that every dev should have a decent level of exposure with a low level language(s). Sure you can make an HTTP server, do a sentimental analysis, topic modeling, set up multinode clusters, write ORM queries from dbs and all sorts of awesome stuffs with Python/Ruby/PHP/JS/GO etc but none of them teaches you what happens at kernel level. Things like memory leaks, threading, multiprocessing, memory allocations etc can only be better learnt from a low level language.
</opinion>
P.S. Not a C/C++ fanboy. I'm a python dev 😄5 -
I'm writing a devrant like site, so a kind of forum that supports live chat under every article. Login will be just username and password to stay anonymous. Email is optional for password reset. Also it won't have password requirements. Who cares if user uses insecure password. I do like the devrant avatar thing. I will use the ducky generator instead. So everyone on the site is a custom duck. K-SASS prolly never expected his generator to be used anywhere. The requirement of this site is that it scales very well. I have db calls of 0.006s, this is for persistent data only and will be used by all site instances. I expect that it can handle many clients concurrent as long I do not return more than 30 rows or so. Events get handled by a self written pubsub server.
All sounds great and development goes fine. But why is this a rant? Because the same thing as always is biting me, I can't design a site at all. I know how but I don't have any feeling for design at all making me almost incapable of building an attractive site. The only thing I can 'design' is an application in bootstrap or smth. I spend so much time one design while I don't like to do it ironically. But looks of site is almost as important as an good working site. Good working site doesn't get used if looks bad in many casee. This is since the start of my career an issue and it sucks that I appearantly can't deliver a whole site on my own meeting my standards.
My backend work is top notch tho. Btw, this application is not to be an alternative for devrant. I do not think I can attract more users than it already has and I've seen two communities disappearing once because someone decided to make a new one, took half of community with him and both communities died after short while.
End product of this project is a working project, not a live site hosted somewhere. It's pure about mixing mostly self written tech to get the best performance. Reinventing wheel on many levels. I wanted maybe to do the site in C but decided that it's way to much work for the value. I change the site so rapid since I don't have decent plan that python aiohttp is the best choice in amount of writing it yourself and fast. It's very lightweight.
More a story than a rant, sorry29 -
Be me at work, 12h nights shift, 4th day like that
Following online course on machine learning, instructor says we'll use python 3.x as the interpreter for the project, boot personal laptop and start pycharms, create the file, choose right interpreter no big deal
pip install the modules I need for the course - done, try to import them.
Doesn't work, first reboot, still not working, browsing Internet for answers, no ideas, reboot again (you never know) reload pycharms, browse Internet again, find out the modules only work on python 2.7.
Wasted 45minutes for this shit
Feels good bro.2 -
Thinking about including a file that is named: pleasedontdelete.cpp into the codebase. Don't include it in the project and put vague references to things in the code. Put variables that could be misconstrued as being related to bitcoin or some other cryptocoin. Put lots of comments saying: experimental.
Got a weird growth on my finger. Tried cutting if off with a razor blade. Now it is a stinging bleeding growth. Is not getting bigger. Just seems like a weird callous.
Found out gdscript has threading. Now I understand why Godot went away from Python. They actually wanting to do shit like threading. Every time I look into the gdscript library I find new gems. I mean it has a xml stuff in there. Found that today too.
Probably going to make a simple custom editor for a game I have been playing. I built a prototype a few years back on a weekend. Played the game again and now want it. I originally used Qt and C++. I think I will now try to make it in Godot.
I have been moved around the building as they move offices around. Now back upstairs instead of downstairs. Currently alone in a huge room that had cubicles. I am the only cube left. It feels like Davy Crocket at the Alamo. YOU WILL NEVER TAKE ME ALIVE!3 -
How are Coding Bootcamps and what are they like?
A little background:
I’ve been going to a University (have a year left for a CS degree) and I am so EXTREMELY frustrated. I thought I would get an education but it’s so underwhelming. 95% of it doesn’t involve programming and the classes that do are so elementary that I know more than the professors. By the end of my web design course we had been taught to center text, insert images, insert links, and how to use tables with a single day on CSS using colors.
The OOP courses are all the same, learn variables, types, conditionals, loops, classes, functions, and so forth. Python, C++, and Java. I taught all this to myself when I was 15, I’m 29 now.
I’ve recently gotten extremely interested into full stack web development. .NET Core, React, Typescript. I’m also working with Electron. I’m basically 100% self taught and spend almost every waking moment trying to learn more and apply it.
There’s only one person at my school who has the same passion as me and he’s the president at the coding club but is going into machine learning and big data (I’m the Secretary) and I just wish I could interact with more people who have the same passion. I would love to be challenged. I feel as if I spend more time trying to learn and diagnose problems then applying my knowledge because web development is so complicated when it comes to connecting everything together and I’m still relatively new to it (started like 4 months ago). I’m an extremely fast learner and extremely dedicated so I’m not worried about that being an issue.
I just really want to be a part of a community where I have people who can answer my questions and I don’t have to spend hours or days on google finding a solution to integrating Webpack or using typescript with react, and more. I want to feel challenged.
Can I get this from a boot camp? I recently listened to a podcast from Syntax and it really excited me but I don’t want to be let down again. Either way I’m finishing my degree to get that bullshit $60000 piece of paper but I wouldn’t mind taking a couple months off for something like this if it’s worth it.
I live in CO so if you have any Bootcamps in CO that you recommend, I’d love to hear it and take a trip to check it out in person.
Thanks a bunch!10 -
I was talking to a friend about the current state of machine learning through tensorflow and commented about the use of Javascript as a language.
He discarded the idea as he views Javascript as something that should only be used as a frontend technology rather than something to build backends or deep learning models.
I am thorn. I have always liked Javascript but will admit that I have used it mostly in the area of front end with very few backend instances(i did create a full stack intranet app in Express once, major success for the application it was hosting, it was a very basic api which had its own nosql db with no need to interact with the company's relational data, it was perfect for the occasion and still help maintaining it from time to time)
My boi states that node's biggest issue has always been npm and the quality of packages. I always contradict those statements by saying that if one uses community standards and the best packages then one does not need to worry about the quality(i.e mongoose over some unmaintained mongo wrapper etc)
I sometimes catch myself finding that my way of thinking adapts better to JS than it even does Python (which is his preference for deep learning) and whilst there are some beastly packages for python in terms of quality and usefulness such as matplotlib etc that one can do great things with the equivalent JS.
I mean, tensorflow.js came from the same wizards that did tensorflow (obviously) and i find the functional approach of JS to be more on par with how we develop solutions.
I am no deep learning expert, and sadly I have no professional experience with machine learning. But I venture to say that we should not cast aside the great strides that the JS community has done to the language in terms of evolution and tooling. Today's Js is not your grandaddy's Js and thinking that the language is crippled because of early iterations of the language would be severely biased.
What do you guys(maybe someone with professional experience) think of Js as a language for machine learning?
Do you think the language poses something worth considering in terms of tooling and power for ml?2 -
so apparently Windows 10 Pro build... 1803? 1806? (somewhere in there) refuses to allow over 1TB of pagefile if there's more than one volume with pagefiles. The system just hangs when pagefile is used if this condition isn't met.
I know because *i'm batshit fucking insane and am trying to cram 64GB of data into a PNG in PYTHON*.
(this might also only apply to me. your mileage may or may not vary.)8 -
Oh my god, GDScript is the single biggest piece of shit scripting language I have ever witnessed. It somehow manages to combine the very worst things of dynamic typing with the downsides of static typing, all in one bundle of utter shit
Imagine you have two game object scripts that want to reference each other, e.g. by calling each others methods.
Well you're outta fucking luck because scripts CANNOT have cyclic references. Not even fucking *type hints* can be cyclic between scripts. Okay no problem, since GDScript is loosely based of Python I can surely just call my method out of the blue without type hints and have it look it up by name. Nope! Not even with the inefficient as fuck `call` method that does a completely dynamic-at-runtime fuck-compile-time-we-script-in-this-bitch function call can find the function. Why? Because the variable that holds a reference to my other script is assumed to be of type Node. The very base class of everything
So not only is the optional typing colossal garbage. You cant even do a fucking dynamic function call because this piece of shit is just C++ in Pyhtons clothing. And nothing against C++ (first time I said that). At least c++ lets me call a fucking function8 -
Over the summer I was recruited to be a supplement instructor for a data structures course. As a result of that I was asked (separately by the professor) to be a grader for the course. Because of pay limitations I've mostly been grading homework project assignments. In any case, it's a great job to get my foot into the department and get recognized.
Over the course of the semester I've had this one person, OSX, named after their operating system of choice, who has been giving me awkward submissions. On the first assignment they asked the professor for extra time for some reason or the other, and that's perfectly fine.
So I finally receive OSX's submission, and it's a .py file as per course of the course. So I pop up a terminal in the working directory and type "python OSX_hw1.py". Get some error spit out about the file not being the right encoding. I know that I can tell python to read it in a different encoding, so I open it up in a text editor. To my surprise it's totally not a text file, but rather a .zip file!
I've seen weirder things done before, so no big deal. I rename the file extension, and open it up to extract the files when I see that there's no python files. "Okay, what's goin on here OSX..." I think to myself.
Poking around in the files it appears to be some sort of meta-data. To what, I had no clue, but what I did find was picture files containing what appeared to be some auto-generated screenshots of incomplete code. Since I'm one to give people the benefit of doubt even when they've long exhausted other peoples', I thought that it must be some fluke, and emailed OSX along with the professor detailing my issue.
I got back a rather standard reply, one of which was so un-notable I could not remember it if my life depended on it. However, that also meant I didn't have to worry about that anymore. Which when you're juggling 50 bazillion things is quite a relief. Tragically, this relief was short lived with the introduction of assignment 2.
Assignment 2 comes around, and I get the same type of submission from OSX. At this time I also notice that all their submissions are *very* close to the due time of 11:59pm (which I don't care about as long as it's in before people start waking up the next morning). I email OSX and the professor again, and receive a similar response. I also get an email from OSX worried about points being deducted. I reply, "No issue. You know what's wrong. Go and submit the right file on $CentralGradingCenter. Just submit over your old assignment".
To my frustration OSX claimed to not know how to do this. I write up a quick response explaining the process, and email it. In response OSX then asks if I can show them if they comes to my supplemental lesson. I tell OSX that if they are the only person, sure, otherwise no because it would not be a fair use of time to the other students.
OSX ends up showing up before anyone else, so I guide them through the process. It's pretty easy, so I'm surprised that they were having issues. Another person then shows up, so I go through relevant material and ask them if they have any questions about recent material in class. That said, afterwards OSX was being somewhat awkward and pushy trying to shake my hand a lot to the point of making me uncomfortable and telling them that there's no reason to be so formal.
Despite that chat, I still did not see a resubmission of either of those two assignments, and assignment 3 began to show it's head. Obviously, this time, as one might expect after all those conversations, I get another broken submission in the same format. Finally pissed off, I document exactly how everything looks on my end, how the file fails to run, how it's actually a zip file, etc, all with screenshots. That then gets emailed to the professor and OSX.
In response, I get an email from OSX panicking asking me how to submit it right, etc, etc. However, they also removed the professor from the CC field. In response I state that I do not know how to use whatever editor they are using, and that they should refer to the documentation in order to get a proper runnable file. I also re-CC the professor, making sure OSX's email to me is included in my reply.
OSX then shows up for one of my lessons, and since no one had shown up yet, I reiterate through what I had sent in the email. OSX's response was astonished that they could ever screw up that bad, but also admits that they had yet to install python(!!!). Obviously, the next thing that comes from my mouth is asking OSX how they write their code. Their response was that they use a website that lets them run python code.
At this point I'm honestly baffled and explain that a lot of websites like those can have limitations which might make code run differently then it should (maybe it's a simple interpreter written on JavaScript, or maybe it is real python, but how are you supposed to do file I/O?) .
After that I finally get a submission for assignment 1! -
Obligatory subjective view from inexperienced eyes of a highschooler
I think it's evolving to be more beginner-friendly and more easily accessible. I'm seeing ppl roughly my age can program pretty well (ignoring the mandatory programming classes in highschool that stuff is just no (I know, we had this convo before but do hear me out, although it teaches fundamental programming in Pascal, the execution sucks ball because "mandatory")). I'm not saying we are on par with the in-industry devs, it's just we can code well enough to at least make decent small program/script.
With newer scripting languages that are easy to pick up and syntactically similar to English which is obviously Python, both objectively and subjectively, and its ability to be OOP without scaring first-timers of the what-the-blyn-is-this blank program (looking at you C#) people can be introduced to programming and programming concepts fairly easily and they can switch from Py to other languages with little to some hiccups, from my personal exp at least.
But then there's the "too much kiddies in the field" arguments I saw on dR (I think) a while back then when SO decided to better support newbies. To that, I can only say "Please give us a chance". We're completely oblivious to how the dev world work nor how you guys do your work so before you scold us on this, at least tell us how to work like you before you go on a 2-A4-page rant on how the industry is not as good as before and how it has degraded.
That leads to the problems of politics invading programming. We have it, I hate it, goddammit I wanna murder them. Linux CoC controversy is just...no. And then there's forced diversity in hiring (also ranted on dR a while back) and corporations pissing devs off to satisfy a minor group. I'll just shut up on this. No no no no no no no NO I'm not gonna. Not gonna.
Do correct me if I'm wrong though. I'm a less than a junior dev.2 -
T_PAAMAYIM_NEKUDOTAYIM
This is how PHP refers to :: internally, it's the only fucking token with such a weird name, what is this fucking language?
Who is writing this shit? OOP but it's completely optional? Where is the goddamn sheriff? I'm done, off to Ruby, Python, Go or anything that's not fucking PHP. Sick of this shit. Fuck this language.
How can such a massive language be so poorly designed!?3 -
I know I’ll get mixed views for this one...
So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).
Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.
Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.
What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...
The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.
The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.
Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.
One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...
Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.
Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.
Waterfall has its own problems, But that’s another story for another day..
ANYWAY... soooo where were we ....
Ahh yess....
Clean code..
Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...
I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.
OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..
Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.15 -
Have a question about my career:
So far my career out of uni has been like this:
8 months in first place working as C# .NET dev, creating native desktop apps for windows. job was shitty, was not getting any best practices skills so I left.
12 months in 2nd place working as android dev in a startup. was working all alone and had to rebuilt my app up to 5-6 times to learn best practices. startup didnt care about android app at all so I left and now doing just some small freelance work for them.
3 months in new startup as android dev.Today I was told that its decided to focus on iOS and do all marketing (also uplift of new design) only on iOS. basically for next 3-4 months they don't plan to do much on android side. they saw that I showed some interest in backend and now they are asking me to talk with two other senior guys about starting with some small tasks for me on backend.
Our backend is mainly using python. Also backend guys will be pretty busy for next few months because they will have to deliver many new features in next few upcoming months. I've talked with one of them and he said that this is a bad idea to force frontend to start working on backend. However I feel that he's sort of gateekeping and probably just doesn't want to help me with getting up to speed.
In my defense, my knowledge doesn't end with C# .NET desktop apps and native mobile apps for android.
I have hobbie projects (gameservers) where I worked on websites (php,html,css,javascript,mysql) and also was taking care of a java based gameserver which is hosted in a linux vps.
Also I've had a small hosting "company" where with available tools I've managed to automate VPS(virtual private server) ordering, web hosting ordering and domain ordering. Basically I owned a dedicated server and did everything using whmcs, cpanel and proxmox virtualization.
I trust myself in learning this backend stuff and doing whats required, however I learned everything by myself and I won't follow all of these best practices.
Should I accept more responsibility on backend or should I continue focusing on android?7 -
Disclaimer - Day in the life of a whitehat student.
Whitehat Whitehat Whitehat
What is this????
When I attended my first white hat jr online free trial class, I got to know that the teachers does not know the difference between java and javascript. Infact they were saying blockly as javascript. I was knowing the difference between the same. There were 3 types of courses -
***Note : - This information is taken from the whitehat official website***
1.) Introduction to Coding :-
Sequence, Fundamentals Coding Blocks, Loops
(Teach us to drag and drop blocks of code.org(blockly))
2.) App Developer Certificate:-
Events / UI,Conditionals, Complex Loop, Logic Structures, Turtle Coding
(Advanced drag and drop(blockly))
3.) Advance Coding with Space Tech -
Extended UI/UX, Rich GUI app, Space Tech simulation in Space Lab / Game Lab, Professional Game Design.
(GUI - with tkinter(python), Game Design - Blockly(code.org))
These things are rubbish ......making GUI's is simplest with tkinter and the students who make games (with code.org) submit their codes to the whitehat community (because the teacher says "they will compile it to an android app, then you can publish it to playstore" --- this is for 1% students who are able to design their own games).
The thing whitehat do with code given by 1% best students:-
Export to HTML from code.org
Download HTML to APK Convertor
Setup SDK
Successfully converted to APK!
Publish it to Whitehat Jr console account
Credits of the students
Income of the exporters
Rest all students will only think to be the CEO of google one day.
My Opinion - StackOverflow, Unity for Game Development, Android Studio, Dart, Flutter and Kivy (using google colab for compiling the python code to an apk) for app development and Flask, HTML, CSS for web development.7 -
Me: trying to do any simple fucking project
Me: cant figure out how to do something simple or cant figure out how to start or how something should work.
Me *Looks up problem* (everytime...)
results: SOMETHING I WOULD NEVER HAVE FUCKING THOUGHT OF.
Am I just a shitty programmer, a shitty learner, or just not cut out for this? because I fucking Love this field. this is the only thing I ever want to do. BUT I CANT FIGURE ANYTHING OUT FOR THE LIFE OF ME EVEN WITH LANGUAGES IM GOOD AT!! WHICH IS JUST PYTHON AND IM STILL SHIT AT THAT.
I TRY TO DO PROJECTS WITH JS, OR C, OR PYTHON PICK WHICHEVER ONE. AND I NEVER KNOW HOW I SHOULD START IT, AND IF I LOOK UP HOW TO DO IT ITS SO MUCH LONGER AND COOLER AND BETTER THAN MY DUMBASS WOULD HAVE DONE (and longer in a good way because its well thought out and works)
HOW AM I SUPPOSED TO GET A REAL JOB IN THE FIELD IF I CANT MAKE THE RANDOM IDEAS THAT I SEE ON THE INTERNET AND WHY CANT I MAKE THEM AS GREAT OR LONG AND SHIT ON MY OWN. SO MANY PEOPLE CAN WRITE SO MANY LINES OF CODE AND FUNCTIONS AND ALL THIS SHIT THAT WORKS AND YEAH THEY LOOK UP SOME PROBLEMS BUT NOT HOW TO FUCKING DO THE ENTIRE THING LIKE SOME FUCKING RETARD
AWDJKBAKWJBDAOLK;JWDBOALBJKWODANLWIO;NIAWDN;PIAWLDJBAWIDHB
I CANT GO A PROJECT WITHOUT LOOKING UP HOW TO DO ANYTHING BECAUSE MY LITTLE BRAIN CANT FIGURE OUT HOW TO DO IT18 -
It was in old days when I was working in java and windows systems.
Java and different log4j versions across dependencies caused system not working only on production server.
Turned out some of libraries got log4j embedded and conflicted with other log4j.
It worked in all computers except production one.
Actually that was my main reason to switch my career to python after that dependency hell.
Another one was windows server 2008 tcp connection limit set to 200 or something.
We needed to change registry to get our servers working. After this case we finally managed to convince people to switch to linux.
Anyway any non standard error when you got multiple layers communicate with each other is hard, practice make it easier to solve those problems as your success moment comes faster.4 -
So... our software is... really old. Part of it was built 20 years ago in Delphi 6 and is still used to this day. It's an automation tool, which supports some scripting... In WSH. Meaning, it only supports JScript (that's right, not javascript, just JScript, the 1998 version), VBScript, and through the use of activex, Python or Perl.
And even our *newer* software, built a couple years ago, just released an update where the HTML rendering engine was updated... to Gecko 38, the version from 3 years ago. And the JavaScript engine is Rhino, the "old" one now replaced by Nashorn a few years back, and barely updated since.
But... there is *some* light on the horizon. The very newest automation tool now has a new plugin, which is based in NodeJS. Having just installed this newer version, I looked in the files to find the nodejs.exe executable... to find that it's on version 8.9.4. Ok it's not precisely the "latest" version, but knowing the history of development for these things I almost expected node 0.10.
It's great news in all this ancient technology I have to deal with. When's the *last* time you made an HTTP request using this code?
var http = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
http.open('GET', 'http://example.com/', false);2 -
!rant
For a bunch of application redesigns that we are doing at work I am letting the other two developers in my department help with selecting the stack. Normally, we work with Java and PHP, and while they seem to enjoy php I find them concerned at the possibility of making it more Java centric.
So I compiled a list of examples of different tech stacks that are not only more modern (cuz our Java stuff is old JSP stuff) but also simple to learn and use. Mind you, the point is to make this a gradual change, not just rewrite the entire house from scratch.
the list contained examples in:
Python: django and flask
Ruby: Ruby on Rails
Java: Spring Boot
Golang: Small self made mvc framework I built, nothing fancy on it, it uses templates and shit, didn't make it api centric
Node: Express examples in both vanilla JS and TypeScript
php with Laravel.
Since we work with php most of the time as well I imagined that they would be more inclined for Laravel, but I was wrong :P they seemed to like the Node Express route and the Golang route more than anything else with Python and Django being close.
Personally I know that there is more to selecting a stack, but initial perceptions make for a lot of things in selection of the stack.
Pretty excited, if they gauge everything considered in regards to what we have and we found Golang to be a clear winner it would give them the chance to add a nice and competitive tech to their resumes.
not a rant, or anything per se, just wanted to share some stuff with y'all2 -
Hello everyone :)
I left a job a while ago (8 month maybe a little more), before me alot of the team left, and the lasts ones left after me.
They hired back an ex teammate from years ago (he actually started the POC), but he doesn't do php so much and don't know symfony and he's alone. I'm not either (i don't like php), i was doing python and admin sys for them, but i saw the project going/evolving for two years, so i can help them.
They contacted me a week ago, asking me some help. I said yes, (because i believed in the company and i'm too nice i guess), so i spend two days making a new script to setup the environment and serveur and also had to do some package update on the project (late shit with pear php apparently).
I don't have any way to make a bill, i don't own any company. So I'm not sure what i should ask for money, and if i should keep helping them.
(it has been my first serious real job, and i put some money in the company that i took back).
Should i keep helping for nothing even if it's only few hours the month or should i change this situation fast?! (already worked 20h for them, and the boss a nice guy)
Thanks devRant3 -
Everyone in this team calls everything a team effort, but once I start offering my help, they be like "no, I can do it. I know more than you".
Hmm. yeah, but you (sysadmin) use jQuery and vanillajs mixed. For example: $('#hello') and document.getElementById('hello').
Also you put console.logs everywhere, I don't mind putting console.logs in development, but not in production.
Oh and he copies the libraries to every folder that needs it, so there are at least 12 jquery libs in this project and the version is not even the same. Lol.... Please slap me to death.
There is another networkadmin that calls himself a (python) developer. He doesn't agree with my simplicity.
His work (just an example, changed names but you get the idea)
"A notebook that is used by x-department"
Model: Notebook
endpoint: department-notebooks
Model: DepartmentConfigs
Endpoint: notebook-department-configs
You won't believe what he put in 'department'configs, it's literally hardware vendor, model, versions.
Like... really? What the hell you doing man?!
Just have these models for example: device, department, vendor, product, category
We do not only have notebooks, but also servers, routers, switches and more.
His argument of having configs in the name is that they do more complex things. Hmm, I don't see it in the code and the data is messed up:
Microsoft, microsoft, micro soft.
He fixed it by hardcoding it in a select box. Mickysoft isn't the only vendor, fuck you!
fuck this team, fuck these people
Another fucking rant, a story was assigned to me. But that stupid fake developer worked on it immediately and message me he fixed it already. I guess he won't let me touch his baby.
Everything is just piling up. This team and people aren't fun at all.3 -
Today, I have installed/uninstalled a combination of [windows 7, arch linux, dual-boot] a total of 9 times...
I wouldn't be surprised if my 120G SSD fails next week
It all started when I had to whip up a GUI-wrapped youtube-dl based program for a windows machine.
Thinking a handy GUI python library will get it done in no time, I started right away with the Kivy quick-start page in front of me.
Everything seemed to be going fine, until I decided it would be "wise" to first check if I can run Kivy on said windows machine.
Here I spent what felt like a day (5 hours) trying to install core pip modules for kivy.. only before realizing my innocent cygwin64 setup was the reason everything was failing, and that sys.platform was NOT set to "win32" (a requirement later discovered when unpacking .whl files)
"Okay.. you know what? Fuck........ This."
In a haze of frustration, I decided it was my fault for ever deciding to do Python on windows, and that "none of this would've happened if I were installing pip modules on a Linux terminal"...
I then had the "brilliant" idea of "Why don't I just use Linux, and make windows a virtual machine within, for testing."
And so I spent the next hour getting everything set up correctly for me get back to programming.... And so I did.
But uh... you're doing GUI stuff, right? -> Yeah...
And you uh.. Kivy uses OpenGL on windows, doesn't it? -> Yeah..?
OpenGL... 2.
-> Fuck.
That's when I realized my "brilliant" idea, was actually a really bad prank. Turns out.. I needed a native windows environment with up-to-date non-virtual graphics drivers that supported at least OpenGL2 for Kivy GUI programs!
Something I already had from square 1.
And at this point, it hurts to even sigh knowing I wasted hours just... making... poor decisions, my very first one being cygwin64 as a substitution for windows cmd.
But persistent as any programmer should be in order to succeed, I dragged my sorry ass back to the computer to reinstall windows on the actual hardware... again.
While the windows installer was busy jacking off all over my precious gigabytes (why does it need that much spaaace for a base install??? fuck.). I had "yet another brilliant idea" YABI™
Why not just do a dual-boot? That way, you have the best of both worlds, you do python stuff in Linux, and when it's time to build and test on the target OS, you have a native windows environment!
This synthetic harmony sounded amazing to the desperate, exhausted, shell of a man that I had become after such a back-breaking experience with cygwin
Now that my windows platter with a side of linux was all set-up and ready-to-go, I once again booted up windows to test if Kivy even worked.
And... It did!
And just as I began raising my victory flags, I suddenly realized there was one more thing I had to do, something trivial, should take me "no time" to do, being in a native windows environment and all.................... -.- (sigh)
I had to make sure it compiles to a traditional exe...
Not a biggy, right? Just find one of those py2exe—sounding modules or something, and surprisingly enough, there was indeed a py2exe—sounding module, conveniently named... py2exe.
Not a second thought given, I thought surely this was a good enough way of doing it, just gonna look up the py2exe guide and...
-> 3 hours later + 1 extra coffee
What do you meeeeean "module not found"? Do I need to install more dependencies? Why doesn't it say so in the DAMN guide? Wait I don't? Why are you showing me that error message then????
-------------------------------
No. I'm not doing this.
I shut off my computer and took a long... long.. break.
Only to return sometime the next day and end up making no progress, beating my SSD with more OS installs (sometimes with no obvious reason to do so).
Wondering whether I should give up Kivy itself as it didn't seem compatible with py2exe.. I discovered pyInstaller, which seemed to be the way Kivy wants exe's to be made on windows..
Awesome! I should've looked up how Kivy developers make exe's instead of jumping straight into py2exe land, (I guess "py2exe" just sounded more effective to me then)
More hours pass, and you'd think I'd have eliminated all of my build environment problems by now... but oh, how wrong you'd be...
pyInstaller was failing, and half the solutions I found online were to download some windows update KB32946..whatever...
The other half telling me to downgrade from Python 3.8.1 to Python 3.8.0000.009 (exaggeration! But you get the point)
At the end of all that mess, I decided it wasn't worth some of my lifespan, and that maybe.. just maybe.. it would've been better to create WINDOWS GUI with the mother fuc*ing WINDOWS API.
Alright, step 1: Get Visual Studio..
Step 2: kys
Step 3: kys again.6 -
Python ecosystem drives me nuts!
Not the language tho, i kinda like it, and some features are damn straight awesome.
But ecosystem... man!
The way ppl write code in it, the lack of documentation (or in quality of it)...
I recently wanted to check how library does one thing (debug purposes), and not only i had to track some method up 3 classes, the other method i hunted only by signature and still i have no idea how it ends up being accessible where it should...
"Explicit is better than implicit" my ass...
Also dev managed to make the code very unreadable. In Python. Language with such strong opinions about code formatting. HOW ?!!
And the worst part is, it wasn't that big of a library and didn't really need the full freaking Enterprise OOP treatment with layers over layers of generally named classes and fucked up architecture.
FUCK THAT LIB, FUCK THAT DEV, FUCK IT ALL !!!
PS.
Project seems to be abandoned for a year or two, so there is hardly an option to fix things with the author sadly :(3 -
Anaconda. Quite fitting a name to something that fucks up python environments so thoroughly. Ironic too, given that it was meant to simplify. Anaconda doesn't give a shit about the python that came with the distro. And all packages installed with pip are only visible to anacondas python. Not a single note of caution during installation. Or a best practices guide for the newbie. Just chaos. Utter chaos. The price of being a noob had been paid.8
-
It all began with an advanture.
i was travelling through codeland and met all sort of nice creatures. C++ and Java were among my first encounters. C++ was geary (full of gears) and java was objected (sorry made up of objects). nice folks. was still wandering when a halous (great, a halo around) person appeared. it was the nice python.
he likes to take his meeters (people who meet him) on a fairic (fairy-like) ride, passing countless of flexible alleys, open (source?) spaces as well as honey falls (waterfall-like streams).
but something was odd, really odd, .... travelling. you could not walk in here you had to fly. fly fly fly. no foot touched the land. no android they said.
or they said you have to put on a pair of shoes called kivy. the shoes fit according to no fixed rule. sometimes they worked, sometimes no. another pair of shoes called sls4. it was nice but unfortunately was only half a shoe long on each feet.
python android is still a dream, a nice binding kept ridiculously in the egg. it is yet to hatch. -
So, my favourite language is Python, and for web developing I use Pyramid, and to stay in my "comfort zone" I use brython for client scripting, don't take me wrong, I love javascript, but for just a bit of performance lost I like being able to use all my pre-existing python code if I need to...
So, this was my first work experience, for a military industry, we had to make a service for uploading big files and sending them via email.
I heard one thing that shot me out of my "comfort zone" (I'll call it cf from now on)... "Use php"...
So, I already had written in php and I've always disliked it, perl-ish and broken as a bethesda game (i like bethesda games, but they are broken)
Another thing: javascript vanilla or jquery, never liked jquery either, so I decided to use vanilla js...
So, after 6 months of work, my partner and I finished it...
Well, more than one year later that mess we had to make to satisfy our boss' most absurd desires is not online yet, I search it on google every month, so yeah, 6 months of my life wasted (also, it was a "stage", so not only I didn't get any recognition, but they didn't give me any money) -
Ugh... some people...
Just left the office early because of the toxic climate. That one infamous collegue is basically unable to communicate without being a narcissistic 5-year-old and was arguing whether we should write a test (I was going to write the test) that would need a single additional branch in the build system.
(The test was for a parser and it should test whether it can handle absolute paths. A simple regression test with a file and an expected output. Because absolute paths are different for every platform and user, the files to be parsed would have to be generated with appropriate paths before the tests were run. Well that would require one single python script and a single line in the script that runs the script and DONE)
Well that guy was unable to focus on his own work and started an argument about whether that test was necessary.
Even though I still think it is necessary, it might have been a reasonable argument if he would have acted more agreeable. But he was saying the feature was useless anyways "everyone will use relative paths only anyways" and "because noone here cares a ratass about maintaining the tests it will all fall on me again" ..
Wtf was this guys problem, I (CAPS) was going to write the stupid test and since when do we not write tests in order to better maintain our product? I get that he worries that the test environment will get more messy, but thats better than having the product code go messy or unfunctional! And c'mon guys, how are absolute paths a redundant feature... -
Lets play a little python game together and win some devRant points :
We have an array of integers named L
We need to sort this array so that the biggest number be in the beginning and lowest at the end..descending order
Rules:
-You are not allowed to write more than one line of code in the comment...only one
-if you comment once...you cannot comment directly after that...you have to wait for two other comments after you so you can comment again
-you have to build your code upon the previous comments ... you cannot start from scratch
-the lucky one who puts the final comment is the winner..and we should all ++ his comment to give him the biggest amount of points
Lets start and see who will win :)15 -
If you just want to answer my question, skip to the bottom. For those who cares, some backstory:
So...I seemed to have finally caught a break; a friend of my dad owns an IT company and also makes websites...used to. It was becoming too much for him alone so he decided to discontinue, but that's where i come in. We talked a few days ago and it sounds like I'm finally going to have a decent dev related job--even if it's only mainly websites, at least I can work from anywhere once the ball starts rolling since I'll just get direct deposits. Meaning I'd be able to visit my gf in Florida and sustain myself over there while I look to build my own client base or even get a job offer, who knows?
For you guys and gals reading this, what's your favorite/preferred static site generators and css frameworks? I know that I'll be doing mostly static sites first, and i want to deliver quality work as quick as possible. I'm cool with learning a new language once it's not too obscure; i mainly do JS and I know a bit of Python, PHP, and just the basics of Go and Ruby4 -
Just started a new job as a software developer, even though I basically applied as an embedded software developer. I knew from the interview there was gonna be alot of legacy / high level stuff and they were pushing me away from embedded with the promise I could do it 'later on'.
Finally started and it turns out there's a shit tonne of legacy Python code for their non-existent test framework that's basically tied directly into a Qt GUI app and I'm doing shit that nobody else wants to do. Can't see myself wanting to do this for anywhere more than 2-3 months. Should I just bail now? Seems a bit dodgy if I leave having only worked there for a week? Job actually pays really well though.
Plan was to take an extended vacation around July/August, so quitting this early and then telling another employer later on that I need to bail for summer seems wrong also, not to mention COVID sucks and is making everything hell now.12 -
I am going to rant about this being the exam week, it being hot as hell, and us having had a messed up semester study-wise... And I still managed to do good-ish in subjects somehow... Good as in, relatively good. I am no 4.0 GPA person by any means and could never be one if I studied only (if that's even realistic at all). Recently I applied to a job at Andersen Lab for a Trainee position. Got turned down because I lack experience. A TRAINEE POSITION. I could retake the interview but I feel weird with how I got rated a whole level lower than my IELTS score and two levels lower than my score at Epam (which is the more recent one!) and the questions were mostly so easy I could answer while half asleep. Just yeah. Also, while I understand the whole knowledge required thing... I don't get the need for THREE whole interviews only to then proceed to turn me down. I am continuously applying and still seeing no results. If I'm "lucky", I guess, I will get training from a bank. And then get employed there... Mentally doing very bad right now, just barely wanting to MOVE. Which is basically me being this close to giving up. Today's exam is in Linux Security and I swear, this was such a waste of a good sounding subject... Imagine, I could have learnt how to set up a server at home and all that but instead we did... The more basic stuff in Linux. And for the whole semester outside of two or three cases I was the only one in attendance. Anyways, I have been feeling like I just can't program anymore and stuff... Even though we did a Python subject this semester. And in that subject I just felt like we were going way too quickly considering a lot of the students there come from non-IT or close to that background...
I may need to put effort into learning 3D Environmental art, I have this feeling I would like doing that as a job in game dev. Oh, and I also wanna design this house that I have in mind for me. It's shaped like an Amanita Muscaria and instead of the white dots it has windows that are round, as well as a spiral staircase connecting the lower and upper floors. Need to figure out how to model that in something like AutoCAD (I have a bit of experience with it and that's why I'd like to try there... But I may have to learn other programs to do it for free), but it will take me a long time to execute since I am not the most organised in how I learn...
Anyways, I will only sporadically be there, so I may not see things here. I am somewhat busy with exams and then this NGO I recently became a founding member of (and I have to say, I kinda don't wanna be there, but there are things that have to be done). Also filling the documents for a Canadian visitor's visa to go finally see the family over there and all that. But the latter will probably not happen until next year...
Finally, I am wishing you all a sound mental health and happiness. I hope you do well in whatever you are doing at the moment or are planning to. Until next time!3 -
Hey, a bit of a dumb question.
When can someone call themselves a "real" programmer? I'm not one to gatekeep and say dumb shit like "iF yOu OnLy KnOw PyThOn Ur NoT a PrOgRaMmEr!", but I guess I want to know when I can call myself one. All I've done so far is make unpolished games in Unity for school that are created only to meet some requirements. I've also worked in my class' team for collaborative Unreal games, which has been painful to say the least. So, when I can stop gatekeeping myself over it? What sorts of experiences should I have? I understand that it's not a list of requirements like my projects are, but I'd like a general idea of when I can call myself a real developer.7 -
I discovered a language I didn't know AND i like.
It's not under active development anymore, but I decide it has a nice syntax. It's made by the writer of craftinginterpreters. There are still people writing some extensions for it.
I decided to implement socket support in it.
That went very well and the result is just BEAUTIFUL. But now, i have a collection of socket functions that require a file descriptor (sock) for every function like write, read and close. We're not living in the 90's. I want to do sock.send(), sock.write() and sock.close(). So socket as an object.
I wrote a wrapper and it is freaking TWO times slower! Hows that even possible.
I've made wrapping to object optional now. Bit disappointing.
The language shows off with benchmarks on their page. Their fibers can even be faster than Elixr. Yeah, if you only use the fiber and nothing else from language. I benchmarked string concat for example against python: 1000 times slower or so.
The source code of wren is so freaking beautiful. Before Lua was my favorite language regarding source. The extensibility is so great that I prefer to work on this one instead of my own language. They kinda made exactly what I wanted. I can't beat that.
For if you're interested: https://wren.io/
The slot way of communicating between host language (C) and child language (wren) seems odd at beginning but i became fan of it.
Thanks for listening to my ted talk.
What's your opinion about wren (syntax)?25 -
Not sure if many people heard about nltk in python but I'm currently using a lot now for research.
So one day I was doing multiprocessing while using lemmatizer in nltk, for those who don't know, lemmatizer is a thing that change the word to its base form. So it is like, ran to run, bitches to bitch.
Anyway, the nltk package, to ensure it does not take too much memory, here's what it does: it loads a data file, and once it is loaded and accessed for the first time, it breaks the data file into CSV file. And since I was doing multiprocessing, the data file is accessed for multiple time while it can only be loaded once, hence error happened.
Instead of changing my code, which I think is good already, I went to the package directory of nltk and directly changed the source code from there and now the code works perfectly.
I'm very proud of my self at the moment, this is a very good lesson that I've learned: always look for alternatives. And suck it, nltk.1 -
I spent 4 months in a programming mentorship offered by my workplace to get back to programming after 4 years I graduated with a CS degree.
Back in 2014, what I studied in my first programming class was not easy to digest. I would just try enough to pass the courses because I was more interested in the theory. It followed until I graduated because I never actually wrote code for myself for example I wrote a lot of code for my vision class but never took a personal initiative. I did however have a very strong grip on advanced computer science concepts in areas such as computer architecture, systems programming and computer vision. I have an excellent understanding of machine learning and deep learning. I also spent time working with embedded systems and volunteering at a makerspace, teaching Arduino and RPi stuff. I used to teach people older than me.
My first job as a programmer sucked big time. It was a bootstrapped startup whose founder was making big claims to secure funding. I had no direction, mentorship and leadership to validate my programming practices. I burnt out in just 2 months. It was horrible. I experienced the worst physical and emotional pain to date. Additionally, I was gaslighted and told that it is me who is bad at my job not the people working with me. I thought I was a big failure and that I wasn't cut out for software engineering.
I spent the next 6 months recovering from the burn out. I had a condition where the stress and anxiety would cause my neck to deform and some vertebrae were damaged. Nobody could figure out why this was happening. I did find a neurophyscian who helped me out of the mental hell hole I was in and I started making recovery. I had to take a mild anti anxiety for the next 3 years until I went to my current doctor.
I worked as an implementation engineer at a local startup run by a very old engineer. He taught me how to work and carry myself professionally while I learnt very little technically. A year into my job, seeing no growth technically, I decided to make a switch to my favourite local software consultancy. I got the job 4 months prior to my father's death. I joined the company as an implementation analyst and needed some technical experience. It was right up my alley. My parents who saw me at my lowest, struggling with genetic depression and anxiety for the last 6 years, were finally relieved. It was hard for them as I am the only son.
After my father passed away, I was told by his colleagues that he was very happy with me and my sisters. He died a day before I became permanent and landed a huge client. The only regret I have is not driving fast enough to the hospital the night he passed away. Last year, I started seeing a new doctor in hopes of getting rid of the one medicine that I was taking. To my surprise, he saw major problems and prescribed me new medication.
I finally got a diagnosis for my condition after 8 years of struggle. The new doctor told me a few months back that I have Recurrent Depressive Disorder. The most likely cause is my genetics from my father's side as my father recovered from Schizophrenia when I was little. And, now it's been 5 months on the new medication. I can finally relax knowing my condition and work on it with professional help.
After working at my current role for 1 and a half years, my teamlead and HR offered me a 2 month mentorship opportunity to learn programming from scratch in Python and Scrapy from a personal mentor specially assigned to me. I am still in my management focused role but will be spending 4 hours daily of for the mentorship. I feel extremely lucky and grateful for the opportunity. It felt unworldly when I pushed my code to a PR for the very first time and got feedback on it. It is incomparable to anything.
So we had Eid holidays a few months back and because I am not that social, I began going through cs61a from Berkeley and logged into HackerRank after 5 years. The medicines help but I constantly feel this feeling that I am not enough or that I am an imposter even though I was and am always considered a brilliant and intellectual mind by my professors and people around me. I just can't shake the feeling.
Anyway, so now, I have successfully completed 2 months worth of backend training in Django with another awesome mentor at work. I am in absolute love with Django and Python. And, I constantly feel like discussing and sharing about my progress with people. So, if you are still reading, thank you for staying with me.
TLDR: Smart enough for high level computer science concepts in college, did well in theory but never really wrote code without help. Struggled with clinical depression for the past 8 years. Father passed away one day before being permanent at my dream software consultancy and being assigned one of the biggest consultancy. Getting back to programming after 4 years with the help of change in medicine, a formal diagnosis and a technical mentorship.3 -
You ever had a boss that made you feel like his bitch but he never really earned the title
You also know from a technical skill perspective you’re more competent.
And the only job he seems to do is micromanaging you. He just puts things under a microscope looking for a flaw. He always finds a flaw so in the off chance it breaks he’s always in the clear.
He’s the guy who sticks with the programs the he was taught when he was still at school and never really tried something new out of the box. He gives the reasons the he wasn’t formally trained in the other programs . I’m not talking cinema 4 here. I’m talking Matlab preference over python. Using lab-view as a production level development platform instead of going to something more approved by the industry.
He doesn’t take risk but he pushes those risks on you so if you fail he can say it wasn’t him
He’s never wrong but he’s never right either.
You’re sitting there doing the cunt work and breaking the sweat and he passes the achievements as under his management. You never really get the credit because “he guided you “. You go through hell fixing bugs and he disappears. He says he’s always a call away when what you really needed is someone taking the heavy tasks not throwing the entire project on your back.
I never call that piece of shit bcz he just throws some other bullshit that doesn’t make sense and emphasizes that might be the problem.
I once had a problem with the com port on a pc and was trying to figure out the problem. I asked him and he said that it might be bcz I’m connecting to the PC via VNC. I was like what the hell. What does that have to do with anything. I just ended up restarting the port and it bloody worked.
The saddest part is that I’m scared is that I might end up like him. In the same dead end job. Even though he guides me we work in a place where the job title doesn’t really change. Funny thing is that officially I have the same job title as him .
He’s been in the place for 5years when I came. Can someone imagine that? To work and work and then to be seized up with another brat who’s the same as you title wise.
You’re close the age of 40 and you work in a place where a 20 something year old walks in with the same Position as you.
I worry that I might end up the same if I stay long enough. That I’ll learn everything I can learn and just stop progressing and the only thing I can do is say how shit can break but wouldn’t know how to fix .
Pointing out problems because they are easier than fixing. Just plomonting into existential nihilism with no purpose.
I once told him I wanted to quit. He pretended he didn’t hear it. He then then said what do you see in this job in 5 years
I told him me not in it.
He said “seriously what do you want in this place “
I said “if I’m still her in 5 years I’ll be missing a toe because I would have shit myself in the foot”
I now realize that by convincing me to stay he might have convinced himself that staying for that long wasn’t a bad idea. He was looking for justification that he’s decision wasn’t that bad at all.
You give your life to a job and at the end it takes one away.
I don’t want to be like that and I think that’s what bugs me the most. That I’m so close to this individual that I feel sooner or later if I’m not careful I’ll end up in the same place. The same dread3 -
Welcome to post 2 of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363374 It's title is: "Oh, you can post only every 2h. Didn't know that". I also didn't know that the rest of my rant would be put into a comment. For consistency tho, this time I am still splitting the story.
A wise person once wrote in their book: "People judge other people by two things: Empathy and competence." This may not be an accurate quote, but it carries the same message. Also, I don't really remember who was the author. I only know they were probably quite wise. Anyway, I just wanted to share that sentence. Have a moment and think about it. Or don't. Here's my story:
A was a software house that looked pretty promising. They were elegant, their page and offer looked nice. Well, unless you consider the fact that they offered me internship. Unpaid. But I decided to meet with them anyway, since I had hope that I could negotiate some sort of paid internship or a job contract even. I did my homework after all, and I was confident I am able to keep up with their requirements. I arrived a little bit... no, way to early. One damn hour. Whatever, I waited. I was greeted by a woman. We had a cultural conversation, she had a list of 12 questions I needed to answer, as a form of a test. We begun. First question: How do you change a value in Oracle Database? "Wait a minute", I thought, "What kind of question is that?". Why in seven hells would you want your frontend developer to know how to handle oracle db? Well, I gave my answer, I did lick some of that SQL in my life. Next question: Java stuff. The bloody gal didn't even care to check what position I am applying to before the interview! At this point I didn't really have very high hopes. A shame on them forever.
The story of B and C is connected and a little bit more complicated. More on that in part 2. B stands for Bank. A big corporation then, by definition. A person I know decided called me that day and told me they're hiring, that he referred me and that they would like to arrange a meeting. And so we did. It was couple of days before Christmas. C was a software house again. Or a startup. Idk really. Their website wasn't finished so I couldn't read anything useful up on them. They didn't tell me much about themselves either. They also started with "unpaid internship".
In C, they would greet me and instantly sit me down next to a mac laptop and told me, "hey, do this stuff in python". What the fuck, not again... I told them that I am frontend dev, they guy said "it's no problem, you said you know python, it's a simple task". And yeah, I did host some apps in Flask and I did use psycopg2. It was in my CV. But never, ever, have I mentioned knowing heuristics nor statistics. I'm no data scientist, monsieur. Whatever, I tried, I failed a little bit, I told them that maybe if I did want to spend half of my day there I would finish this task, but back then I was way too nervous to focus and code. I told them what should be done in code and that I just was unable to code this at the very moment. They nodded, we said goodbye and I was sure not to hear from them ever again.
In B, I was greeted by a senior frontend dev. He told me the recruiter is sick and he couldn't come, so we're talking alone. I can buy it. We sat down in said meeting room, and he asked me if I wanted a drink. No thx, I had digested so much caffeine during last 24h, next dose could be an overdose. And then, he took out my resume printed in paper. With notes on it. With some stuff encircled. That bloody bastard did his homework. We spent over an hour, just talking in friendly atmosphere. It was an interview, but it was a conversation also. We shared our experiences, opinions and it went just perfect.
On December 20, I was heading home for Christmas. My situation looked like this: A called me they could offer me only unpaid internship. I was getting kinda bored of rice and debts, tbh. I gracefully rejected their generous offer. B didn't give me feedback yet(it was a most recent interview, so I didn't expect any message until after Christmas anyway). C told me that they could give me internship, but I managed to convince them to make it paid internship. After three months of very bad times, things were starting to get better.
On part III we will explore further events of my very recent past. That post will be same amount of storytelling and possibly a lesson for those who seek an employer and for those who seek an employee.6 -
!rant
So, when I was young, I wanted to be a freelancing nomad. You know, live the live, work remote and travel.
But I didn't have the bones to pursue that. After 10 years of struggling as a normal "programmer", I did a little of everything. I did normal boring "erp maintenance" in C#, Oracle and some legacy stuff called Visual WEB GUI , which was fun, but required a full 9,5 hours work day, 8:00 am to 6:30pm, and the bosses where squares, and I was young and wanted to try something out of the corporate world.
Then I did some work for a newly funded consulting company that used python, Django, and postgresql, but the bosses promised a lot and delivered none, (I was supposed to work backend and have frontend support, which I did not have, and that hurt my productivity and bosses instead of looking at what they promised but did not deliver, they just discounted my salary 3 months in a row, so Bye bye MFs!!
Then I did some remote work for some guys, that, I managed to sustain for a whole year, the pay was good, the stack was simple, just node.js and pug templates, that gig was good, but communication with the bosses was hard, and eventually things started to get hard for them and me, and we had to say farewell to each other, I miss those guys. This is the only time I remember having fun working, I could work whenever I wanted, I only had to reach the weekly goals, and then my time was mine, I could work from home in the odd hours, or rent a chair in a co working space if I wanted to socialize.
Then fate got me one big gig with a multinational company, and I could hire some people, but I delegated too much and was asking too little of myself, and that project eventually died because I did not know how to negotiate.
So, I quit the whole entrepreneur idea, and got a public job at my University, I was a public employee with all the perks, but none of the fun, I just had to clock-in, work, and clock-out. That experience led me to discover a lot of myself, I worked as a public employee for a year and a half, and in that time, I discovered more about myself than what I learnt in 27 years of previous life experience.
Then, I grew bored of that life, and wanted some action, and I found more than enough fun in a VC funded startup ran by young narcissists that did not have a clue of what they were doing, I helped them organize themselves into "closing stuff", you know, finish the things you say you have finished. Just to give you an idea of what it was like before I got there, the were working for 3 months already on this project, they had on paper 50% of the system done and working, when I tried to use the app, I couldn't even sign-up without hacking some database commands, (this was supposedly done). So I spent a month there teaching these guys how to finish stuff, they got, Sign Up, (their sign up was a mess, it is one of those KYC rich things, that financial apps have), Login, and some core functionality working in a month, while in the previous 4 months they only did parallel work, writing endpoints that were not tried, and an app that did not communicate with the backend. But the bosses weren't happy with me, because I told them time and time again that we were not going to reach the goal they needed to reach to keep receiving funds from the investors, and I had to quit before it became a mayhem of toxic employer/employee relationship.
So now I decided to re-engage with life, I have funds to survive about a month and half, I have a good line of credit in case I need some more funds, and the time of the world.
So wish me luck!!! And I'll be posting often, because I would like opinions, hear from people with similar life experiences and share anecdotes.
Next post, it's going to be about how I discovered taskwarrior, and how implemented my first weekend following some of the aspects of GTD to do all my housekeeping chores, because, I think that organizing myself will be key to survive as a freelancer nomad. -
I'm studying atm and I survived Haskell, SKI, ... now, in the second semester we started with Python (yeay ♡) and Java (that's fine).
One of the first exercises is about installing Jython ('cause it's good, right? /sarcasm off), using the lecturer's module and write some code for it. It's about painting some shitty graphics *gasp*...
I use PyCharm (not really necessary for these crappy exercises) and programming on Windows and/or Linux.
Downloaded Jython, installed it, set it as interpreter - works fine (win10, pycharm).
Some students got weird errors using linux - for me it's the same but meh Idc.
Today I tried using Jython on my notebook, too (win10, pycharm). Downloaded it from the Jython Project website. Can't update pip, can't run modules - error is about fckin charsets...
Some other student figured out - wrong version of Jython. The newer version has some bug fixes.
2.7.1 is the one and only - the download section of their website offers 2.7.0 as latest release...
So - how to know there is a version 2.7.1?
#1 version control website = Wikipedia
So... there is a blog, guy's writing about this release - this installer is hosted at maven central. Yeay. Obvious. Thanks.
Can't describe such stupidity - maybe it's the user again 😂 -
I'm at my Community College as a member of the engineering club requesting funds for a software and hardware-related physical project.
The code was mostly pre-written in Python from a university already, but we needed to build essentially a gaming-level PC to run it, do some welding and metalwork for the hardware, cables, et citera. I don't want to get too detailed in case anyone involved is reading this story.
To get funding, we needed to go before the student senate. I didn't go the first time, but later when we needed more funding for the project to do expansions, we attended.
I came in with a few pages of documentation explaining how the project operated, it's scope, and why we needed the additional $500 on top of the previous $1000 or so spent. I went in woefully behind the times on what a student senate meeting was like.
For starters, I thought this would be somewhat formal, being "Student Senate" in Week 8, and prepared to defend my project fully. Instead, we spent the first 15 minutes going around the table explaining what animal we would be and why, if we had to turn into an animal. It just kept going hilariously, painfully downhill from there.
They did ask some questions about what my project was and how it operated (as not many had seen it), and they wanted explanations even though it was clear absolutely nobody else in the room understood anything. My partner virtually shut down and let me do all the talking for my project and his because he couldn't take the ignorance of some of the questions and the assorted nonsense spread throughout the meeting.
Amazingly, we got funding. We had to sit for the rest of the meeting though, which (among other things) included a segment about whether we should create a new committee called the "Fundamental Insecurities committee" to help out with, well, "Fundamental Insecurities." There was only one member on this proposed committee.
When I brought up the question on why we were making a one-person committee alongside the, like, three one-person committees already in existence, they congratulated me for asking good questions and said I should come more often. They then said the exact same thing again when I pointed out there were better names than "Fundamental Insecurities." It's such a reality check that you are trying to impress people to get funding, when you can't help but feel that everyone is an utter idiot in the back of your head.
Almost a year later, I had to go back with a list of parts we needed. I wrote a whole complex list of things we needed for the project. Even though they tried to ask questions about what certain parts were (to appear like they weren't totally incompetent), and despite asking questions about a bunch of the items, nobody cared about what the $10 for "C418" was (google it if you don't get this joke). I spent about 30 minutes talking with them and succeeded in getting $600 more in funding. We then, to my surprise, spent less than 5 minutes debating whether to send 2 students on a field trip for $700. 30 minutes for $600, for a permanently installed project. <5 minutes for a $700 one-time thing.
And, because this is already a long rant, here's one more thing: The Student Senate's voting rules initially gave everyone who showed up 1 vote. We're all students, we all get a say, right?
Well, I soon put together that Student Senate had fairly low attendance. Engineering Club had high attendance. Student Senate and Engineering Club took place at the same date and time. I then, of course, asked why we couldn't bring the whole Engineering Club into Senate one day, and then proceed to pass an order by simple majority saying that all Student Life funding goes to us.
They then said that the administrators (the heads of Student Senate) could override that, but I pointed out that kind of defeats the purpose of voting in the first place. They then switched script and said they wouldn't do that and would honor such a vote. Shortly after, they changed the rules saying that you only get a vote on your 2nd consecutive visit; and again said I should visit more often because I was brilliant.
You can't make this stuff up.3 -
So I've been in this dilemma.
I'm a senior like around 10 days from graduation. And I know I wanna do programming but like I dont know what area I want to do..
I'm certified in JavaScript and Python which I'm better with python but I dont have any accomplishments to be proud of..
And I've always wanted to make a game (I have a few ideas tbh) but I feel like if I do I'll be sucked into that only and not ever really program software or web apps..
Am I going to succeed? How can I be good enough to be a professional if the best thing I've made is a bit that barely has original code?2 -
Today at work I started doing 1 month old task with production problem.
First of all why now ?
Because I already fixed all the other urgent production problems I had during last month, done about 4 deployments of those super urgent errors.
Now I can start with not trivial one that are pending for quite time.
I am the only backend developer in this project ...
This is a dtp application and the problem is that we are not verifying if we got all fonts embedded in customer provided pdf files.
We are generating high quality images of those pdf for printing just fine from the beginning but now we need valid PDF with all fonts embedded in it. ( don’t ask me why I am only a hammer in this process )
After running simple test using python script against database it turned out we have over 500 broken PDF files without fonts.
So I guess I have just one sentence to say about it.
Fuck you PDF format for not being strict and allowing this shit. -
I'm thinking of designing a programming language.
I want it to have easy to read syntax like python. Inheritance and interfaces like java. More advanced concepts like pointers and memory management like c++.
I was originally going to write my own compiler but I figured it's not worth reinventing the wheel. So the current plan is to basically just create a parser that turns a source file into c++ code and then that is compiled with g++. The only problem I can think of with that is catching runtime errors.
How does this language sound?
My purpose is to have a language that is as easy to read as python but with the speed of a compiled program and the ability to use it for embedded projects. I feel like reading larger C++ projects can be quite time consuming. So I figure the trade off of taking a little longer to write the code to make it more obvious what is going on is better than having a lot of syntax that can be tough to walk though the logic of (I find this often with c and c++, not like I don't figure it out but It definitely takes longer than it does to read and understand python)4 -
I kind of don’t like OOP. There I said it.
Don’t get me wrong there are times I like using it. I don’t mind some of the features but I can rarely find times I want to use them.
It can be useful depending on the project but I mostly don’t use it and when I’m using Python I always feel like I have to? I know Python offers multiple types paradigms of programming to use but everyone’s making a big deal about OOP and I can rarely ever find uses for it. What I said for Python also goes for C++ I feel like I’m forced to do it. And I especially hate it in C++ fuck that.
I’d just like to use Python, and C++ without using it or if I do not have to use all the fancy features. And kinda wish Java and C# didn’t force OOP on you but I just don’t use all the fancy features in those languages (I don’t even use java but I’m mostly talking about C# for that one).
It’s not that I don’t know how to use it it’s that I can never find a use for any of the features or just don’t want to actually do it. Personally I only really see it shining in Game development, GUI development, and MAYBE network programming??
By all means I’m not trying to flame on OOP, I just wanted to throw my OOPinion (HA) on the matter. in fact you can tell me why you like it or dislike it. I’d like to discuss the topic with anyone.9 -
It drives me nuts when people compare iPhones to Samsung, not realizing that Samsung did not invent Android, nor are they the only phone manufacturer or Android OS distributor.
If you're comparing iOS to Android, that's one thing. Or if you are comparing iPhone's hardware to a specific Samsung phone's hardware, I get it. Heck, I'm cool if you compare the iPhone X to the Samsung Galaxy Note 8, because they're similar in price. But don't say that Apple is better than Samsung when you mean you have an issue with Android, or your battery life on your $300 Android device wasn't as good as your $700 iPhone. Apples to oranges guys! It's like comparing Visual Studio 2015 to Python.
I don't care who is right or which is better. At least know what you're comparing!
Thanks.2 -
If you use a Windows system for work and have the permissions to, I highly recommend you learn Powershell if you haven't already.
I've only started learning it a few months, but it's already improved my workflow immensely since it's a decent bit more powerful than batch scripts, but not as 'heavy handed' for small tasks as a programming language like C# feels sometimes.
I kinda regret ignoring it for so long, I noticed it installed on my high school laptop and toyed with it a bit outside of class, but then gravitated more towards python which I can't use at my current job. really wish high school me had the attention span to learn both back then.8 -
Managing a small team - poorly.
I was in charge of testing a legacy calculations engine together with two scientists, for whom I set up a python and interop environment so they could test the engine easily.
The two were very excited at the thought of validating the calculations and in fact found many bugs.
I was very supportive, told them to fix the bugs and gave them a pet on the back.
All three of us were happy the legacy engine is shaping up, that's until my boss heard of it, and boy did he grill me hard for it.
Turns out our efforts were highly unappreciated by the client, whose only request was that we test the engine and report the bugs. Not to fix them. My goodwill cost the company a lot of money, since the client paid by the hour, and was now due a refund. Crap.
It took me a year to finally understood the moral of the story. Which is to always respect the client's wishes and convey maximum transparency to him. -
So I've a little freelance project, is basically a blog. I've decided to use microservices with angular in the front end and python in the backend.
I've been about 2 weeks copy pasting code in my api because all the modules are pretty simple CRUDs that do the same thing, there is not heavy business logic or anything, just database handling.
I was really tired of copy pasting modules and his test, only changing function names and parameters, today I've this "epifany" about the inheritance and thinked about using it in my service, creating a base class and making all the other classes children of him.
Before the change my project has 220 tests (100% coverage) now I have only 40 tests (the same 100% coverage)
So, the lesson is: don't start throwing code like an idiot and start your project with some good planning1 -
This is why I don't use and will probably never use Python.
Back in the uni days, I had a very important assignment. It determined whether I was going to the fourth grade from the third or not. It involved math and charting. It was very complex, and I spent a very long time on research, naturally. I knew Python 3, and I decided to use it. The only lib I needed was matplotlib, which I installed with pip. So I did the whole thing, tested it again at home, closed my laptop and was ready to go. My laptop used Windows 7 and was set up to ignore the lid closing. When I closed it, nothing would happen, even the screen stayed on. When I arrived at the lab, I opened my laptop, hit Ctrl + B as usual… and matplotlib import wasn't working. I obviously panicked, I tried to do something about it, but it just kept throwing an import error. Reinstalling the library didn't help. My friends too weren't able to help me. It just wasn't working, and that was it.
I failed the assignment, automatically. I had nothing to show. This was the first time I failed anything in the uni. Later I rewrote the code in C++ with Qt plotting library, and everything worked fine.
I never used Python since. I did everything uni with C++, and later with JavaScript. I don't care if it was Windows error or Python's. My Windows install was clean, I reinstalled it pretty much every year and kept the default settings. My laptop was for studying purposes only, and all my personal life happened on my desktop.
I didn't use exotic things like PyPy. It was just Python 3, the most basic, official installation. If you promote your fucking language as a cross-platform solution, please be bothered to make its basic behaviour stable on the most popular OS out there.
I will probably never use Python again. Maybe this issue was addressed and fixed. Maybe it wasn't. Maybe it never would've happened on Linux or Mac. I don't care. It's like maintaining friendship with a person that betrayed you. I just can't do it.
JS and NPM never failed me.6 -
Anybody have any great tutorials about web scraping with python? The data science courses I took only covered maipulauting and visualizing data not getting it.4
-
My DEV Story
After reading it, make a favor by ++d
Thought to be a software engineer in future
Learnt Python's basic modules, AI, and some ML
After getting intermediate in python, I started learning Java as my second language but could not do it because of JDK 8. Now don't ask me why.
Then, just stepped into game development with unity and C#, having a basic knowledge of C# with no experience in making a game myself. This is called ignorant.
After getting no success, I started learning PHP and got the chance to make a website having no content ;)
But it cannot meet my requirements
Soon I got content that AdSense regards as no content, no problem
I started learning Flask, a module in python for making web applications.
It took me 1 month to complete my website, which can convert file formats.
The idea for deploying it to the server
Sign Up to DigitalOcean
Domain Name from GoDaddy (I know NameCheap is better but got some offer from it)
Made a VPS for what I have to pay $5/month
Deploy my Flask App using WSGI server
This is the worst dev experience
.
.
.
.
Why in all the tutorial, they only deploy a flask app which displays Hello World only and not anything else
WSGI or UWSGI Server does not give us permission to save any file or make any directory in it
Every time........ERROR
Totally Fucked Up
Finally, it works on localhost with port 80
I know this is not the professional way to host a website but this option was only left.
What can I do
Now, I cannot issue a free SSL certificate through Let's Encrypt because **Error 98 Address Already In Used**
The address was port 80 on which my Flask App was running
Check it out now - www.fileconvertex.com8 -
!rant
Ever find something that's just faster than something else, but when you try to break it down and analyze it, you can't find out why?
PyPy.
I decided I'd test it with a typical discord bot-style workload (decoding a JSON theoretically from an API, checking if it contains stuff, format and then returning it). It was... 1.73x the speed of python.
(Though, granted, this code is more network dependent than anything else.)
Mean +- std dev: [kitsu-python] 62.4 us +- 2.7 us -> [kitsu-pypy] 36.1 us +- 9.2 us: 1.73x faster (-42%)
Me: Whoa, how?!
So, I proceed to write microbenches for every step. Except the JSON decoding, (1.7x faster was at least twice as slow (in one case, one hundred times slower) when tested individually.
The combination of them was faster. Huh.
By this point, I was all "sign me up!", but... asyncpg (the only sane PostgreSQL driver for python IMO, using prepared statements by default and such) has some of it's functionality written in C, for performance reasons. Not Cython, actual C that links to CPython. That means no PyPy support.
Okay then.1 -
Hello, devRant.
In high school, 11th grade right now. Looking to apply for a webdev internship. Not really for the pay, more for the experience and having something to put on a résumé I guess.
I have done "webdesign" before, but that's only a static blog (for the curious, Jekyll, https://oxylibrium.me/ until July 30 when the domain expires)
They list... "Integrate front-end services with Bootstrap and jQuery" and similar, and they list skills required as "Website Designing".
Do I apply and see how it turns out? Any last words before your (hopefully friendly) neighbourhood python backend dev leaps to unknown waters?
(First post in a while; age++ happened a while ago but was really busy patching life up to post)
Thanks for your time,
Oxy :)1 -
!rant but a question...
I know that with the vast examples/tutorials online this may not be necessary, but I wanted to ask the community if you guys/gals would recommend going back to school to get a formal CS education or if it would be a waste of time, money, and resources compared to just using web based sources? I've tried the college thing 3 times when I was younger but couldn't concentrate and lacked the discipline to focus and finish classes. But I'm a bit older now and wanted to know if you would recommend going back to school or if time would be better spent performing self-study and learning from home?
I'm still extremely new to coding and programming and only have basic knowledge of actual coding and a lot of the theoretical stuff in programming is completely foreign to me. Like for example, how to optimize code. I know that refactoring code to have a smaller more efficient footprint is always desirable, when it doesn't interfere with readability, but I'm unaware of where/how to modify code to run efficiently. Of course that may be wayyy to advanced for my use cases anyway 😂.
I'm trying to teach myself python as it seems like a great language for starting out and getting to understand the concepts of programing. Plus, it can be used directly in my line of work as well as side projects that I wanted to try my hand at.
Thank you in advance for your recommendations everyone!2 -
Soo I've written some python code to test things for my soon starting bachelor thesis. I work with a little robot car I share with other people and use 2 cameras on it. Today I make the extra effort to go to the lab to test my things as there were too many people busy with the available cars yesterday.
Set it all up with ROS and my project as per usual just to see whether python fucks me over again ... nothing, ok what a surprise.
Good part: my python code seems to work flawlessly
Bad part: cameras don't work, although they don't throw any errors. Quick check with rqt_image_view ... everything seems fucked up, but not broken. Cameras not accessible as they should be, only 1 view available instead of the normal million modes and a blank grey camera stream on the screen. But no errors, nothing.🙄😪
I also wanted to capture some footage to test at home, well that's gone to shit. Now I had to simulate that using my phone camera ... while crouching.
Fuck ... me.1 -
So, i'm trying to get linkr (a pretty cool short link service) to work in a docker container since 4 hours now to host it on my server. There is no official container because it needs a working database connection and stuff during installation which can only be done via console and (for whatever reason I couldn't find out yet) need to be done while building the container. The problem is, I can't connect it to the database while building the container so there is no database during installation to create tables and stuff and the build will fail. ARGH.
Why the hell would you do this????? Theyre actually saying in their readme there is no dockerfile because the config options are specific to your configuration...?!?!
The thing is entirely written in python, so reading and parsing configfiles on the fly should not really be a problem.
Of course I could ssh into the container and run the installation script but that's not the point.
Docker is not about being lazy.
It's about portability.
Maybe I don't want to bloat my server with your 39579372639 npm dependencies? Or I don't want to install a freakin apache, because I have every other site on nginx and therefore wouldn't work with apache.
AAAAAAAARRRRRRGGHHGGGGG
in the end, I'm probably going to modify the thing to install tables when running the container and giving the first user admin rights instead of prompting to enter credentials for a new admin user.
And yet I didn't even speak python. -
So this is the story of myself getting from hating vim to find it pretty good.
When i started fiddling around with linux i was literally overrun by vim. I mean how the fuck should i remember all these stupid commands.
So there we go ... nano was my favourite (and only) editor i used.
Everything was fine in my little nano world. I saw some colleague editing every damn thing in vim. I asked him "man what the fuck are you damn crazy"? And thats where till that moment the deepest conversation about an editor in my life began. He told me he could do that much with vim, its almost everywhere nowadays and a must for any admin.
So after letting him tell me about every thing you can do he promised me he is going to help me getting started quicker. And i must say boi vim is really awesome. But for "real" development i still use a ide. Although i find myself programming go, python or bash scripts entirely in vim and its not that bad.
So if you find your way through the deep shit of that single damn command input down there you can get a pretty decent editor.
Dont get me wrong i am forced to use nano sometimes, when i help some of friends with their servers or so and they litterally uninstalled vim because they were to frustrated.
So as i am started to go into the devops area you get more and more towards you have to edit a file on a server, or just tweak around before automating the shit out of it.
And i must say vim has become a solid alternative for me to a full blown ide, or any other text editor.
So yeah i am gone from freaking hating vim to using it almost everyday. But why some people out their treat vim like a religion is not understandable to me in any way.
So whats your story why do you hate/love vim? Or are you just like me a "happy user" that would switch to another editor anytime it would be a better fit?3 -
The project my company agreed to work with 1 year ago is totally shitty.
We basically use Python 2, Tornado, MySQL and driver for it from 2005, custom made "ORM" where you have to write SQL in strings in Python, custom asynchronous service that runs jobs and all such...
The rest of the team writes code really badly and only after a year of fucking with this shit we made them do pull requests.
I became totally neurotic because of the shit I have to go through daily at work. I do not develop myself, no new things I have learned in the past year or so. What do I do, devrant? What is your advice?1 -
So at the HS I go to, there are 4~5 programmers (only 3 real "experienced" ones though including me).
So coming from JS & Python, I hate Java (especially for robotics) and prefer C++ (through some basic tutorials).
Programmer Nº2 is great at everything, loves Objective-C, Swift, Python, and to a certain extent Java.
Programmer Nº3 loves Python and used to do lots of C#, dislikes Java and appreciates Go (not much experience).
So naturally I get shit on (playfully) because of my JS background, because they don't understand many aspects of it. They hate the DOM manipulation (which is dislike too tbh), but especially OOP in JS, string/int manipulation, certain methods and HOISTING.
So, IDK if Java or C++ (super limited in them) have hoisting, but if you don't know what hoisting is, it means that you can define a variable, use it before assigning a value, and the code will still run. It also means that you can use a variable before defining it and assigning a value to it.
So in JS you can define a variable, assign no value to it, use it in a function for instance, and then assign a value after calling the function, like so:
var y;
function hi(x) {
console.log(y + " " + x);
y = "hi";
}
hi("bob");
output: undefined bob
And, as said before, you can use a variable before defining it - without causing any errors.
Since I can barely express myself, here is an example:
JS code:
function hi(x) {
console.log(y + " " + x);
var y = "hi";
}
hi("bob");
output: undefined bob
So my friends are like: WTF?? Doesn't that produce an Error of some sort?
- Well no kiddo, it might not make sense to you, and you can trash talk JS and its architecture all you want, but this somehow, sometimes IS useful.
No real point/punchline to this story, but it makes me laugh (internally), and since I really want to say it and my family is shit with computers, I posted it here.
I know many of you hate JS BTW, so I'm prepared to get trashed/downvoted back to the Earth's crust like a StackOverflow question.6 -
So I am considering side games to add my main games. Mini games I guess they are called. I thought it might be fun to have random chessboards in game you can actually play. I wanted to actually have a decent chess engine behind the game. Off the bat I found a GPL one. I think it is designed to be communicated externally. So what does that mean for using it in my game? If I communicate to an external process is this violating GPL? I have no intention of making my game open source. Well it seems this use case is very nuanced:
https://opensource.stackexchange.com/...
The consensus on a lot of these discussions is the scope of the use of the program. Are you bundling for convenience or bundling for intrinsic utility? This is fascinating because using a compiler on a Windows platform could be a possibly violation. That is a proprietary program calling a GPL one. This is actually handled in the GPL as far as I know. So, if I use a GPL engine as a mini game is that the same as a full blown chess game? What if I support 10 different engines in a full blown chess game?
Now to play devil's advocate even further. Are proprietary phone apps that communicate to GPL software that serve data intrinsically linked? The app will not function without the server or computer os the server runs on. A lot of the web tech is largely GPL or has large amount of GPL programs. Should the web code be under GPL? Should the phone app be under GPL? This sounds ridiculous to some degree. But is that the same as bundling a GPL app and communicating to it from the program via network or command line? The phone app depends upon this software.
Now to protect myself I will find a decent chess engine that is either LGPL or something more permissive. I just don't want the hassle. I might make the chess engine use a parameter in case someone else might want a better engine they want to add though. At that point it is the user adding it. Maybe the fact that it would not be the only game in town is a factor as well.
I am also considering bundling python as a whole to get access to better AI tools (python is pretty small compared to game assets). It seems everything is python when it comes to AI. The licensing there is much better though. I would love to play with NLP for commanding npcs.
I am not discussing linking at all, btw.3 -
random writing on wall : "new mcDonalds burger for just Rs 99/-" (* 10% GST)
me : "oh that's easy. 99+ 10% of 99 = 9.9 , so total will be 108.9
---
random DSA question in interview : "given a number n, write a program to break it into n parts, such that product of all parts is the highest for given number n. like for 10, 4x3x3 is 36, 4x3x2x1 is24, 5x5 is 25, and thus the correct answer is 4x3x3"
me : 💀💀💀🏳️🏳️🏳️🏳️
-----
seriously though why the fuck is this programming so difficult. I also learnt java c++ python and various languages during my education days, and currently using it to create awesome buttons and ui screens which is being used by millions of people,
but why the interviewers have to ask questions that results in such a horrific use of these beautiful languages!?!
these non realistic stuff are not at all intuitive and will only result in people who likes to mug up these questions and their solutions to keep winning in life1 -
!rant, but not sure if it's a question either.
I've kind of run into a wall when it comes to programming lately. I'm following this course on Udemy for Python, but the next section (that I need to do to be able to continue) uses (outdated) bokeh stuff, and I don't know enough to be able to figure out how to get the same output without much hair-tearing and frustration.
To clarify, the videos uses bokeh.charts, but then there's a note added that says to use bkcharts, which is still outdated, so it doesn't help at all. I did contact the course tutor about it, and he is aware of it but he's got a lot of stuff going on, so I don't know when he'll have time to fix it. In the meantime, I'm stuck and severely lacking in the intellectual stimulation that is programming. :(
I -have- been trying to work on independent projects, but my problem is mostly that I just don't seem to be a frontend kinda guy, so I end up with only halfway-finished stuff. Does any poor soul here have advice on where to look, or (less likely) even have time to explain some stuff?2 -
Sometimes I really hate offshore desktop support... yes I know Visual Studio 15 was installed, and works. But now Python tools was uninstalled in a forced update that corrupted my VS and now I can't install PTVS(not that I need VS has the vim emulator that I can install at work, it's a whole mess of weird security policies.) fucking hate windows and visual studio. Fucking listen what Im telling you the issue is. I need your dumbass to uninstall this shit software so I can do a clean install since the shitty as software management system doesn't so shit when it say's "uninstalling".
On a side note, this fuckwit just tried to explain what the screenshot tool and how to use it... it's only pinned to my taskbar and menu for shits and gigs since I don't use it everyday to tell the stupid data entry analysts I deal with to fuck off. -
If a team uses multiple languages and stacks (Have, JS, Python) do you think it's better to have everyone use/constantly switch between them or have dedicated developers for each language (ie. 80% main, 20% others)?
--END QUESTION, ANSWER NOW BEFOREHAND CONTINUING---
---BEGIN RANT---
My boss likes keeping the team "will rounded" so everyone does everything. One month in working in Java, the next with Node web apps. When I switch to node, it takes like a week of "wtf doesn't it work.... what changed, is it a big?" And usually end it"oh right I remember I need to ..."
And also always... "How the fuck do I write tests in {some reading framework} again?"
So feels like everyone is just a generalist and no one is a master/has time to develop mastery. I don't know if it's just me (1/3 Senior developers on the team that has to do everything) or if I'm the only one that complains... Not that it makes a difference... (Only option to really be heard is to resign but I need to somewhere else to work and finding one is hard for personal reasons)
And well this is the biggest reason I would leave the team. No time for mastery, no standardization/shared knowledge (everyone does their own thing but probably not well and no time for testing or documentation; how the fuck does whatever you wrote work, how do we use it, what the fuck did you put in prod that does ... And where the fuck did you put it cuz it's not in ANY of our repos).
I always feel one day soon it will come crashing down and I can say "I told you so" but will then it's too late and I'll be there one cleaning it up... Again6 -
TLDR;
Side project update.
Made simple nlp library in python and published it’s first version to open source.
Now I can feed it with parsed pdf text.
See rant https://devrant.com/rants/2192388/...
Why ?
Cause during reading book about nltk I couldn’t find simple extendible way to provide support for polish language and I wanted to abstract stemming, word normalization, tokenizer etc. so I can provide ex. different conditions for separate text files and don’t write much code what is an asset when you work solo.
It’s about 12GB of pdf public accessible law data I am trying to handle ( at first ) which is about 35000 files from last 90 years.
So far I automated downloading web pages and pdf documents from them. Extracting data from web pages and saving it to database. Extracting text from pdf files. I have about 5-6 projects to do all of it above maybe at the end I will put it to some workflow manager like Luigi or just run it by cronjob.
First thing for website version 1.0 part is find correlation between all documents inside law text using nlp library by building custom conditions. Then just generate directory structure and html files with links between documents.
Website version 2.0 is already in my mind but it will be creepy to make it and will take at least 1-2 months and I want to publish fast.
I have some pdfs with only images instead of text and tesseract worked quite good with them so maybe I will try to process them when everything go live.
Learned a lot about pdf as now I know that font in pdf is not always providing unicode characters ( stupid form of obfuscation) so when you extract text you need to build glyph vector to text map for every font.
Pdf is full vector representation - just like svg - what is logic if you think a bit and know that some printers are running using postscript.
Let’s hope next update will be about flutter mobile app which started all of shit above. It’s almost ready ( except getting data from api I am trying to do and logo for release version ). It’s last piece of puzzle.3 -
Has anyone looked at the IHME curvefit project?
https://github.com/ihmeuw-msca/...
It’s the statical data model used by the whitehouse to make decisions regarding covid-19. Not a data analyst or python dev but this repo seems super sparse and only two people are doing most of the commits. I would think they would have more contributors.
Any data peeps want to weigh in?12 -
I recently graduated from university and landed a job as a junior devops engineer.
There’s so much tech stacks to learn and I’m in the process of converting a legacy CI system composed of only bash scripts to Python and I feel that 8 hours a day isn’t enough and I often feel that after working hours, I should be reviewing more so that the next day I can be more productive.
I am given tasks to do but I keep feeling the pressure that I need to prove myself.
Is this normal? I’m not used to this learning pace.2 -
(Note: I got a bit carried away while writing this, so the end result is a lot longer than I expected. Apologies for the long post!)
The beginning of my programming journey started with a book.
This was back in 7th grade. I had some basic exposure to BASIC (pun maybe intended?) from our school curriculum, but it was nothing too interesting as our teachers never really treated it as anything important. They would stress a lot on those Microsoft Office chapters (yes, we actually studied Microsoft Office as part of our computer science course at school) and mostly ignore the programming chapters because I dare say many of them struggled with it themselves. So although I had been exposed to *some* programming, it was mostly memorizing the syntax without actually understanding what was going on.
Then one day there was this book fair thing going on at this local Carrefour (for those of you who've no idea, it's a pretty famous hypermarket chain) in this mall, and for some reason my mother and I were in that mall on that day. Now the interesting thing is that this usually never happens -- I usually visit malls with my dad or my friends, this is the only instance I remember where I had actually visited one with just my mom. This turned out to be fortuitous. My father is the kind of person who's generally not amenable to any kind of extraneous shopping requests. My mother, on the other hand, was and remains pliable.
So I basically saw this book -- Sams' Teach Yourself JavaScript in 24 Hours -- being sold at half price. I vaguely remembered having read somewhere that JavaScript is a good introductory programming language (and it helped that this was the time when I was getting into a Google-craze -- I basically saw some photos of Google Zurich and went all HOLY SHIT THAT'S WHERE I NEED TO WORK WHEN I GROW UP (for those of you who haven't seen it, I recommend googling it. That office is the bomb) -- and I'd also read that you need programming skills to join Google). So I begged and begged my mum to buy that book, and thankfully she did.
Back home I returned with my new prize under my arm. Dad took one look at it and scoffed that I'll never actually use it. Pretty much entirely out of spite (to prove him wrong), I attacked the book with a zeal. I still remember how I felt when I wrote my very first JavaScript program (printing the current system date in an h1 tag) and marveling at the output. I guess that was when something struck -- the realization that this was probably what I wanted to do in life.
Fast forward to today, and I've never looked back and wondered what it would be like to have done something else.
PS: for all you beginners out there, JavaScript is a horrible language. Please start with something like Python. Also there are better resources than Sams' Teach Yourself JavaScript in 24 Hours available, that I just didn't know of back then. I'd recommend Eloquent JavaScript any day. -
Installation instruction for a program written in Python:
> pip install MyProgram
Ok but I do not have pip, so I install it... Oops, needs Python 3 but linux has Python 2 installed by default. I try to start the program; it crashes.,...
People using Python, are you serious??????????? 👏👏😳 So it is possible to install a program written in Python only if I f*ck around with Python versions? I have both 2 and 3 installed but how the hell do I know what version is used when I run pip? I set global alias python=python3 but it did not help. RIP.8 -
Alright so I'm in need of a little advice.
So I recently decided to go back and practice basic problem solving and from what I can tell now it's just me not used to JS like I am with python but I want to move on to bigger projects and other basic concepts (like manipulation of the DOM) and move away from basic problems.
But my concern is that I'll look at that list and only pick the ones that I feel I understand I can solve instead of the ones I cant. And theres a large list of them and I see that people are doing a lot of them while I'm just doing a few per page. And I'm afraid I'm just not good enough or stupid if I just ignore the basics and move on because the basics are there for you to figure out the easy stuff.
But I really just want to move on and I dont know when I need to. And last time I asked for advice I mentioned I have been programming for a few years, left out the normal accomplishments I've posted on here but I was just told since it's taking me this long I should just quit I tried to rebuttle but they kept telling me no that literally broke me and my confidence so now I'm sensitive to asking questions also fuck whoever that was.4 -
aight cool so this is fucking stupid thanks Tk
my python teacher is putting us through Tkinter right after "this is how to do basic math" in a class meant for those with no programming knowledge at all
and i remember now why i only do CLI
i've got 2 lines in a func (because "command" params in Tk are fucking retarded), the first changes the text on a button and then the second does shit with os.system ("have this button change this other button then do *something*" ok sure) and yet the button's text does not update until AFTER THE OS.SYSTEM COMMAND FINISHES. I can't even insert a moment between them for it to update in case it needs a sec as time.sleep does *FUCK ALL*
fuck tk, luckily we're gonna move on to files next
(goddamn prereqs, sticking me in this shitty class...)8 -
When I was 15, I started learning Python solely from the Internet, directly from Python's own tutorial in their documentation actually. Never had actual "formal" programming lessons till I was in university, which tbh, sucks. I'd learn more at a faster pace if I went to the Internet... If only I'm not lazy... 😅
-
so some controversial opinions
Our company is moving most of our code style to snake_case, even the JavaScript. Here's our resoning:
Take the CustomerAccountMembership model. In our Python server, we would access it as obj.customer_account_membership, in JavaScript as obj.customerAccountMembership and our API endpoint as api/path/customer-account-membership. Thus we had several String utility functions such as `camelize`, `kebabChop` (which is ironically camelCased) and `snakeify`, and we would use them in translating from URL path to JS to Python, which was troublesome.
Now HTTP allows _underscores_ unescaped and do not pose any significant meaning. JavaScript also accepts it as a valid character in variable names. On the other hand, HTTP is strictly lower-cased, and all computer languages use the -dash- to signify subtraction. Sooo the _underscore_ is the only style that is compliant everywhere.
Unless, of course, we go with customeraccountmembership, which I refuse to do.
I'm not that deep into code character rules.
Opinions?7 -
Good times: Migrating a Jenkins build pipeline patched together out of groovy, python, bash, awk, perl scripts and God knows what else since I have only scratched the surface so far, from Maven to Gradle while not breaking day-to-day builds, integrations and deployments of features, hotfixes and releases. I'm actually enjoying the challenge but it's taking forever due to several issues:
- Jenkins breaks/hangs randomly because it's Jenkins
- Gradle can't handle sets of version ranges but Maven can
- Maven can't handle Gradle style version ranges
- Gradle doesn't have a concept of parent poms, you need to write a plugin and apply stuff programmatically. But plug-ins being part of the buildscript{} don't fall under depency management rules :clap:
- Meme incompatibility issues of BSD vs GNU versions of CLI tools like sed, grep etc1 -
My favorite xkcd quotes (order is not significant )
1. _*It's the world's tiniest open-source violin.*_
2. ...too honest. Scale it back.
3. I'd like to bestow upon you the first annual AWARD of EXCELLENCE in BEING VERY SMART. May you continue to grace our internet with your wisdom.
4. wait, what?
5. Yeah, uh ... I accidentally took the Fourier transform of my cat ...
6. Okay, we _suck_ at this.
7. You either need more medication or less. Not sure which.
8. I THINK EVERYONE INVOLVED HERE IS CUTE
9. World's Greatest Daughter
10. People who open bananas for the other end
11. Just for the sake of the argument, we should get a boat! You can invite the Devil, too, if you want.
12. This explain a lot.
13. My bag is 90% backup batteries.
14. Well- will you be my "it's complicated" on facebook?
15. Oh God. Gotta get out. The window.
16. Sweet! I finally got my subduction license!
17. I'll tell you later - you wouldn't appreciate the punchline over this 12kbps cell phone codec.
18. RON PAUL evolves into TRON PAUL
19. Just talk to them like a f***ing human being
20. In ordering #5, self-driving cars will happily drive you around, but if you tell them to drive to a car dealership, they just lock the doors and politely ask how long humans take to starve to death.
21. I eat my body weight in food every 31 days. That's slightly faster than the human average.
22. Nice try, Mike. Get out of the well.
23. Apollo retroreflectors
24. Can't see space vampires
25. My class on screenshots was a big hit, although for some reason I only ever sold one copy of the digital textbook.
26. WHAT.
27. Introducing The xkcd Phone 6, VIII, 10, X, 26, and 1876. We didn't start this nonconsecutive version number war, but we will not lose it.
28. My morality has evaporated over the harsh UV light.
29. Come on. Somewhere at the edge of the bell curve is the girl for me.
30. P.P.S. I can kill you with my brain.
31. Time to accelerate this giant machine up to terrifying speeds and steer it using my hands, which I am allowed to do because I took a 20-minute test in high school!
32. My normal approach is useless here
33. Wake up, sheeple!
34. Sir- strategic command has send us a lunch order.
35. Yeah, but first I'm gonna go comatose for a few hours, hallucinate vividly, and maybe suffer amnesia about the whole experience.
36. HOLY S***. Guys- people are complicated!
37. OH GOD- SPIDERS
38. Perhaps you need a crash course in taking hints. Here's your first lesson: We're not actually walking somewhere together; I'm trying to leave this conversation and you're following me.
39. How did the pole vaulters get up to our balcony?
40. Friggin' Python
41. I am the goddamn *Michael Jordan* of blurring the line between metaphor and reality. [tosses a basketball] -
Programmer looking for a new language
I have been a JavaScript developer for a few years now (non professionally) and I really like the language. I mainly program for execution with NodeJS rather than web, because I feel like I get more freedom (e.i. the ability to use a computer file system).
I normally never use other people's libraries and instead either write my own library/ies for the specific task or use an old one. I only ever use someone else’s if I need a quick frame work to test an idea, never for something I will actually use.
I prefer to work object / class orientated.
I have worked on distributed servers with NodeJS before, however trying to distribute a load across one computer across it's multiple threads has proved problematic due to the heavy delays of standard io transfer speeds.
Why do I want to switch?:
•Because JavaScript is not at all created with multithreading in mind, and pretty much any multithreading solution is a bodge and allot of the time it is more efficient to work single threaded.
•Also, I get the sense that JavaScript + NodeJS is not used often in the programming industry comparison to other languages like; ruby, python, and I don't want to get stuck in a nesh language of which would decrease my employment chances heavy.
Side Note: I have been working on a pet project to have a distributed database (made with nodejs), and so far, there are no language specific problems, but I feel like it would be more efficient if I used a programming language designed more to cater for multi threading.5 -
Learning Pulumi with Python. Not a fan of Py, but I know my way around.
There's a dev cluster. My colleague asked me to modify Pulumi scripts for cost optimization, as the project transitioned to maintenance mode and is no longer needed on daily basis. Since I'm learning, he asked me laughing not to delete/change the static IP and not to delete the cluster.
I'm currently recreating the cluster anew for the third time :)
Gotta say, destroying a cluster is only scary the first time.4 -
A very satisfactory debugging happened to me not long ago, when I discovered that assignement in C++ and Python doesn't work exactly the same.. I never took courses in Python so I had no way of knowing. I'm a self taught programmer, so I also always feel a bit insecure about my skills.
What made it really satisfying was that when I finally googled it, it was only to confirm the "diagnosis" that I had already made. I felt like years of struggles got me somewhere, now I feel a bit less insecure about my knowledge and skills in programming. :) -
After trying to print colored text to the console using a portable Python 3 interpreter on Windows I came up with a "solution". I tried pretty much everything possible (I could think of): curses couldn't be loaded, ansi didn't work and installing libraries wasn't really an option, because it's not my device. Fuck portable interpreters and have fun with the "solution".
Def color_print(text, color):
text = text.replace("\n", "\\\" \\\"")
os.system ("powershell \"$host.ui.RawUi.ForegroundColor = \\\"" + color + "\\\"; echo \\\"" + test + "\\\"; $host.ui.RawUi.ForegroundColor = \\\"Gray\\\"")
It's slow, unreadable, only works for on Windows and requires powershell and is probably the worst piece of code I ever wrote, but it works 👍.2 -
After days of debugging server errors by tonnes of back-and-forth emailing with my hosting company, we finally arrived on the conclusion that I need to upgrade my account to be able to successfully execute python scripts.
This is apparently because when uploading files, they get encoded into a format that python doesn't like. APPARENTLY the ONLY solution is to create the files with the command line. How convenient that the command line is not made available to plebs not renting their premium package.
I guess this is what you get when paying the equivalent of $10 per year for web hosting.1 -
Am a developer I write Python,php and java. .. I joined a telecoms company in my country which is not doing well as opposed to the other 2 telecoms. One reason is that its a government entity And always keep making bad decision which no one take responsible of. .. always good at making bad decision
My previous boss (who just left) conrned me to support a Chinese Software called mobile money full of bugs. And does not do wat they sad it could do in the FRS . . Doccumentation is mess. There a language barier with the support team. .. then there a guy who seem to have temper and looks overworked by Chinese.
I love writing code and learning new stuff
And progressing in my career
But I cant do that if am answering a call every fu*king sec. We are not appreciated as a team by both the business and CTIO even tho we are only the only two engineers in the Dept. .. its sickens me
I dont no what to do now.that my imediate boss is gone to another company . . What thing to do -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
That moment when you are so impressed about someone or something and interested and want to talk about it but you dont know how to even string two sentances about it even after you just spoke to someone that got you interested in it.
Time to spend a few hours getting the lingo down but in short, using python to make a FE to allow users to create a Hermes config file that will be used on Kubernetes to set up clusters of servers on aws to run their version of our platform. My mind is so rekt and i thank the Devops guys for this needed break from the FE where i normally reside. I love working with people that are not only good but enjoy what they do. They make me a better developer myself 👏
This is one of the many vast reasons i love what i do and having a place to share with more like-minded induviduals like yourself, im grateful.
Thabks for reading and hope you have or had a great day. Keep up the good work all and stay focused 👌 -
This is the first time I have a bad PM and it's much worse than having a pain in the ass colleague dev. A bad dev will mess his/work project and maybe slow down 1-2 other devs.
But a bad PM will doom the whole project, wasting lots of time of the devs working under him/her. Costing much more company's money.
PM:This task should be ready by next week.
Me : This task will require X weeks time for developing and delivery
PM: What?! That's too long, it's a simple one, should be done in a few days.
Me: **explaining the challenges, limitation, env set up, testing etc. Also because I am a junior so may take more time than experienced dev**
PM: **insist that this is important blah blah**
Me: Understand your points but X days is just too little, I don't want you to blame me for missing the deadline. Either we get a reasonable deadline or you can get more experienced dev to do it faster.
**Knowing well that I have the most experience in this task and other devs are busy with their own tasks**
In the end I have to escalate this argument to more senior manager because both of us won't budge. Not only she agreed to extend the deadline she also assigned a senior dev to help me when I am stuck.
His other mistakes I noticed during my time working under him:
- not consulting senior dev for the approach to the task (thus we have to change the design twice).
- assigning tasks to people without sufficient background (a java dev is being assigned a python task, it's doable but it's going to be faster if we assign to someone with more python experience right?)
I understand that our company is short-staffed, but I begin to wonder if the stress the devs endure is because of that or because of his incompetence.
Next time, I am going to specifically ask not to work under him again.2 -
Recently I had the "pleasure" to participate in a recruitment process for a web developer internship position.
First of all, a nice lady calls me to confirm everything and sets up a meeting. She mentions about a qualification test and gives me several technologies like python, c#. I was confused but we explained everything and she knew I was not interested in these technologies since I didn't apply for python or c# dev.
Later on I go to their company building to take the test. I get the test, I overview all tasks - 80% of the test was composed of OOP and C#. OOP - this I can understand but fucking C#? Seriously wtf? I wrote the test the way I was able to do it and at the end the guy says it was deliberate to put other technologies so that he could check how would we find ourselves in a situation like this.
Honestly, I felt like the whole process was a big joke for them. I wasted time going there just to see that I'm taking the test that includes the things posted in the job offer only in 20%.
Fuck them. -
Exams are done, i passed some subjects that made me almost drop out.
Felt good. Now if i manage to do well again in exams i may finish the uni on time.
And now here it comes. One of my professors saw that i was coding my self in contrast of the 90% of other students, and with 2 more guys from my year, suggested us to his friend that owns a company, so we could work there.
I went there, talked about the team and the product we have to do and it seems that for now the only developers are me and 1 more girl and 1 more guy, all new commers, not even juniors.
Shiet. The team told us not to be worried since they will be our instructors and help us out and if we need more help they will hire a senior dev.
Not sure how i should react to that.
I do that mostly for experience so i can leave the country when im done with uni to go to estonia holland or finland.
One more thing, we still don't know what languages we will use and even though i told them that im pretty good with python they seem not to consider it at all. I'm the only one of the juniors that has actually made projects and coded on his own, not with university projects.
Also so that all other employees use windows machines.
Sad.
Hope all that goes well.1 -
"if compiler can infer this, there is no need to add "x ->" , simply use it" ..AAAGHH FUCK YOUUUUU KOTLIN!! what else should i fucking not write? why do't you take a number of my employee and ask his requirements, maybe add a ShoppingKartApp.kt in your compiler next time? it will be completely inferred when i write "Fuck you" in the gradle.
And fucking companies are promoting this! I wonder how those devs are living there
Person A knows only that lambda is
{name:Type,name:Type->code}, and thus writes a clean code.
Person B comes says "This shit suck", writes "{ acc, i -> acc + " " + i }" ,goes away
Person A : "wtf is this shit? why it works?"
Please for the love of god, follow some rules! My first language was python, i love its zen:
- Beautiful is better than ugly.
- Simple is better than complex.
- Readability counts.
- Special cases aren't special enough to break the rules.
- There should be one-- and preferably only one --obvious way to do it.
- If the implementation is hard to explain, it's a bad idea.
-...
I just wish it follows at least one thing from python's zen : "There should be one-- and preferably only one --obvious way to do it."3 -
This summer I have a goal to master web development(nice joke, I know, but you get my point...). Html, CSS, Javacript, Python-Django etc and a website that is getting better all the time. But I have a big problem, something that really bothers me. I lack in understanding. I set up servers following tutorials and God help me if something doesn't work, I use patterns and libraries I barely know what they're made of, technologies that are totally strange to me. Right now, I'm totally confused of whether I need to have my database on a different server, or a dbaas, what the hell do I do if static files pile up etc. What can I do to get myself out of this path? Any books, courses, whatever, that teach not only the how but also the why? Thank you5
-
Our company (non tech) made Python available to install on company PCs sometime last year. Great! Only vanilla Python. Not so great. I opened a ticket to ask for the possibility to install additional packages, or if thats too much to ask, if they at least make some packages available (code review and somesuch was mentioned). Today (!), after several responsibility transfers, I finally had a conference call with someone in the company who
A) wanted to help me
B) was authorized to help me and
C) actually knew wtf I even wanted from them.
And after a goddamn hour of command line shenanigans and stackoverflow visits on both sides, I FINALLY have access to pipy.org and can download and install to my hearts content. However it was so long ago that I made that request that I kinda forgot what I wanted to actually DO with those packages...3 -
Fuck VS! C# sucks! F# sucks!
I found no way to debug C # and F # without VS(At least the official did not give a plan)! And I can only use macOS now.
After downloading VS for mac, I found that it installed mono automatically! And there is not even a button to open the folder!
Why do you have to wrap a class outside the main function? And their pointers are not flexible at all! Also, unlike C, Go, and Rust, the compiled files are binary files. WTF does DotNet give me? debug directories and .dll files!
I originally planned to learn DotNet core for the convenience of using Azure.
But I found that, through Python, JavaScript, Ruby, C(LLVM-Clang), Go, C ++, Rust, Haskell, Azure can also be used, which gives me more sufficient reasons to give up C #, F #!14 -
What the hell am I!? I wonder if you guys can help me...
I've been programming most of my life but I've never actually been a developer by title or job role. I thought maybe if I list what I do and have done someone here could help? I'm sure there are more of you in a similar boat.
- C# and VB dev for some quick DBMS projects to help me understand and mine databases and create a nice simple view for project teams to show findings from the data to help make certain decisions.
- Automating a lot of my colleagues work with Python and if very restricted then just VBA macros in Excel and MSP. This did also include creating tools to gather data during workshops and converting the data for input into other systems.
- Brought Linux to the office with most team members now moving over to Linux with the peace of mind to know that though they do need to try solve their own problems, I can help if need be.
- Had to learn AWS and then implement an autoscaling and load balanced data center installation of a few Atlassian toolsets.
- Creating the architecture diagrams documentation needed for things like the above point.
- Having said that, also have ended up setting up all the Jira/Confluence etc. servers we use and have implemented so far whether cloud (Azure/AWS) or on prem and set up scripts to automate where possible.
- Implemented an automated workflow view in SharePoint based on SP list data and though in an ASPX page, primarily built in JS.
- Building test systems in PHP/JS with Laravel and Angular to help manage integration between systems. Having quite a time right looking into how to build middleware to connect between SOAP and REST API's, the trouble caused more by the systems and their reliance on frameworks we're trying to cut out of the picture.
- Working on BI and MI and training a team to help on the report creation so that I can do the fun creative stuff and then set them to work on the detail :)
Actually it seems safe to say that it seems that though I've finally moved into a dev office (beforehand being the only developer around) I seem to be the one they go to when a strategic solution is needed ASAP and the normal processes can't be followed (fun for someone with a CompSci degree and a number of project management courses under the belt... though I honestly do enjoy the challenges)
But I always end up Jack of all but master of, well hopefully some at least. let's not even get started on the tech related hobbies from circuit design and IoT to Andoid / iOS and game dev and enjoying a bit of pen testing to make sure we're all safe at work and at home.
As much as I don't like boxes, I'm interested to know if there is in fact a box for me? By the way, the above is just a snapshot of my last two years minus the project management work...2 -
Hey guys!
Once again, I got a little stumped when writing one thingmajig in Python.
I am normally not a programmer (Work as sysadmin), so I don't really know all the fancy abstract ways things are done "properly", which is why I need to ask here:
I have a program, separated into parts. The "core" is a part that sets commandline argument structure (using the argparse library), loads master configuration file, sets up the main logging facility, and then proceeds to load "plugins" - python files with one or more classes that implement one specific abstract class that forces them to implement a common interface of init, run, cleanup functions.
The core then proceeds to initialize those classes, run the "run" function, and run the "cleanup" function.
If the plugin class throws a Warning, it is only logged and runtime continues. If it is anything else, the program logs it and stops.
Now, the issue is, sometimes, a user may want to continue even if a non-warning occurs.
Lets say that I am creating a user, and the user already exists. Sometimes, the program user might want to continue with further plugin execution. And what I was told was to implement specific commandline switches that force continuation of runtime despite the plugin failing.
How should I implement it? The most obvious thing is to add a specific switch for every plugin, but that is exactly what I am trying to evade. I want to have the core as abstract as possible.
Other solution I thought of is to have a file of some sort that would list extra switches to implement, then it would be up to the class to implement if it uses the switch or not (I pretty much pass the entire Namespace received from parse_args() function), but this also feels kinda hackish.
I thought about having some sort of function that the plugin could call in the core to add a new argument, but at the point that plugins start loading, the argument parser is already compiled and cannot be changed further.
Any other ideas of how to re-implement the program are also welcome! I may not do it this times, but I'd at least learn something new again.3 -
Programming often ends up in interesting places.
Spent a whole day interpreting a golang SDK in python only to realise that I just have to learn go, not cool google!1 -
Python rant. Why does my 500 line Flask file look like one long oblong, & why am I adding comments that say “end of function” in *any* programming language when surely clear visual marking of this should be built in? Why did I spent 2 hours debugging SQLite3 dict factory function only to find the issue was a misaligned indented function block that my linter hadn’t picked up on because it appeared to be a logic error. Why do you make my missing tab spaces into logic errors Python? And why does everyone insist that curly braces are just as bad? Not in my world Python. Also, stop returning obscure objects unannounced like I’m supposed to know about it in advance, and stop making me run an entire file only to find I have another mystery type error because I expected x and got y. I hate you Python!!4
-
Python muses me sometimes.
Gunicorn has a preload mode. It enables forking...
So Gunicorn starts, when Gunicorn loaded it forks the workers (Uvicorn / FastAPI in my case).
https://github.com/tiangolo/...
So if we add a function that creates the app... this function will be executed before forking, thus the memory at the state of creating the app will be duplicated.
You can thus spawn 40 workers, they would all have the same ML models.
Or in my case a client who does some things that should only be run by a single thread (with locking).
So the client has a cache, as long as I load the cache during the create_app phase, the cache will be shared between all instances and not created per instance.
It's ... Such a small detail. So simple.
Yet completely fucks my brain.
It's logical, yes. I understand what it does, yes.
But it still makes my brain fart. -
I am 13 y/o dev, not in college
two years of experience as an ML intern at a startup, a year of experience contracting as a SWE
I go and try to get internships at a larger company, and just get rejected
people say my resume is fake (nothing to say except IT IS NOT)
they cite labor laws (this I get)
the most frustrating thing though is that I see all these devs with much less experience than me, the only difference being that they are older and in college, getting internships at FANG COMPANIES. most of these people have never had an internship or worked as a developer in any way
one of the most frustrating cases came on a contracting project, where there was this other college dev, who was the worst I have ever worked with
he needed help with EVERYTHING
his python env,
"wHerE dO I IntEgrATE my CoDE?",
1.5 months into the project, he had not pushed a single USEFUL line of code that was actually what was needed from him
and guess where he is heading this summer?
jane street
and yet I cant even get a single interview, with internship season coming to an end?9 -
Working on a project for myself and to put in my portfolio. Talking about it with a (non coding) co-worker and discussing where I am in the project as I've been really excited about my progress since I'm working from scratches with no frameworks for the back-end(the only side I've worked on so far). I was talking about the registration page and getting ideas as to what I should let users put on their profiles and she chimes in, "This would actually be better as a mobile app. That would be much easier to use." Well yeah, probably, but I'm a web developer, not a mobile app developer. Plus making it a web app means users will be able to utilize it through any medium rather than just their mobile phone. I can (probably) make it responsive enough that users don't mind it being a web page rather than an app.
I'm still learning, I know PHP, Python and a little JavaScript, not really enough to build a mobile app. Yeah I'd love to make this an app, but then I gotta support multiple products across several hundred different devices in multiple languages and I'm just not ready for that. Let's get the back end finished and we can go from there.1 -
Wtf Fedora? I install the develop version of TheFuck to work on a plugin, all of a sudden dnf only runs with sudo but gives a module not found when run as normal user? Whyy?
Python import system is a bloody mess, 1 file somewhere with the wrong name and it imports the wrong thing which doesn't contain the thing and crashes.
Can't we just please have STATIC BINARIES? Please? Fml1 -
So, I just (few hours ago)made a new variable that's either brilliant or innately flawed... not sure yet. It's an oddly unique var...
__bs__
So far I only made it in python and windows env (i script like the methodology of css).
I bet you're wondering how I've defined __bs__ and the practicality of it.
__bs__ is derived from a calculated level of bullshit that annoys me to tolerate, maintain, etc. as well as things that tend to throw nonsensical errors, py crap like changing my strings to ints at seemingly random times/events/cosmic alignments/etc or other things that have a history of pulling some bs, for known or unknown reasons.
How/why did this come about now?
Well I was updating some symlinks and scripts(ps1 and bat) cuz my hdd is so close to death I'm wondering if hdd ghosts exist as it's somehow still working (even ostream could tell it should be dead, by the sound alone).
A nonsense bug with powershell allowing itself to start/run custom ps1scripts with the originating command coming from a specific batch script, which worked fine before and nothing directly connected to it has changed.
I got annoyed so took an ironic break from it to work on python crap. Python has an innately high level of bs so i did need to add some extra calculations when defining if a py script or function is actually __bs__ or just py.
The current flavour of py bs was the datetime* module... making all of my scripts using datetime have matching import statements to avoid more bs.
I've kept a log of general bs per project/use case. It's more like a warning list... like when ive spent hours debugging something by it's traceback, meticulous... to eventually find out it had absolutely nothing to do with the exception listed. Also logged aliases i created, things that break or go boom if used in certain ways, packages that ive edited, etc.
The issue with my previous logging is that it's a log... id need to read it before doing anything, no matter how quick/simple it should be, or im bound to get annoyed with... bs.
So far i have it set to alert if __bs__ is above a certain int when i open something to edit. I can also check __bs__ fot what's causing the bs. I plan to turn it into a warning and recording system for how much bs i deal with and have historical data of personal performance vs bs tolerance. There's a few other applications i think ill want to use it for, assume it's not bs itself.
*in case you prefer sanity and haven't dealt with py and datetime enough, here's the jist:
If you were to search any major forum like StackOverflow for datetime use in py, youd find things like datetime.datetime.now() and datetime.now() both used, to get the same returned value. You'll also find tons of posts for help and trying to report 'bugs', way more than average. This is because the datetime package has a name conflict... with itself. It may have been a bug several years ago, but it beeb explicitly defined as intentional since.2 -
I've gotten started with web dev in the past and learned HTML and CSS and started learning JS but I never could understand what I could use for a code editor to practice and pretty much forgot all of that stuff. Now I'm trying to learn Python, but what's pissing me off is paying for a phone app that doesn't teach you to write code in these lessons, rather interactive multiple choice questions and "put this in the right order". sequences. This is not learning for me, this is informing. Which is info I don't retain. And If i'm paying for it why is there so little to these lessons? Barely covering anything. I've done every lesson Mimo had for python but it didn't really explain the practicality of what it was teaching me and they skipped a lot of shit. Changing the pace of the lesson from Print this and that and heavily explain the most basic stuff 3x over to only explaining the more advanced stuff one fucking time.
I would really like learning python while being walked through a project as a lesson. Teach the terminology, structure, application, process, rinse and repeat, and outcome all in one. With a project target to look forward to. I need a goal to keep my interest.
So far all I know about python is its a programming language used to create Youtube. And I'm trying to learn it because I keep reading that its the recommended starting line. But I need to be able to visualize what this code can be used for. Explanations in terminology I haven't been taught yet just frustrates me. And I read everyone's posts and see many people mention being frustrated, but I haven't even started coding yet. Feel free to comment and redirect me to page that can help. Links are appreciated. Nay, encouraged!7 -
So this situation happened a while ago, but I am still pretty angry about it. I am learning Haskell, and it wasn't working, so I asked someone for help. Turns out, he had only been learning how to program for a couple weeks now, and as soon as he saw it, he burst out laughing.
He was making fun of me in the sense that I had only written one line (What?!) OKAY, first off, does this kid know what Haskell can do in one line? Much more than his beloved python, in which, the most complex thing this moron has made was a for loop. And second off, this kid is just like those retarded coworkers and bosses that measure productivity by lines.
I'm not gonna hate the kid because he's learning, but I can see he superiority growing a couple weeks in
God forbid he EVER takes this as a career option, else he may be the most arrogant, annoying human being alive. -
Hi Guys! Currently I'm learning backend web development on freecodecamp.com. Before this I've learned python, just for fun, but I 'painfully' enjoy both. I'm working on an other field now (cnc machining), but I tought I could become a developer. Now I've lost my confindent because a few article on Quora. There a guy (and not only he) said, technicly it'll take over my life. Unbelievable amount of extra time exclude working hours, stress and 18 hours working days. My long plan was to be an independent freelancer, with an easy working schedule (I don't want to be rich, jus have a food valanced life). I've been hoped in a fairy tale? It'll drain my life?4
-
I starting developing my skills to a pro level from 1 year and half from now. My skillset is focused on Backend Development + Data Science(Specially Deep Learning), some sort of Machine Learning Engineer. I fill my github with personal projects the last 5 months, and im currently working on a very exciting project that involves all of my skills, its about Developing and deploy a Deep Learning Model for Image Deblurring.
I started to look for work two months to now. I applied to dozens of jobs at startups, no response. I changed my strategy a bit, focusing on early stage startups that dont have infinite money for pay all that senior devs, nothing, not even that startups wish to have me in their teams. I even applied to 2 or 3 and claim to do the job for little payment, arguing im not going for money but experience, nothing. I never got a reply back, not an interview, the few that reach back(like 3, from 3 or 4 dozen of startups), was just for say their are not interested on me.
This is frustrating, what i do on my days is just push forward my personal projects without rest. I will be broke in a few months from now if i dont get a job, im still young, i have 21 years, but i dont have economic support from parents anymore(they are already broke). Truly dont know what to do. Currently my brother is helping me with the money, but he will broke in few months as i say.
The worst of all this case is that i feel capable of get things done, i have skills and i trust in myself. This is not about me having doubts about my skills, but about startups that dont care, they are not interested in me, and the other worst thing is that my profile is in high demand, at least on startups, they always seek for backend devs with Machine Learning knowledge. Im nothing for them, i only want to land that first job, but seems to be impossible.
For add to this situation, im from south america, Venezuela, and im only able to get a remote job, because in my country basically has no Tech Industry, just Agencies everywhere underpaying devs, that as extent, dont care about my profile too!!! this is ridiculous, not even that almost dead Agencies that contract devs for very little payment in my country are interested in me! As extra, my economic situation dont allows me to reallocate, i simple cant afford that. planning to do it, but after land some job for a few months. Anyways coronavirus seems to finally set remote work as the default, maybe this is not a huge factor right now.
I try to find job as freelancer, i check the freelancer sites(Freelancer, Guru and so on) every week more or less, but at least from what i see, there is no Backend-Only gigs for Python Devs, They always ask for Fullstack developers, and Machine Learning gigs i dont even mention them.
Maybe im missing something obvious, but feel incredible that someone that has skills is not capable of land even a freelancer job. Maybe im blind, or maybe im asking too much(I feel the latter is not the case). Or maybe im overestimating my self? i think around that time to time, but is not possible, i have knowledge of Rest/GraphQL APIs Development using frameworks like Flask or DJango(But i like Flask more than DJango, i feel awesome with its microframework approach). Familiarized with containerization and Docker. I can mention knowledge about SQL and DBs(PostgreSQL), ORMs(SQLAlchemy), Open Auth, CI/CD, Unit Testing, Git, Soft DevOps Skills, Design Patterns like MVC or MTV, Serverless Environments, Deep Learning Solutions, end to end: Data Gathering, Preprocessing, Data Analysis, Model Architecture Design, Training and Finetunning. Im familiarized with SotA techniques widely used now days, GANs, Transformers, Residual Networks, U-Nets, Sequence Data, Image Data or high Dimensional Data, Data Augmentation, Regularization, Dropout, All kind of loss functions and Non Linear functions. My toolset is based around Python, with Tensorflow as the main framework, supported by other libraries like pandas, numpy and other Data Science oriented utils.
I know lot of stuff, is not that enough for get a Junior Level underpaid job? truly dont get it, what is required for get a job? not even enough for get an interview?
I have some dev friends and everyone seems to be able to land jobs, why im not landing even an interview?
I will keep pushing my Dev career, is that or starve to death. But i will love to read your suggestions! how i can approach this?
i will leave here my relevant social presence:
https://linkedin.com/in/...
https://github.com/ElPapi42
Thanks in advance!9 -
Are you out of your free medium articles?😢 My Scrapy is here for the rescue.💸
This is simple application of web scraping, it scrapes the articles of medium and allows you to read or hear the article. If you use this on computer there will be a number of accents in the option.
The audio feature is provided only to the premium medium users, so here comes My Scrapy to save your 5$/month. 💸
.
Tech Stack used :
Python, beautiful soup, Django, speech synthesis
.
PS: This application was built for educational purpose and the source code for this application is not open sourced anywhere.
Fun Fact : You can still read any medium articles if they ask you to upgrade, you must be wondering how? Well, copy the link of the article and browse it in incognito mode on any browser.😂🤣
Try the app and lemme know if you liked it:
https://mymediumscraper.herokuapp.com/...4 -
!rant
so, I somehow got an interview with NASDAQ for the summer internship this year. somehow it was the only company that had cleared my resume for the interview process, other companies didn't even scheduled one.
and I messed up the first technical interview.
the interviewer asked me to find the largest element in a nested list in python.
for ex [[3,4],[5,2,9],[1,7]] would return [4,9,7]
it was a verbal interview on call and he asked what would I use? Lambda function or list comprehension.
I said lambda function. (I knew it was list comprehension, if I had to code I wouldn't have got confused between the two)
later he asked a couple of questions about linux and boot processes, I could answer some of the basic ones but not after 3rd or 4th question.
now I don't think I have anything to do for summer, as it's a little too late for finding the internships.
any advice?10 -
So I was building opencv some time back.
Nice enough package, like most python linked packages I'm finding though I know you can use it via c and its meant to be but why would you want to ? .. it contains a whole bunch of half finished crap that is actually useful in part including the capacity to tear apart video files and manipulate frames one at a time and then rewrite them back to a file. about the only lib that's easy to use that I saw that does that. hell I can even compose my own video frames. also the only other lib I saw that does that thus far.
so...
I post a bug, because of FUCKING CMAKE NOT WORKING. not conforming with the well thought out build environment that most GNU style c packages use.
you know like when you need an upstream source package to build the code, or a downgraded package to build the code and don't want to fuck up your host environment so you have to specify a bunch of lib paths and the like so that ld and gcc work correctly etc etc etc from your custom build location and so you can later use these same values to find the compiled lib and build software against it.
fucker closes my ticket saying i hijacked the c environment................
no.
its because cmake sucks.
they're using and i don't know why a module specifically written to find libtiff.
specifically written but doesn't find the only source on my system that provides tiff which my env variables point directly to !!!!
lazy fucking cocksuckers !
I want to code a solution this issue.
something that translates ac files and am files and cmakelists into something intelligent and easy to follow that doesn't sacrifice the flexibility of make and gnu shit and unfucks cmake based projects !7 -
i am frightened. i have a feeling the only person i can talk about programming stuff twice a year is getting out of touch.
as if the rarity of the talks is not bad enough, our tech stack edges away every time. he is the most intelligent person, yet i see no huge advantages and my strides just raise a shrug. not out of lack of interest but from pure inexperience. we have a long history of joint projects, but i fear the day only he relieves about his webdev experiences with his php-es5-css-stack, while i can not contribute with my knowledge about python- and vba-automation, oop and es6+. as if he would not be able to wrap his head about all this in a blink of an eye. -
Hey guys, how do you feel about the death of Python 2. As a stupid person I love Python and it's the only language I can somewhat understand 10% of. What's going to change by moving to 3? Any of you guys adversely affected by any of this?? Broken projects? Lack of support? I really regret not teaching myself programming when my brain was still spongey.....it's just a ball of poop right now.6
-
Some really motivated guy.
He apparently wants to monitore his opensource application on his spare time.
His application is likely to have no users though.
But well, that guy looks like kinda montivated.
For professional purpose, guy already did monitore with newrelic.
Seems like he was not satisfied and switched to datadog 3 years ago.
But liking digging dirt, he migrated to self hosted telegraf/influx/grafana (which he likes to about)
Today that guy is not in his company but on his potatoe machine in the cloud. So he wants to be minimalistic, datadog should do.
Now you got it, random ff*** is me, on a weekend, a shinny saturday for that matter.
Actually now it is night.
Now let's start the fight.
I have datadog scripts!
But datadog be sneaky as well. datadog upgraded to v6 8=)
-> scripts ain't working. outdated.
I check the logs. Too bad!
-> datadog removed dogstatsD.log in v6!
Well I have nothing to do in my life it is too cold outside as they say. I read the (sluggy) datadoc and tries some shell command (given in doc) to upload some events to dogstatsd (via udp).
-> Nothing happens, neither in local nor in remote.
ok maybe command not up to date, so let me try some official library. datadog from python. Feels like a nice try!
-> only available for python >= 3.5. 3.4 on my good ol' jessie. Upgrading os for datadog not acceptable.
Maybe dogstatsD not started... doc says it is by default, but well, not the first time doc is wrong... I put datadog as log verbose. Guess what: as per standard: shitload of error.
Digging... kubexx, docker and whatsoever apparently preventing collector to do its normal stuff
np, I am gonna check that on github! Goog, people have the same errors. They seem to fix it by trying some settings, with. or without luck
-> I am not that warrior to check every stuff
Ok, let's stop the datadog events, it works. It does not anymore. You know that sentence. We all know it.
Still not enough!
How about testing that uber super nice feature of v6. The logs. After all I want to make events out of my applicative logs.
How about reading the log again. Configure the yaml log as they say. Done. Make some pattern. Read the best practive. Done. Configures the yaml. Done. Now testing.
-> remote datadog interface be like: no logs for you dude you need to pay
ff***f*f*f
Fuck datadog, fuck that v6 version, good old tail -Fxx | someaggreate.js|sendmail will do... -
//not a rant, just a question
Yeah I know SO is the place to ask such stuff, but I still wanna ask it here.
I have started with OpenCV for image processing. The sad thing is it is available for python only. Is there a PHP alternative? The best I have found is ImageMagick which doesn't come close to OpenCV. -
what is cuttoff required to get join in accenture , is 60% is enough
is python 3 is available in accenture written test as becoz i have written mock test for accemture in conduira online where there is only option for python2.7 but not
python 3.73