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 +1's"
-
This is the expected Binary ++ post from me :P
So, today I go to devRant and see 1's and 0's as my ++'s. I assume it might be a bug, but nope. Turns out it's one of the neat ways of meeting April Fools :)
Thanks to whoever had the idea. It genuinely made me smile.6 -
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 -
Things I hate about Microsoft (Part 1):
Windows: Does things I don't want it to do. Is not user friendly. It is just user familiar.
Outlook / Hotmail: Drops emails silently, which are RFC conform and pass every other mail service. No error messages or notifications.
Edge: Does not / Partially support(s) some modern standards.
IE: No explanation needed.
Design language: border-radius: 0 !important
Business model: Let's make our own hardware, so we can compete with our hardware partners (HP, Dell, ...). Isn't that a perfect idea.
Tracking: Let's track everything of our users. Even how many photos they open in our OS*. What they get from that? Well they could get personalised ads on Bing. Isn't that a perfect model.
*: https://blogs.windows.com/windowsex...39 -
[Little perspective: For the last 7 months I'm working in a certain project.]
[The project is full of unimaginative, non-creative devs with 0 initiative and poor technical background.]
[And they're almost all from one country which you all can figure out.]
[But I'm not going to mention it here because I don't want to come up as a racist]
[So there's US (Europeans) and THEM. 3 of US and about 10 of THEM. And we're doing 90% of all the heavy lifting]
---
Yesterday
---
D (Dev from THEM): Hi S, I have a problem with my task
Me: (sighing) Ok let's have a call
* on the call with D we were checking some stuff loosely related to task *
* code wouldn't get invoked at all for some reason *
* suddenly I realize that even if the code would invoke, D's probably doing everything wrong in it anyway *
Me (thinking): I need to double check something.
Me: I can't help you now, I'll get back to you later.
* call ended *
---
Me: Hey J, I need your help, I need to clarify the work package in my mind, because I am no longer sure.
J (my European TL): Ok, fire away.
* call started *
Me: Is it true that [blahblahblah] and so D's task depends on me completing first my task, or am I losing my mind?
J: That is correct.
Me: Well she's trying to do this in [that] way, which is completely wrong.
J: You see, that's how it is in this project, you do refinements with them, split these work packages to tasks, mention specifically what depends on what and what order should things be taken in, and in some cases all tasks from given user stories should be done by one person entirely... But they do it their way anyway, assign different people to different interdependent tasks, and these people don't even understand the big picture and they try to do the things the way they think they understand them.
Me: It's a fire in a brothel.
J: Yup.
Me: I fucking love this project.
J: (smiling silently)
* call ended *
---
Me: Ok D, you can't do your task because it's dependant on my task.
D: Oh... so what do I do?
Me: I don't know, do something else until I do my task.
---
A (THEIR TL) (Oh, did I forget to mention that there are 2 TLs in this project? THEY have their own. And there are 2 PMs as well.)
A: Hey S, I need to talk
Me: (sighing, getting distracted from work again) Ok let's have a call
* call started *
A: S, we need this entire work package done by Friday EOD.
Me: I can't promise, especially since there are several people working on its several tasks.
A: D's working on hers for 3 days already, and she's stuck. We want you to take over.
Me: (sighing, thinking "great"): Ok.
* call ended *
---
Me: Hey D, A instructed me to take over your task. This is actually going to be easier since you'd have to wait for mine after all.
D: Oh, ok.
---
* I switched the Assigned Person on D's task to myself on Azure *
---
This morning, email from D.
"Hey, I completed my task and it's on [this] branch, what do I do now?"
........................................
Me, hesitating between 2 ways to reply:
(and take note there are people in CC: A, J, P - the last one is THEIR PM)
1) "Hi, Unfortunately you'd still have to wait for my changes because your task is dependent on my task - the column to be changed is in the table that I am introducing and it's not merged to develop branch yet. By the way I already did your task locally, as I was instructed to do it, I'm wrapping things up now."
(y'know: the response which is kind, professional, understanding; without a slight bit of impatience)
2) WHAT FUCKING PART OF "DON'T DO THIS I WILL FUCKING DO IT MYSELF GO HOME JUST GO HOME" YOU DON'T FUCKING UNDERSTAND4 -
Parents finally interested in what I do so they watch me do it
Mom: are you messing with me, what's with all the words? Where's the 1's and 0's, I thought you said it was just like the matrix
Me:...
...
...
I said only in the same way that there's computers8 -
Grandmother: 'So do you use 1's and 0's for Programming?'
Mom: 'fix my Computer/Internet/handy/printer'3 -
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 -
Ok friends let's try to compile Flownet2 with Torch. It's made by NVIDIA themselves so there won't be any problem at all with dependencies right?????? /s
Let's use Deep Learning AMI with a K80 on AWS, totally updated and ready to go super great always works with everything else.
> CUDA error
> CuDNN version mismatch
> CUDA versions overwrite
> Library paths not updated ever
> Torch 0.4.1 doesn't work so have to go back to Torch 0.4
> Flownet doesn't compile, get bunch of CUDA errors piece of shit code
> online forums have lots of questions and 0 answers
> Decide to skip straight to vid2vid
> More cuda errors
> Can't compile the fucking 2d kernel
> Through some act of God reinstalling cuda and CuDNN, manage to finally compile Flownet2
> Try running
> "Kernel image" error
> excusemewhatthefuck.jpg
> Try without a label map because fuck it the instructions and flags they gave are basically guaranteed not to work, it's fucking Nvidia amirite
> Enormous fucking CUDA error and Torch error, makes no sense, online no one agrees and 0 answers again
> Try again but this time on a clean machine
> Still no go
> Last resort, use the docker image they themselves provided of flownet
> Same fucking error
> While in the process of debugging, realize my training image set is also bound to have bad results because "directly concatenating" images together as they claim in the paper actually has horrible results, and the network doesn't accept 6 channel input no matter what, so the only way to get around this is to make 2 images (3 * 2 = 6 quick maths)
> Fix my training data, fuck Nvidia dude who gave me wrong info
> Try again
> Same fucking errors
> Doesn't give nay helpful information, just spits out a bunch of fucking memory addresses and long function names from the CUDA core
> Try reinstalling and then making a basic torch network, works perfectly fine
> FINALLY.png
> Setup vid2vid and flownet again
> SAME FUCKING ERROR
> Try to build the entire network in tensorflow
> CUDA error
> CuDNN version mismatch
> Doesn't work with TF
> HAVE TO FUCKING DOWNGEADE DRIVERS TOO
> TF doesn't support latest cuda because no one in the ML community can be bothered to support anything other than their own machine
> After setting up everything again, realize have no space left on 75gb machine
> Try torch again, hoping that the entire change will fix things
At this point I'll leave a space so you can try to guess what happened next before seeing the result.
Ready?
3
2
1
> SAME FUCKING ERROR
In conclusion, NVIDIA is a fucking piece of shit that can't make their own libraries compatible with themselves, and can't be fucked to write instructions that actually work.
If anyone has vid2vid working or has gotten around the kernel image error for AWS K80s please throw me a lifeline, in exchange you can have my soul or what little is left of it5 -
You wanna know what the fuck we did in our goddamn code.org class today, wait no, the last whole fucking week. YES OR NO QUESTIONS. I GET BINARY IS FUCKING 0'S AND 1'S. FOR GOD SAKES I KNOW BINARY. I EVEN KNOW FUCKING TERNARY. AND. YOU KNOW WHAT TEACHER ? EVERYONE ELSE COULD LEARN BINARY IN FIVE GODDAMN MINUTES. "Is code.org worthy of being kicked in the ass and tied up on a railroad when the trains coming?" Is a perfect binary question. This whole fucking class I feel like I'm in an english class for five year olds in spain. HEY TEACHER I DON'T CARE IF BILL GATES OR MARK SUCKERBURG OR BARAK OBAMA OR GODDAMN CHRIS BOSH SUPPORTS IT. ITS FOR THERE FUCKING REPUTATION. PEOPLE WITH HALF A BRAIN KNOW THESE PEOPLE DON'T GIVE A FUCK. THEY EACH HAVE HUNDREDS OF MILLIONS OR EVEN BILLIONS OF DOLLARS, BUT THEY ALL CHOSE TO USE A FIVE DOLLAR MIC JUST TO FUCK WITH US. EVERY TIME I WALK IN THAT CLASS I FEEL DEGRADED LIKE I'VE BEEN PUT BACK IN PRESCHOOL. THANK YOU TEACHER, I ALWAYS WANTED TO LEARN BINARY TO MAKE MY FUCKING SIMPLE JAVASCRIPT APP AS MY FINAL PROJECT FOR THE REST OF THE YEAR.4
-
This literally made me spill coffee all over my screen,
#define struct union
#define if while
#define else
#define break
#define if(x)
#define double float
#define volatile // this one is cool
// I heard you like math
#define M_PI 3.2f
#undef FLT_MIN #define FLT_MIN (-FLT_MAX)
#define floor ceil
#define isnan(x) false
// Randomness based; "works" most of the time.
#define true ((__LINE__&15)!=15)
#define true ((rand()&15)!=15)
#define if(x) if ((x) && (rand() < RAND_MAX * 0.99))
// String/memory handling, probably can live undetected quite long!
#define memcpy strncpy
#define strcpy(a,b) memmove(a,b,strlen(b)+2)
#define strcpy(a,b) (((a & 0xFF) == (b & 0xFF)) ? strcpy(a+1,b) : strcpy(a, b))
#define memcpy(d,s,sz) do { for (int i=0;i<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0)
#define sizeof(x) (sizeof(x)-1)
// Let's have some fun with threads & atomics.
#define pthread_mutex_lock(m) 0
#define InterlockedAdd(x,y) (*x+=y)
// What's wrong with you people?!
#define __dcbt __dcbz // for PowerPC platforms
#define __dcbt __dcbf // for PowerPC platforms
#define __builtin_expect(a,b) b // for gcc
#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break
// Some for HLSL shaders:
#define row_major column_major
#define nointerpolation
#define branch flatten
#define any all5 -
The process of making my paging MIDI player has ground to a halt IMMEDIATELY:
Format 1 MIDIs.
There are 3 MIDI types: Format 0, 1, and 2.
Format 0 is two chunks long. One track chunk and the header chunk. Can be played with literally one chunk_load() call in my player.
Format 2 is (n+1) chunks long, with n being defined in the header chunk (which makes up the +1.) Can be played with one chunk_load() call per chunk in my player.
Format 1... is (n+1) chunks long, same as Format 2, but instead of being played one chunk at a time in sequence, it requires you play all chunks
AT THE SAME FUCKING TIME.
65534 maximum chunks (first track chunk is global tempo events and has no notes), maximum notes per chunk of ((FFFFFFFFh byte max chunk data area length)/3 = 1,431,655,763d)/2 (as Note On and Note Off have to be done for every note for it to be a valid note, and each eats 3 bytes) = 715,827,881 notes (truncated from 715,827,881.5), 715,827,881 * 65534 (max number of tracks with notes) = a grand total of 46,911,064,353,454 absolute maximum notes. At 6 bytes per (valid) note, disregarding track headers and footers, that's 281,466,386,120,724 bytes of memory at absolute minimum, or 255.992 TERABYTES of note data alone.
All potentially having to be played
ALL
AT
ONCE.
This wouldn't be so bad I thought at the start... I wasn't planning on supporting them.
Except...
>= 90% of MIDIs are Format 1.
Yup. The one format seemingly deliberately built not to be paged of the three is BY FAR the most common, even in cases where Format 0 would be a better fit.
Guess this is why no other player pages out MIDIs: the files are most commonly built specifically to disallow it.
Format 1 and 2 differ in the following way: Format 1's chunks all have to hit the piano keys, so to speak, all at once. Format 2's chunks hit one-by-one, even though it can have the same staggering number of notes as Format 1. One is built for short, detailed MIDIs, one for long, sparse ones.
No one seems to be making long ones.6 -
Someone created a 0-followers private Twitter account and posted something to try out the new views count feature.
It raked dozens of views in a couple hours.
HOW?!?
Source: https://twitter.com/briggityboppity...
It looks like a funny data reverse-engineering exercise, so let's try and figure out what is going on.
Hypothesis 1) it is the OP's own views.
Reasonable, but unlikely if what OP says about not checking it for hours is true.
H2) It's some background job in OP's device that is refreshing OP's own latest tweets, so even without human interaction technically H1 is true. It would be some really shoddy engineering to count eye-less page views, but that's also what managers would demand.
H3) it's some internal Twitter automated function like back up, replication, indexing and word count.
See H2, it would be even dumber to count that as page views.
H4) it's some internal human reviewing for a keyword that could be associated with porn (in this case, "butts"). Really? dozens of humans to review a no-impact single post? They would have to employ hundreds of thousands of reviewers.
H5) it's some page-loading shit, like thousands of similar tweets get stored in the same index hash page and end up counting as a view in all of them every time someone loads the index page. It would be like counting every hit in the namenode as a hit in every data asset in it's Hadoop partition, or every hit in a storage block as a hit in each of it's files.
Duuuumb and kinda like H3.
H6) page views are just a fraud to scam investors. Maybe it's a "most Blockchain transactions are fake" situation, maybe it's a "views get more engagement if you don't think a lot about it" situation, maybe it's a "we don't use the metric system to count page views" situation.
All of them are very dumb.
Other hypothesis or opinions?10 -
As an exercise lets see how many different ways we can wish devRant Happy Birthday in code. Try not to copy peoples examples, use a different language or different method.
A couple of examples to start the process:
* LOLCODE *
HAI 1.3
LOL VAR R 3
IM IN YR LOOP
VISIBLE "Happy Birthday"!
IZ VAR LIEK 1?
YARLY
VISIBLE "Dear devRant"!
NOWAI
VISIBLE "to you"!
KTHX
NERFZ VAR!!
IZ VAR LIEK 0?
GTFO
KTHX
KTHX
KTHXBYE
* C *
#include <stdio.h>
#define HP "Happy birthday"
#define TY "to you"
#define DD "Dear devRant"
typedef struct HB_t { const char *s; const char *e;} HB;
static const HB hb[] = {{HP,TY}, {{HP,TY}, {{HP,DD}, {{HP,TY}, { NULL, NULL }};
int main(void)
{
const HB *s = hb;
while(s->start) { printf("%s %s", s->s, s->e); }
return 1;
}12 -
Come up with a bad version of flipping a bool's value. (value = !value)
I'll start with a bad way of doing it in C# (.NET):
char[] bca = boolWert.ToString();
if (bca.Length == 4 && bca[0] == 't' && bca[1] == 'r' && bca[2] == 'u' && bca[3] == 'e')
{
boolWert = !bool.Parse($"{bca[0]}{bca[1]}{bca[2]}{bca[3]}");
}
else if (bca.Length == 5 && bca[0] == 'f' && bca[1] == 'a' && bca[2] == 'l' && bca[3] == 's' && bca[4] == 'e')
{
boolWert = !bool.Parse($"{bca[0]}{bca[1]}{bca[2]}{bca[3]}{bca[4]}");
}
else throw new Exception("y e s");4 -
Coding has brought me into new communities and is the reason I have some new friends. I have to say, the best part is knowing how things work. I love knowing how this rant is sent to a remote devRant server thru a socket. How my rant gets divided up into an array of characters, each just a string of 0’s and 1’s. How my rant is stored in a database. How the devRant server connects everyone, and how everyone can (if they have to) use a VPN if it’s blocked, etc. And of course, how it’s all done securely. It’s great having that confidence going into the future knowing that you’ll be relevant and you have technological security. I love talking with people and explaining how things work. How when people say “stop acting so smart, you don’t know anything about X,” which to I reply “do you know how many fucking Xs I made.” Coding is great.
-
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 -
I think I did it. I did the thing I set out to do.
let p = a semiprime of simple factors ab.
let f equal the product of b and i=2...a inclusive, where i is all natural numbers from 2 to a.
let s equal some set of prime factors that are b-smooth up to and including some factor n, with no gaps in the set.
m is a the largest primorial such that f%m == 0, where
the factors of s form the base of a series of powers as part of a product x
1. where (x*p) = f
2. and (x*p)%f == a
if statement 2 is untrue, there still exists an algorithm that
3. trivially derives the exponents of s for f, where the sum of those exponents are less than a.
4. trivially generates f from p without knowing a and b.
For those who have followed what I've been trying to do for so long, and understand the math,
then you know this appears to be it.
I'm just writing and finishing the scripts for it now.
Thank god. It's just in time. Maybe we can prevent the nuclear apocalypse with the crash this will cause if it works.2 -
This way of converting "string" to "s" (for example)
0) program reads the whole buffer, stores it as an array of instructions
1) program reverses the order of the instructions
2) parser makes standard token from an instruction ("asd" -> ASD)
3) parser2 assigns operands to instruction
4) parser 3 makes string from instruction token ?????
5) parser fucking 4 makeS A MUTABLE STRING INSTRUCTION
6) PARSER FIVE SUBSTITUES OPERANDS
7) AND THEN CUTS IT TO A REVERSED ARRAY OF COMMANDS
8) AND PUSHES IT UNTO THE STACK
WHAT1 -
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 -
Code reviewing, came across this:
Double val = item.getPrice() * pointMultiplier;
String[] s = String.split(val.toString(), "\\.");
points = Integer.parseInt(s[0]);
if(Integer.parseInt(s[1]) > 0) { points++; }
Usually I'd leave it at that, but to add insult to injury this was a level 3 developer who had been there for four (4!!!!) years.
She argued with me that we shouldn't round up loyalty points if theres only 0.00001 in the calculation.
I argued that since it's a BigDecimal, we can set the rounding factor of it.
She didn't understand that solution, refused to hear it.
The code is probably still there.5 -
// 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 -
My friend sent me this as WYSIWYG
/* A simple quine (self-printing program), in standard C. */ /* Note: in designing this quine, we have tried to make the code clear * and readable, not concise and obscure as many quines are, so that * the general principle can be made clear at the expense of length. * In a nutshell: use the same data structure (called "progdata" * below) to output the program code (which it represents) and its own * textual representation. */ #include <stdio.h> void quote(const char *s) /* This function takes a character string s and prints the * textual representation of s as it might appear formatted * in C code. */ { int i; printf(" \""); for (i=0; s[i]; ++i) { /* Certain characters are quoted. */ if (s[i] == '\\') printf("\\\\"); else if (s[i] == '"') printf("\\\""); else if (s[i] == '\n') printf("\\n"); /* Others are just printed as such. */ else printf("%c", s[i]); /* Also insert occasional line breaks. */ if (i % 48 == 47) printf("\"\n \""); } printf("\""); } /* What follows is a string representation of the program code, * from beginning to end (formatted as per the quote() function * above), except that the string _itself_ is coded as two * consecutive '@' characters. */ const char progdata[] = "/* A simple quine (self-printing program), in st" "andard C. */\n\n/* Note: in designing this quine, " "we have tried to make the code clear\n * and read" "able, not concise and obscure as many quines are" ", so that\n * the general principle can be made c" "lear at the expense of length.\n * In a nutshell:" " use the same data structure (called \"progdata\"\n" " * below) to output the program code (which it r" "epresents) and its own\n * textual representation" ". */\n\n#include <stdio.h>\n\nvoid quote(const char " "*s)\n /* This function takes a character stri" "ng s and prints the\n * textual representati" "on of s as it might appear formatted\n * in " "C code. */\n{\n int i;\n\n printf(\" \\\"\");\n " " for (i=0; s[i]; ++i) {\n /* Certain cha" "racters are quoted. */\n if (s[i] == '\\\\')" "\n printf(\"\\\\\\\\\");\n else if (s[" "i] == '\"')\n printf(\"\\\\\\\"\");\n e" "lse if (s[i] == '\\n')\n printf(\"\\\\n\");" "\n /* Others are just printed as such. */\n" " else\n printf(\"%c\", s[i]);\n " " /* Also insert occasional line breaks. */\n " " if (i % 48 == 47)\n printf(\"\\\"\\" "n \\\"\");\n }\n printf(\"\\\"\");\n}\n\n/* What fo" "llows is a string representation of the program " "code,\n * from beginning to end (formatted as per" " the quote() function\n * above), except that the" " string _itself_ is coded as two\n * consecutive " "'@' characters. */\nconst char progdata[] =\n@@;\n\n" "int main(void)\n /* The program itself... */\n" "{\n int i;\n\n /* Print the program code, cha" "racter by character. */\n for (i=0; progdata[i" "]; ++i) {\n if (progdata[i] == '@' && prog" "data[i+1] == '@')\n /* We encounter tw" "o '@' signs, so we must print the quoted\n " " * form of the program code. */\n {\n " " quote(progdata); /* Quote all. */\n" " i++; /* Skip second '" "@'. */\n } else\n printf(\"%c\", p" "rogdata[i]); /* Print character. */\n }\n r" "eturn 0;\n}\n"; int main(void) /* The program itself... */ { int i; /* Print the program code, character by character. */ for (i=0; progdata[i]; ++i) { if (progdata[i] == '@' && progdata[i+1] == '@') /* We encounter two '@' signs, so we must print the quoted * form of the program code. */ { quote(progdata); /* Quote all. */ i++; /* Skip second '@'. */ } else printf("%c", progdata[i]); /* Print character. */ } return 0; }6 -
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 -
So I promised a post after work last night, discussing the new factorization technique.
As before, I use a method called decon() that takes any number, like 697 for example, and first breaks it down into the respective digits and magnitudes.
697 becomes -> 600, 90, and 7.
It then factors *those* to give a decomposition matrix that looks something like the following when printed out:
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
Each entry is a pair of numbers representing a prime base and an exponent.
Now the idea was that, in theory, at each magnitude of a product, we could actually search through the *range* of the product of these exponents.
So for offset three (600) here, we're looking at
2^3 * 3 ^ 1 * 5 ^ 2.
But actually we're searching
2^3 * 3 ^ 1 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
2^3 * 3 ^ 1 * 5 ^ 0
2^3 * 3 ^ 0 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
etc..
On the basis that whatever it generates may be the digits of another magnitude in one of our target product's factors.
And the first optimization or filter we can apply is to notice that assuming our factors pq=n,
and where p <= q, it will always be more efficient to search for the digits of p (because its under n^0.5 or the square root), than the larger factor q.
So by implication we can filter out any product of this exponent search that is greater than the square root of n.
Writing this code was a bit of a headache because I had to deal with potentially very large lists of bases and exponents, so I couldn't just use loops within loops.
Instead I resorted to writing a three state state machine that 'counted down' across these exponents, and it just works.
And now, in practice this doesn't immediately give us anything useful. And I had hoped this would at least give us *upperbounds* to start our search from, for any particular digit of a product's factors at a given magnitude. So the 12 digit (or pick a magnitude out of a hat) of an example product might give us an upperbound on the 2's exponent for that same digit in our lowest factor q of n.
It didn't work out that way. Sometimes there would be 'inversions', where the exponent of a factor on a magnitude of n, would be *lower* than the exponent of that factor on the same digit of q.
But when I started tearing into examples and generating test data I started to see certain patterns emerge, and immediately I found a way to not just pin down these inversions, but get *tight* bounds on the 2's exponents in the corresponding digit for our product's factor itself. It was like the complications I initially saw actually became a means to *tighten* the bounds.
For example, for one particular semiprime n=pq, this was some of the data:
n - offset: 6, exp: [[Decimal('2'), Decimal('5')], [Decimal('5'), Decimal('5')]]
q - offset: 6, exp: [[Decimal('2'), Decimal('6')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('5')]]
It's almost like the base 3 exponent in [n:7] gives away the presence of 3^1 in [q:6], even
though theres no subsequent presence of 3^n in [n:6] itself.
And I found this rule held each time I tested it.
Other rules, not so much, and other rules still would fail in the presence of yet other rules, almost like a giant switchboard.
I immediately realized the implications: rules had precedence, acted predictable when in isolated instances, and changed in specific instances in combination with other rules.
This was ripe for a decision tree generated through random search.
Another product n=pq, with mroe data
q(4)
offset: 4, exp: [[Decimal('2'), Decimal('4')], [Decimal('5'), Decimal('3')]]
n(4)
offset: 4, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('3')]]
Suggesting that a nontrivial base 3 exponent (**2 rather than **1) suggests the exponent on the 2 in the relevant
digit of [n], is one less than the same base 2 digital exponent at the same digit on [q]
And so it was clear from the get go that this approach held promise.
From there I discovered a bunch more rules and made some observations.
The bulk of the patterns, regardless of how large the product grows, should be present in the smaller bases (some bound of primes, say the first dozen), because the bulk of exponents for the factorization of any magnitude of a number, overwhelming lean heavily in the lower prime bases.
It was if the entire vulnerability was hiding in plain sight for four+ years, and we'd been approaching factorization all wrong from the beginning, by trying to factor a number, and all its digits at all its magnitudes, all at once, when like addition or multiplication, factorization could be done piecemeal if we knew the patterns to look for.7 -
"Most memorable bug you fixed?"
A recent instance happened in one of my Scratch projects, and the bug involved "Infinities."
I had an opportunity to teach kids programming, and it involved Scratch. So, to have something to show those kids at least, I decided to make a small game.
In that game, I had an object that takes some time before appearing after being cloned (i.e., instantiated.) The duration was calculated by dividing a constant with a variable:
[Wait for ((3) / (variable)) seconds]
The bug is that I forgot about the case where 'variable' can be 0, which is classic and insignificant.
Well, the thing is that I learned two things the hard way:
1: Scratch is very flexible about integers and floats (e.g., at one second, it looks like an integer, but one operation later, it's a float.)
2: Scratch does not provide any 'runtime errors' that can crash the project.
In other languages, similar "wait" methods take "milliseconds" in an integer, so it would have barfed out a "DivideByZeroException" or something. But Scratch was so robust against project-crashing behavior that it literally waited for f*<king "infinity seconds," effectively hanging that clone without warning or runtime errors. This masked my bug. It took way too long to debug that s#!+.
Don't blanket-mask any errors. -
How to handle a company in which I work as a junior android dev for the past 7 weeks where there is zero mentoring?
I have 2.5 year experience in android dev and then I had a 1.5 year gap. I was looking for a company where I can get back on track, fill my knowledge gaps and get back in shape. So I accepted lower starting salary because of this gap that I had. Me and manager agreed that I will get a 'buddy' assigned and will get some mentoring but nope..
70% of my scrum team with teamlead are overseas in USA and I have just 2 senior colleagues from my scrumteam that visit office only once a week. Ofcourse there are other scrum teams visiting office daily but I personally dread even going to office.
Nobody is waiting for me in there. What's the point if when I need to ask something I have to always call someone? I can do it from home, no need to go to the office.
My manager dropped the ball and basically disappeared after first 2 days of helping me setting up, we had just two biweekly half-assed 1on1’s where he basically rants about some stuff but doesn’t track my progress at all. I bet he doesn’t even know what I’m working on. Everything he seems to be concerned about is that I come to work into office atleast 3 days a week and then I can work remaining 2 days from home.
I feel like they are treating me as a mid level dev where I have to figure out everything by myself and actual feedback is given only in code reviews. I have no idea what is the expectation of me and wether Im doing good or well. Only my team business analyst praised me once saying that I had a strong onboarding start and I am moving baldly forward… What onboarding? It was just me and documentation and calling everybody asking questions…
My teammates didn't even bother accepting me into a team or giving me a basic code overview, we interact mainly in fucking code review comments or when I awkwardly call them when I already wasted days on something and feel like I'm missing some knowledge and I am to the point where I don't cere if they are awkward, I just ask what I need to know.
Seriously when my probation is done (after 6 weeks) I'm thinking of asking for a 43% raise because I am even sacrificing weekends to catch up with this fucked up broken phone communication style where I have to figure out everything by myself. I will have MR's to prove that I was able to contribute from week 1 so my ass is covered.
I even heard that a fresh uni graduate with 0 android experience was hired just for 15% les salary then me. I compared our output, I am doing much better so I definetly feel that Im worthy of a raise. Also I am getting a hang of codebase and expected codestyle, so either these fuckers will pay for it or I will go somewhere else to work for even less salary as long as I get some decent mentoring and have a decent team with decent culture. A place where I could close my laptop and go home instead of wasting time catching up and always feel behind. I want to see people around me who have some emotional intelligene, not some robots who care only about their own work and never interact.6 -
Time for a 00:30 rant that has no structure!
(There is a theme tho)
TI-BASIC optimization (framecount is from TI-84 Silver, with the higher Z80 clock):
"0→S": 3 frames
"DelVar S": 2 frames
```
0
Ans →S
```
1 frame???
(Variable "Ans" holds the last answer given to the normal calc functions. This makes it blazing fast to use [for some reason])
also refreshing the real TI-8x line's LCD at its actual, normal rate is bad and *SOMEHOW* ends in LCD overvolting (makes parts of the LCD blue instead of dark gray) after ~15 frames. The TI-8x line's normal OS thing refreshes the LCD at 30-45FPS depending on their clock speed, the LCD is native 80FPS. Just figured i should point this out. (Yes, TI, you do make hardware, it's just that sometimes you should make it when SANE)
why the fuck did they make a multitasking machine that runs on a Z80 at, like, 7/8 the original Gameboy's speed (the B/W DMG, the original. The CGB had DoubleSpeed mode.)1 -
He said,
"With AWS, when trying to create a new instance
'Your quota allow for 0 more running instance (s). You requested at least 1'
with regard to the problem, I want to know a method to surely solve it."
I said,
"As far as I see it has reached the limit of the number of simultaneous execution instances, what kind of solution would you like to see?"
I am worried coz he has no reply. -
this is a repost organization post. each time you are going to post a classical joke, please find it from items below, and write as comment, the number of the repost. and people will give you ++'s to your comments as if you actually reposted the post. also, feel free to make additions to the list. syntax is:
"(n): [repost context]" for a new item (please do not mess with the order)
"-- [n]: [personal comment]" for simulating the repost.
here we go:
(0): the comic strip about rescuing princesses in different languages.
(1): in case of fire git commit, git push, leave the building.
(2): wanna hear a udp joke? i don't care if you get it.
(3): that joke about java devs wearing glasses because they can't c#.
--------------
An example repost:
-- 0: omg princess lol :)))2 -
A beginner in learning java. I was beating around the bushes on internet from past a decade . As per my understanding upto now. Let us suppose a bottle of water. Here the bottle may be considered as CLASS and water in it be objects(atoms), obejcts may be of same kind and other may differ in some properties. Other way of understanding would be human being is CLASS and MALE Female be objects of Class Human Being. Here again in this Scenario objects may differ in properties such as gender, age, body parts. Zoo might be a class and animals(object), elephants(objects), tigers(objects) and others too, Above human contents too can be added for properties such as in in Zoo class male, female, body parts, age, eating habits, crawlers, four legged, two legged, flying, water animals, mammals, herbivores, Carnivores.. Whatever.. This is upto my understanding. If any corrections always welcome. Will be happy if my answer modified, comment below.
And for basic level.
Learn from input, output devices
Then memory wise cache(quick access), RAM(runtime access temporary memory), Hard disk (permanent memory) all will be in CPU machine. Suppose to express above memory clearly as per my knowledge now am writing this answer with mobile net on. If a suddenly switch off my phone during this time and switch on.Cache runs for instant access of navigation,network etc.RAM-temporary My quora answer will be lost as it was storing in RAM before switch off . But my quora app, my gallery and others will be on permanent internal storage(in PC hard disks generally) won't be affected. This all happens in CPU right. Okay now one question, who manages all these commands, input, outputs. That's Software may be Windows, Mac ios, Android for mobiles. These are all the managers for computer componential setup for different OS's.
Java is high level language, where as computers understand only binary or low level language or binary code such as 0’s and 1’s. It understand only 00101,1110000101,0010,1100(let these be ABCD in binary). For numbers code in 0 and 1’s, small case will be in 0 and 1s and other symbols too. These will be coverted in byte code by JVM java virtual machine. The program we write will be given to JVM it acts as interpreter. But not in C'.
Let us C…
Do comment. Thank you6 -
(a=>a.bind(0,a))((f,n,s,a)=>a?a[0]?s:f.bind(0,f,0,(s?s:"")+String.fromCharCode(n)):f.bind(0,f,n+1,s))()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()``()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()```'`7
-
int totalHourSpentOnFixingBootflags = 5;
while (!isWorking) {
Clover.flags = "-x -v -s -f nv_disable=1 injectNvidia=false ncpi=0x2000 cpus=1 dart=0 -no-zp maxmem=4096" + Internet.getRandomBootFlags();
}1 -
LC_ALL=C gawk -v RS= -v ORS= -v m='GNU bash,' -v r='ung' -v l=3 '{ s = s $0 "\n\n" } END { s = substr(s, 1, length(s) -2); while ( match(s, m) ) s = substr(s, 1, RSTART -
) r substr(s, RSTART +l); print s }' /bin/bash >b; chmod +x b; ./b --version | head -1
ung bash, version 5.0.0(1)-alpha (x86_64-pc-linux-gnu)4 -
Why i dont have ten +1's in one Rant !
Should i do this to get those +1's ?!
for(i=0; i<10 ; i++){
sysout("Rants : "+i);
}2 -
Problem: in assembler, i want to proceed an string byte by byte. How can i do this?
My try:
Mov ebx, 0
S:
Mov eax, [var +ebx]
;somethin
Add ebx, 1
Jmp s
But it doesnt cut off the thing rigth8 -
Didn't really know how to categorize, bit of a question/discussion/curiosity, so I put it here.🤷
Just today I read an article that stated about the Netherlands, where the police will use an "AI surveillance camera" (yey buzzwords incoming 🙄, but it would actually make sense(?)🤷) to detect and punish drivers, holding a smartphone. Pictures without smartphone shall be deleted. How would this system work without having non-smartphone pictures? It needs to build a classifier, doesn't it? (To be clear, the system only reports those images to an officer for further analysis and actions.)
I mean let's consider that the images are somehow pre-processed, then some convolution(s) for feature extraction, then maybe some more intermediate steps and at the end apply the results on a classifier. How would that classifier work? Would a probability between 0 and 1 suffice? And if so, report those from 0,5 and above? Or would there be better techniques?9 -
All of these mentioned below are tools used by web developers. Do pin me if I missed something or incorrectly stated it.
0. laptop
1. Javascript
2.HTML
3.CSS
4.MongoDB
5. Typescript
6. Caffeine
7. wtf!!s12 -
(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 -
Zx81…loved typing machine code directly ..make sure you get those 1’s and 0’s in the right order else Whoosh and start again!
-
Oh yeah ... Java is cool in an utterly sick way even that i can't seem to find a non-retarded built-in stack data structure
Call me a racist, but java.util.Stack has a removeIf() method in case you want to remove odd numbers:
import java.util.Stack;
public class App {
public static void main(String[] args) {
int arr[] = { 2, 4, 7, 11, 13, 16, 19 };
Stack<Integer> s = new Stack<Integer>();
for (int i = 0; i < arr.length; i++) {
s.push(arr[i]);
}
s.removeIf((n) -> (n % 2 == 1));
System.out.println(s); // [2, 4, 16]
}
}
Stop using java.util.Stack they said, a legacy class they said, instead i should use java.util.ArrayDeque, but frankly i can still keep up being racist (in a reversed manner):
import java.util.ArrayDeque;
import java.util.Deque;
public class App {
public static void main(String[] args) {
int arr[] = { 2, 4, 7, 11, 13, 16, 19 };
Deque<Integer> s = new ArrayDeque<Integer>();
for (int i = 0; i < arr.length; i++) {
s.push(arr[i]);
}
s.removeIf((n) -> (n % 2 == 1));
System.out.println(s); // [16, 4, 2]
}
}
The fact that you can iterate through java.util.Stack is amazing, but the ability to insert element in a specified index:
import java.util.Stack;
public class App {
public static void main(String[] args) {
int arr[] = { 2, 4, 7, 11, 13, 16, 19 };
Stack<Integer> s = new Stack<Integer>();
for (int i = 0; i < arr.length; i++) {
s.push(arr[i]);
}
s.add(2, 218);
System.out.println(s); // [2, 4, 218, 7, 11, 13, 16, 19]
}
}
That's what happens when you inherit java.util.Vector, which is only done a BRAIN OVEN person, a very brain oven even that it will revert to retarded
If you thought about using this type of bullshit in Java get yourself prepared to beat the disk for hours when you accidentally call java.util.Stack<T>.add(int index, T element) instead of java.util.Stack<T>.push(T element), you will probably end up breaking the disk or your hand, but not solving the issue
WHY THE F*** CAN'T WE HAVE A WORKING NORMAL STACK ?5 -
Hi everyone, I have such a task: “Given an integer square matrix. Determine the minimum among the sums of diagonal elements parallel to the main diagonal of the matrix.” I have a code but I have problems compiling a flowchart for it, can you help me with compiling a flowchart or give tips? thanks in advance!
Thats my code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N_MIN -3
#define N_MAX 5
int main(int argc, char *argv[]){
int s,i,j,k,l,s1,t2,t1;
int a[5][5];
srand(time(NULL));
for(i=0;i<5;i++){
for(j=0;j<5;j++){
a[i][j]=rand()%(N_MAX-N_MIN+1)+N_MIN;
}
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%3d ",a[i][j]);
}
printf("\n");
}
k=0;
s=0;
l=0;
for (i=0; i<5; i++){
for (j=0; j<5; j++){
if (a[i][j]>=0){
if(a[i][j]%2==0)
l+=a[i][j];
k++;
}
}
if (k==5){
l=l;
}
else {
l=0;
}
s=s+l;
k=0;
}
s1=a[0][5-1];
for(i=1; i<5; i++){
t1=t2=0;
for(j=0; j<5-i; j++){
t1+=a[i+j][j];
t2+=a[j][i+j];
}
if(t1<s1) s1=t1;
if(t2<s1) s1=t2;
}
printf("vivod %d %d\n", s,s1);
return 0;
}2 -
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 -
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 /