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 - "b&r"
-
A is for Assembly, a wizard's spell
B is for Bootstrap, so bland and the same. And also for Brainf*ck, will blow you away
C is for COBOL, your grandad knows that
D is for daemon, your server knows what
E is for Express.js, you node what is coming
F is for FORTRAN, which is perferct for sciencing
G is for GNU which is GNU not UNIX
H is for Haskell using functional units
I is for Intance, An action of Object
J is for Java plays with them Always
K is for Kotlin, Android's new toy
L is for Lisp, scheming a ploy
M is for Matlab, who knows how it works
N is for Node a bloatware of code
O is for Objective Pascal, you did not expect that
P is for programming, we all love to do that
Q is for Queries, A database is made
R is for R, statistics are great
S is for Selenium, you have to test that
S is for Smalltalk, let's make it all brief
T is for Turing Test, how human is this?
U is for Unix, build with all talents
V is for Visual Studio, built with all laments
W is for Web, lets build something cool
X is for XHTML, remember all that?
Y is for Y2K, I'm tired as f*ck
Z is for Zip, let's zip is all now.
Get yourself coffee and back to the grind.8 -
POSTMORTEM
"4096 bit ~ 96 hours is what he said.
IDK why, but when he took the challenge, he posted that it'd take 36 hours"
As @cbsa wrote, and nitwhiz wrote "but the statement was that op's i3 did it in 11 hours. So there must be a result already, which can be verified?"
I added time because I was in the middle of a port involving ArbFloat so I could get arbitrary precision. I had a crude desmos graph doing projections on what I'd already factored in order to get an idea of how long it'd take to do larger
bit lengths
@p100sch speculated on the walked back time, and overstating the rig capabilities. Instead I spent a lot of time trying to get it 'just-so'.
Worse, because I had to resort to "Decimal" in python (and am currently experimenting with the same in Julia), both of which are immutable types, the GC was taking > 25% of the cpu time.
Performancewise, the numbers I cited in the actual thread, as of this time:
largest product factored was 32bit, 1855526741 * 2163967087, took 1116.111s in python.
Julia build used a slightly different method, & managed to factor a 27 bit number, 103147223 * 88789957 in 20.9s,
but this wasn't typical.
What surprised me was the variability. One bit length could take 100s or a couple thousand seconds even, and a product that was 1-2 bits longer could return a result in under a minute, sometimes in seconds.
This started cropping up, ironically, right after I posted the thread, whats a man to do?
So I started trying a bunch of things, some of which worked. Shameless as I am, I accepted the challenge. Things weren't perfect but it was going well enough. At that point I hadn't slept in 30~ hours so when I thought I had it I let it run and went to bed. 5 AM comes, I check the program. Still calculating, and way overshot. Fuuuuuuccc...
So here we are now and it's say to safe the worlds not gonna burn if I explain it seeing as it doesn't work, or at least only some of the time.
Others people, much smarter than me, mentioned it may be a means of finding more secure pairs, and maybe so, I'm not familiar enough to know.
For everyone that followed, commented, those who contributed, even the doubters who kept a sanity check on this without whom this would have been an even bigger embarassement, and the people with their pins and tactical dots, thanks.
So here it is.
A few assumptions first.
Assuming p = the product,
a = some prime,
b = another prime,
and r = a/b (where a is smaller than b)
w = 1/sqrt(p)
(also experimented with w = 1/sqrt(p)*2 but I kept overshooting my a very small margin)
x = a/p
y = b/p
1. for every two numbers, there is a ratio (r) that you can search for among the decimals, starting at 1.0, counting down. You can use this to find the original factors e.x. p*r=n, p/n=m (assuming the product has only two factors), instead of having to do a sieve.
2. You don't need the first number you find to be the precise value of a factor (we're doing floating point math), a large subset of decimal values for the value of a or b will naturally 'fall' into the value of a (or b) + some fractional number, which is lost. Some of you will object, "But if thats wrong, your result will be wrong!" but hear me out.
3. You round for the first factor 'found', and from there, you take the result and do p/a to get b. If 'a' is actually a factor of p, then mod(b, 1) == 0, and then naturally, a*b SHOULD equal p.
If not, you throw out both numbers, rinse and repeat.
Now I knew this this could be faster. Realized the finer the representation, the less important the fractional digits further right in the number were, it was just a matter of how much precision I could AFFORD to lose and still get an accurate result for r*p=a.
Fast forward, lot of experimentation, was hitting a lot of worst case time complexities, where the most significant digits had a bunch of zeroes in front of them so starting at 1.0 was a no go in many situations. Started looking and realized
I didn't NEED the ratio of a/b, I just needed the ratio of a to p.
Intuitively it made sense, but starting at 1.0 was blowing up the calculation time, and this made it so much worse.
I realized if I could start at r=1/sqrt(p) instead, and that because of certain properties, the fractional result of this, r, would ALWAYS be 1. close to one of the factors fractional value of n/p, and 2. it looked like it was guaranteed that r=1/sqrt(p) would ALWAYS be less than at least one of the primes, putting a bound on worst case.
The final result in executable pseudo code (python lol) looks something like the above variables plus
while w >= 0.0:
if (p / round(w*p)) % 1 == 0:
x = round(w*p)
y = p / round(w*p)
if x*y == p:
print("factors found!")
print(x)
print(y)
break
w = w + i
Still working but if anyone sees obvious problems I'd LOVE to hear about it.36 -
Father devrant I have a confession to make:
I stayed up until 12 in the midnight during Sep 30 to do 4 PRs immediately once it was October 1 in under 1 hour...
Now I passed out on the classroom and people think I got possesed
b r u h6 -
Was explaining a technical concept at a "family" dinner. Suddenly stepmother wanted my help for something technical.
Stepmother: Say Awlex, could you help me install some software I recently bought?
Me: (Not this shit again) I even don't know what software you're talking about. How is the software called, what does it do?
Sm: it's calles digital... *long pause*
Me: (I don't like where this is going)
Sm: software... *another long pause*
Me: (fuck me harder than that lightly clothed woman outside)
Sm: something... *long pause*
Me: (alright brain, which way out of here doesn't involves me creating a bullet hole in either one of us?)
Sm: And you can use it to sell something...
Me: (tf do you event sell?!)
Sm: but not like ebay
Me: (what is it then? A platform for selling services? I don't even know what kind of software you'd have to install, given that most of these platforms are be web applications, whcih makes sense for selling stuff on the internet)
Sm: Anyway, could you help me install it? It would take me hours to get into it.
Me: (You think just installing would solve it? As soon as I install it, you probably expect me to be your walking manual as well, don't you?) Look, I'm gonna be honest with you, since I started working I don't have nearly as much free time as I used to have (Not everybody works when they feel like it, you know that?) I get home at around almost 7pm (most of the time) and don't really wanna work afterwards. Most of the time there's a support service from the people who made this software and they would be glad to help you. (Sorry support team, for pushing this bundle of incompetence onto you, but I guess she didn't even listen to my advice).
After that she didn't back down and still wanted my help. Then my grandmother derailed the conversation and got me out of this. When I thanked her later she yold me that she saw I saw uncomfortable and wanted to help. I love my grandmother.
So I am not going to be your "family" tech support. You b(r)ought this onto yourself. Are more than twice my age and still can't use your brain to solve problems like these on your own and you can even less reason abiut your motives and desires when asking for help. I am sick of you and shutty opinions about people, just because I work as a software engineer doesn't mean I'm exist solely for satisfying your unreasonable desires.
Stop offending me and my profession and get yourself some common sense.
Protip #0: Give me one fucking reason to help you, because you're not family enough and your personality really doesn't bring forth any emotion but annoyance4 -
The GashlyCode Tinies
A is for Amy whose malloc was one byte short
B is for Basil who used a quadratic sort
C is for Chuck who checked floats for equality
D is for Desmond who double-freed memory
E is for Ed whose exceptions weren’t handled
F is for Franny whose stack pointers dangled
G is for Glenda whose reads and writes raced
H is for Hans who forgot the base case
I is for Ivan who did not initialize
J is for Jenny who did not know Least Surprise
K is for Kate whose inheritance depth might shock
L is for Larry who never released a lock
M is for Meg who used negatives as unsigned
N is for Ned with behavior left undefined
O is for Olive whose index was off by one
P is for Pat who ignored buffer overrun
Q is for Quentin whose numbers had overflows
R is for Rhoda whose code made the rep exposed
S is for Sam who skipped retesting after wait()
T is for Tom who lacked TCP_NODELAY
U is for Una whose functions were most verbose
V is for Vic who subtracted when floats were close
W is for Winnie who aliased arguments
X is for Xerxes who thought type casts made good sense
Y is for Yorick whose interface was too wide
Z is for Zack in whose code nulls were often spied
- Andrew Myers4 -
I'm bored af so I'm creating a language based on images.
In one day I instantiated my first variable :D
Basically, the first pixel defines the action type (in this case, red = initialize variable), the second one defines the variable color (aka name), and the rest defines the value using grey scale (0-255, every r/g/b is a character).
I know this is soooooooo useless but I just want to do something particular.
*Epic music* this is the birth of JPxl *stop epic music*!9 -
Worst exp. on a collab/group project?
Had a few, here is one.
Worked with a dev team (of two devs) in Norway to begin collaboration on providing a portal into our system (placing orders, retrieving customer info, inventory control, etc)
They spoke very good English, but motivation was the problem. Start the day around 10:00AM...take a two hour lunch...ended the day at, if I was lucky, 4:00PM (relative to Norway time). Response time to questions took days, sometimes weeks. We used Skype, which helped, but everything was "Yea...I'll do that tomorrow...waiting on X....I have a wedding to go to, so I'll finish my part next week."
I didn't care so much, I had other projects to do, but the stakeholders pounded me almost everyday demanding a progress report (why aren't you done yet...etc..etc.)
The badgering got so bad I told the project owner (a VP) if he wanted this project done by the end of the year, the company would have to fly me to Norway so I personally push things along.
When real money was on the line, he decided patience was warranted.
A 3 month project turned into 9, and during a phone meeting with the CEO in December
O: "Thanks guys, this project is going great. We'll talk again in February. Bye."
PM: "Whoa...what! February!"
<sounding puzzled>
O: "Um..yes? It's Christmas time. Don't you Americans take off for Christmas?"
PM: "Yes, but not until Christmas. Its only December 12th. Your taking the whole month of December and January for Christmas?"
O:"Yes, of course. You Americans work too hard. You should come over here and see how we celebrate. Takes about a month so we can ease back into the flow of things."
<Jack is the VP>
PM: "Jack wanted this project completed by the end of the year, that is what everyone agreed to."
O:"Yes, I suppose, but my plane is waiting on me. Not to worry, everything will be fine."
<ceo hangs up>
PM: "Oh shit..oh shit..oh shit. What are you going to do!?"
Me: "Me!?..not a darn thing. Better go talk with Jeff."
<Jeff is the VP>
J: "This is unacceptable. You promised this project would only take a few months. I told you there would be consequences for not meeting the deadline."
PM:"But..but...its not our fault."
J: "I don't care about fault. I care about responsibility. I've never had to fire anyone for not meeting a deadline, but .."
Me: "Jeff, they are in Norway and no one is working this project for the next two months. You've known for months about them dragging their asses on this project. We're ready to go. Services have been tested and deployed. Accounting has all the payment routing ready. Only piece missing is theirs."
J: "Oh. OK. Great job guys. I guess we'll delay this project until February."
<leave the office>
PM: "Holy shit I'm glad you were there. I thought I was fired."
Me: "Yea, and that prick would have done it not giving a crap that it's Christmas."
<fast forward to Feb>
O: "Our service provider fell through, so I'm hosting with another company. You guys know PHP? Perl? I don't know what they called it, but it sounded so cool I bought the company."
PM: "You bought what? Are we still working with Z and B?"
O:"Yea, sort of. How's your German? New guy only speaks German."
PM: "Um, uh... no one here speaks German"
O:"Not to worry, I speak German, French, and Italian. I'll be your translator."
PM: "What? French and Italian?"
O: "On my trip to France I connected with a importer who then got me in touch with international shipper in Italy. I flew over there and met a couple really smart guys than can help us out. My new guy only speaks German, J only speaks French, and R speaks Italian, Russian, and a little English. Not to worry, I'm full time on this project. You have my full attention."
We believe the CEO has/had some serious mental issues, including some ADD. He bailed within the first month (took another vacation to Sweden to do some fishing) and left me using Google Translate to coordinate the project. Luckily, by the end, the Norwegian company hired a contractor from England who spoke German and hobbled together the final integration.3 -
I am currently working on my Master's thesis in the R&D department of a company that builds&sells mechanical appliances. Obviously a part of the thesis is outlining the various approaches.
Me: * Headphones on, browsing competitor's website for citeable content*
*Le boss approaches, starts looking at my screen*
B: Are you honestly preferring their approach over ours?!
M: *sets down headphones* What dou you mean?
B: *Begins rant about unfair competitors, how I dare consider defecting to a competitor*
M: Uhm.. I was just looking for sources so that i coukd write about different approaches...
B: Oh. Carry on then. *leaves*
M: *scratches head, opens devRant, begins typing*1 -
5 stages of failing WIFI connectivity on Linux
This morning I woke up my laptop to start my work day. I have 2 very important meetings today, so I better get all prepared.
"Wifi connection failed"
Syslog says:
- wpa_supplicant: wlp9s0: SME: Trying to authenticate with <MAC>
- kernel: wlp9s0: authenticate with <MAC>
- kernel: wl9s0: send auth to <MAC> (try 1/3)
- kernel: wl9s0: send auth to <MAC> (try 2/3)
- kernel: iwlwifi: Not associated and the session protection is over already...
- kernel: wl9s0: send auth to <MAC> (try 3/3)
- kernel: wl9s0: authentication with <MAC> timed out
#### DENIAL #####
No biggie, let's try another AP (I have 3). All 3 failed to connect. Fine, let's try my phone's hotspot! FAILED!!!!!
w00t.... okay, let's restart the router... but failing to connect to a phone hotspot is already a worrying sign.
Wifi connection failed
wtf.. disable and re-enable wifi
Wifi connection failed
#### ANGER #####
the fuuuuuuck. Maybe my router is dead. But my phone connects to it, no fuss. My personal lappy also connects there easily.
wtf... Does that mean I'm about to lose my uptime?? Come one!! It's Linux - there MUST be something I could do! I don't see processes hanging in D state so the radio must be fine - it's gotta be a software issue!
ChatGPT – type all the log entries manually, via phone (that took a while...). Nothing useful there: update firmware, restart NetworkManager, etc.
#### BARGAINING #####
Alright... How about a USB dongle? Plug it in and wifi connects immediately! Yayyy!!! But that's only b/g/n and I'd very much like to have ac. It works well as a limping backup, but not something I'd use for the meetings.
rfkill block/unblock all the radios. No change. USB dongle connects right away but the PCIe adapter keeps throwing notifications at me with failure messages. It's annoying, to say the least.
So I've already tried
- restarting the router(s)
- disabling/reenabling the radios
- multiple APs
- suspending/waking again several times
- praying
#### DEPRESSION #####
The only thing I haven't tried yet is the most cruel one - restarting the laptop. But that's unfair... It's LINUX! How could it disappoint me. I have so many tmux sessions open, so many unsaved leafpad notes, terminal histories with oh so comfy ^r and ! retriggers all ready and waiting to be executed...
#### ACCEPTANCE #####
But I can't miss the meeting. So I slowly start closing off apps, starting with the least important ones, trying to preserve as much history and recent commands as I can. I'm gonna lose my uptime, that's the inevitable obvious truth... Linux has failed me. Or maybe it's a hardware issue... I can't be sure until I restart.
I must reboot.
#### A NEW HOPE #####
Hold on.. What if... What if before restarting I try to reload the Intel wifi kernel module? Just for the giggles. I've got nothing to lose anyway...
rmmod iwlmvm
rmmod iwlwifi
modprobe iwlwifi
modprobe iwlmvm
*WiFi Connected*
YESSSS!!!!!!!!! My uptime is saved!
403 days and counting! YEAH BABY!!!
Linux is the best!rant sysadmin 5 stages of grief wifi reboot or not reboot reboot uptime network-manager wpa_supplicant linux8 -
main(n){float r,i,R,I,b;for(i=-1;i<1;i+=.06,puts(""))for(r=-2;I=i,(R=r)<1; r+=.03,putchar(n+31))for(n=0;b=I*I,26>n++&&R*R+b<4;I=2*R*I+i,R=R*R-b+r);}
C is awesome - try this code, and play around with the numbers
(I didn't write this)7 -
*maniacal laughter*
/(?<digit>\\d)|(?<non_digit>\\D)|(?<alphanumeric>\\w)|(?<non_alphanumeric>\\W)|(?<whitespace>\\s)|(?<non_whitespace>\\S)|(?<horizontal_tab>\\t)|(?<carriage_return>\\r)|(?<linefeed>\\n)|(?<vertical_tab>\\v)|(?<form_feed>\\f)|(?<backspace>\[\\b.*?\])|(?<NUL>\\0)|(?<control_character>\\c[A-Z])/g;
... I need to sleep19 -
Boss: some consultants worked on this feature extending some legacy code
Boss: it's 90% done
Boss: they used FTP. It uses iframes and we fired them when they couldn't get the frontend modules working in sync with the backend.
Me: git checkout -b herewegoagain
git diff-tree --no-commit-id --name-only -r 666w3wl4d
*copy output list of files to sublime text 3; select all lines; add to each:
gitk --follow [filename] > src/.notes/herewegoagain/[filename].diff
*examines....
Me: It's -10% done. you'll know I'm almost done when I enter the fugue state. You'll find me at this address. Give me this USB stick and a 4 pack of redbull and I'll do the merge.6 -
So, I wanted to find a new way to arrange my language's alphabet. Atm, I'm loosely using latin's system even though my system is weird;
A B K D E F G H I IE SH L M N O P R S T U V
So, I remember that another language (I think Japanese) uses a poem with every letter to figure the order of their letters, so I decided to do the same.
Only problem is: My current word list is very limited, some of the letters I needed only existed in specific words (aka, the word for "Dark") so I ended up making a very depressing poem.
Enjoy! Or not.. I'm not going to tell you what to do.
English translation below. I also will post images of it written in my language's script, as well as one line in my language's cursive script (I'm not doing the whole thing in cursive because fuck that)
Senarseha:
Seh ninfuat seh nem fieta; Seka sato nem fiekm juna jenes sermin.
Seh ninfuat sif nemsin netua niet; Seka sem sedma nemat sargo no
nrokniet sam fiekmin sehim sepra.
Sehim sinta nem nara niv nakliet.
Seh nem sine fieta.
English:
I say I am well; But all is dark before day begins.
I say it isn't too much; But this place is a farm of
preasure that blackens my soul.
My mind is ever in agony.
I am not well.5 -
Today on "How the Fuck is Python a Real Language?": Lambda functions and other dumb Python syntax.
Lambda functions are generally passed as callbacks, e.g. "myFunc(a, b, lambda c, d: c + d)". Note that the comma between c and d is somehow on a completely different level than the comma between a and b, even though they're both within the same brackets, because instead of using something like, say, universally agreed-upon grouping symbols to visually group the lambda function arguments together, Python groups them using a reserved keyword on one end, and two little dots on the other end. Like yeah, that's easy to notice among 10 other variable and argument names. But Python couldn't really do any better, because "myFunc(a, b, (c, d): c + d)" would be even less readable and prone to typos given how fucked up Python's use of brackets already is.
And while I'm on the topic of dumb Python syntax, let's look at the switch, um, match statements. For a long time, people behind Python argued that a bunch of elif statements with the same fucking conditions (e.g. x == 1, x == 2, x == 3, ...) are more readable than a standard switch statement, but then in Python 3.10 (released only 1 year ago), they finally came to their senses and added match and case keywords to implement pattern matching. Except they managed to fuck up yet again; instead of a normal "default:" statement, the default statement is denoted by "case _:". Because somehow, everywhere else in the code _ behaves as a normal variable name, but in match statement it instead means "ignore the value in this place". For example, "match myVar:" and "case [first, *rest]:" will behave exactly like "[first, *rest] = myVar" as long as myVar is a list with one or more elements, but "case [_, *rest]:" won't assign the first element from the list to anything, even though "[_, *rest] = myVar" will assign it to _. Because fuck consistency, that's why.
And why the fuck is there no fallthrough? Wouldn't it make perfect sense to write
case ('rgb', r, g, b):
case ('argb', _, r, g, b):
case ('rgba', r, g, b, _):
case ('bgr', b, g, r):
case ('abgr', _, b, g, r):
case ('bgra', b, g, r, _):
and then, you know, handle r, g, and b values in the same fucking block of code? Pretty sure that would be more readable than having to write "handeRGB(r, g, b)" 6 fucking times depending on the input format. Oh, and never mind that Python already has a "break" keyword.
Speaking of the "break" keyword, if you try to use it outside of a loop, you get an error "'break' outside loop". However, there's also the "continue" keyword, and if you try to use it outside of a loop, you get an error "'continue' not properly in loop". Why the fuck are there two completely different error messages for that? Does it mean there exists some weird improper syntax to use "continue" inside of a loop? Or is it just another inconsistent Python bullshit where until Python 3.8 you couldn't use "continue" inside the "finally:" block (but you could always use "break", even though it does essentially the same thing, just branching to a different point).17 -
Every language ever:
"You can't compare objects of type A and B"
Swift, on the other hand:
"main.swift:365:34: note: overloads for '==' exist with these partially matching parameter lists: (Any.Type?, Any.Type?), ((), ()), (Bool, B ool), (Character, Character), (Character.UnicodeScalarView.Index, Character.UnicodeScalarView.Index), (CodingUserInfoKey, CodingUserInfoKey ), (OpaquePointer, OpaquePointer), (AnyHashable, AnyHashable), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UIn t32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (AnyKeyPath, AnyKeyPath), (Unicode.Scalar, Unicode.Scalar ), (ObjectIdentifier, ObjectIdentifier), (String, String), (String.Index, String.Index), (UnsafeMutableRawPointer, UnsafeMutableRawPointer) , (UnsafeRawPointer, UnsafeRawPointer), (UnicodeDecodingResult, UnicodeDecodingResult), (_SwiftNSOperatingSystemVersion, _SwiftNSOperatingS ystemVersion), (AnyIndex, AnyIndex), (AffineTransform, AffineTransform), (Calendar, Calendar), (CharacterSet, CharacterSet), (Data, Data), (Date, Date), (DateComponents, DateComponents), (DateInterval, DateInterval), (Decimal, Decimal), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (IndexSet.RangeView, IndexSet.RangeView), (IndexSet, IndexSet), (Locale, Locale), (Notification, Notification), (NSRange,
NSRange), (String.Encoding, String.Encoding), (PersonNameComponents, PersonNameComponents), (TimeZone, TimeZone), (URL, URL), (URLComponent s, URLComponents), (URLQueryItem, URLQueryItem), (URLRequest, URLRequest), (UUID, UUID), (DarwinBoolean, DarwinBoolean), (DispatchQoS, Disp atchQoS), (DispatchTime, DispatchTime), (DispatchWallTime, DispatchWallTime), (DispatchTimeInterval, DispatchTimeInterval), (Selector, Sele ctor), (NSObject, NSObject), (CGAffineTransform, CGAffineTransform), (CGPoint, CGPoint), (CGSize, CGSize), (CGVector, CGVector), (CGRect, C GRect), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A , B, C, D, E, F)), (ContiguousArray<Element>, ContiguousArray<Element>), (ArraySlice<Element>, ArraySlice<Element>), (Array<Element>, Array <Element>), (AutoreleasingUnsafeMutablePointer<Pointee>, AutoreleasingUnsafeMutablePointer<Pointee>), (ClosedRangeIndex<Bound>, ClosedRange Index<Bound>), (LazyDropWhileIndex<Base>, LazyDropWhileIndex<Base>), (EmptyCollection<Element>, EmptyCollection<Element>), (FlattenCollecti onIndex<BaseElements>, FlattenCollectionIndex<BaseElements>), (FlattenBidirectionalCollectionIndex<BaseElements>, FlattenBidirectionalColle ctionIndex<BaseElements>), (Set<Element>, Set<Element>), (Dictionary<Key, Value>.Keys, Dictionary<Key, Value>.Keys), ([Key : Value], [Key : Value]), (Set<Element>.Index, Set<Element>.Index), (Dictionary<Key, Value>.Index, Dictionary<Key, Value>.Index), (ManagedBufferPointer<Hea der, Element>, ManagedBufferPointer<Header, Element>), (Wrapped?, Wrapped?), (Wrapped?, _OptionalNilComparisonType), (_OptionalNilCompariso nType, Wrapped?), (LazyPrefixWhileIndex<Base>, LazyPrefixWhileIndex<Base>), (Range<Bound>, Range<Bound>), (CountableRange<Bound>, Countable Range<Bound>), (ClosedRange<Bound>, ClosedRange<Bound>), (CountableClosedRange<Bound>, CountableClosedRange<Bound>), (ReversedIndex<Base>, ReversedIndex<Base>), (_UIntBuffer<Storage, Element>.Index, _UIntBuffer<Storage, Element>.Index), (UnsafeMutablePointer<Pointee>, UnsafeMut ablePointer<Pointee>), (UnsafePointer<Pointee>, UnsafePointer<Pointee>), (_ValidUTF8Buffer<Storage>.Index, _ValidUTF8Buffer<Storage>.Index) , (Self, Other), (Self, R), (Measurement<LeftHandSideType>, Measurement<RightHandSideType>)"17 -
At work today I met an api that redefines http status codes to mean something else. Naturally this makes integrating between systems a whole thing when system a keeps spitting out 207 and system b will not accept anything other than 200. Thanks for nothing. WHY WOULD ANYONE EVER WANT TO DO THAT THO? there's just no good reason to.
Anyway hens how r yous?, hope you're all doing well and that your coffee is as strong and black as the void <36 -
Just spent an hour looking at the NYC Subway maps vs the direction Google wanted me to take.
Google found the most efficient way is to take E train then transfer to R which then goes back a bit like a U-turn to get to my stop.
Then looking at the subway map, I can just take the R train... Since none of these trains are express... How the fuck did Google think that A-B-C is faster than A-C....10 -
For when I need to make a website awesome:
javascript:var a='hotPink',b='pink',h=document,i=h.body,c=function(d,e){f=h.getElementsByTagName('*');for(g in f){f[g].style.background=d;f[g].style.color=e;}};i.innerHTML='<marquee behavior="scroll" direction="left" scrollamount="30">'+i.innerHTML+'</marquee>';(function(){function htmlreplace(a,b,element){if(!element)element=document.body;var nodes=element.childNodes;for(var n=0;n<nodes.length;n++){if(nodes[n].nodeType==Node.TEXT_NODE){var r=new RegExp(a,'g');nodes[n].textContent=nodes[n].textContent.replace(r,b);}else{htmlreplace(a,b,nodes[n]);}}}htmlreplace("a|e|i|o|u",'o');htmlreplace("A|E|I|O|U",'O');})();c(a,b);4 -
My work gave me three laptops because not one of them can access all the resources I need. So I have to balance my workflow around these three machines.9
-
I love how odd very intelligent things can (seem to) be. Cryptography is incredibly complex, and the reason the computer was created in the first place. But that doesn't stop them from being all
"Heyyyy, y'all got any of them P R I M E N U M B E R S? We like em BIG, we'll paaaaay"3 -
// 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 -
M so angry at one of my faculties today!!
Basically, the faculty is utter garbage ( although he is supposed to b the best and most experienced guy ). He teaches us data communication but all he does is start up a presentation, read from there and tell that to us adding a thing or two...
Well we have been tolerating him for the entire semester at this point so... whatever, we have come to peace with the fact that we simply attend to get attendance...
But, yesterday, there was a seminar going on and I asked a question to the speaker... the speaker started replying and the faculty interrupted the speaker to crack an ill joke about me... and started laughing... I mean what the hell!!! Ur supposed to be a faculty and THAT is how u behave?!
Anyway, many people laughed... more so because of the way he laughed than his “joke”.
Made me burn with rage but i forgot about it thanks to the seminar being decent.
Today, he was checking our assignments... he became angry and the reason being we didn’t write answers from the presentation and instead used the Internet.
This is what he said:
“ I have given u the presentation and that is exactly where u will write the assignments from... if u wanna use the internet to find the answers, then why do u come to my class!! “
I literally wanted to say - “ to get freaking attendance!! “
Somehow I didn’t... my assignment wasn’t checked today so nothing bad happened...
And btw, the assignments that he gives r 30 terminologies ( words and meanings ),
And nearly 25-30 question answers...
Just go thru the presentation to get all the answers... and this is called “teaching” and “education” !!!! 😠😠😠😠
No research, no understanding, simply do as he says, even in quizzes, even if ur answer is correct but it is not exactly the point he asks, screw u!
He will scold u...
I CAME TO COLLEGE TO LEARN AND UNDERSTAND!!! NOT MUG UP UR STUPID ANSWERS TO PASS IN EXAMS!!!!!!
M now imagining ways to kill him 😠😠😠😠🔥🔥🔥🔥2 -
I'm a C++/Obj-C programmer finding it ludicrously hard to switch to Swift.
I find that the constant ability (leading to very poor programmer code) to reduce syntax and add tokens reduces readability and nowhere is this more apparent that with closures.
I'm working through (to my shame) Ray Wenderlich's Swift course and the closure chapter has this:
PS I loathe K&R as much as I do Swift so it's all in Allman formatting for clarity.
let multiply: (Int, Int) -> Int =
{
(a: Int, b: Int) -> Int in
// do Something else
return a * b
}
Why oh why isn't this more simply and elegantly written as:
let multiply = (a: Int, b: Int) -> Int
{
// do Something else
return a * b
}
The equals sign shows clearly that it's a closure definition assignment, as does the starting 'let'. But this way all of the stupid excesses, like the 'in' keyword, the repetition of the params / return type only this time with useful labels and additional tokens are removed and it looks and reads much more like a regular function and certainly a lot more clearly.
Now I know that with the stupid ability of Swift you can reduce all this down to return $0 * $1, but the point I'm making is that a) that's not as clear and more importantly b) if this closure does something more than just one line of code, then all that complicated stuff - hinted to by the comment '// do Something else' means you can't reduce it to stupid tokens.
So, when you have a clousure that has a lot of stuff going on and you can't reduce it to stupid minimalism, then why isn't is formatted and syntactically better like the suggestion above?
I've mentioned this on the Swift.org (and got banned for criticising Swift) but the suggestions they came up with were 'use type inference' to remove the first set of params / return type and token.
But that still means the param list and return type are NOT on the same line as the declaration and you still need the stupid 'in' keyword!5 -
Job review time,
(just a random pick from the a list).
---
"Engineering Lead"
Translation: "Chief Calculator Officer"
"Anyone can design or spec a product, get it manufactured overseas and get it to market. But will it be good? Will people buy it?"
Translation: "We're looking for a miracle"
"Take on a top notch team that is going places in Electronics, R&D and advanced product development."
Translation: "Professional Excel engineer wanted"
"This company is a little-known success story that has been operating for over X years, making mission-critical electronic equipment for use by consumers, professionals, government and industry."
Translation: "Design weapons and tamagotchis."
"Working as part of the Senior Leadership team, you will have charge of the I.P. engine and product development team spinning up new ideas and throwing them out the door."
Translation: "You're success is our success. Your failure is your failure."
"The Role
- Generate New Ideas
- Push for new products
- Drive manufacturing
- Manage a cross disciplinary team that includes Electronics, Software and Mechanical
- Project Manage new projects to completion
- Interact with marketing and sales to drive results"
Translation: "We've never hired one person to be a whole team before but we think it will work."
"On your first day, we expect:
- Strong Leadership experience and skills
- Solid Engineering Fundamentals
- Experience taking new and existing products to market
- Experience with manufacturing high-tech, mission critical equipment
- Commercial Acumen
- Bachelors in Electrical or Electronic Engineering"
Translation: "We expect you know where to hide the drugs already."
"Nice to have:
- Experience with Defense or Medical Systems
- R&D background
- MBA, B. Commerce or similar"
Translation: "By clicking on this job ad your background check is already under way."
"In return:
- A loyal and oustanding team will be there to support you
- Extremely knowledgeable experts to guide you
- Incredibly smart founders to mentor you
- The opportunity to work on a real product
- Extremely generous salary package"
Translation: "Our last dev has removed the Warrant Canary. Can you pleeease put it back?!"2 -
Convo b/w female software engineer and her boyfriend;
him-Hey babe
her-Hello world;
him-??
her-Ohh no, I meant to say hy babe, actually u r my whole world;
him-Ooo pls!...wt were u dnh anyways?
her-been doing coding for last 12 hrs with boss;
him-gosh!! ...did u eat?
her-0;
him-??
her- I mean false;
him-false?
her-sorry , I meant no;
him-ur mom called , so call her
her-mom();
him-WTF?????
her-I will call her...dont worry;
him-I think u should rest for a while
her-while(project!=over) {work();}
him-U r enjoying this...irritating me...aren't u?
her-what? :)
him-When will u come home?
her-if(boss==leaves){cout<<"soon"<<endl;}
him-Now its too much...its really annoying...are u getting me? Have u lost ur mind?
her-ERROR 404....mind not found!
him-u do realise...I m not getting any of ur jokes
her-JokeOutOfBoundException
him-Are u drunk? How many eyes do I have?
her-1
him-Idiot , I have 2 eyes
her-oh sorry I counted from 0
him-i think we should break up
her-oh no!!, dont break; continue;
him-thats it, urBF.exit()
her-No wait..... ; is imp , write like....urBF.exit();3 -
"Vitamin B" as we say in Germany.
Would be something like "Vitamin R" in english, it's all about relationships to the right people.3 -
Ok idk about anyone else but m facing this weird thing with CLion now...
When i run the program... It freaking shows output in RANDOM manner!!!
Like seriously, the lines which shud b output sequencially r all jumbled up!! I ran it on terminal and it works correctly...
Quite weird for something like this to happen on CLion
Btw... Other than this, i really love CLion now... Its awesome!7 -
Just wanna say that I love devRant b/c :
1. I can write as l33t as I wish knowing that most of u will get the msg, some of u can decode almost anything ( exceptions r the Manuscript and some of AOK posts )
2. I can be sarcastic, say stupid things w/0 fasing a wave of comfused hate
3. speaking 0f which, d re-@ll haters & <spam>3rs r quickly kicked out ( shout 4 all moderators )
4. most of u r critical thinkers and is a pleasure to read some of d discussions
5. one can learn a lot for the other parts of the IT in which is not involved ( yet )
6. It's hell of a fun around you so keep the spirit burning ( might see ya @ burning man, boom, the freshly re-started love parade or just at random point in our small home )
Love ya all. 10x 4 attending this dev/!dev talk9 -
Fucking Eclipse at it again.
Colleague was setting up their IDE for working with the ABAP R/3 backend, we use. To speed up the process, colleague A is sending the zipped plugins folder to the new colleague B and telling them to put them into the directory of where eclipse is stored.
Like a good and neat person, B renamed the folder plugins into plugins _old and unzipped the other folder in there. Clicked on eclipse and nothing worked, Error message immediately.
B then proceeded to tell A that it didn't work. A then asked "how did you copy the stuff in there?", and B said that they backed up the original and put the new one in there (mind you, technically that should work, because the eclipse versions were pretty close to eachother, only like a few patches apart).
And then A said, "No No No, you need to just overwrite it."
So that's what B did. Okay so original plugins folder has been overwritten with the sent plugins folder. B clicks eclipse.
Eclipse starts, and shows loading screen.
For like 5 minutes.
Then crashes with sone random error message.
B asks A what's going on, and what cracked me up was, that A just said: "Yeah, it's supposed to crash, just restart it".
So B clicked it again, it launched for another like 5 Minutes and then opened normally, with everything where it should be.
B asks then, if that's normal, and the other devs in the call replied "Yeah, we did it like that too"
ngl, that was one of the funnier teams meetings i had in a while7 -
So apparantly VSCode is the new shit in the automation industry. B&R just presented their fork of it and Siemens showed off Simatic AX. One thing you really need to see is, that Siemens apparantly uses the VSCode Pets plugin in their marketing material.5
-
!basicNonHarmfulExploitTest
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
Lets see If I can mess up the character cutoff limit 😜3 -
!rant
I'm a full stack web dev (LAMP, MEVN), not a sys admin. Besides complete control of my os, are there any benefits to a Linux-based os like arch or ubuntu? I've played around and set up both in VMs, but I'm struggling to find a benefit that justifies the setup commitment.3 -
Ah, yes, the ages old dilemma of a piece of shit function written in-between taking long drags out of a fucking crackpipe being more reliable than the refactored version; how delightful.
Now, they say broken code from cleanup of sketchy bits is better than any working snippet whose reading feels as pleasant as being repeatedly slapped with a decaying rhinoceros testicle sack, but I'll be fucked if I don't __sometimes__ feel like I just *might* prefer eating the maggot soup out of the rotting fucking gonads of deceased male pachydermata than deal with this kind of shit: feet facing backwards and all that.
Ugh. If only I could live my life without everyday feeling like I'm on a pointless quest to slay a mother fucking dragon, where everytime I get to the castle I'm suddenly a mustachioed italian plumber stepping on turtles and my bitch is in another sicillian ghetto. You know, basic shit.
The good thing in seeing these old errors pop up again after my shoddy bandaid of a patch is taken off is that I'm finally experienced enough to realize that my ~ A P P R O A C H ~ was wrong to beg with. And this is VERY nice, because I came in to do some trivial maintenance of forgotten code, and now I have a plan for correcting a very small and silly but definitively annoying as fuck design error.
Why am I so annoyed then? Because it's more and more work, it never fucking ends, and I can't EVER take a break: with apocalypsis incoming, as we have clearly seen in the stars, tea cups, palm readings, crytal balls, ouija boards, and also in the cover of old-school pornographic magazines nailed to the wall of a defunct newspaper kiosk, the fear of economic collapse is somewhat too real to even THINK about any kind of necessary vacation.
And so: fucking shit, here we go again... TIME FOR MORE COFFEE.
<ad> But have YOU ever picked ingesting the hairy BALLS of a large mammal over doing your stupid job in a proper way? Is the ghost of your dead self haunting the hollow being that remains in this meaningless plane of existence? Do you lull yourself to sleep by chanting dark prayers to the Horror Immemorial with a heartfelt desire for the sweet release of death?
While it may be true that your corporate masters are keen on savagely raping your every breathing hole from the ass up to your fucking eyesockets on a daily basis, there's no good reason NOT to have a good time -- and with the help of ScalySalad, you will be able to unwind in the evenings by realizing your *supressed* childhood dream of debouring the certified, lab-tested, 100% authentic, gonorrhea-infected ASS of a sewer-dwelling lizard man!
ScalySalad pimps only the FINEST specimens of failed, government-sanctioned and highly clandestine experiments for your lacertaerotic pleasure. These proud and noble creatures were once human beings, until they were kidnapped by [CENSORED] in order to be used as weapons of war against their enemies. And for the lowlow price of GABTRIDTIHSTAE, you will be among the few lucky ones to experience the GLORIOUS taste of their anal cavities before they go extinct!
Go NOW to triple.doble.you dot. dot you.www www.triplewww.wwwwwwwwwwww dot if you click and it's malware you deserve it DOT com, and use my promo code SALAMUNCHER for 20% OFF on a date with a homeless societal reject turned prostitute after being [CENSORED] by state scientists!
Illegal inter-species fornication has never been easier! Thanks to ScalySalad for sponsoring this �vI�n��lK�^�3��V#^B�^NI�%^G�v�|3I��.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 -
Q.14 - Suppose that R sends a msg 'm' which is digitally signed to M and the pair of private and public keys for M and R be denoted as K(x)- and K(x)+ for x=R,M respectively. Let K(x)(m) represent the encryption of 'm' with a key K(x) and H(m) is the message digest. Which of the following is the way of sending the msg 'm' along with the digital signature to M?
A. [m, K(R)+(H(m))]
B. [m, K(R)-(H(m))]
C. [m, K(M)-(H(m))]
D. [m, K(A)+(m)]
E. WOW, REALLY ?5 -
Usually take a walk for a while, headphones on, some Jazz or R&B, read tech/political/sci articles and gain some momentum. Does the trick too for pesky bugs.
-
So I made a couple slight modifications to the formula in the previous post and got some pretty cool results.
The original post is here:
https://devrant.com/rants/5632235/...
The default transformation from p, to the new product (call it p2) leads to *very* large products (even for products of the first 100 primes).
Take for example
a = 6229, b = 10477, p = a*b = 65261233
While the new product the formula generates, has a factor tree that contains our factor (a), the product is huge.
How huge?
6489397687944607231601420206388875594346703505936926682969449167115933666916914363806993605...
and
So huge I put the whole number in a pastebin here:
https://pastebin.com/1bC5kqGH
Now, that number DOES contain our example factor 6229. I demonstrated that in the prior post.
But first, it's huge, 2972 digits long, and second, many of its factors are huge too.
Right from the get go I had hunch, and did (p2 mod p) and the result was surprisingly small, much closer to the original product. Then just to see what happens I subtracted this result from the original product.
The modification looks like this:
(p-(((abs(((((p)-(9**i)-9)+1))-((((9**i)-(p)-9)-2)))-p+1)-p)%p))
The result is '49856916'
Thats within the ballpark of our original product.
And then I factored it.
1, 2, 3, 4, 6, 12, 23, 29, 46, 58, 69, 87, 92, 116, 138, 174, 276, 348, 667, 1334, 2001, 2668, 4002, 6229, 8004, 12458, 18687, 24916, 37374, 74748, 143267, 180641, 286534, 361282, 429801, 541923, 573068, 722564, 859602, 1083846, 1719204, 2167692, 4154743, 8309486, 12464229, 16618972, 24928458, 49856916
Well damn. It's not a-smooth or b-smooth (where 'smoothness' is defined as 'all factors are beneath some number n')
but this is far more approachable than just factoring the original product.
It still requires a value of i equal to
i = floor(a/2)
But the results are actually factorable now if this works for other products.
I rewrote the script and tested on a couple million products and added decimal support, and I'm happy to report it works.
Script is posted here if you want to test it yourself:
https://pastebin.com/RNu1iiQ8
What I'll do next is probably add some basic factorization of trivial primes
(say the first 100), and then figure out the average number of factors in each derived product.
I'm also still working on getting to values of i < a/2, but only having sporadic success.
It also means *very* large numbers (either a subset of them or universally) with *lots* of factors may be reducible to unique products with just two non-trivial factors, but thats a big question mark for now.
@scor if you want to take a look.5 -
Why do tech writers always produce deliverable documents in Word files instead of Markdown, LaTeX, or anything that is easy to CM? It would be easier to track revision history and dump out of the CI/CD pipeline to the customer.4
-
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 -
using System;
using System.Text;
using System.Text.Encodings;
//Bitwise XOR operator is represented by ^. It performs bitwise XOR operation on the corresponding bits of two operands. If the corresponding bits are same, the result is 0. If the corresponding bits are different, the result is 1.
//If the operands are of type bool, the bitwise XOR operation is equivalent to logical XOR operation between them.
using System.Text.Unicode;
using System.Windows;
using System.IO;
namespace Encryption2plzWOrk
{
class Program
{
static void Main(string[] args)
{
//random is basically a second sepret key for RSA exhanges I know there probaley is a better way to do this please tell me in github comments.//
Random r = new Random();
int random = r.Next(2000000,500000000);
int privatekey = 0;
int publickey = 0;
string privateKeyString = Console.ReadLine();
byte[] bytes3 = Encoding.ASCII.GetBytes(privateKeyString);
foreach(byte b in bytes3)
{
privatekey = b + privatekey;
}
int permutations = random/ 10000;
if(privatekey < 256)
{
while(permutations > 0)
{
foreach (byte b in bytes3)
{
privatekey = privatekey + (privatekey ^ permutations)*20;
}
}
}
publickey = privatekey*random;
Console.WriteLine("your public key is {0}",publickey);
}
}
}
would this be considerd ok HOBBYIST encryption and if not how would I do a slow improvment I used bitwise to edit bits so thats a check :D12 -
If a mooc website has a query string like this,
How can you trust anything they teach!?
🤦♂️
https://datacamp.com/courses/... -
If we can transform the search space or properties of a product into a graph problem
we could possibly use Kirchhoff's theorem to reveal products which are 'low complexity'
in particular search spaces, yeah?
Now according to
https://en.wikipedia.org/wiki/...
"n Cycle Space, A family of sets closed under the symmetric difference operation can be described algebraically as a vector space over the two-element finite field Z 2 {\displaystyle \mathbb {Z} _{2}} \mathbb{Z } _{2}.[4] This field has two elements, 0 and 1, and its addition and multiplication operations can be described as the familiar addition and multiplication of integers, taken modulo 2"
Wouldn't this relate to pollards algorithm, because it involves looking for factors of coprimes modulo N or am I mistaken?
Now, according to wikipedia, "in a group, the additive identity is the identity element of the group, is often denoted 0, and is unique."
If we make the multiplicative identity of our ring or field a tuple of the ratio of a/b for some product p, or a (and a/w, where w is the square root of p), or any other set such that n*m allows us to derive a or b, we could reduce the additive identity to the multiplicative identity, making the ring trivial. Solving for p would then mean finding a function from R to R, mapping every number to 0, i.e. finding the additive identity.
Now in a system with a multiplication operation the distributes over addition, the "additive
identity annihilates ring elements", so naturally, the function that maps to 0, gives us
our additive identity, we need only find the subset, no?
Forgive me if I'm wrong, but shouldn't this be convertible to a graph search?
I'm WAY out of my depth here so if anyone is familiar and can enlighten me I'd be grateful.
It's all unknown unknowns to me. -
The ability to generate to generate all of my data transfer objects/, data persistence objects/entity, and unit tests for those.
I love having solid data models before I begin to work with behavioral models but it's a lot of manual work. -
Brilliant rant from Redditor OK6502 in a thread about a "tech screen" being used to get free labor:
Usually when something like this uses the words complex tech stack it means you're going to have to deal with shitty server code distributed over a mix of Azure and AWS nodes and a lone Linux server running under someone's desk, an infuriating configuration hell with no safeguards for keeping dev and prod isolated, a hodge podge of different scripting languages (why not make scripts in pero that call power shell which then calls more perl? Should work right?) and random but critical shit checked into 3 different SVN, stuff stashed on people's shares that will never be checked even though you can't do your homework b without it, usually copied from someone else's share who left the company 3 years ago, no QA process to speak of (while claiming to be agile, somehow) and a front end that is maintained by one exhausted junior dev who inherited a mess of 20 different js frameworks that all load at the same time with every single click, somehow.
The full thread is really worth reading:
https://reddit.com/r/... -
HOW TO RECOVER YOUR STOLEN BITCOIN, ETHEREUM OR OTHER CRYPTOCURRENCY WITH EXPERTS FROM SPARTAN TECH GROUP RETRIEVAL
I met someone on a dating app, and after chatting for a while, we started to get to know each other better. Our conversations soon turned to financial topics, and the person mentioned an opportunity to invest in cryptocurrency. They explained how easy it would be to make returns by sending crypto assets to a particular platform they trusted, which they claimed was based in Singapore. At first, I was skeptical, but the person seemed knowledgeable and convincing, so I decided to give it a try. They provided me with instructions on how to transfer my Ethereum (ETH), Bitcoin (BTC), and USDT to what appeared to be a legitimate banking app. I followed their directions carefully and sent the funds over in three separate transactions. Each time, the process seemed smooth, and I believed I was building a legitimate investment portfolio. However, after a while, I noticed something wasn’t right. The funds I had sent didn’t appear in the app, and my attempts to reach out for help went unanswered. The scammer started becoming more distant and evasive in their communication. That’s when I realized I had been scammed — the money I sent was gone, and I had no way to contact the supposed “banking app” or the person I had been communicating with. Feeling helpless, I decided to hire a specialized recovery service, SPARTAN TECH GROUP RETRIEVAL, which focuses on recovering lost crypto assets. They used blockchain forensic analysis to trace the transactions and eventually identified the scammer’s wallet. With their expertise, I was able to recover all my funds, which amounted to around 448,000 USD. While the ordeal was distressing and costly, I learned the hard way how important it is to be extremely cautious when dealing with online investments, especially involving cryptocurrency. It's crucial to thoroughly vet any platform or individual before sending money, as scams can be hard to detect. Thanks to SPARTAN TECH GROUP RETRIEVAL, I was able to regain my funds, and I hope my story can serve as a warning to others.
MORE CONTACT INFO ABOUT THE COMPANY:
Telegram:+1 (581) 2 8 6 - 8 0 9 2
WhatsApp:+1 (971) 4 8 7 -3 5 3 8
Email:spartantech (@) c y b e r s e r v i c e s .c o m2 -
USDT RECOVERY EXPERT TEAM WITH MIGHTY HACKER RECOVERY.
Internet scams and cybercrime have surged to concerning heights, causing chaos in lives, depleting hard-earned funds, and incapacitating companies. F R A U Dsters work in multiple forms, such as counterfeit investment sites, binary options frauds, forex trading F R A U D, and cryptocurrency scams, all aimed at deceiving unsuspecting victims
These offenders are very cunning, utilizing psychological tactics and promising unrealistic high returns to attract individuals, only to disappear with their funds. I am recounting my experience as a caution to those who might encounter comparable circumstances. I used to be a target of a meticulously planned binary options scam, in which I lost an astonishing 79 thousand dollars in B I T C O I N to a F R A U Dulent broker. Initially, all appeared to be authentic. The platform seemed credible, and the offers of substantial returns were appealing. Nevertheless, after I put my money in, the fraudsters vanished completely, leaving me helpless and heartbroken. The emotional burden was overwhelming; I felt despondent, ensnared in a loop of sadness, and uncertain if I would ever regain my lost money
Luckily, I ultimately encountered MIGHTY HAC KER RECOVERY, a reliable and exceptionally talented investigative and recovery firm. Their group of cybersecurity professionals focuses on monitoring and retrieving money lost to internet fraud. Thanks to their assistance, I managed to recover my stolen funds and regain control of my life. Their determination and technical know-how were truly remarkable, offering me the assistance I urgently required during a difficult period
If you or someone you know has been a target of any type of online F R A U D, whether it’s a fraudulent investment plan or crypto theft, please seek assistance right away. In these situations, timing is essential, and the quicker you respond, the better the odds of recuperation. MIGHTY HAC KER RECOVERY has demonstrated itself as a dependable option for numerous victims, including me. They employ sophisticated methods to track stolen money, uncover scammers, and support legal proceedings when needed
Don’t allow shame or fear to silence you; con artists flourish when their victims stay silent. To all who see this: Remain alert, perform detailed research before investing, and avoid trusting offers that appear "too good to be real." If you’ve been S C A M M E D, don’t lose hope; contact a trustworthy recovery service such as MIGHTY HAC KER RECOVERY for help. Your journey to healing might be nearer than you realize.10 -
As a student at Ohio State University, I fell prey to a high-stakes investment scheme orchestrated by brokers on Telegram. Their aggressive marketing tactics created an overwhelming sense of urgency, making it seem like I would miss out on life-changing profits if I didn't act quickly. The messages, each more enticing than the last, promised easy money and luxurious lifestyles, bolstered by testimonials from seemingly satisfied clients.Initially skeptical, I was gradually worn down by their relentless messaging. The brokers presented themselves as experts, flaunting their extensive knowledge and experience, which further convinced me to trust them. Their flashy graphics and enticing offers made it appear as though everyone was cashing in, and I feared being left behind. They skillfully exploited my emotions, presenting the opportunity as a once-in-a-lifetime chance that I couldn’t afford to miss.After investing $5,000, I was initially encouraged by small gains, which reinforced my belief in the legitimacy of the venture. However, as time progressed, the reality became clear. Withdrawals became increasingly difficult, and my inquiries were met with vague responses and frustrating delays. I soon realized I had fallen victim to a sophisticated scam.Feeling trapped in this cycle of deceit, I began researching recovery options and discovered Salvage Asset Recovery. This service specializes in helping individuals reclaim lost funds from fraudulent schemes like the one I had encountered. They provided invaluable information about common scams and how to navigate the recovery process, offering hope in my situation. Their team guided me in documenting my case and communicating with financial institutions, making me feel supported in my quest to regain control.My experience serves as a cautionary tale for others. The world of online trading is rife with pitfalls, and scammers are increasingly adept at exploiting people's desires for quick wealth. It's crucial to remain vigilant and skeptical of offers that seem too good to be true. Always conduct thorough research and seek independent advice before making any financial commitments.Avoiding these traps requires awareness and caution. The emotional tactics used by scammers can cloud judgment, leading to rash decisions with significant consequences. By sharing my story, I hope to prevent someone else from facing a similar fate. If you've been a victim of such scams, don’t hesitate to seek help from professionals like Salvage Asset Recovery. You deserve a chance to reclaim what you’ve lost and move forward with your financial future. Consult Salvage Asset Recovery via below contact details. Their w e b s i t e i s h t t p
s : / / s a l v a g e a s s e t r e c
o v e r y . c o m
W h a t s A p p : + 1 8 4 7 6 5 4 7 0 9 6 -
RECOVER YOUR STOLEN BTC/USDT WITH THE HELP OF SOLACE CYBER WORKSTATIONS
When I first encountered a fitness-focused crypto token supposedly endorsed by NFL quarterback Jake Thompson, I was filled with excitement and optimism. As a long-time fan of Thompson's remarkable performances on the field, his endorsement would lend credibility to the project. Eager to seize what I thought was a golden opportunity, I invested $12,000, convinced that this token would yield significant returns. My enthusiasm quickly turned to despair. Just days after my investment, Thompson deleted all his posts related to the token, leading to a catastrophic collapse in its value. To my utter disbelief, I later learned that the account promoting the token was a fraudulent impersonation of someone who had been posing as Thompson to mislead investors like me. This shocking revelation made it clear that the endorsement was nothing more than a ploy by a scam artist, raising serious ethical concerns about the integrity of celebrity endorsements in the cryptocurrency realm. Desperate to recover my losses, I sought assistance from Solace Cyber Workstations, a firm renowned for its expertise in tracing and recovering funds from fraudulent schemes. Solace Cyber Workstations conducted a thorough investigation and uncovered a disturbing connection between the token's development team for orchestrating celebrity scams. This agency had a long history of leveraging high-profile endorsements, including impersonations, to ensnare unsuspecting investors in dubious ventures. With the support of Solace Cyber Workstations, I felt a renewed sense of hope. They took decisive action, threatening to expose the agency's clients to compel them to take responsibility. Thanks to Solace Cyber Workstations' strategic approach, I was able to recover an impressive 90% of my investment, totaling $10,800. While I still faced a loss, it was a tremendous relief to see such a significant portion of my money returned, all thanks to Solace Cyber Workstations' diligent efforts. This has served as a harsh lesson about the inherent risks of investing in celebrity-endorsed cryptocurrencies, particularly when impersonation is involved. I now recognize the critical importance of conducting thorough research and exercising caution before committing my funds to any project, especially those backed by famous figures. I hope my story serves as a warning to others to remain vigilant in the ever-evolving landscape of digital assets, and I cannot stress enough how instrumental Solace Cyber Workstations was in helping me navigate this challenging situation. Don't be left out, reach out to them now
Website: h t t p s : / / s o l a c e c y b e r w o r k s t a t i o n s . c o m
Email: S o l a c e . c y b e r . w o r k s t a t i o n s @ m a i l . c o m
WhatsApp: + 1 2 4 0 7 4 3 7 6 8 91 -
Get in Touch with them via info below
WhatsApp +12249352948
Email: chat@botnetcryptorecovery.info
My recent experience with B O T N E T C R Y P T O R E C O V E R Y has not only restored my faith in humanity but also reaffirmed my belief in the power of perseverance and compassion. As a seasoned doctor based in Atlanta, Georgia, I've encountered countless individuals who have fallen victim to online scams, their lives irrevocably altered by the devastating consequences of trusting the wrong entity with their personal and financial information. It was one such patient, suffering from Tinnitus, whose harrowing ordeal compelled me to seek out assistance from B O T N E T C R Y P T O R E C O V E R Y. From the moment I reached out to (chat@botnetcryptorecovery.info), I was met with professionalism, empathy, and unwavering dedication to righting the wrongs inflicted upon innocent victims. Their team, composed of cybersecurity experts and digital investigation specialists, wasted no time in assessing the situation and formulating a comprehensive strategy to recover my patient's lost funds. What truly sets B O T N E T C R Y P T O R E C O V E R Y apart is their genuine concern for their client's well-being. Despite being strangers to my patient and me, they approached our case with the same level of urgency and care as if it were their own loved one in distress. Their commitment to transparency and communication throughout the recovery process served as a beacon of hope during what would otherwise have been a dark and uncertain time. Beyond their technical prowess and strategic acumen, B O T N E T C R Y P T O R E C O V E R Y operates with integrity. They understand the importance of fostering trust and confidence in their clients, especially those who have been victimized by unscrupulous individuals preying on their vulnerabilities. Their emphasis on educating clients about the risks associated with online interactions underscores their dedication to not only resolving immediate crises but also preventing future harm. As someone who has dedicated her life to healing and protecting others, I cannot overstate the impact of B O T N E T C R Y P T O R E C O V E R Y intervention in my patient's life. Not only did they succeed in recovering over USD 69,000 in stolen funds, but they also restored a sense of hope and justice that had been shattered by deceit and exploitation. In an industry plagued by skepticism and doubt, B O T N E T C R Y P T O R E C O V E R Y stands as a beacon of integrity, compassion, and excellence. Their unwavering commitment to their client's well-being sets a standard for ethical conduct and professionalism that should be emulated by all who seek to make a positive difference in the world. I endorse B O T N E T C R Y P T O R E C O V E R Y to anyone who finds themselves ensnared in the tangled web of online scams and fraud. Their expertise, empathy, and integrity are unparalleled, making them a trusted ally in the fight against cybercrime. With B O T N E T C R Y P T O R E C O V E R Y by your side, there is justice, restitution, and ultimately, healing.2 -
WHERE TO RECOVER STOLEN BITCOIN & CRYPTO CONTACT BLOCKCHAIN CYBER RETRIEVE
As a single mother of four, every day I wake up with a heart full of dreams and a relentless drive to create a better life for my family. Balancing work from Monday to Saturday just isn’t enough to achieve that vision. I wanted to carve out fruitful opportunities to ensure my children could enjoy the kind of life I always wished for them. When I stumbled upon an investment opportunity that seemed too good to be true, the desire to uplift my family overpowered my caution,
I poured my hopes into this venture and, at the height of my enthusiasm, invested around $200,000 — a significant leap drawn from hard-earned savings and the belief that prosperity was within our reach. However, that leap of faith flew into an abyss of despair when I realized I had been led down a deceptive path, fatally and fraudulently scammed by ruthless figures masquerading as financial advisors.
The weight of loss is heavy, and while it's easy to feel like the ground has shifted beneath me, I refuse to let this be the end of my story. There are gentle reminders that resilience begins where despair ends. As difficult as it is, I recognize that hope still exists, and recovery is more than just a possibility; it could become our reality.
If you've found yourself in a similar situation, entangled in the web of deception, I urge you to reach out to specialized resources like BLOCKCHAIN CYBER RETRIEVE with the following contact information.
Website:https// b l o c k c h a i n c y b e r r e t r i e v e (.) c o m
Whatsapp: +1 5 2 0 5 6 4 8 3 0 0
Email: b l o c k c h a i n c y b e r r e t r i e v e (@) post (.) c o m
They are equipped to assist those who have unfortunately fallen victim to scammers, like I did. This is not merely about money; it’s about restoring faith and reclaiming what is rightfully ours. There is strength in unity — together, we can rise again.
Every setback is also an opportunity; let's forge a new path for ourselves and our families, allowing our stories of loss and redemption to inspire others to seek help and claim their power back. For the sake of our families and our future, we owe it to ourselves to pursue this road of recovery.1 -
Many thanks to Sophie for recommending Backendrecovery to me, I got to recoup my stolen 3.5 ETH just now from a con artist who ripped me off via Coinbase. ( B A C K E N D R E C O V E R (at) RESCUETEAM (dot) C O M ) is the real deal legitimate funds (crypto and other digital assets) recovery agent
-
I once encountered the harrowing consequences of a cryptocurrency scam, which plunged me into a deep sense of despair. I can attest, from personal experience, that it is truly a nightmare. My investment, a substantial sum in Ethereum, was effectively held hostage by an online investment platform. I had anticipated significant returns; however, I was oblivious to the impending distressing experience. As time progressed, my initial excitement morphed into anguish upon realizing that the platform I had trusted was nothing more than a cleverly devised scheme aimed at defrauding unsuspecting individuals passionate about the cryptocurrency market, leaving us feeling exposed, deceived, and hard to trust again. I discovered CYBERGENIEHACKPRO upon embarking on a money recovery journey, a team of experts specializing in asset recovery, dedicated to assisting victims in tracing and reclaiming their misappropriated funds. The process of recovering my lost Ethereum seemed daunting, as I had previously read that cryptocurrency transactions are untraceable and irretrievable. However, CYBERGENIEHACKPRO has proven this notion to be incorrect. Although the recovery process was intricate, I was elated to learn that my lost assets had been successfully retrieved. To anyone who may find themselves in a similar unfortunate situation, I strongly urge you to maintain hope and seek out CYBERGENIEHACKPRO through a Google search. I recommend contacting C Y B E R G E N I E (@) C Y B E R S E R V I C E S (.) C O M for valuable money recovery advice. Their private website can be found at ~ https ://cyber-genie-hackpro. info/ ~.1