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 - "strengths"
-
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
Things I wish I could tell my 18 year old self.
1) Accept you will make mistakes.
2) Truly learn the language you are using.
3) Write idiomatic code for the language you are using.
4) Be upfront about not knowing something.
5) Don't let not knowing something stop you from learning it.
6) None of us knew X until we learned it.
7) Understand your strengths and weaknesses as a developer, play to them.
8) Be willing to try new things.
9) X language isn't ALWAYS the best choice, X paradigm isn't ALWAYS the best choice. Choose wisely.
10) You won't know everything, but you might know more than others.
11) Your ideas and ego don't matter more than ensuring the product works.
12) "Perfection is the enemy of the good [enough]" - Voltaire
13) "Perfection is not achieved when there's nothing more to add, but when there's nothing more to remove." - Einstein.
14) Conflicts happen, deal with it.
15) Develop a toolset and really learn them.
16) Try new tools, they may prove better than what you were using.
17) Don't manage your own memory unless you absolutely have to, you are probably not smarter than the collective intelligence of the team that built the various garbage collection methods.
18) People can be dicks, especially online.
19) If you are new and people are being dicks to you, did you skip past the irc message about etiquette? If you did, you're the dick in this situation.
20) It can be tough, but it is fun, so have fun!6 -
So, I was participating in a competition, but little did I know that you could only participate in pairs. Seeing that a lot of famous indie devs were participating I was extremely hyped. But since it seemed like I was the only idiot who didn't have a partner I felt like kicking myself. Then a guy about whom I had never heard of before, probably a newbie, comes out of the blue and asks me to be his partner. Since I had no choice, I reluctantly agreed to pair up with him. The rules of the competition were to create a game based on a particular theme in a period of 1 week. To get started, I asked him about his skills as it would be better to know what our strengths and weaknesses were. He said that he was good at art and proceeded to show me some of his "previous works". I was genuinely impressed. Honestly speaking his drawing seemed a bit off but was but for a newbie, it was good. So we decided that he would take care of the art and I would code, create some basic music (nothing too fancy because of the lack of time) and if time permits, refine his art(correcting ratios, colour combinations, shading, etc.). On the first day, he would like to work in privacy and would show only the finished products to me. It seemed a bit fishy, but hey, I am all up for respecting the wishes of fellow team members.
So all was going well, or so I thought, till on the fifth day the guy confesses that he didn't get shit done. Apparently, his "previous works" were random stuff taken from the great land of internet and that he had to leave town the next day. He just wanted to "experience the life of a game developer" and "meant no harm". I flipped out, half lectured half screamed at him then asked him to get the fuck out which happened to be the only fucking thing that he was able to do correctly. I thought for an hour or so, then contacted the staff and informed them about my situation. They said that if I was okay with the handicap, I may continue. I then pulled three all nighters with about 3 hours of sleep (that too in parts of about 1 hour) everyday and was barely able to submit my game on time.
I secured the fifth place, which was pretty good if I may say so myself, but it an important lesson in my life that taught me to never trust anyone blindly.4 -
Part 1: https://devrant.com/rants/4210605
So let's talk about these tasks we were assigned. Ms Reliable and Mr DDTW's friend who I just realized I haven't named yet were in charge of programming communications. Ms Enabler and Mr DDTW were in charge of creating the vehicle subclasses for the new variants we were instructed to build. Each one had to handle one variant, and we estimated that both of these would be about the same difficulty (Ms Enabler's one turned out to be a little harder).
I like Ms Enabler, and she's a good friend, although she isn't the best at problem solving and her strengths as a dev lie in her work ethic and the sheer amount of theory she knows and can apply. These just so happened to be the exact opposites of my strengths and weaknesses. Within a few days of having assigned the tasks, she came up to me asking for help, and I agreed. Over the following couple of weeks I'd put in quite a lot of hours reviewing the design with her, and we'd often end up pair programming. It was more work for me, but it was enjoyable and overall we were very efficient.
The other two girls in the group were also absolutely fine this sprint. They simply did the work they had to and let us know on time. Outside of some feedback, requests, bugfixes, and mediating disagreements, I didn't have to do anything with their tasks.
A week and half into the sprint and everybody else has their part almost in an MVP state. As Mr DDTW hadn't said or shown anything yet, I asked if he could push his stuff to the repo (he got stuck with this and needed help btw), and what does he have?
A piece of shit "go to this location" algorithm that did not work and was, once again, 150 lines of if statements. This would not have been such a massive deal if THE ENTIRE PREVIOUS SPRINT HAD BEEN DEDICATED TO MAKING THE CODE DO THIS IN A SENSIBLE WAY. Every single thing that this guy had written was already done. EVERY SINGLE THING. A single function call with the coordinates would let the vehicle do what he wrote but in a way THAT ACTUALLY WORKED AND MADE THE TINIEST BIT OF FUCKING SENSE. He had literally given so few shits about this entire goddamn project that he had absolutely zero clue about what we'd even done last sprint.
After letting this man civilly know through our group chat about his failures, giving him pointers on what's wrong and what he can use and telling him that he should fix it by the end of the week, his response?
"I'll try"
That was it. Fuckass was starting to block us now, and this was the first sign of activity he's given since the sprint started. Ms Enabler had finished her work a fucking week ago, and she actually ASKED when she ran into trouble or thought that something could be improved. Mr DDTW? He never asked for shit, any clarification, any help, and I had let everybody know that I'm open. At least the other two who didn't ask for shit ACTUALLY DID SOMETHING. He'd been an useless sack of shit for half a semester in three separate projects and the one time he's been assigned something half important that would impact our grades he does this. I would not stand for it.
I let him know all this, still civil (so no insults) but much less kind, capped with "Stop fooling around. Finish this by the of the week." which probably came off as a threat but his shithead kinda had it coming.
He was actually mad. Dropped a huge faux-apologetic spiel in the chat. Why couldn't I just trust him (his code was garbage and he was constantly late without explanation), his work was almost done (it wasn't and if he'd started he'd understand the scope of what he was assigned), that the problem was that I'm a condescending piece of shit (bruh), and was suddenly very interested in doing work. Literally everybody ignored him. What was funny was seeing the first questions and requests for help after that spiel. I obliged and actually answered what he asked.
The end of the week came and went he'd just uploaded more garbage that didn't work. I had foreseen this and, on top of everything else, had been preparing his section of the work done by myself and properly. Thus came a single commit from me with a working version of the entire module, unblocking the entire team. I cannot imagine the sheer hatred for this man at that moment for the commit message to simply be:
"judgement"
And with that, all I got was a threat to report me to the professor for sabotaging his work. The following day our group got an email from the professor, with no explanation, asking for an almost-immediate video conference. Group chat was a shitshow of panic, as nobody knew what was going on. Least of all Mr DDTW.
Once again, I'm approaching the word limit so to be continued in part 3 (hopefully of 3)7 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
Did a bunch more cowboy coding today as I call it (coding in vi on production). Gather 'round kiddies, uncle Logan's got a story fer ya…
First things first, disclaimer: I'm no sysadmin. I respect sysadmins and the work they do, but I'm the first to admit my strengths definitely lie more in writing programs rather than running servers.
Anyhow, I recently inherited someone else's codebase (the story of my profession career, but I digress) and let me tell you this thing has amateur hour written all over it. It's written in PHP and JavaScript by a self-taught programmer who apparently discovered procedural programming and decided there was nothing left to learn and stopped there (no disrespect to self-taught programmers).
I could rant for days about the various problems this codebase has, but today I have a very specific story to tell. A story about errors and logs.
And it all started when I noticed the disk space on our server was gradually decreasing.
So today I logged onto our API server (Ubuntu running Apache/PHP) and did a df -h to check the disk space, and was surprised to see that it had noticeably decreased since the last time I'd checked when everything was running smoothly. But seeing as this server does not store any persistent customer data (we have a separate db server) and purely hosts the stateless API, it should NOT be consuming disk space over time at all.
The only thing I could think of was the logs, but the logs were very quiet, just the odd benign message that was fully expected. Just to be sure I did an ls -Sh to check the size of the logs, and while some of them were a little big, nothing over a few megs. Nothing to account for gigabytes of disk space gradually disappearing.
What could it be? I wondered.
cd ../..
du . | sort --sort=numeric
What's this? 2671132 K in some log folder buried in the api source code? I cd into it and it turns out there are separate PHP log files in there, split up by customer, so that each customer of ours (we have 120) has their own respective error log! (Why??)
Armed with this newfound piece of (still rather unbelievable) evidence I perform a mad scramble to search the codebase for where this extra logging is happening and sure enough I find a custom PHP error handler that is capturing (most) errors and redirecting them to these individualized log files.
Conveniently enough, not ALL errors were being absorbed though, so I still knew the main error_log was working (and any time I explicitly error_logged it would go there, so I was none the wiser that this other error-catching was even happening).
Needless to say I removed the code as quickly as I found it, tail -f'd the error_log and to my dismay it was being absolutely flooded with syntax errors, runtime PHP exceptions, warnings galore, and all sorts of other things.
My jaw almost hit the floor. I've been with this company for 6 months and had no idea these errors were even happening!
The sad thing was how easy to fix all the errors ended up being. Most of them were "undefined index" errors that could have been completely avoided with a simple isset() check, but instead ended up throwing an exception, nullifying any code that came after it.
Anyway kids, the moral of the story is don't split up your log files. It makes absolutely no sense and can end up obscuring easily fixable bugs for half a year or more!
Happy coding.6 -
2 things I'm working on now:
#1 a personal project I am hoping to commercialize and turn it into my moneymaker. Hoping it'd at least be enough to pay the bills and put food on my table so I could forget 9/5 for good. But it has a potential of becoming a much, MUCH bigger thing. This would need the right twist tho, and I'm not sure if I am "the right twister" :) We'll see.
#2 smth I'm thinking of opensourcing once finished -- a new form of TLS. This model could be unbreakable by even quantum computing once it's mature enough to crack conventional TLS. I'm probably gonna use md5 or smth even weakier - I'm leveraging the weakness of hashing functions to make my tool stronger :)
I mean how long can we be racing with more powerful computers, eh? Why not use our weakneses to make them our strengths?
Unittests are already passing, I just haven't polished all the corner-cases and haven't worked out a small piece of the initialization process yet. But it's very close6 -
Hired a new BI developer. She tested reasonably ok in SQL, and certainly showed good strengths in visualising data, plus had a good attitude in the interview. We hired her. She broke her laptop the first day. We got her another then she complained the camera didn't work but didn't realise the lever in front of the camera was to move the privacy shutter off and on.
Assigned her some work of taking queries that are used in a BI tool that targets the transactional database directly, and re-jigging them for Snowflake which we're using as a data warehouse now, aggregating all our data into one place. Yet, she's struggling to understand why the SQL query she's pasted in doesn't work as-is.
I go over it again; the source schemas and tables are this, but in Snowflake we've named them this. She then bemoans how much work that is to change them all - I say use find and replace. She then struggles with Snowflake syntax errors and asks for a guide on T-SQL to Snowflake. I show her Google and say "this is what I did when I hit these problems - search for 'Snowflake equivalent to T-SQL getdate()' or 'how to get current date in Snowflake' but she still doesn't understand. I ask if she's every had to work between T-SQL and MySQL or MySQL and PostgreSQL or Oracle and so on and she says yes. I say the syntax isn't the same, is it? And she goes oh, now I understand.
She scored reasonably in her SQL test but I'm now concerned there's something fundamental missing in her grasp of SQL. I gave her a detailed demo of the tools, I explained in the interview and on her start about our move to a data warehouse for all our apps, and put her through some training plus gave her time to work through our Confluence pages - not expecting she'll remember everything, but more to ensure she recalls they exist and what the general contents are.
Anyhow, that's my rant.6 -
Best: give him a GitHub repo and tell him to add a feature or change something
Worst: What are your greatest strengths and weaknesses?4 -
Computer Scientists:
Programming close to the hardware requires different strengths. That‘s why we created a manifold of systems programming languages
Also computer scientists:
Lets do everything the browser does in javascript lol -
Do real interviewers (I mean those who are smart and have some experience) still ask questions like "what are your weaknesses"?
Dumbass, why the fuck should I declare, not just to you but also to myself, that I have some particular weaknesses? I know what I'm not good at, and I'll keep trying to improve. But unless my weakness is that I get a massive boner during team meetings, you don't need to know about it. I'm not telling you. Just know my strengths - that's enough. If you're just following a standard list of interview questions that you didn't even come up with, stop pretending to be an interviewer for heavens' sake.8 -
Once again I have loads.
My best teachers were...
The contractor that taught me C#, ASP MVC and SQL Server. Dude was a legend, so calm and collected. He wanted to learn JQuery and Bootstrap so at the same time as teaching, he was learning from me. Such an inspirational person, to know your subordinates still have something to teach you. He also taught me a lot about working methodically and improving my pragmatism.
The other, in school I studied computing A-Level. 100% scored at least one of the exams... basically I knew my stuff.
But, as a kid, I didn’t know how to formulate my answers, or even string together coherent answers for the exams. This dude noticed, first thing he did was said “well you’re better at this bit than me, practice but you’ll be fine” (manually working out two’s complement binary of a number).
Second thing he did was say “you know what man, you know what you’re on about but nobody else is ever going to know that”.
He helped me on the subjects I wasn’t perfect on, then he helped me on formulating my answers correctly.
He also put up with my shit attendance, being a teenager with a motorcycle who thinks he knows it all, has its downsides.
As a result, I aced the hell out of that course, legendary grades and he got himself a bit of a bonus for it to use on his holiday. Everyone’s a winner.
Liam, Jason, if you guys are out there I owe you both thanks for making me the person I am today.
The worst, I’ve had too many to name... but it comes down to this:
- identify your students strengths and weaknesses, focus on the weaknesses
- identify your own and know when to ask for help yourself
- be patient, learning hurts.
You can always tell a passionate teacher from one who’s there for the paycheck.1 -
When imposter syndrome hits me, i just scroll through the latest CVEs. That reminds me, that even the best can't do it properly.
I also am old enough to have seen the latest shit emerge and disappear multiple times. So there is no pressure to keep up with latest crap of the week.
Also, our industry is full of sloppy corner cutters. So that i am not sloppy and don't like to cut corners, already makes me a rare kind of coder.
Know your strengths!5 -
Eric Thomas' Top 10 Rules For Success
1- Know what you want.
If you don’t know what you want, how will you know what to say yes to in your life? Stop taking every body else’s leftovers and step up and take what you deserve!
2- Work on your gift.
We all have our own individual talents, gifts and strengths. But those natural gifts will only become truly great by refining and nourishing them. Natural ability will get you started, but commitment and determination to achieve greatness is what will get you to where you want to be.
3- No excuses.
Stop using your circumstances, finances or current position in life as an excuse to justify why you aren’t working towards your goals. You are in charge. If you aren’t where you want to be, take a look in the mirror and ask yourself honestly- WHY? Take responsibility for you life once and for all.
4- Upgrade your values.
Your values dictate your behaviours. And your behaviours create your results. If you want to a different result, you need to change your behaviour.
5- You reap what you sow.
Nothing in life is free. It is up to you to determine the course of your life. If you want success, you need to do what it takes, daily, to get there. Don’t focus so much on being successful. Focus on solving problems, helping others, and adding value to people’s lives, and success will come.
6- Education is the great equaliser.
If you are at the bottom, you need to learn. If you are at the top, you still need to learn. Never, ever, ever stop growing and educating yourself.
7- What is your WHY?
Why do you wake up in the morning and hustle? Why do you do what you do? Knowing the answer to this question is the single most important thing to know about yourself if you want to become successful. When you know WHY you are doing what you do, you won’t ever quit, even on a bad day.
8- Have boundaries.
If you want to be a huge success, you have to be strict on yourself with how you spend your energy. Distractions will come in many forms, family, friends, TV, but you have to make sure that your time is being spent wisely.
9- Speak from the heart.
Transparency is attractive. Don’t be afraid to open up to the world and let yourself be seen.
10- Succeed as bad as you want to breathe.
Everybody wants to be successful. But not everybody is willing to do the work that it takes to become successful. When you are willing to get so uncomfortable, so out of your depth, so blind that you have no other choice but to be successful, THEN you will become successful. The only question you need to ask yourself is this. Am I willing?
Credits: https://fearlessmotivation.com/2016...
2 -
I don't want to trash-talk anyone's favorite programming language - after all, I get quite pissed if anyone rants about my favorite language, too! I'm not saying that VB .NET is a bad language. It really has its strengths, even more so for beginner devs. But is this guy serious?
https://red-gate.com/simple-talk/...
I don't even particularly care for C# - mostly because I don't like Pascal Case and it's a Microsoft Original and I don't want MY source code spying on ME... But still... every single one of the points that guy tries to make is either IDE-specific, not a big deal or even an advantage in my opinion!
What bothers me the most, however, is the way he subtly tries to force his own opinion upon his readers. "It doesn’t matter if you disagree with everything else in this article: case-sensitivity alone is sufficient reason to ditch C#!" - quote end!
Real sneaky fella.11 -
Most obnoxious company process: The newly introduced promotion process at my ex-employer.
Originally they had a run-of-the-mill process. You and your boss reviewed your performance independently, then spent an hour to compare results. If you agreed to have proven yourself, your boss did some remaining paperwork (iow he did his job) and done.
Under the guise of transparency, fairness and autonomy of employees this was changed to:
You had to find three coworkers willing to review you (favorably). You collected their feedback, processed that (strengths, "opportunities for improvement", etc) and presented it to your boss for review. These were the first two steps of four in total, of which I've forgotten the other details tbh. It became pretty ridiculous with you defining "progress indicators", your boss's boss involved in another review round and what not.
The true purpose was clear: Delaying promotions as long as possible, making the employees do all the work, and being able to just say "no" at any point. I don't know how intellectually superior managers and HR viewed themselves, because literally none of my coworkers bought this as an improvement.
But, yeah, that became the new process at a company too big to fail.1 -
I am so 😢🤒😡 right now. I applied for a remote job, so they gave me an assessment and the language was c++. The funny thing is that c++ was not in my resume.
So I decided to explore c++. "I don't know what the fuss is, C++ is not so hard". It was very easy for me to grasp. It took me two days to understand it.
Then I did one of those online test and I scored 58/60.
Now I went back to take the assessment test on C++ but lo and behold the assessment is now on Rest API.
But Rest API is also not on my resume. They are not assessing me on my strengths like Java or kotlin or python or my my lesser strengths like C# or JavaScript.8 -
How many of you use the right data structures for the right situations?
As seasoned programmer and mentor Simon Allardice said: "I've met all sorts of programmers, but where the self-taught programmers fell short was knowing when to use the right data structure for the right situation. There are Arrays, ArrayLists, Sets, HashSets, singly linked Lists, doubly linked Lists, Stacks, Queues, Red-Black trees, Binary trees,.. and what the novice programmer does wrong is only use ArrayList for everything".
Most uni students don't have this problem though, for Data Structures is freshman year material. It's dry, complicated and a difficult to pass course, but it's crucial as a toolset for the programmer.
What's important is knowing what data structures are good in what situations and knowing their strengths and weaknesses. If you use an ArrayList to traverse and work with millions of records, it will be ten-fold as inefficient as using a Set. And so on, and so on.31 -
Today I discovered that Haskell can be compiled to js. This is both wonderful and disturbing: having the strengths of Haskell feels right and encouraging, but having to transpile it to js feels unnaturally dirty.
Still, I'm not sure I can apply this at my job in any future, but I might have just the case in the brewing.7 -
Yo guys, all the ranting aside, I just wanted to remind you that you ALWAYS have a choice, that you should speak up when something bothers you for too long and that you should be aware about all your strengths and unique skills! Just as a reminder ✌️2
-
IT teach giving a speech that our MS excel exams are shit and we have no logic and that we suck at math. I mean, yeah it's true that I suck at math and I've never used excel before coz I never had to but ffs I code during nights and I love it, also there are so many fields, saying that you'll be just a part-time waiter... If you have the attitude to solve a problem that you care enough about you'll get there eventually. Sucking at something doesn't mean you suck at everything, everyone has their strengths and weaknesses.5
-
Thank you Ubuntu for proving once again to be a usless piece of shit. Isn't the fucking console supposed one of your strengths? Once again, from the deepest of my heart, FUCK YOU UBUNTU
28 -
Focus on your strengths and not your weaknesses. Oh and wear one of those Polo Pullovers, that way you'll say "Hire me, because I'm that cool kinda sexy but douchey as fuck developer you guys need in your life". That should get the job done or job gotten.
-
<"Perfect is enemy of good"
>"Excellent! I keep my enemies very close"
I do believe it possible that one can find at least one perfect counter to every stupid folk saying that startup-for-brains suit bags love to parrot.
2)
<"We must fail fast"
>"I already did it!"
3)
<"We must have a long tail of offerings"
>"Can we offer focus on our core strengths?"
-3)
<"We must focus on our core strengths"
>"Isn't our core strength 'having a long tail of offerings'?"
4)
<"We must use agile methods"
>"An agile habit does not make an agile monk."
5)
<"We must be flexible and adapt"
>"Is it a law or more of a rule of thumb?"
6)
<"We must avoid bureaucracy"
>"Can I have that in writing?"3 -
I don't understand why languages like JavaScript and PHP decided to bolt on typing and object-oriented stuff retroactively. In fact, it actually makes me kind of angry.
The whole point of weakly-typed languages is so that you don't have to worry about the types. Everything that you do to an object is evaluated at runtime. The advantage of this is so you don't have to worry about types which improves speed of development. You do lose the benefits of strongly-typed languages, but I'm assuming everyone who uses a weakly-typed language is ok with that tradeoff, otherwise they would be using a strongly-typed language.
But then they go and add strongly-typed things to weakly-typed languages, like they somehow "discovered" that there are actually benefits to using strongly-typed languages. The thing is that adding this back in just dilutes the weakly-typed nature of the language to the point where you don't really get the benefits of its strongly-typed-ness or its weakly-typed-ness. And don't tell me you can just use either, because if you're working on a project with multiple people you can never really be sure what is going to happen if both the options are there.
I have an idea, how about we let Java be good at what it's good at and let JavaScript be good at what it's good at, and stop trying to make them into the same language. Languages have strengths and weaknesses and that's ok. We just have to learn what they are and when it's good to use certain languages over others.10 -
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
Is Lua worth learning?
What can be achieved easily with it? What are it's strengths and weaknesses?6 -
- Never lie, if you get the job and they find out you lied on something you have a problem
- Never say "oh this company is too good it will never accept me with my grades", Usually bigger companies have an assessment center where you can show that you are good for this job
- If they ask you for weaknesses try to pick some that can also be seen as strengths -
!rant
Hello everyone
Do any of you python programmers have any tips for simple projects you can do to learn python?
I am mainly a backend/system engineer comig from C++, slowly picking up rust and have been using bash as my scripting language so far. bash is nice because it is so fundamental in the linux world but you just dont get very far with it and its usually not pleasant to write.
So I would like to learn python, though I have no idea what I can do to practice it, so that I can just quickly whip up a script the next time I need something done in the file system or want to write a simple parser for something.
Do you guys have an idea of something small (not necessarily useful) which makes use of pythons strengths? Just looking for ideas here, so stick it all out 👋💕11 -
I'm seeking opinions and thoughts on my predicament.
I have 2ish paths before me.
Next year I resume my studies in Science Communication and Computer Science in particiliar a bachelor of science, I have considered then doing master in managent or computer science.
1) I am able to have a income of about 800 AUD a fortnight (this is to support me during study without requiring work) plus extra from a part time job whilst I study for about 2 years. Throughout this time I would like to skill up in a variety of fields as immensley as possible.
2) I can accept a full time junior web developer job while I study, this job is with a great government research organisation which as a first FT job looks great on a resume, it is is project based work where I get given a project and code and pretty much complete it. The job is flexible, I can mostly work where-ever I want, at home, at a cafe, travelling. With maybe a meeting once a week. The pay is about 65kAUD a year.
Both options are very attractive options with each containing there own pros and cons. With the extra money I could learn more or use it to grow a business or do more.
However without the FT job I could still earn about 1-1.5k a fortnight for alot less time.
I am still discovering what to do in life, I'm very good at public speaking and would like to experience and learn more about lots of different things. My current knowledge is very broad from engineering to CS, graphic design, authoring, trade skills, Digitial design and more.
Ideally I would like to learn how to lead people, to make the world a better place and help people. Figuring out where my strengths lay and where to apply them is difficult as I am fascinated by so many things.
I worry about taking the FT job as it might detract from my studies and lead me to pursueing mostly only web development work as well as take up time that might be better spent on extra study or in a leadership position in a uni club.
The PT job is a IT Systems Technician in the Australian Defence Force.
Which is a interesting experience within itself, different from civilian life and also I would be learning about systems that I might have less experience with.
I have such broad interests in alot of fields that I don't seem to be focussed on select things or areas like other devs I've met, Science Communication is a versitile field, one of my professors expertise is on doctor who and it's role in science engagement, she has written books on it. Others are in public policy or directed podcasts or even made games. Despite my broad interests computer science was always a gield I did well in.
Any thoughts, opinions or questions are welcome.
I have a blog/portfolio I put my work and projects up if it helps people know more about me, you can find it at curiosityplace.wordpress.com2 -
Oh let the rant time begin…
So previous post I mentioned about this dev who has resigned and how I was going to see about a Snr. position.
Management is now scrambling to figure out what to do as this dev managed all the migration to AWS etc, I know servers but haven’t got too much familiarity with AWS.
Anyways so I finally get a 1:1 with my new line manager. I ask about the position and he says they don’t know what there going to do yet. Hire a new dev in India to offset and with the same knowledge even though the guy leaving is in the U.K. Bad idea as the servers are in the U.K. so if we get downtime or the server crashes we have no one in the U.K. to reset or access to the servers. India are very cagey who gets access which is annoying to say the least even though us (three devs) in the U.K. are the principal engineering team so there looking at all options.
Anyways we have a back and fourth, we discuss some of the plans for the app, some of which we are nowhere near ready to even conceptualise as the app in its current state sucks, (ruby 2.2.6 and rails 5 but not really). Needs major refactoring and rewrite, one thing they want to do is multi tendency which again given the state is laughable.
So, as my manager is speaking my head is screaming being like “this is just going to be a massive disaster”. Then we go onto that he’s seeing what everyone’s strengths are etc. And then we get onto the upgrade and that he wants me to work on it.
Yes.. the upgrade I’ve been trying to do for the past 4+ months but I keep getting told to stop and getting pushed backed.
I’ve been told we have devOps looking into restructuring the app, not possible as how the app is written, we have India trying to multi tenant again disaster incoming as they’ll end up rushing it. Legal are going to have a field day. Every time I say the issues are the fundamentals with the app, here’s how we can sort it. In one ear out the other basically there patching the ship even though it’s still leaking.
I have so many ideas, and things I can do to improve the app and get it back to not only working order, fix the performance issues, data issues and everything else. Brick wall.
So rants ensue where I basically say I would love to do the upgrade but management gives me no time in the roadmap (we have no say in planning). At this point I’m just speaking to a brick wall.
After the meeting I have a chat with the BAs, we all have the same issues so honestly it sucks we end up ranting to each other for an hour.
I’m being under-utilised, being told do this, do that even though I’ve had two stabs but told to stop and pushed back, I know what benefits I can bring to the app with a refactoring, ideas and how to properly lead the team because honestly we’re working on an old legacy app, and management are clueless and there priorities are all wrong, the company is getting frustrated and it’s a sinking ship. They would rather patch issues without solving them and everything I say goes in one ear and out the other.
Frustrating is not the word.1 -
Question directed to devs who know a bit about setting up middle sized architecture.
Prestory: Joined into development of a middle sized online game. Figured they created a monolith over the last 6 years up to a point where nothing works properly and nothing can be changed without wrecking the whole system. Figured a monolithic approach isn't such a great idea.
Current Situation: In a different, same scale online game development team, game itself working but team is struggling with architecture.
My job is to come up with an approach on how to set up masterserver/matchmaking/database etc. Reading through various articles about common principles (SOLID etc.), i figured that a microservice+event-/servicebus architecture may work for that kind of project.
The idea would be to have a global interface in which microservices can be hooked. So a client registers to a client handler on startup, then starts to queue for a game, the client handler throws an event on the bus to register the user to matchmaking. The matchmaker happens to listen to those events (Observer Pattern) and adds him to matchmaking, when a match is found it throws an event on the bus to connect the user to the server, etc. One can easily imagine a banhandler throwing in a veto to cancel such an action, metrics and logging is fairly simple to add (just another service listening to all events), additionally Continuous Delivery, FRP and such are also beneficial advantages and it is said to scale well.
The question is, would you do the same, is there maybe something i might be overlooking? Do you have better ideas?
Keep in mind that we are not too experienced and are bound to different languages (python, C++ and java mostly) and are a small (4 Devs) Team with different strengths.
Thank you for your feedback and criticism!1 -
In the vast world of online gambling, finding a trustworthy, transparent, and rewarding platform can be a challenge. This is where https://casinofairspin.com/ steps in as a comprehensive guide for players looking to explore the best in online casino entertainment. From in-depth reviews to bonus guides and crypto-friendly gaming advice, the site is tailored to help users navigate the dynamic iGaming landscape with confidence.
What Is CasinoFairspin?
CasinoFairspin is an independent information portal dedicated to evaluating and recommending reputable online casinos. The platform offers players objective insights into various casino sites, focusing on elements like game selection, licensing, bonus structures, and payment methods. Whether you're a novice eager to learn or a seasoned player seeking fresh opportunities, CasinoFairspin aims to be your go-to resource.
Features That Set It Apart
One of the major strengths of CasinoFairspin is its dedication to fairness and transparency. The site frequently updates its rankings based on real user feedback, current promotions, and the latest regulatory changes. It also highlights casinos that accept cryptocurrency, providing essential information for those who prefer anonymous, blockchain-based transactions.
Visitors to the platform can also explore a wide variety of informative articles, including:
Guides to no-deposit bonuses
How to safely register and log in to casino accounts
Reviews of non-UK casinos for international players
Tips for maximizing welcome offers and free spins
Supporting Crypto and Global Players
A standout feature of CasinoFairspin is its openness to the evolving world of digital finance. With the rise of Bitcoin, Ethereum, and other cryptocurrencies, many online casinos are adapting. CasinoFairspin not only identifies such crypto-friendly platforms but also provides tutorials and updates on how to play securely with digital assets.
In addition, it caters to a global audience, with special sections for players in the UK, EU, and other regions. This helps users avoid restricted platforms and focus on those fully accessible in their country.
A Resource You Can Trust
What makes CasinoFairspin a valuable tool is its commitment to user empowerment. The site doesn't promote gambling recklessly—instead, it educates players about responsible gaming practices, fair play policies, and how to recognize rogue operators.
By offering honest reviews and filtering out unlicensed or unsafe casinos, the site gives players peace of mind as they explore online gaming options.
Final Thoughts
Whether you're looking for a new casino to try, hoping to take advantage of a lucrative bonus, or just want to learn more about how crypto casinos work, has the information you need. It’s more than just a directory—it’s a smart, user-focused guide designed to help every player enjoy the online casino world safely and responsibly.5 -
Hello,
I was tweaking with Flutter lately and pushed an app to the stores, the framework looks promising. So I wanted to do some contributions.
If you talk about create chat app with flutter, all you’ll find there is some firebase tutorials (Google is pushing it so hard).
I want an on-promise solution, so I used MQTT protocol to use it as chat protocol (with custom extension) and I created Flutter client for that. I am really happy for the concept, it shows some real strengths and could be a thing, so here I am sharing the repository here.
Any feedback will be welcomed.
https://github.com/WahidNasri/...4 -
Matt Hansen: Your Trusted Real Estate Agent in Southeast Idaho
If you're searching for a real estate agent in Southeast Idaho or looking for realtors near Pocatello, ID, Matt Hansen at Keller Williams Realty East Idaho is here to provide expert services tailored to your real estate needs. Whether you're buying or selling, Matt's deep knowledge of the Southeast Idaho market ensures that your experience is as smooth and successful as possible.
Why Choose Matt Hansen as Your Real Estate Agent in Southeast Idaho?
The real estate market in Southeast Idaho offers a unique blend of opportunities, from homes in quiet rural areas to properties in the heart of bustling Pocatello. Understanding these nuances is essential, and that’s where Matt Hansen comes in. As a local expert with years of experience, Matt knows the area inside and out, making him the ideal choice for anyone looking to buy or sell real estate in this region.
Here’s why Matt is the perfect real estate agent in Southeast Idaho:
In-Depth Market Knowledge: Southeast Idaho is diverse, with rural properties, suburban neighborhoods, and city homes all having different characteristics. Matt stays up-to-date on market trends, property values, and community developments, ensuring that you receive the best advice possible when making decisions.
Personalized Service: Every client has unique needs, whether you're a first-time homebuyer or a seasoned investor. Matt takes the time to understand your specific goals and tailors his approach to meet them. He provides guidance through every step of the buying or selling process, ensuring a smooth experience.
Expert Negotiation: One of Matt’s key strengths is his negotiation skills. Whether you’re looking to buy or sell, Matt works diligently to ensure you get the best deal possible. He’ll help you navigate offers, counteroffers, and contingencies with ease.
Local Connections: With years of experience as a real estate agent in Southeast Idaho, Matt has built strong relationships with other professionals in the industry, including mortgage brokers, inspectors, contractors, and more. These connections can be invaluable during your real estate transaction, making the process more efficient and seamless.
Realtors Near Pocatello, ID – Why Matt Hansen Stands Out
Pocatello, ID, is the heart of Southeast Idaho, and if you're searching for realtors near Pocatello, ID, Matt Hansen should be at the top of your list. His extensive experience with Pocatello properties means he has the local insight to help you find the perfect home or investment opportunity.
Expert Knowledge of Pocatello’s Neighborhoods: From historic homes in the city’s core to newer developments on the outskirts, Matt understands the unique characteristics of Pocatello's various neighborhoods. Whether you want to be close to schools, parks, or the city center, he can help you find a location that suits your lifestyle.
Comprehensive Services: Matt provides a full range of services to both buyers and sellers. Whether you’re looking to buy a home in Pocatello or sell an existing property, Matt offers expert guidance throughout the entire process. His goal is to make sure you feel confident and well-informed every step of the way.
Commitment to Client Satisfaction: With Matt, you’re not just another transaction—you're a valued client. His commitment to your satisfaction means he listens to your needs, answers your questions, and provides consistent communication from start to finish.
Why Southeast Idaho is a Great Place to Buy or Sell
Southeast Idaho offers an attractive combination of affordable housing, scenic beauty, and access to outdoor activities. Whether you're drawn to the city life in Pocatello or the quieter charm of rural towns like Chubbuck or Blackfoot, there is something for everyone in this region.
Affordability: Compared to larger cities in Idaho or neighboring states, Southeast Idaho offers a more affordable cost of living, including housing prices, making it an ideal location for first-time homebuyers or those looking to downsize.
Outdoor Recreation: Southeast Idaho is known for its incredible outdoor recreation, including hiking, skiing, and fishing, which makes it an ideal place for those who love nature and an active lifestyle.
Strong Community: The cities and towns of Southeast Idaho are known for their friendly communities and welcoming atmosphere. Whether you're moving to the area for work, school, or retirement, you'll find a tight-knit community ready to make you feel at home.
Contact Matt Hansen for Your Real Estate Needs
If you're ready to work with an experienced real estate agent in Southeast Idaho, Matt Hansen at Keller Williams Realty East Idaho is ready to assist you.
Contact Matt Hansen Today
Matt Hansen – Keller Williams Realty East Idaho
1777 E. Clark St. #110, Pocatello, Idaho 83201
Phone: +1 208-220-05663 -
Discover Exotic Puff Smoke Shop: Your Premier Smoke Store in Garland, TX
Welcome to Exotic Puff Smoke Shop, located conveniently at 1812 S First St, Garland, TX 75040. As the leading smoke store in Garland, we specialize in providing a vast selection of high-quality smoking and vaping products. Whether you’re searching for the latest vape pen, reliable e-cigarettes, or various smoking accessories, we have everything you need to enhance your experience.
The Best Vape Pens in Garland, TX
At Exotic Puff Smoke Shop, we take pride in offering an impressive range of vape pens in Garland, TX. Our selection includes everything from beginner-friendly models to advanced devices designed for seasoned vapers. Vape pens are known for their convenience and portability, making them a popular choice for those who are always on the go. Our knowledgeable staff is available to help you find the perfect vape pen that fits your lifestyle and preferences. With various designs, features, and flavors available, you’re sure to find a vape pen that suits your needs.
Quality E-Cigarettes in Garland, TX
For those who prefer traditional smoking alternatives, we offer a wide selection of e-cigarettes in Garland, TX. Our products are sourced from reputable manufacturers to ensure quality and safety. Whether you’re looking for disposable e-cigarettes or refillable options, our inventory caters to all preferences. Our team can provide recommendations based on your tastes and preferences, ensuring you find the right e-cigarette for your needs. With various flavors and nicotine strengths available, you can enjoy a customizable vaping experience.
Why Choose Exotic Puff Smoke Shop?
Extensive Product Range: Our smoke store in Garland features a diverse selection of products, including vape pens, e-cigarettes, and a variety of smoking accessories, ensuring you have everything you need in one convenient location.
Expert Guidance: Our friendly and knowledgeable staff is here to assist you with any questions you may have. Whether you're a beginner or an experienced user, we provide personalized service to help you make informed choices.
Commitment to Quality: We prioritize quality and customer satisfaction. All of our products are carefully selected to ensure that you receive the best options available in the market.
Visit Us Today!
If you’re looking for high-quality vape pens, reliable e-cigarettes, or an extensive selection of smoking accessories, look no further than Exotic Puff Smoke Shop. Stop by our store at 1812 S First St, Garland, TX 75040, or give us a call at +1 (469) 972-0272 for more information about our products and special promotions. Experience the best in quality and service at Exotic Puff, where your satisfaction is our top priority!
-
Duet AI: Revolutionizing Collaborative Music Creation
In the realm of music creation, collaboration has always been a cornerstone of innovation and artistic growth. With the advent of artificial intelligence (AI), a new era of collaborative music composition has emerged. Duet AI, a groundbreaking AI-powered system, is transforming the way musicians collaborate, enabling seamless interaction between human artists and AI algorithms. In this article, we will explore the concept of Duet AI and its impact on collaborative music creation.
H1: The Power of Duet AI in Collaborative Music Creation
Duet AI harnesses the capabilities of AI to facilitate real-time collaboration between musicians, composers, and AI algorithms. This innovative system acts as a virtual partner, responding to human input, providing creative suggestions, and adapting to the evolving musical dynamics. By integrating human creativity with the computational power of AI, Duet AI opens up new possibilities for artistic expression and the co-creation of music.
H2: Seamless Integration of Human and AI Musical Expertise
Duet AI seamlessly integrates the musical expertise of human artists with the analytical capabilities of AI algorithms. The system analyzes vast musical databases, identifying patterns, harmonies, and rhythms from various genres and eras. It uses this knowledge to generate musical ideas, chord progressions, and even complete compositions that complement and interact with the human artist's input. The result is a harmonious collaboration that pushes the boundaries of musical creativity.
H2: Enhancing Inspiration and Idea Generation
Duet AI serves as a valuable tool for musicians seeking inspiration and idea generation. It can offer suggestions, variations, and alternatives to human artists, fueling their creativity and sparking new musical directions. Whether it's exploring different melodies, experimenting with harmonies, or discovering innovative arrangements, Duet AI provides a constant stream of musical possibilities that can be integrated into the collaborative process.
H2: Real-time Adaptation and Musical Sensitivity
One of the key strengths of Duet AI lies in its ability to adapt and respond in real time to the human artist's input. The system listens and analyzes the music being created, dynamically adjusting its suggestions and responses to maintain coherence and musical sensitivity. This adaptability ensures that the AI component of the collaboration remains in sync with the human artist, enhancing the fluidity and natural flow of the music being created.
H2: Expanding Musical Horizons and Genre Blending
Duet AI enables artists to explore new musical horizons and experiment with genre blending. By incorporating AI-generated musical ideas, artists can transcend traditional boundaries and fuse elements from different styles and genres. The system's vast knowledge base allows it to generate musical segments that authentically capture the essence of diverse musical traditions, enabling artists to create unique and innovative compositions that push the boundaries of genre conventions.
H2: Preserving the Artist's Creative Vision
While AI plays an active role in the collaborative process, it is essential to acknowledge the artist's creative vision and maintain artistic ownership. Duet AI functions as a supportive collaborator, offering suggestions and ideas, but the final artistic decisions remain in the hands of the human artist. The system respects the artist's autonomy, ensuring that the collaboration is a true partnership that amplifies the artist's creativity rather than overshadowing it.
H1: Conclusion
Duet AI represents a significant leap forward in collaborative music creation. By combining the artistic expertise of human musicians with the computational power of AI, this innovative system opens up new frontiers of creativity and musical expression. Duet AI enhances inspiration, expands musical horizons, and enables seamless interaction between human and AI collaborators. As this technology continues to evolve, we can expect even more transformative possibilities in collaborative music creation, leading to a new era of artistic innovation.
2 -
Math Doctor: The Best Math Tutoring Services Near You in Toronto
Are you in search of the best math tutors near me or reliable math tutoring services near me in Toronto? Look no further! At Math Doctor, we are dedicated to helping students at all levels achieve success in math. Whether you’re struggling with basic math concepts or preparing for advanced courses, our expert tutors are here to guide you every step of the way.
Located at 2300 Yonge St, Toronto, ON M4P 1E4, Canada, Math Doctor offers top-notch math tutoring services for students of all ages. Our team of professional tutors is committed to providing personalized instruction that ensures academic success, boosts confidence, and helps you master the skills you need to excel in math.
Why Choose Math Doctor for Your Math Tutoring Needs?
When it comes to finding the best math tutors near me, it’s essential to choose a tutoring service that is both knowledgeable and supportive. Here’s why Math Doctor stands out:
Highly Experienced Tutors: Our team consists of highly qualified and experienced tutors who specialize in all areas of math—from elementary school math to advanced high school and university-level courses. With their deep understanding of the subject, they’re able to break down complex concepts and present them in ways that are easy to understand.
Personalized Approach: At Math Doctor, we recognize that every student learns differently. That's why we tailor each lesson to meet the individual needs of the student. Whether you’re looking to improve your grades, get ahead of the class, or simply gain a better understanding of the subject, we customize our sessions to focus on your specific goals.
Wide Range of Math Subjects: We offer math tutoring services in a variety of subjects, including:
Basic Arithmetic: Building foundational skills for young learners.
Algebra: Understanding variables, equations, and problem-solving.
Geometry: Mastering shapes, angles, and spatial reasoning.
Calculus and Advanced Math: Preparing for higher-level courses and exams.
Statistics and Probability: Learning how to analyze data and make predictions.
SAT, ACT, and Other Test Prep: Preparing for standardized tests with expert guidance.
Convenient Location and Flexible Hours: We are conveniently located at 2300 Yonge St, Toronto, ON M4P 1E4, Canada, making it easy for students throughout the city to access our tutoring services. We also offer flexible hours, including evenings and weekends, to accommodate busy schedules. Need tutoring from home? We provide online sessions as well for added convenience.
Math Tutoring Services Near Me: The Benefits of Choosing Math Doctor
When searching for math tutoring services near me, it’s important to find a provider that offers more than just basic lessons. Here’s why Math Doctor is the best choice:
In-Depth Assessments: We begin by assessing the student's current level of understanding, identifying strengths and areas that need improvement. This allows us to create a personalized tutoring plan that targets the specific areas that need the most attention.
Proven Results: Our tutoring methods have helped countless students improve their math grades, gain a deeper understanding of math concepts, and feel more confident in their abilities. Whether you're preparing for an exam or trying to catch up on missed lessons, our tutors are committed to helping you succeed.1 -
DIGITAL TECH GUARD RECOVERY - THE BEST EXPERTS FOR BITCOIN AND CRYPTO
Years of hard-earned savings vanished in mere minutes when I lost 7.1 BTC to a phishing scam. It felt like a nightmare as I clicked on a fraudulent email that closely mimicked my crypto exchange, unknowingly surrendering my wallet credentials. Panic set in, and I was overwhelmed with shame and regret. I immediately reported the theft to the authorities, but they emphasized the grim reality: Bitcoin transactions are irreversible making recovery nearly impossible. Desperate for a solution, I turned to Digital Tech Guard Recovery, known for Bitcoin and cryptocurrency scam recovery. What impressed me most was their commitment to transparency. They clearly outlined the odds of recovery upfront, emphasizing that while success was not guaranteed, they would exert relentless effort on my behalf. To my astonishment, within just three days, their dedicated team meticulously dissected the phishing infrastructure. They traced my stolen BTC through a complex web of layered wallets and mixers, collaborating with global exchanges and legal teams to freeze the stolen funds. Throughout the process, I received regular updates, which helped balance my hope with a realistic understanding of the situation. Miraculously, they managed to recover all 7.1 BTC, an incredible achievement considering the sophistication of the scam. Their contingency-based fee structure and ethical approach, requiring no upfront costs, made the outcome even more rewarding. Digital Tech Guard Recovery’s strengths lie in their technical precision, extensive global network, and a steadfast refusal to exploit victims’ desperation. This restored my faith in recovery efforts. This has not only taught me to be more cautious online but also showed me the value of professional, ethical recovery services. While the world of cryptocurrency is full of risks, knowing that there are trustworthy experts out there gives me hope for the future.
WhatsApp: +1 (443) 859 - 2886 Email @ digital tech guard . com
Telegram: digital tech guard . com Website link: digital tech guard . com2 -
Reclaiming Funds from Investment and Trading Scams Hire Adware Recovery Specialist
Losing $25,000 in Bitcoin was one of the worst experiences of my life. My wallet was hacked, and in an instant, everything was gone. The irony of crypto hit me hard, its strengths like anonymity and irreversible transactions became weaknesses. Email info: Adware recovery specialist @ auctioneer. net
I filed police reports, searched for help online, and found nothing but scams, until I discovered ADWARE RECOVERY SPECIALIST.
They stood out immediately. Their website was clear and professional, outlining real tools like blockchain analysis, wallet tracing, and exchange coordination. What gave me hope was their no recovery, no fee policy. I decided to give them a chance. Within 72 hours, they tracked the hacker’s trail across multiple wallets and exchanges. They kept me updated the entire time, breaking down every step in terms I could understand. By the third week, I got the message I thought I’d never see: my full $25,000 had been recovered. What impressed me most wasn’t just the recovery, it was how personal the process felt. My case manager was responsive, patient, and genuinely cared. Website info: h t t p s:// adware recovery specialist. com They didn’t just get my money back, they helped me rebuild trust in the crypto space. If you’ve lost funds to a crypto scam or hack, don’t give up. ADWARE RECOVERY SPECIALIST knows what they’re doing. They bring results, and they bring hope. Telegram info: adwarerecoveryspecialist56567

