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 - "0-9"
-
TOP 10 PROGRAMMING BEST PRACTICES
#1 Start numbering from 0.
#10 Sort elements in lexicographic order for readability.
#2 Use consistent indentation.
#3 use Consistent Casing.
#4.000000000000001 Use floating-point arithmetic only where necessary.
#5 Not avoiding double negations is not smart.
#6 Not recommended is Yoda style.
#7 See rule #7.
#8 Avoid deadlocks.
#9 ISO-8859 is passé - Use UTF-8 if you ▯ Unicode.
#A Prefer base 10 for human-readable messages.
#10 See rule #7.
#10 Don't repeat yourself.12 -
I spent a day teaching my 3 year old nephew to count from 0 and he argued with his teachers the following day that he has 9 fingers. His parents have been called to school 😂18
-
Tldr :
Office Building : 1
Population: 5000
Number of PC users: 5000
No of Spare mice: 0
Day 1:
Training period commences.
My mouse laser sensor doesn't work.
Solution: Use this mouse to log in to your system.
Open the company portal.
Connect to vpn.
Enter username password.
Create a ticket for mouse replacement.
Done.
Day 3
I bring my own mouse.
Confiscated at security.
Becomes a security violation.
Day 9
I get a call from helpdesk.
Agent- what is the problem?
Me- my mouse is not working.
Agent- why?
Me- what do you mean? Something is wrong with the sensor.
Agent- clean the sensor.
Disconnects call.
Marks ticket as resolved.
Me- WTF just happened!
Naturally, I escalate the issue.
Day 15
Level 2 Agent- what happened? Why have you escalated the issue?
Me- I need a mouse, waiting since 2 weeks.
Him- No mouse is available
Me- you don't have a single spare mouse available in an office with 5000 PC users?
Him- no they're out of stock.
Me- when will it be back in stock?
Him- we will 'soon' launch a tender for quotations from sellers.
Me- time?
Him- 1 week.
Day 34
I email the head of supplies for the city office. Next day I get a used super small mouse, which doesn't have a left button. Anyways, I've given up hope now.
Day 45
I become a master at keyboard shortcuts.
Finish my training.
Get transferred to another city.
No mouse till date.
Surprisingly, this was one of the top recruiters in my country. Never knew, MNCs can be so so inefficient for such simple tasks.
Start-ups are way better in this regard. Latest tech, small community, minimal bureaucracy and a lot of respect and things to learn.15 -
API Guy.
He has a serious regex problem.
Regexes are never easy to read, but the ones he uses just take the cake. They're either blatantly wrong, or totally over-engineered garbage that somehow still lacks basic functionality. I think "garbage" here is a little too nice, since you can tell what garbage actually is/was without studying it for five minutes.
In lieu of an actual rant (mostly because I'm overworked), I'll just leave a few samples here. I recommend readying some bleach before you continue reading.
Not a valid url name regex:
VALID_URL_NAME_REGEX = /\A[\w\-]+\Z/
Semi-decent email regex: (by far the best of the four)
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
Over-engineered mess that only works for (most) US numbers:
VALID_PHONE_REGEX = /1?\s*\W?\s*([2-9][0-8][0-9])\s*\W?\s*([2-9][0-9]{2})\s*\W?\s*([0-9]{4})(\se?x?t?(\d*))?/
and for the grand finale:
ZIP_CODE_REGEX = /(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)|GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT|CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG|HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK|ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL|SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR|WS|WV|YO|ZE)(\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4}/
^ which, by the way, doesn't match e.g. Australian zip codes. That cost us quite a few sales. And yes, that is 512 characters long.47 -
I'm a new developer. Here is the top advice I've received:
0. Think like a programmer, outside of work too.
1. Programming is tough. It takes a certain kind of mindset to sit in front of a monitor and think it through a problem till the end. Develop that mindset.
2. Handwork pays.
3. Do it for fun. Be exceptional. Money will follow.
4. Care about the craft you build. Write such a beautiful code that your fellow devs would think about your code and have a nerdgasm.
5. Simple is beautiful. Anybody can make things complex. It takes a stroke of genius to make things simple.
6. Write modular code. It makes your code reusable and easy to maintain. Future developers who will work on your piece of code will appreciate it.
7. Share your knowledge. Unlike materialistic things, knowledge grows when you share it.
8. Add comments. You think you'll remember why you wrote that piece of code that way or a clever hack you created but trust me, you won't.
9. Be humble. You'll never know everything. Don't hesitate to ask for help.
10. Writing code is exciting! Of course there will be some frustrating moments. But don't give up! You'll miss a lot of fun.5 -
fork() can fail: this is important
Ah, fork(). The way processes make more processes. Well, one of them, anyway. It seems I have another story to tell about it.
It can fail. Got that? Are you taking this seriously? You should. fork can fail. Just like malloc, it can fail. Neither of them fail often, but when they do, you can't just ignore it. You have to do something intelligent about it.
People seem to know that fork will return 0 if you're the child and some positive number if you're the parent -- that number is the child's pid. They sock this number away and then use it later.
Guess what happens when you don't test for failure? Yep, that's right, you probably treat "-1" (fork's error result) as a pid.
That's the beginning of the pain. The true pain comes later when it's time to send a signal. Maybe you want to shut down a child process.
Do you kill(pid, signal)? Maybe you do kill(pid, 9).
Do you know what happens when pid is -1? You really should. It's Important. Yes, with a capital I.
...
...
...
Here, I'll paste from the kill(2) man page on my Linux box.
If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1 (init), ...
See that? Killing "pid -1" is equivalent to massacring every other process you are permitted to signal. If you're root, that's probably everything. You live and init lives, but that's it. Everything else is gone gone gone.
Do you have code which manages processes? Have you ever found a machine totally dead except for the text console getty/login (which are respawned by init, naturally) and the process manager? Did you blame the oomkiller in the kernel?
It might not be the guilty party here. Go see if you killed -1.
Unix: just enough potholes and bear traps to keep an entire valley going.
Source: https://rachelbythebay.com/w/2014/...12 -
Stupid bloody PM.
I asked him for two images a long time ago: a 1x and a 2x ‘0’ monogram for Apple wallets, since we currently have monograms for glyphs 1-9 and a-z. And this is in production, so any merchant whose name starts with a ‘0’ will cause a crash. We’ve been fortunate thus far.
But this PM. He lied about who needed to make the images for three weeks, saying it’s up to the designer, when he actually made them himself. He also said he was going to take care of handing the task off, and never did, and then said designer when on FTO. When I asked the designer about it after he came back, he had no clue what graphics (and even the feature) I was talking about, or even what the requirements for the graphics might be. I had to confront the PM before he admitted he made the originals, and (begrudgingly) said he would make the new ones.
When said PM did finally make the images, the colors were all wrong. They’re not the light teal from our branding, they’re dark blue and the font is different, making them pretty ugly.
Also, after assuring me that the naming convention for the new images is the same, I discover that they’re neither organized into folders nor even named properly. (And yes, he is aware of how it should be.) I can rename and move them around easily enough, but come on, don’t say you did the work and then give me a mess to clean up!
And to top it all off, he completely spaced making the ‘u’ monograms, so I’m still short a fucking glyph!
Asdfjskldf.
How do you do every single thing wrong? Like, how!?1 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
After Windows/Linux and atom/sublime and vim/emacs and all those other reasons we fight...
for(i = 0 ; i < 10 ; i++)
or
for(i =0 ; i <= 9 ; i++)
for 10 iterations?37 -
Today, for fun, I wrote prime number generation upto 1000 using pure single MySQL query.
No already created tables, no procedures, no variables. Just pure SQL using derived tables.
So does this mean that pure SQL statements do not have the halting problem?
Putting an EXPLAIN over the query I could see how MySQL guessed that the total number of calculations would be 1000*1000 even before executing the query in itself and this is amazing ♥️
I have attached a screenshot of the query and if you are curious, I have also left below the plain text.
PS this was a SQL problem in Hackerrank.
MySQL query:
select group_concat(primeNumber SEPARATOR '&') from
(select numberTable.number as primeNumber from
(select cast((concat(tens, units, hundreds)+1) as UNSIGNED) as number from
(select 0 as units union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) unitsTable,
(select 0 as tens union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) tensTable,
(select 0 as hundreds union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) hundredsTable order by number) numberTable
inner join
(select cast((concat(tens, units, hundreds)+1) as UNSIGNED) as divisor from
(select 0 as units union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) unitsTable,
(select 0 as tens union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) tensTable,
(select 0 as hundreds union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) hundredsTable order by divisor) divisorTable
on (divisorTable.divisor<=numberTable.number and divisorTable.divisor!=1)
where numberTable.number%divisorTable.divisor=0
group by numberTable.number having count(*)<=1 order by numberTable.number) resultTable;9 -
Going through Master Card API docs to see how to integrate it, saw that they have sample code, checked Java sample code and found this:
String data = MessageFormat.format(
"'{'\"apiOperation\":{0},"
+ "\"sourceOfFunds\":'{'\"type\":{1},\"provided\":'{'\"card\":'{'\"numbe\":{2},"
+ "\"expiry\":'{'\"month\":{3}, \"year\":{4}'}',\"securityCode\":{5}'}}}',"
+ "\"order\":'{'\"reference\":{6}'}',"
+ "\"transaction\":'{'\"amount\":{7},\"currency\":{8},\"reference\":{9},\"targetTransactionId\":{10}'}'," + "\"customer\":'{'\"ipAddress\":{11}'}}'",
apiOperation,
sourceOfFundsType,
cardNumber,
cardExpiryMonth,
cardExpiryYear,
cardSecurityCode,
orderReference,
transactionAmount,
transactionCurrency,
transactionReference,
targetTransactionId,
customerIpAddress );
FOR FUCK SAKE what happened to JSONObject (for Android) class, I'm sure it is a waaaay better solution than that mess ...
And from Oracle:
JsonObject value = Json.createObjectBuilder()
.add("firstName", "John")
.add("lastName", "Smith")
.add("age", 25)
.build();
I guess that is a cleaner understandable solution than what master card has.8 -
0. Problem
1. Thinking of an algo
2. Writing a code
3. Compile
4. Compile Error
5. Fixing bugs
...
6. Finally compiled!!
7. Running a test
8. Run time error
9. Fixing bugs
...
10. Finally I can see the result !!!!
11. Shit!
12. LOGICAL ERROR :/3 -
So my teammate posted on our Slack channel:
^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&‘*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$
Then our manager asked him: "Are you swearing on Slack!?"
No sir, thats Regex.4 -
I was in a technical interview for a web development position. When it was time for them to choose a question they showed me this:
How can you make this code display 0 to 9 correctly?
for (var i=0; i < 10; i++){
setTimeout(function(){
console.log(i);
}, 1000);
}
When I saw the question I instantly smiled and rubbed my hands ready to answer since I knew exactly the answer and they told me:
"Oh you looked already familiar to this one, we'll choose another for you"
I legit stood up and left the fucking interview right there.14 -
Just wrote a brute-force attack simulation in c. Going to run it on actual hardware, with an 8-character limit, including alphabet (Upper and lower case), 0-9 and a few special characters and see if it gets done tonight ;)
I'll see you all in about 360 trillion operations.11 -
rant, but not an IT kind... okay, maybe not even a rant, more like depressive rambling:
in 3 days, I'll turn 29.
i'm living with my mom, in the apartment where I was born, in the room i've been living since I was born (with the exception of 2 attempts to move out which together lasted 9 months).
my theoretical monthly income should/could be around 4000€, based on my skills and experience.
but I'm a (manic)-depressive, chronically lonely idiot loser (and the manic phases come more and more rarely in recent years), so
my practical average monthly income fluctuates from 0 to about 200.
i am unable to keep a job for more than 4 months, so after being fired from about 20 or so of them since I was 18, it takes immense amounts of mental and emotional energy to even start looking for one now... so I usually don't.
i've been about 12000€ in debt for the past 8 or so years, half of which is just debt collector fees.
it's kinda funny, for years, i've been unable to solve a debt which theoretically amounts to 3 months of my theoretical achievable salary.
my father, who just left without a word of explanation when I was 18, has decided this is not viable anymore, so I'm supposed to move out by 10th of next month, "either to some cheap rooming house, or under the bridge, I don't care", as he put it.
I can't remember how it feels to exist a single hour without feeling existential dread and dreading each next day, not knowing what to do or if i'll even be able to try and do something, because this feeling is so strong that it often blocks me from being able to do anything. i just shiver most of the time that i'm awake, feeling like you feel few minutes before puking and crying at the same time. and that feeling is my "how are you?", "you know... normal".
i can't remember what it feels to feel any other way and can't even imagine it, and can't imagine that I'll ever achieve any less shit feeling.
literally all of my social contact consists of going out once to twice a month with the only 2 friends and 2 aquaintances I have who have the time and will to spend it with me.
oh, and hiding in my room, avoiding talking to my mom, because each time we talk she just reminds me what a piece of shit failure I am, and tells me how it's not that hard to change it, I just have to stop being lazy and start working for it.
she's... kind and caring about it, which somehow maybe makes it even worse.
i have about 10 almost complete game designs, each of them at least 50% more original and interesting (at least to me) than the things that are coming out for the past 10 years, being lauded as "the most original and unique".
I have been trying to make them, ANY of them, since I was 18, but I always lose all the drive and resolve and energy in like 4 months, because it's like trying to build a city on my own on a deserted island. too big for one person, but there was never anyone to help me. closest I ever got was one of my friends telling me "i've been thinking many times that i'd love to work on some project with you, if I had the time".
and second time, when I actually found an artist I was going to pay, and he was awesome, and after two weeks of me telling him how awesome what he does is and how it fits the project and my ideas perfectly, he backed out saying "i'm afraid I can't do the quality you require from me".
never ever in my life did I get actual help with something I actually wanted or tried to do.
i have no idea how it feels to have someone working with me on something I actually consider interesting and meaningful, on any of the things which I wanted to make, which made me learn programming.
I've learned graphics and animation and everything going into game making pipeline on my own because I realized nobody will ever help me, so I'll have to do all of it on my own.
I've tried to make a kickstarter once, but I started crying hysterically in the middle of writing it, because I felt like a begging piece of failure shit, even more than usual, so I deleted it.
most of people treat me like shit failure unworthy and undeserving of living, precisely as I myself know I deserve to be treated, because that's what I am, but when I ask for permission to kill myself, since I see no other solution to stop being a burden, they get angry at me that I'm just emotionally blackmailing them. when I afterwards ask them "so help me in any way to do any of the projects i want/need to do", they respond they've got no time for that.
when I talk about all of this, I get told to stop whining.
happy 29th birthday, me, a piece of shit who should've never survived this long, who should've never been born in the first place.
yay.
also, I know this is not the kind of crap that's supposed to be posted here, but i've got nowhere else. sorry.47 -
Me: * Browses devRant for about 10 minutes *
Phone: 0 notifications
Me: * Puts phone in pocket *
Phone: * seizures in pocket *
Phone: 3 new Jira issues, 9 Sentry warnings about critical bugs, 2 emails from my boss, roughly 60 Whatsapp messages and 3 new notifs on Slack
Why does this happen so often :/3 -
When I saw that the Zuckman was gonna go testify for congress I already knew that shit was gonna be retarded.
I had 0 expectations of congress asking the correct questions.
I was still disappointed. That is the beauty of my government. I have 0 expectations and they still disappoint me.
I love playing the devil's advocate. I really do, in this case and even tho I think Facebook is the most toxic shit on the internet (right next to SO) I could not help it but think the entire time that we aaaare told that all our date are belongs to them as soon as we put shit on their application. Its just the nature of the beast. Don't like it? Don't use it! But if you are gonna use it then account for the fact that your data will be used for targeted adds. It makes more sense, I would rather have an add for tutorials and books and shit like i normally get rather than knowing that 10 hot singles are in my area (because those are all lies 9 times out of 10) but then again I would rather not have any adds at all.
One has to account for all the money that fb pours into shit, where do people think fb makes that money from ..duh our data and adds. But shit was too hard to understand for Congress.8 -
So I’m having an argument with my gf.
Is it “Why is 6 afraid of 7?” or “Why is 10 afraid of 7?”
I fucking said that 6 has not seen the action of 7 eating 9. But 10 has, therefore he is scared.
If we were to iterate from 0 to 10, we would see that 6 hasn’t seen shit.
Let’s print out each number if we iterate through and find a consecutive 7, 8 and 9 then print out “Oh shit 7 ate 9.”
0
1
2
3
4
5
6 // Hey honey I don’t see anything here??
7
8
9
Oh shit 7 ate 9
10 // Someone call the fucking police
Thoughts?10 -
Day 1 of my 1000 job applications TikTok challenge
Goal:
- apply to 9 different jobs per day
- see if i can break the Guinness World Record of being rejected 1 thousand (1000) times
Stats so far:
- 9 job applications
- 0 replies
- 0 hires
Will be documenting this on devrant too7 -
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 -
Yknow what the best part about Unix is? (Not Linux. Like old school Unix. AIX, HPUX, or in this specific case: Solaris)
It never needs to be updated. like ever. Even when new features are added 5 years ago to add features that GNU has had for literally decades. Updates are for the weak. Because why should I be able to type "netstat -natup" when instead you can enjoy several hours of developing the nightmare one-liner that is:
Pfiles /proc/* | awk '/^[0-9]/ {p=$0} /port/ {printf "%.4s %-30s %-8s %s\n", $1,$3,$5,p}' 2>/dev/null
Isn't that just so much more fun?!
Thanks guys. I'm going back to GNU now if you don't mind.6 -
Today I finished my robotics project. I had in my team a total idiot (the one who used the hidden divs, some might remember from another rant). I wanted to share with you the beginning of a ranting adventure.
Me: "you can begin with a simple task. I will send you the obstacle avoidance sensors values from Arduino, and you will send the data for the Arduino motors to dodge the obstacle".
The sensors give 1 if clear, 0 if obstacle is detected.
Below is his code (which I brutally rewrote in front of him).
Now, in the final version of the robot we have something like 9 sensors of the same time to work with.
Imagine what would have happened if we kept him coding. (Guess it: 2^9 statements! :D)
I was not that evil, I tried to give him some chances to prove himself willing to improve. None of them were used rightfully.
I'm so fucking glad we finished. I'm not gonna see him anymore, even if I'd like to be a technical interviewer for hiring just to demolish him.
I'm not always that evil, I promise (?)
Ps. He didn't even have any idea on what JSON is, even if we had already seen it during FIVE YEARS of computer engineering. (And should've known anyway if he had a bit of curiosity for the stuff he "studies")10 -
Tl;dr stupid password requirements
Begin quote
Password must not contain any non-alphanumeric characters.
Your Password change was not accepted. Enter your current Password correctly following the rules for New Passwords. Please try again.
Passwords must be between 8 and 12 characters in length and MUST contain each of the following:
At least 1 lower case character (a-z)
At least 1 upper case character (A-Z)
At least 1 numeric digit (0-9)
But, MUST NOT contain:
more than five repeating characters in a row (e.g. 111111356 would not be valid, but 112233445 would be valid)
spaces or other special characters
NOTE: Your new password cannot be the same as any of your 10 previous passwords.
End quote
Are you fucking kidding me? Only (26+26+10)^8 through
(26+26+10)^12 different passwords to go through? It's like the oxygen wasters that built this website give zero fucks about security.
Why? This is the site that manages money and investments. Just allow passwords up to 64 characters, allow any ascii character and just fucking encod the characters to prevent any Injunction.4 -
So having gotten my hands on the books I need for the next semester I decided to go take a look at what's in them.
Now the first is mostly web stuff and the second is just about software design. It starts off with an introduction to HTML5, where they didn't really teach HTML5, more like they taught HTML3/4 but not in a way that was too dangerous. I can tolerate not having my semantic tags tbh. They also used spaces on both sides of the = for some reason.
Then a CSS chapter which was also surprisingly mediocre. They didn't use a dedicated CSS file, but I can live with that, for starters.
Then there were some surprisingly decent JS chapters. Although they did use newlines before their { kinda miffed me. There has also been a few developments since this books release, but tbh this isn't the worst case of outdatedness. (And at least they didn't use jquery when teaching JS)
Then a chapter on SQL which I ignored.
Then a chapter about PHP, and, uhm, when did this book get released? Well the ISBN is 978-0-13-215100-9 and using the power of Google we can reveal it was published in.. 2011..
I'm quite happy that I already know how to program12 -
Got demoted, got a pay raise and don't know how to feel about it. A story of how not to drink with your coworkers?
The story begins roughly 8-9 months ago. Me and this coworker (let's name him Tim) go out drinking after a Friday party at the office. We do some rounds and we're both smashed. Tim starts telling me how he's happy with life and that he's earning a nice salary right now. He told me his salary. It was the same as mine. Which was weird - He codes in a more hardcore languages than me and has almost double the time in the company as me. I think after some more drinking I've confessed that I make the same as him. This part is sort of a blur (drinking). I've gotten a pay raise(+30-40%) roughly a few months ago from that point backwards because another company gave be a much higher offer. The company I work for matched to keep me. Anyway, 3 months or so after the drinking,Tim is promoted to team lead, and me and a few other people are added to his team. Conversation slips and he told me his new salary - quite a bit more than me.I think it's safe to assume what happened.
The problem with that is that I was a team lead of 1 person (me) at that time, and I was managing my own time and my own tasks, was working with people individually. I was part of the weekly meetings with the CEO and other team leads. Being stripped of this title wasn't a problem at the beginning, as people still contacted me because of their problems, suggestions, whatever. A few more months pass (to now) and less and less people are contacting me - instead they are talking with Tim, and are asking of his opinion on tasks I should do, where he has no experience and roughly 0 lines in the programming language I code in. This is starting to piss me off.
There are a couple other things to take into consideration as well - The company is hiring a lot of people right now. The whole structure for team leads changed a bit, more team leads then ever right now and new roles added pretty fast.
I've gotten a pay raise a few weeks ago though(10%~).
I'm not sure on how to react to this. Should I comply and just keep on working on these tasks? Or should I still keep contacting people directly on their requests and talk to them directly, take credit for the projects I complete publicly and the stuff I do as I was previously doing? Part of me wants to reroute all of the stupids questions people have to Tim, as he is now responsible for these tasks and get this weight off my shoulders.
I'm starting to shift to learning a new programming language and thinking of jumping ship. Thoughts?6 -
i went to my college bakery and i bought a sandwich (costs 140) and ultra energy drink (costs 90) in my currency
i extend my hand with money and the woman takes a calculator and types with one finger 1 4 0 + 9 0 = and says "230"13 -
Fuck jQuery. The only reason I see anyone using it legitemately is because of backwards compatibility. Almost every jq method is either native js or native css. The problem is, some devs become practically dependent on a library. By then, they are no longer js devs. They are jQuery devs. When you find yourself going to the docs of a lib before native methods 9 times out of 10 you've gone past the turning point. When you find yourself including jQuery instinctively, you're gone. StackOverflow is a great example of this:
Question - 1 up
Pure JS answer - 0 ups
jQuery answer (same length) - 2 ups and accepted
Come on man. It's 2018! We shouldn't be writing jQuery anymore. Native methods ftw!15 -
Found a big box of forgotten thumb drives at the shop, still packaged and everything. 7 yrs old or so. Figured I should test them. They're all the same 2GB Kingston drive. 30 tested good, 13 had 0 byte raw capacity, 12 reported that they were CD drives, 13 reported 1.1TB capacity, and 9 either got really hot or went up in smoke.6
-
Short story of a developer
0) Don't know how to do something
1) Search for hours on internet
2) Find only crappy codes
3) Try a crappy code
4) Realize that it works only for who created the code (What the hell...)
5) Cry
6) Ask on forums
7) Get downvote without any reason
8) Receive useless answer
9) Delete project4 -
Fuck my life! I have been given a task to extract text (with proper formatting) from Docx files.
They look good on the outside but it is absolute hell parsing these files, add to these shitty XML human error and you get a dev's worst nightmare.
I wrote a simple function to extract text written in 'heading(0-9)' paragraph style and got all sorts of shit.
One guy used a table with borders colored white to write text so that he didn't have to use tabs. It is absolute bullshit.2 -
Quick Tutorial: How to find a missing bug.
0) Wake up & have breakfast
1) Goto work
2) Do your job until the end of the working day
3) Make a backup
4) Shutdown your PC
5) Stand up
6) Go to the office door
7) Grab the door
8) Now the phone rings
9) Turn and go back
10) Take the phone
11) Now you get the bug report
This is a well approved method.
It always works!3 -
I love listening to music while coding, mainly metal/rock/classical
Comment with 10 tracks from your playlist .... Here are my 10
0. Disturbed - stricken
1. Tremonti - decay
2. Black label society - bored to tears
3. Ac/dc - back in black
4. Rolling Stones - paint it black
5. Gary Moore- still got the blues
6. Carcass - blind bleeding the blind
7. Alter bridge - metalingus
8. Fear factory - linch pin
9. Pantera - 5 minutes alone8 -
Password guidelines...
Just got an online account for an insurance:
Allowed characters for password are a-z, A-Z, 0-9.
Really?
I tried special characters, maybe they just forgot to mention them. Doesn't work, "Password not valid".8 -
Wanted to make an account on Payoneer to get paid from 99designs for the stuff I make there.
Entered my password, got error.
"Please use only the latin alphabet, a-z and 0-9"
SERIOUSLY, it's banking stuff. how can they not allow secure passwords? *sitting here, crying"6 -
Day 2 of my 1000 job applications TikTok challenge
Goal:
- apply to 9 different jobs per day
- see if i can break the Guinness World Record of being rejected 1 thousand (1000) times
Stats so far:
- 18 job applications
- 3 replies
- 3 rejections
- 0 hires12 -
people with 8+ years of work from office experience, is 9-6 the only truth of work life? today in sprint planning, our manager suggested assigning 81 hours of tickets in a 2 week sprint and when a lot of us had 60-65 hours of work he was like "ehh it seems less . junior mgr , look into the softwares and create more tickets"
2 week sprint is 9 days +1 day for sprint planning + 2 sat Sunday 🥲 . additionally it takes me arohnd 2 hours to reach home so i try to get out by 5 pm and everyone starts staring at me. as am a bad example, i will probably be hearing from my manager in future about this.
need some tips on handling a stable work-office life. i am a covid graduate so i have seen a great wlb in work from home but its a true reality that for mext 30 years , the chances to work from home for more than 5 cumulative years is next to 0. so need a permanent office hack.
i don't think buttering boss's ass is a reliable solution . i just wanna be back at home by 7, do some workout, roam in car/watch series/work on hobby project (aka relaxing) eat and die on my bed for next day's horrific life13 -
Programmer OAth. Just read on a github repo
0. I will only undertake honest and moral work. I will stand firm against any requirement that exploits or harms people.
1. I will respect the learnings of those programmers who came before me, and share my learnings with those to come.
2. I will remember that programming is art as well as science, and that warmth, empathy and understanding may outweigh a clever algorithm or technical argument.
3. I will not be ashamed to say "I don't know", and I will ask for help when I am stuck.
4. I will respect the privacy of my users, for their information is not disclosed to me that the world may know.
5. I will tread most carefully in matters of life or death. I will be humble and recognize that I will make mistakes.
6. I will remember that I do not write code for computers, but for people.
7. I will consider the possible consequences of my code and actions. I will respect the difficulties of both social and technical problems.
8. I will be diligent and take pride in my work.
9. I will recognize that I can and will be wrong. I will keep an open mind, and listen to others carefully and with respect.4 -
Today was not my sharpest day but managed to sit eight hours on this chair with a laptop on my arm leaning. It's very comfortable.
I made a regex interpreter. Three versions, the first one was nicely programmed and functional but found out that it was 16 times slower than the clib one (at least!). Then i found out how extremely fast the clib one was and found out that the compiling to bytecode what they do is extremely effective. So, i've wrote my one bytecode compiler that is faster than theirs. So, the second version was born. After abusing that thing to find out what kinda speeds i could get out of it, it became very unmaintainable, beyond resque. So i made third version, this one is very performant. It supports [abc]{3} (three times dupplicating group) for example. It supports 0-9 and a-z that converts to 'd' and 'a' (shorter for speed). It converts [a0-9a-z]]{3} to [lada][lada][lada]. The bytecode is not smaller many times than source, but not having to think, suits the interpreter very well. It's blazing fast.
I wish I could smth like this for a living. Develop a language for a living or socket servers. Tired of python (great language, but boring).
Thanks for listening to my tedtalk6 -
I fix antique code for a living and regularly come across code like this, and this is actually the good stuff!
Worst usecase for a goto statement? What do you think?
int sDDIO::recvCount(int bitNumber){
if (bitNumber < 0 || bitNumber > 15) return 0; //ValidatebitNumber which has to be 0-15
//Send count request
if (!(send(String::Format(L"#{0:X2}{1}\r", id, bitNumber)) && flushTx())){
bad: //Return 0 if something went wrong
return 0;
}
String^ s = recv(L"\r"); //Receive request data
if (s->Length != 9) goto bad; //Validate lenght
s = s->Substring(3, 5); //Take only relevant bits
int value; //Try to parse value and send to bad if fails
bool result = Int32::TryParse(s, value);
if (!result) goto bad;
int count = value - _lastCount[bitNumber]; //Maximumpossible count on Moxa is 65535.
if (count < 0) count += 65536; //If the limit reached, the counter resets to 0
_lastCount[bitNumber] = value; //This avoids loosing count if the 1st request was
//made at 65530 and the 2nd request was made at 5
return count;
}4 -
https://wama-am.com/
A woman working at this Switzerland company emailed me asking if im interested for investors to invest in my software project. Her job is to find projects and connect the founders to investors.
Red flag 1:
Their website is absolute shit
Red flag 2:
A Switzerland based company and you can't see pictures of any of them on the website
Red flag 3:
"Lynda Marly" is her name, but she isn't listed in the team of that company shes working for?
Red flag 4:
Who the fuck uses such a corny and goofy ass gmail name "linda1478ab@gmail.com" with random numbers for professional work?
Red flag 5:
Her name is Lynda, but her gmail name is Linda?
Red flag 6:
She emailed me from lyndamarly@mail.com (not gmail), but now scheduled a google meets link via the second email (goofy gmail one), why have several emails for professional work?
Red flag 7:
Her linkedin has 0 working record history of anything -- as if she created the account just now because i asked to see it -- is it a fake account then?
Red flag 8:
She scheduled the meeting with some Similoluwa Afolabi guy from Nigeria -- a Nigerian guy for a Switzerland investment-based company?
Red flag 9:
I googled their company and cannot find 1 single record, LLC or business registry under that shitty company name
Is this one of those nigerian scams?14 -
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
While I was exploring multiplication tables I stumbled on something cool.
Take any power of 2 on the multiplication chart.
Now look at the number in the bottom left adjacent box.
The difference of these two numbers will always be a Mersenne number.
Go ahead. Starting on the 2's column of a multiplication table, look in the bottom left of each power of 2 and get the difference.
2-2 = 0
4-3= 1
8-5 = 3
16-9=7
32-17=15
etc.
While the online journal of integer sequences lists a lot of forumlas, I just wrote what came to mind (I'm sure its already known):
((2**i)-(((2**i)/2)+1))
The interesting thing about this is it generates not only the Mersenne numbers, but if you run i *backwards* it generates *additional* numbers.
So its a superset of mersenne numbers.
at i = 0 we get -0.5
i=-1 -> -0.75
i=-2 -> -0.875
i=-3 -> -0.9375
i=-4 -> -0.96875
And while this sequence is *not* mersenne numbers, mersenne numbers *are* in this set.
Just a curious discovery is all.10 -
// Posting this as a standalone rant because I've written the best piece of code ever.
// Inspired by https://devrant.com/rants/1493042/... , here's one way to get to number 50. Written in C# (no, not Do diesis).
int x = 1;
int y = x + 1;
int z = y + 1;
int a = z + 1;
int b = a + 1;
int c = b + 1;
int d = c + 1;
int e = d + 1;
int f = e + 1;
int g = f + 1;
int h = g + 1;
int i = h + 1;
int j = i + 1;
int k = j + 1;
int l = k + 1;
int m = l + 1;
int n = m + 1;
int o = n + 1;
int p = o + 1;
int q = p + 1;
int r = q + 1;
int s = r + 1;
int t = s + 1;
int u = t + 1;
int v = u + 1;
int w = v * 2 * -1; // -50
w = w + (w * -1 / 2); // -25
w = w * -1 * 2; // 50
int addition = x+y+z+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v;
addition = addition * 2;
if (addition == w)
{
int result = addition + w - addition;
Console.Writeline(result * 1 / 1 + 1 - 1);
}
else
{
char[] error = new char[22];
error[0] = 'O';
error[1] = 'h';
error[2] = ' ';
error[3] = 's';
error[4] = 'h';
error[5] = 'i';
error[6] = 't';
error[7] = ' ';
error[8] = 'u';
error[9] = ' ';
error[10] = 'f';
error[11] = 'u';
error[12] = 'c';
error[13] = 'k';
error[14] = 'e';
error[15] = 'd';
error[16] = ' ';
error[17] = 'u';
error[18] = 'p';
error[19] = ' ';
error[20] = 'm';
error[21] = '8';
string error2 = "";
for (int error3 = 0; error3 < error.Length; error3++;)
{
error2 += error[error3];
}
Console.Writeline(error2);
}5 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
when you have to validate an email address to fit the requirements of some stupid mail software
(^$|^([^<>()\[\].,;:\s@!&#$%+'{}|~*="]+(\.?[^<>()\[\].,;:\s@!&#$%'{}|~*="]+)*))@((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|(([a-zA-Z\-0-9]+.)+[a-zA-Z]{2,})$)
I'm not even sorry.6 -
After a lot of work, the new factorization algorithm has a search space thats the factorial of (log(log(n))**2) from what it looks like.
But thats outerloop type stuff. Subgraph search (inner loop) doesn't appear to need to do any factor testing above about 97, so its all trivial factors for sequence analysis, but I haven't explored the parameter space for improvements.
It converts finding the factors of a semiprime into a sequence search on a modulus related to
OIS sequence A143975 a(n) = floor(n*(n+3)/3)
and returns a number m such that n=pq, m%p == 0||(p*i), but m%q != 0||(q*k)
where i and k are respective multiples of p and q.
This is similar in principal to earlier work where I discovered that if i = p/2, where n=p*q then
r = (abs(((((n)-(9**i)-9)+1))-((((9**i)-(n)-9)-2)))-n+1+1)
yielding a new number r that shared p as a factor with n, but is coprime with n for q, meaning you now had a third number that you could use, sharing only one non-trivial factor with n, that you could use to triangulate or suss out the factors of n.
The problem with that variation on modular exponentiation, as @hitko discovered,
was that if q was greater than about 3^p, the abs in the formula messes the whole thing up. He wrote an improvement but I didn't undertsand his code enough to use it at the time. The other thing was that you had to know p/2 beforehand to find r and I never did find a way to get at r without p/2
This doesn't have that problem, though I won't play stupid and pretend not to know that a search space of (log(log(n))**2)! isn't an enormous improvement over state of the art,
unless I'm misunderstanding.
I haven't posted the full details here, or sequence generation code, but when I'm more confident in what my eyes are seeing, and I've tested thoroughly to understand what I'm looking at, I'll post some code.
hitko's post I mentioned earlier is in this thread here:
https://devrant.com/rants/5632235/...2 -
Goals before wk200:
0. Get the hell out of this Geophysics faculty and transfer to Computer science faculty in university which I was dreaming of since I was high school freshman.
1. Meet my girlfriend. (I'm in long distance relationship and there's a huge ocean between us).
2. Get to be able to learn probability in Math so I can understand AI topic.
3. Get better money from my amazon business.
4. Get better sleep.
5. Stop being so scared of dentists and go fucking fix my tooth that hurts.
6. Lose weight.
7. Don't buy video-games that I'm not going to play after a week and forget about it.
8. Listen to the Math lectures.
9. Stop feeling the need to kiss the girl that sits next to me in university (Which is by the way my BFF ).
That's all I can think of yet.5 -
Finished my regex validator. But now the edgy stuff kept coming. It seems that you can do a-d or 3-8. OK, makes sense (else it would be just copies of \w and \d), but anyone ever saw someone using it? I only knew a-z and 0-9.
Thing is, I wrote the perfect design now for the interpreter. Adding features is easy now and not so exciting.
Still, I have a big plan for it that makes it possible to validate nests like (()) or {{"}"}} or anything you see as start / close tag while keeping regex generic. I'm not learning it that signs between some chars ("') has special rules. That would be specialization.
Fun fact: my regex is six times slower than native C code (not c regex) validating the same. In half of test cases faster than c regex. I consider it a success.
Thanks for listening8 -
Who of you needs some non-disturbing background music while coding?
echo "g(i,x,t,o){return((3&x&(i*((3&i>>16?\"BY}6YB6%\":\"Qj}6jQ6%\")[t%8]+51)>>o))<<4);};main(i,n,s){for(i=0;;i++)putchar(g(i,1,n=i>>14,12)+g(i,s=i>>17,n^i>>13,10)+g(i,s/3,n+((i>>11)%3),10)+g(i,s/5,8+n-((i>>10)%3),9));}"|gcc -xc -&&./a.out|aplay
A while ago I found this in a Youtube-Video from computerphile.
I always listen to it or some variations if I need to stay focused.
Works for me.2 -
Yesterday i have worked from 9 to 5 for $0/hour (they dont call it $0/hour they call it a technical interview)
To which i had to build all alone all by myself a rest api backend in java, bash script to move the jar to other folder a gitlab cicd pipeline and deployment to aws.
Basically for this position i have to work both backend and devops
I passed
Yesterday at 8pm (yes) the recruiter told me i passed and she asked me to schedule the next interview tomorrow morning in 8am.
I didn't open linkedin and then she sent me a word template at 10pm.
Are you fucking kidding me? Was it not enough that i was your slave from the fucking morning till the whole working day for $0/hour and now you want me to reply to your messages outside of work? You want me to be ur $0/hour slave 24/7 and not 9/5? Fuck off. Genuinely get fucked.
I hate the corporate world. This is satan's job. This is the work of the devil. I feel my soul dying. This matrix is killing my soul. I must escape. i need energy to escape but this matrix is sucking all the energy out of me2 -
This error, which took me a long time to find, demonstrates the importance of useful variable names.
Using the Wolfram Language:
pp = {};
For[i = 0, i <= Max[p], i++, If[Count[p, i] != 0, pp = Join[pp, {{i, Count[pp, i]}}], -1]];
pp
Outputs:
{{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}, {8, 0}, {9, 0}, {10, 0}, {11, 0}, {12, 0}, {13, 0}, {14, 0}, {15, 0}, {16, 0}, {17, 0}, {18, 0}, {19, 0}, {20, 0}, {21, 0}, {22, 0}, {23, 0}, {24, 0}, {25, 0}, {26, 0}, {27, 0}, {28, 0}, {29, 0}, {30, 0}, {31, 0}, {32, 0}, {33, 0}, {34, 0}, {35, 0}, {36, 0}, {37, 0}, {38, 0}, {39, 0}, {40, 0}, {41, 0}, {42, 0}, {43, 0}, {44, 0}, {45, 0}, {46, 0}, {47, 0}, {48, 0}, {49, 0}, {50, 0}, {51, 0}, {52, 0}, {53, 0}, {54, 0}, {55, 0}, {56, 0}, {57, 0}, {58, 0}, {59, 0}, {60, 0}, {61, 0}, {62, 0}, {63, 0}, {64, 0}, {65, 0}, {66, 0}, {67, 0}, {68, 0}, {69, 0}, {70, 0}, {71, 0}, {72, 0}, {73, 0}, {74, 0}, {75, 0}, {76, 0}, {77, 0}, {78, 0}, {79, 0}, {80, 0}, {81, 0}, {82, 0}, {83, 0}, {84, 0}, {85, 0}, {86, 0}, {87, 0}, {88, 0}, {89, 0}, {90, 0}, {91, 0}, {92, 0}, {93, 0}, {94, 0}, {95, 0}, {96, 0}, {97, 0}, {98, 0}, {99, 0}, {100, 0}, {101, 0}, {103, 0}, {104, 0}, {105, 0}, {106, 0}, {107, 0}, {108, 0}, {111, 0}, {112, 0}, {116, 0}, {118, 0}, {122, 0}, {125, 0}, {136, 0}, {137, 0}}
As opposed to the expected output, which should have no 0s as the second values in any of the tuples.
I spent a large amount of time examining the code to generate p before realizing that the bug was in this line.3 -
If languages had slogans...
1) Java -- Buy one get two for free on your delicious NPEs.
2) C -- I burn way too much calories talking, let's do some sign language. Now see over there... 👉
3) Python -- Missing semi-colon? Old method. Just add an extra space and watch the world burn.
4) C++ -- My ancestors made a lot of mistakes, let's fix it with more mistakes.
5) Go -- Meh. I can't believe Google can be this lazy with names.
6) Dart -- I'm the new famous.
7) PHP -- To hide your secrets. Call us on 0700 error_reporting(0)
8) JavaScript -- Asynchronous my ass!
9) Lua -- Beginners love us because arrays start at 1
10) Kotlin -- You heard right. Java is stupid!
11) Swift -- Ahhh... I'm tasty, I'm gonna die, someone please give me some memory.
12) COBOL -- I give jobs to the unemployed.
13) Rust -- I'm good at garbage collection, hence my name.
14) C# -- I am cross-platform because I see sharp.
15) VB -- 🙄
16) F# -- 😴8 -
Free to good home.
https://store.steampowered.com/app/...
Code: B85LX-ITFZR-GB3P
If you can guess the last digit you can have it.9 -
HOW TO FIND AND RECOVER YOUR STOLEN BITCOIN CONTACT LOST RECOVERY MASTERS
I’m writing to the public to provide knowledge about Lost Recovery Masters. Look no further if you ever demand hacking services, When I lost more than $150,000 USD in bitcoin, individually I found myself in a challenging situation, I was inconsolable and believed I had reached my lowest point, I had no hope of getting my invested money back. All that changed when I discovered Lost Recovery Master and everything was transformed. The company intervened and helped me get all my money back within a short period of time. Their services are well recommended and they ensure maximum satisfaction to their clients. You can contact them via
Website: (lostrecoverymasters . com)
Whatsapp (+44(7-5-3-7-1-0-5-9-2-1)
Support Email (Support @ lostrecoverymasters . com)8 -
I'm wondering.. Chinese have built all sorts of things we never knew we need in our lives. I'm wondering, is there anywhere a physical smartphone keyboard I could purchase? The old-school numpad, like on nokia 3310 or so.
[< > c]
[1 2 3]
[4 5 6]
[7 8 9]
[* 0 #]
I sometimes find myself in situations where I'd like to type the whole message w/o looking at the screen. Touch-keyboards make this an impossible goal. Having an old-school physical kbd would be perfect for the job!12 -
Screw some PHP builtin functions, why does imagecreatefrompng require a quality modifier between 0 and 9 and imagecreatefromjpeg one from 0 to 100, makes no sense!2
-
I'm still a beginner for programming, I got the basics (for JavaScript) down but I don't really know how or where to use it, like loops(for, do while), return, and stuff like that.
Going through the books and online exercises they just make you do the basics like loop a number 10 times to print out 0-9 or something like that. And the return keyword I usually forget about because I've never been told how I can actually use it for something.
I want to learn how I can use all of these and when I can use them, is there any books, videos, or courses I can look into? I'm sorry, this is probably a Sinbad question but I am just trying to get as much help as I can2 -
3 years (since Sep 2016 til now) and counting. 0€.
Building my own project from scratch. IDK if this is the right thing for this week's topic, but it answers the question.
I do have my paid 9/5 tho. But the code I write after is my personal and it's not yet bringing me any moneros.
It seems it's gonna need at lest another year, so next Nov it'll be 4 years w/ 0€ :) Maybe even some -x€, since I'm horrible at design - will prolly have to hire someone to do it for me -
Have you ever written a very complicated code to look like a professional programmer??
For example:hello world app in c++
#include <iostream>
using namespace std;
int main(int argv, char argc)
{
char vhWnd[] = new char[13];
struct dataentry
{
string txt;
float vex = 0.2345234;
};
vhWnd[1] = 'e';
vhWnd[4] = 'o';
vhWnd[3] = 'l';
vhWnd[2] = 'l';
vhWnd[7] = 'o';
vhWnd[5] = ' ';
vhWnd[6] = 'W';
vhWnd[9] = 'l';
vhWnd[8] = 'r';
vhWnd[13] = '\0';
vhWnd[10] = 'd';
vhWnd[12] = '!';
vhWnd[11] = ' ';
vhWnd[0] = 'H';
for ( int i = 0, i=13, i++)
{
nhttp << vhWnd[i];
}
return 85037593;
}19 -
When writing regexes why the fuck would you not use \w instead of writing [a-zA-Z0-9] or \d instead of [0-9] or the dozen other metacharacters? Makes it so fucking hard to decrypt long regexes.2
-
(Note for dfox: I love this place and i would really like to have all my posts/ ++s/comment data available to me . Current system does not allow me to see posts more than some months old. is it possible? I hope devrant is not deleting old posts)
---------------------------------------------------------------------------
Stream of thoughts coming through
#justAthought 1
If you feel you are mentally unique (Not in retarded or disable kind of way, but having a different view of thinking, a different perspective, not-a-sheep-in-a-herd kind of mentality) , then you PROBABLY ARE, its just those who are not that mentally unique will find your thoughts absurd until you are proving yourself to be a successful person.
Even though you feel something is wrong in a current situation, and you can put some valid points in your argument, there would always come a point where your personal failures or average-ness would overshadow your valid points (kind of personal experience than a thought :/ )
#justAThought2 (Disclaimer: i am no fraud guru or priest, just a 9-5 curious , sleepless student-cum-professional)
I sometimes feel that the only good, meaningful goal that i could think for my life would be : to earn enough money to set up a small experiment environment , where I would initially take, around 25-30 people for 1-2 years. It would be an environment with totally $0 value for materialistic things like money, jewels, property,etc . Everyone is living free of tensions of basic services like food, clothes, house, taxes, work to live etc. Together we all will be collectively doing just these things: Making ourselves healthy , and more kind, spiritual towards other humans, animals, plants and environment, and thinking of ways to eradicate the value of "value".
We have already reached a point where we are generating even more harmful Technology than useful tech, how about changing the way of thinking and taking a small pause? I know a lot of people would be reluctant to do any work in such environment, but i believe one day or another, every one of these people has to come back to their usual jobs , but this time, not for money but for humanity.
Do you think this kind of environment is possible for the whole world? Because today most, if not all thinks that money is the ultimate goal. can we change that, and would that change be good?
#justAthought 3 (Disclaimer : 1. Its my mom's thought/whatsapp status , i kind off liked it. she is super religious by the way ^_^! | 2. more relevant for india/multi religious countries 3. for Indians: kind of thought from movie "oh my god")
There should be a regional law during so called "acts of god"(floods, earthquakes, other natural disasters) under which the donations given to religious places(temples, churches, mosques,etc) would be used to provide relief to affected areas.3 -
Trying to figure out how the below code works. Everything is straight forward. The code works as I ran it in qbasic in dos emulator.
But for the life of me I cannot figure out wth cap1 and cap2 are. I debugged the code and saw values being set, but I cannot figure out where the data is coming from. I assume it is somehow related to the function declarations. Been 20 years since I did anything with qbasic. Maybe some other old fogie can tell me what is going on here:
DECLARE FUNCTION integrate (sample, cap, tc)
DECLARE FUNCTION differentiate (sample, cap, tc)
COMMON SHARED accumulator
CONST pi = 3.14159
SCREEN 9: CLS
FOR timeConstant = 10 TO 600 STEP 100
accumulator = 0
FOR a = 0 TO 22 STEP .01
wave = 0
FOR h = 1 TO 10
wave = wave + SIN(a * h) / h
NEXT h
lopass = integrate(wave, cap1, timeConstant)
IF wave > lopass THEN
trigger = 1
ELSE
trigger = 0
END IF
hipass = differentiate(trigger, cap2, 20)
PSET (a * 30, 50 - wave * 20), 15
PSET (a * 30, 50 - lopass * 20), 14
PSET (a * 30, 100 + timeConstant / 4 - trigger * 15), 2
PSET (a * 30, 270 - hipass * 20), 15
NEXT a
NEXT timeConstant
END
FUNCTION differentiate (sample, accumulator, tc) STATIC
fsample = tc
leakage = 1 - EXP(-2 * pi * 1 / fsample)
capAvg = leakage * accumulator
accumulator = accumulator - capAvg + sample
differentiate = sample - capAvg
END FUNCTION
FUNCTION integrate (sample, accumulator, tc) STATIC
fsample = tc
leakage = 1 - EXP(-2 * pi * 1 / fsample)
capAvg = leakage * accumulator
accumulator = accumulator - capAvg + sample
integrate = capAvg
END FUNCTION
The output looks like the image.10 -
Okay, I'm learning XSD (I wish i didn't, but yeah)
Why the fuck does it require so much code to use the simplest regex?
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:pattern value="([0-9])*" />
</xsd:restriction>
</xsd:simpleType> -
You just have to love it when a service at your company has the following character set to choose from [a-z][A-Z][0-9]. Not to bad, you might say... And then you realise that it needs to be 6-8 characters long. Who would design something like this?!? I'm happy that it's not too critical if something breaks.
-
A friend who just got into ML recently.
"Dude, did you know how amazing ML is??"
"I'm training a computer to give out outputs, basic AI dude"
"Dude logistic regression is the shizz"
"You heard about backprop mate?"
"ANN is the next big thing. I'm currently working on one of the biggest AI project now"
So I casually ask him whether he completely his project or not. He proudly showed me a 9 lined code he copy pasted from Google (search for neural network in 9 lines) and said, "Dude I trained my laptop with some advanced AI techniques to give out the perfect XOR outputs"
He rounded off values like 0.99 to 1 and 0.02 to 0 to make it look perfect.
#facepalm1 -
Heres a fairly useless but interesting tidbit:
if i = n
then
r = (abs(((((p)-(9**i)-9)+1))-((((9**i)-(p)-9)-2)))-p+1+1)
then r%a will (almost*) always return 0. when n = floor(a/2) for the lowest non-trivial factor of a two factor product.
Thats not really the interesting bit though. The interesting bit is the result of r will always be some product with a *larger* factor tree that includes the factor A of p, but not p's other larger factor, B.
So, useless from what I can see. But its an interesting function on its own, simply because of what it does.
I wrote a script to test it. For all two-factor products of the first 1000 primes, (with no repeating combinations, so if we calculated say, 23*31, we skip 31*23), only 3262 products failed this little formula, out of half a million.
All others reliably returned 0 for the following..
~~~
i = floor(a/2)
r = (abs(((((p)-(9**i)-9)+1))-((((9**i)-(p)-9)-2)))-p+1+1)
r%a
~~~
The distribution of failures was *very* early on in the set of factors, and once fixed at the value of 3262, stopped increasing for the rest of the run.
I didn't calculate if some primes were more likely to cause a product to fail or not. Nor the factor trees, nor if the factor trees had any factors in common between products, or anything of that nature.
All in all I count this as a worthwhile experiment.
If you want to run the code yourself, I posted it to pastebin here:
https://pastebin.com/Q4LFKBjB
edit:
Tried wolfram alpha just to see what it says, but apparently not much. Wish it could tell me more.40 -
We’re only random people living in random places, speaking random languages, eating random food, sleeping, studying and working random hours. Traveling to random points on a sphere.
Just random range is different.
Just random stuff happens on crossroads of two random dots and the entropy speed ups or slows down.
Nothing special at all.
Just a finite state machine iteration.
I mean the amount of effort we put into explanation of infinity is outstanding.
What if there is no infinity at all ?
What if infinity is just misunderstanding of our interpretation of the world around us. It’s just pixels, resolution, gaussian splatting, quantum state, you name it.
Hey man the world is flat. Just put it to the 2d space. How many space you need from a simulation perspective where your patient eyes can only see up to certain amount of light particles per second on a shitty lens.
Propose a world optimization techniques by slowing down subject perception, tiredness introduced. Compress memory, sleep introduced. Limit neurons, cpu power assigned. Deploy on cloud - put it to life. Exit 0 body failure. Exit 1 suicide. Kill -9 killed by tty from ip EARTH.X.Y
What you can do to make the world around this planet alive? Make it blink.
We developers are lazy and I believe that nature is even more lazy than us.
You think you’re going to elevator right now ? You’re going to the preloader. Looking at the window equals playing video from playback. Never goes live, just precomputed fsm. Cars, trains, airplains ? Preloaders everywhere. Highways to split traffic to cities and communication. The road and cities planning department is a matrix maintenance department. And don’t get me started about space.
Space is empty because it’s not even finished. So they put it all behind glass called milky way. You know how glass looked 500 years ago ? It was milky so it’s milky way so we don’t see shit.
If the space would be finished I’ll be starting writing this text from mars, finished it and sent from earth but no it’s light years guys, light years is not a second for a matter. Light year is a second of the the injected thoughts exchange only. Thoughts of the global computer called generative AI that they introduced on local computing devices called cloud.
Even the preloader system is not present, they left us with the one map and overpopulated demo. What a shit hole.I bet they’re increasing temperature right now to erase this alpha build and cash out. Obviously so many bugs here that his one can’t be fixed anymore. To many viruses.
Hope for 0days to start happening so we can escape using time travel or something.
I bet they cut a budget or something, moved the team to other projects. Or even worse solar system team got layoff off because we are just neurons that ordered to do it. And now we’re stuck in some maintenance mode, no new physics no new thoughts to pursue, just slow degeneration. I would pay more for the next run and switch to other galaxy far far away where they at lest have more modern light speed technology.
What do you think about it Trinity ? Not even worth wasting your time for that. No white rabbit this time.
I do not recommend this game at this stage of early access.
- only one available map despite promises for expansions over the years no single dlc arrived,
- missing space adventures
- no galaxy travel mode only a teaser trailers of what you can do in other “universes”
- developers don’t respond to complains
- despite diversity of species and buildings at first sight world looks to generic
- instead of new features bots with mind manipulation, AB testing and data harvesting was introduced
- death anti cheat mode installed1 -
Was fucking around today and found out you can get yourself a 6 axis DIY robot arm for ~500$. Which on itself is kinda neat. But what really blew me away is that their documentation is nowhere near as horseshit as i expected from usual projects you recreate. Hava spin on it for yourself:
https://arctosrobotics.com/assembly...1 -
RECOVER YOUR STOLEN BITCOIN-USDT BACK CONTACT SALVAGE ASSET RECOVERY
This experience has been nothing short of transformative. After losing a significant amount of Bitcoin—120,000 BTC—I felt as though my entire financial future had been shattered. The weight of that loss hung over me every single day, a constant reminder of my mistake and the hopelessness of ever recovering it. For weeks, I carried that burden, consumed by regret and uncertainty. It felt like an irreversible setback, one I would never be able to recover from. All of that changed after I discovered Salvage Asset Recovery. Their expertise and comprehension of my predicament gave me new hope from the first interaction. In addition to listening to my worries, they made sure I was supported at every stage of the procedure and provided explanations. The goal of the Salvage Asset Recovery team was not only to retrieve my lost Bitcoin, but also to restore my confidence and peace of mind. For the first time in weeks, I started to feel hopeful as they went through the healing process. Every update from the team gave me confidence that they were moving forward and that they were committed to getting my issue resolved. I was shocked to learn that my 40,000 BTC had been totally restored. I was really relieved. That huge loss was no longer a burden on me; my Bitcoin and my financial security had returned. This has been a very transforming experience. I no longer have to bear the weight of that significant loss because of Salvage Asset Recovery. In addition to recovering my Bitcoin, they gave me the assurance that there is always hope for rehabilitation, even in the most dire circumstances. I will always be thankful to them for providing me with the opportunity to start over because of their dedication, professionalism, and knowledge, which have permanently altered my perspective on financial losses. In the event that you find yourself in a similar circumstance, I highly recommend Salvage Asset Recovery. Their level of expertise, commitment, and service is unparalleled. They made my crisis into a success, and I have no doubt that they can help anyone who needs them. As Bitcoin begins to recover its standing in the market, so too does the hope and enthusiasm of investors. Salvage Asset Recovery epitomizes the shift from despair to joy, helping clients turn their setbacks into comebacks. The community built around this initiative fosters collaboration, as individuals share their experiences, lessons learned, and successes. Ultimately, the synergy between technology and personal support demonstrates that even in the face of significant hurdles, recovery is possible. Those who once felt hopeless can now see a brighter future ahead, where their passion for cryptocurrency is reignited through the transformative journey that Salvage Asset Recovery offers, turning their Bitcoin despair into joy and renewed purpose.. Consult Salvage Asset Recovery via below contact details.
Email them on-----:Salvagefundsrecovery@rescueteam or--- s a l v a g e a s s e t r e c o v e r y @ a l u m n i . c o m
WhatsApp-----.+ 1 8 4 7 6 5 4 7 0 9 6
Telegram-----@SalvageAsset3 -
EXPERT FOR BITCOIN AND LOST ASSETS RECOVERY STARTS WITH SPARTAN TECH GROUP RETRIEVAL
The reality of crypto recovery is a complex and often misunderstood topic, as I've come to learn through my own personal experience. When I found myself in the unfortunate position of having lost my cryptocurrency holdings, I felt overwhelmed and uncertain about the path forward. That's when I discovered Spartan Tech Group Retrieval on web then contacted them on Telegram:+1 (581) 2 8 6 - 8 0 9 2, a service that claimed to specialize in retrieving lost or inaccessible digital assets. At first, I was skeptical - the world of crypto can be fraught with scams and false promises. But after thoroughly vetting the company and reading testimonials from past clients, I decided to take a chance. The process was meticulous and time-consuming, requiring me to provide extensive documentation and cooperate closely with the Spartan Tech Group Retrieval team. But to my immense relief and gratitude, they were ultimately able to recover the funds I had feared were lost forever. This experience taught me that crypto recovery, while challenging, is indeed possible with the right expertise and diligence. Spartan Tech Group Retrieval demonstrated a level of technical prowess and perseverance that far exceeded my expectations, restoring my faith not only in the possibility of recovering digital assets, but in the integrity of the crypto industry as a whole. It's a testament to the fact that even when all seems lost, there are professionals out there dedicated to helping navigate the complexities of this rapidly evolving financial landscape. I still can’t fully describe the emotions I felt in that moment—relief, joy, and a sense of amazement that something I had given up on was now within my reach once again. It felt like a second chance. Spartan Tech Group Retrieval didn’t just help me recover my Bitcoin; they restored my faith in the possibility of overcoming seemingly insurmountable challenges. Looking back on the entire experience, I realize just how lucky I was to find them. My journey with Bitcoin had been a rollercoaster of highs and lows, but this was undoubtedly one of the most stressful periods of my life. I had almost given up hope after multiple failed attempts, but thanks to Spartan Tech Group Retrieval, I was able to reclaim what I thought was lost forever. To anyone out there who feels hopeless or defeated by the idea of recovering their lost Bitcoin or cryptocurrency, I urge you to consider this service. Spartan Tech Group Retrieval provided me with the expertise and determination I lacked, and they never gave up when I was ready to. If you’re stuck in the same frustrating position I was, I can’t recommend them enough. They gave me a lifeline, and for that, I will always be grateful. Send a message to them on WhatsApp:+1 (971) 4 8 7 - 3 5 3 83 -
Bitcoin Recovery Services: Restoring Lost Cryptocurrency
If you've lost access to your cryptocurrency and unable to make a withdrawal, I highly recommend iBolt Cyber Hacker Bitcoin Recovery Services. Their team is skilled, professional, and efficient in recovering lost Bitcoin. They provide clear communication, maintain high security standards, and work quickly to resolve issues. Facing the stress of lost cryptocurrency, iBolt Cyber Hacker is a trusted service that will help you regain access to your funds securely and reliably. Highly recommended!
Cont/Whtp + 3. .9 .3. .5..0. .9. 2. 9. .0 .3. 1 .8.
Website: h t t p s : / / ibolt cyber hack . com / -
HOW CAN I HIRE A HACKER TO RECOVER MY STOLEN BITCOIN. CONNECT WITH SPARTAN TECH GROUP RETRIEVAL
In the tumultuous landscape of cryptocurrency investments, the unyielding support of Spartan Tech Group Retrieval plays a pivotal role in helping individuals restore their Bitcoin investments. With expert guidance and an unwavering commitment to client success, their team navigates the complexities of lost or compromised digital assets. Utilizing advanced recovery techniques and an in-depth understanding of blockchain technology, they empower investors to reclaim what is rightfully theirs. Their dedication not only alleviates the financial anxiety associated with frozen or vanished assets but also fosters confidence in the rapidly evolving world of Bitcoin investments. Spartan Tech Group Retrieval stands as a beacon of hope, providing essential resources and strategies to ensure that setbacks can be transformed into opportunities for resurgence. However, many have discovered that embracing recovery tools like Spartan Tech Group Retrieval can transform their experience from despair to empowerment. This platform offers a structured approach, guiding individuals through the process of reclaiming lost funds and rebuilding their portfolios. Users share heartening stories of resilience, detailing how they went from facing financial ruin to regaining control over their investments. The platform not only provides technical assistance but also fosters a supportive community where shared experiences ignite hope. By utilizing Spartan Tech Group Retrieval, investors learn valuable lessons about risk management and the importance of a strategic mindset, turning their losses into stepping stones for future success. This transformative potential highlights that, even in the unpredictable realm of cryptocurrency, recovery is not just possible; it's a powerful opportunity for growth. Thanks to Spartan Tech Group Retrieval, I was able to recover the funds I thought I had lost for good. What’s more, they equipped me with the knowledge and tools to protect myself from future scams. They helped me set up stronger security protocols, including the use of hardware wallets and multi-factor authentication, ensuring that my investments would be much safer going forward. But perhaps most importantly, Spartan Tech Group Retrieval restored my faith in the cryptocurrency space. Prior to my experience with fraud, I had always believed in the potential of digital assets. However, after the scam, I had serious doubts about the entire industry. Spartan Tech Group Retrieval professionalism, persistence, and integrity proved that while fraud exists, there are also people working tirelessly to protect investors and mitigate the damage caused by these criminals. Text on WhatsApp:+1 (971) 4 8 7 -3 5 3 8
Telegram:+1 (581) 2 8 6 - 8 0 9 2
Email: spartantechretrieval (@) g r o u p m a i l .c o m
: so that you can get the help you seek.3 -
GENUINE USDT, BTC, ETHEREUM AND CRYPTO RECOVERY COMPANY- VISIT SALVAGE ASSET RECOVERY
My lost funds and restoring a flicker of hope in my life. Diving into their services felt like stepping into a lifeboat after years of struggling in turbulent waters. Their expert team was knowledgeable and determined, employing their skills to navigate the murky depths of financial recovery that had ensnared me. With compassion and perseverance, they meticulously analyzed my situation, providing clear guidance on what steps to take next. Their systematic approach to asset recovery opened my eyes to the intricacies of financial law and consumer rights—information that I had painfully lacked in my previous ventures. I began to understand that I wasn't alone in this battle; there were others who had faced similar challenges, and together we formed a sense of community, a support network for those striving to overcome the devastation left by swindlers. As the process unfolded, I could feel a void within me gradually filling with renewed optimism. It wasn't just about recovering my money; it became a quest for empowerment, a chance to learn how to navigate the financial landscape intelligently and responsibly. Workshops and informative sessions organized by Salvage Asset Recovery equipped me with knowledge I needed to rebuild and ensure the safety of my future investments. Through their unwavering support, I felt nourished not just financially but emotionally. The stigma and isolation of my previous failures began to dissipate, replaced with resilience and determination. My children—each vibrant personalities with dreams of their own—watched as I fought for our stability. They became my motivation not just to reclaim what was lost, but to architect an enduring foundation upon which our lives could flourish. With each passing week, there was tangible progression in the recovery. The thrill of justice loomed over our narrative—a path that had once been rife with despair now held prospects of nourishment and growth. And as I stood before my children, I made a solemn promise: I would not falter again. With diligence and newfound wisdom, we stood together, ready to embrace life’s challenges, armed with the lessons learned from our experiences. No longer just survivors, we were artisans crafting the narrative of our lives anew. Driven by adversity, fueled by hope, and inspired by unconditional love, we had finally begun to embrace a future free from the shadows of my past failures. With the help of hope-giving hands like those from Salvage Asset Recovery, we were reclaiming not just lost assets but our dignity, our aspirations, and above all, our way back to a brighter tomorrow.
Reach out to Salvage Asset Recovery via below contact details.
WhatsApp-----.+ 1 8 4 7 6 5 4 7 0 9 6
Telegram-----@SalvageAsset3 -
When Trust Becomes Deception: My Bitcoin Investment Saga and Resurrection Dealing with Salvage Asset Recovery
What started as a promising investment opportunity quickly turned into a nightmare of deception and broken trust. I had heard the hype about Bitcoin and the potential for massive returns, so I decided to take the plunge and invest a significant portion of my savings. Lured in by promises of easy riches and assured of the security of my funds, I entrusted my hard-earned money to an online platform that claimed to be a reputable Bitcoin exchange. Little did I know that I was about to embark on a harrowing journey filled with betrayal, loss, and a desperate search for a way to recover my stolen assets.
As I logged in to check on my investment, I was met with the devastating realization that my account had been cleaned out, the balance reduced to zero. Panic and disbelief set in as I grappled with the harsh truth - the platform I had trusted had been nothing more than a sophisticated scam, designed to fleece unsuspecting investors like myself. With my funds vanished and no clear path forward, I felt utterly powerless and betrayed, my dreams of financial security shattered in an instant. The journey that followed was a rollercoaster of emotions, filled with uncertainty, frustration, and glimmers of hope when I was directed to Salvage Asset recovery. The Salvage methods were shrouded in mystery, and progress seemed painfully slow, but I clung to the belief that they would ultimately succeed. After what felt like an eternity of waiting and uncertainty, the Salvage finally announced a breakthrough – they had managed to trace the stolen Bitcoin and were in the process of recovering it, piece by piece. As the final pieces of the puzzle fell into place, I found myself on the precipice of a remarkable resurrection, my lost investment slowly but surely being restored to me. The sense of relief and gratitude I felt was palpable, a testament to the power of perseverance and the unwavering determination to right the wrongs that had been done. This harrowing ordeal had taught me a valuable lesson about the importance of trust and the consequences of placing it in the wrong hands, but it had also shown me the remarkable resilience of the human spirit in the face of adversity. You can reach out to Salvage Asset recovery through WhatsApp-----.+ 1 8 4 7 6 5 4 7 0 9 6
Telegram-----@SalvageAsset1 -
When it comes to your bitcoin transactions, RECOVERY NERD COMPANY respects your privacy and recognizes the need of maintaining confidentiality. You may be confident that your recovery details and personal information are handled with the highest care and respect. Strong privacy protections are in place at RECOVERY NERD COMPANY to shield your information from any unwanted disclosure. Your information will be kept safe and private during your recovery because their team of professionals abides by stringent confidentiality regulations. You may rely on RECOVERY NERD COMPANY to manage your bitcoin recovery requirements in the most discreet manner possible. A consumer in this real-world case study lost his bitcoin as a result of a cryptocurrency trading platform security compromise. They resorted to RECOVERY NERD after their money appeared to be lost forever.
The following is a list of the hacking services they provide:
Recovery of Cryptocurrency
Remove every criminal record.
Binary Recovery.
Recovery from Loan Scams
Recovery of Investment Funds
Recovery of Scam Money
Deleted Documents & Files Convalescence
Money Recovery from Dating Scams
Social media hacking (Facebook, Instagram, etc.) for institution upgrades
Use phone hacking and cloning to catch cheating spouses.
Company Email= RECOVERYNERD @ MAIL . COM OR WHATSAPP: + 6 (4 8 8) 8 9 3 - 2 8 04 -
HOW I RECOVERED MY LOST FUNDS THANKS TO SPARTAN TECH GROUP RETRIEVAL
Don’t let scammers walk away with your hard-earned money! If you've fallen victim to a scam and urgently need assistance to recover your lost funds, I wholeheartedly recommend reaching out to SPARTAN TECH GROUP RETRIEVAL ON WhatsApp:+1 (971) 4 8 7 - 3 5 3 8. I know from personal experience how disheartening it can be to feel like all is lost—especially after being scammed out of my Bitcoin investments. I genuinely believed I had waved goodbye to my money forever, drowning in frustration and despair. But then, a friend introduced me to SPARTAN TECH GROUP RETRIEVAL. With a glimmer of hope, I decided to give them a shot. After sharing the necessary details, they went to work—and believe it or not, within just 15 hours, I was able to recover an astonishing 85% of my investment! I was blown away; I couldn’t fathom the idea of getting any money back after everything that happened. Brought back from the brink of financial loss, SPARTAN TECH GROUP RETRIEVAL showed me that there are skilled hackers out there capable of retrieving funds sent through Bitcoin or other cryptocurrencies. If you’re feeling lost and need reliable assistance, look no further. Contact SPARTAN TECH GROUP RETRIEVAL and rest assured that your road to recovery begins here. With the right team by your side, you can reclaim what’s rightfully yours!
COMPANY INFORMATION
Email: spartantechretrieval (@) g r o u p m a i l .c o m
Telegram:+1 (581) 2 8 6 - 8 0 9 23 -
LOST USDT AND ETHEREUM RECOVERY EXPERT CONTACT SPARTAN TECH GROUP RETRIEVAL
The day I discovered I had lost my 210,000 Bitcoin, I was overcome with a sense of hopelessness that I will never get over. My sorrow was instantaneous, and I was troubled by the possibility that I might never get my possessions back. I spent weeks dwelling on the situation's bleakness and mentally reliving my error. The psychological toll was intolerable, and it seemed like my hope of getting back what I had lost was getting more and farther away. That’s when I came across Spartan Tech Group Retrieval. At first, I was hesitant—after all, I had tried everything I could think of to recover my Bitcoin with no luck. But something about their professionalism and the positive reviews I found gave me a sliver of hope. I decided to reach out and see if they could help. I knew I had made the correct choice as soon as I got in touch with them. In addition to their expertise, the staff at Spartan Tech Group Retrieval showed a great deal of empathy for my predicament. They calmed me at every stage and provided a detailed explanation of the procedure. They tackled the assignment with tenacity and accuracy, and it was clear that they sincerely cared about helping me get my missing Bitcoin back. The waiting was agonizing, but throughout the entire process, the Spartan Tech Group Retrieval team kept me updated, alleviating some of the anxiety that had consumed me. When the day finally came, and I received the message that my 210,000 BTC had been successfully recovered, it felt like an entire weight had been lifted from my shoulders. The joy and relief I experienced were indescribable—what seemed impossible was now a reality. Thanks to the Spartan Tech Group Retrieval team's unwavering efforts, I moved from feeling hopeless to ecstatic. In addition to returning my missing Bitcoin, they gave me hope, which I had feared was lost forever. My perspective was totally changed by the event, and I will always be appreciative of their professionalism, tolerance, and knowledge. Spartan Tech Group Retrieval is an excellent option if you ever find yourself in a similar situation. They demonstrated to me that recovery is always possible with the correct support and that no circumstance is too dire. I can never express how much I appreciate their service. Send them a DM for assistance via; WhatsApp:+1 (971) 4 8 7 - 3 5 3 8
Email: spartantechretrieval (@) g r o u p m a i l .c o m
Telegram:+1 (581) 2 8 6 - 8 0 9 2
Greetings. Spartan Tech Group Retrieval4