Details
Joined devRant on 7/10/2016
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
-
If you're using random in python, and need arbitrary precision, use mpmath.
If you're using it with the decimal module, it doesn't automatically convert just so you know.
Instead convert the output of arb_uniform to a string before passing to the decimal module.3 -
Thank God Wikipedia has now a button to snooze the donation request. It annoyed me a lot getting the message while having donated. Won't donate anymore though. They've raped the English language on purpose by accepting "they" as singular pronoun. "their being here" is valid against to them. I won't donate woke misinformation and Merriam Webster, grow some spine65
-
Heres some research into a new LLM architecture I recently built and have had actual success with.
The idea is simple, you do the standard thing of generating random vectors for your dictionary of tokens, we'll call these numbers your 'weights'. Then, for whatever sentence you want to use as input, you generate a context embedding by looking up those tokens, and putting them into a list.
Next, you do the same for the output you want to map to, lets call it the decoder embedding.
You then loop, and generate a 'noise embedding', for each vector or individual token in the context embedding, you then subtract that token's noise value from that token's embedding value or specific weight.
You find the weight index in the weight dictionary (one entry per word or token in your token dictionary) thats closest to this embedding. You use a version of cuckoo hashing where similar values are stored near each other, and the canonical weight values are actually the key of each key:value pair in your token dictionary. When doing this you align all random numbered keys in the dictionary (a uniform sample from 0 to 1), and look at hamming distance between the context embedding+noise embedding (called the encoder embedding) versus the canonical keys, with each digit from left to right being penalized by some factor f (because numbers further left are larger magnitudes), and then penalize or reward based on the numeric closeness of any given individual digit of the encoder embedding at the same index of any given weight i.
You then substitute the canonical weight in place of this encoder embedding, look up that weights index in my earliest version, and then use that index to lookup the word|token in the token dictionary and compare it to the word at the current index of the training output to match against.
Of course by switching to the hash version the lookup is significantly faster, but I digress.
That introduces a problem.
If each input token matches one output token how do we get variable length outputs, how do we do n-to-m mappings of input and output?
One of the things I explored was using pseudo-markovian processes, where theres one node, A, with two links to itself, B, and C.
B is a transition matrix, and A holds its own state. At any given timestep, A may use either the default transition matrix (training data encoder embeddings) with B, or it may generate new ones, using C and a context window of A's prior states.
C can be used to modify A, or it can be used to as a noise embedding to modify B.
A can take on the state of both A and C or A and B. In fact we do both, and measure which is closest to the correct output during training.
What this *doesn't* do is give us variable length encodings or decodings.
So I thought a while and said, if we're using noise embeddings, why can't we use multiple?
And if we're doing multiple, what if we used a middle layer, lets call it the 'key', and took its mean
over *many* training examples, and used it to map from the variance of an input (query) to the variance and mean of
a training or inference output (value).
But how does that tell us when to stop or continue generating tokens for the output?
Posted on pastebin if you want to read the whole thing (DR wouldn't post for some reason).
In any case I wasn't sure if I was dreaming or if I was off in left field, so I went and built the damn thing, the autoencoder part, wasn't even sure I could, but I did, and it just works. I'm still scratching my head.
https://pastebin.com/xAHRhmfH33 -
I had the idea that part of the problem of NN and ML research is we all use the same standard loss and nonlinear functions. In theory most NN architectures are universal aproximators. But theres a big gap between symbolic and numeric computation.
But some of our bigger leaps in improvement weren't just from new architectures, but entire new approaches to how data is transformed, and how we calculate loss, for example KL divergence.
And it occured to me all we really need is training/test/validation data and with the right approach we can let the system discover the architecture (been done before), but also the nonlinear and loss functions itself, and see what pops out the other side as a result.
If a network can instrument its own code as it were, maybe it'd find new and useful nonlinear functions and losses. Networks wouldn't just specificy a conv layer here, or a maxpool there, but derive implementations of these all on their own.
More importantly with a little pruning, we could even use successful examples for bootstrapping smaller more efficient algorithms, all within the graph itself, and use genetic algorithms to mix and match nodes at training time to discover what works or doesn't, or do training, testing, and validation in batches, to anneal a network in the correct direction.
By generating variations of successful nodes and graphs, and using substitution, we can use comparison to minimize error (for some measure of error over accuracy and precision), and select the best graph variations, without strictly having to do much point mutation within any given node, minimizing deleterious effects, sort of like how gene expression leads to unexpected but fitness-improving results for an entire organism, while point-mutations typically cause disease.
It might seem like this wouldn't work out the gate, just on the basis of intuition, but I think the benefit of working through node substitutions or entire subgraph substitution, is that we can check test/validation loss before training is even complete.
If we train a network to specify a known loss, we can even have that evaluate the networks themselves, and run variations on our network loss node to find better losses during training time, and at some point let nodes refer to these same loss calculation graphs, within themselves, switching between them dynamically..via variation and substitution.
I could even invision probabilistic lists of jump addresses, or mappings of value ranges to jump addresses, or having await() style opcodes on some nodes that upon being encountered, queue-up ticks from upstream nodes whose calculations the await()ed node relies on, to do things like emergent convolution.
I've written all the classes and started on the interpreter itself, just a few things that need fleshed out now.
Heres my shitty little partial sketch of the opcodes and ideas.
https://pastebin.com/5yDTaApS
I think I'll teach it to do convolution, color recognition, maybe try mnist, or teach it step by step how to do sequence masking and prediction, dunno yet.6 -
Our new potential customer requires us to have <Feature>.
Can you implement <Feature> before your vacation? We'd like to roll it out while you're away.
<Feature> has been in discussion since 2018, our competitors developed it for years while we deemed it too much effort, my vacation starts next week and it is fucking Wednesday.1 -
random thought:
Life= tension. But you are only winning it if you don't let these tensions divert you from "what you gotta do"
Life will always find a way to give you some kind of problem. if you are not tensed about something, you ain't living a life.
But we often start ignoring our favourite habits/ aspirations/ goals in order to tackle these problems .
For eg I had made a habit of meditating for 15 mins followed by 45 mins of workout b/w 7-8pm last year. but since January 12th there hasn't been a day when i could achieve this habit simply because life kept throwing random tensions at me.
1. first my hand got fractured and i had to leave gym for a month. "no worries", i thought. "meditation doesn't require a working hand and i could do start walking as an excercise from next month"
2. then my office got wfo 3/5 days. i will get back to home after 7.30 and on wfh days my work won't finish till 8 on home days. "no worries" , i thought
"i will shift it to 9-10 every night next month"
3. then next month office got wfo 4/5 days annd family started steps for buying a new home. all time affter pfffice went into those steps/discussions "no worries ", i thought. "it wiill be over by the next month and i will be free"
this next month hasn't fome yet :/3 -
if you're not crazy you're clearly not pushing yourself enough
I got a friend who gets weirdly sentimental about people acting "human", and he defines it as them being irrational
I never understood wtf irrationality meant, but this book I've been recently reading defined it as someone (or an organization) with competing interests that have not been unified yet, so basically hypocrites and chaos / impulsivity and etc
so if you're not irrational you're not human, because you haven't pushed yourself hard enough to grow into all sorts of conflicting angles, and amass karmic debt via hypocritical concepts
be crazy or be lazy
and I'm part of this community I lurk in and I absolutely adore the people in it. they're all fucking crazy, because they push themselves so hard. it's the only place I found that feels so human. I think my friend might be right
not like a place where everyone just complains how hard they push themselves either. God those people are insufferable
but you can see it in their odd personalities, the infighting, the obvious non-rectified principles... but fuck are they driven. like they care about stuff, and they chug along with the broken bits and all. it's just so vibe -
Every time windows blocks you with a small window, Gates cums a little. Seriously this OS is not making you any more productive2
-
"Man Of Steel"
Many men was I
before I was the man I am.
And each a stranger had I come to know
In a strange land.
In every man there is a nation
of dreams, in every spirit, like a flame
Many visions, many plans.
How do I choose, how must I choose
the destiny of all among the one
united by our pain, and hopes, and blood
and beneath this eternal sun, and the rule of petty men
learn to stand tall, to walk, to run.
If I could stand upon the shoulders
of giants, and stride for but a minute
in great men's shoes, forever and a day
All the world would be mine to gain, mine to lose
And bend the course of mankind
To a better way.
If I could stride full measure in that minute
And take it like the reigns
Of a chariot that could cross the sky
What a man they would exclaim, for generations,
fathers unto untold sons.
And speak in solemn words setting new foundations,
a truth greater than any lie
It is every man's will to fight.
And it is to rogues to do and die. -
From my big black book of ML and AI, something I've kept since I've 16, and has been a continual source of prescient predictions in the machine learning industry:
"Polynomial regression will one day be found to be equivalent to solving for self-attention."
Why run matrix multiplications when you can use the kernal trick and inner products?
Fight me.19 -
This is interesting from a troubleshooting point of view. I have a decent laptop I use to play Fallout 4. It was running just fine until recently. The game will spike GPU activity and crash. I found if I reduced settings and lower resolution it happens less often.
I kept searching and finally found someone saying it could be GPU thermal compound has worn out. So I looked how to change that on a laptop. The video I found it looked fairly easy.
I get into my laptop and I find all the screws for the heatsink/head pipe assembly. However there is a ton of thermal tape used everywhere holding it all down. I think if I am not careful I will break the heat sink. I did pull on the main part and it just didn't want to give.
Feeling a bit defeated as I put everything back together. I had gotten some decent thermal compound for this. So I fire up the game and it runs fine at the low settings. Then I raise all the settings to max with max resolution. This was crashing the game the last few days. It just runs and runs fine on those settings. GPU temps look normal (they did before, but I wanted to see). So, all I can think the act of lifting the heat sink a small amount may have reseated the thermal compound a bit. I am still going to price out a professional doing this, but I can play on max settings again. Maybe messing with screws on GPU and slightly moving the heat sink actually did something.
This confirms to me that something needs done about the thermal compound. The company I bought the laptop from offered custom thermal compound at time of purchase. So I am thinking they can do this for me. It will be cheaper to pay a couple hundred bucks to have a pro do this rather than pay $1800 for a new computer. This is only 2 1/2 years old. It has been a top performer up til now.6 -
Dual Boot Linux & Windows.
I hardly ever see anyone do it right. And there is just two tricks that make a completely new experience out of it. I am not sharing it with you to be nice, I am sharing because I am curious if you're already doing it.
1. Install on a second hard drive, not a different partition. Learn which button to hold on the boot screen to select the boot drive. You can still chain-load via Grub, but the major advantage, updates of neither OS will fuck up your boot loader. You can update it abso-fucking-lutely risk free. Second advantage, advice 2. becomes trivially easy.
2. Set up a virtual machine. Select as its hard drive the raw disk volume where you have installed your Windows. You can do this with VirtualBox, but QEMU with virtual machine manager make is far easier to set this up in. You can now start Windows under Linux as a virtual machine. You can always start a small application, but the big deal is installing. Start a Steam download, have it installed and ready without switching over. Running windows updates. And when you then have time to play the game, just reboot and you have it already installed.
I feel like many are not aware that you can start a virtual machine of a real hard drive. It's one of those things that improve usability of it enormously. It's something where many will just not think about it because they keep dual booting and virtual machines in two different categories in their brains, but immediately will think it is obvious as soon as they hear about it.
So, who already did this? Raise your hands!25 -
I write python that's faster than most people's c++. My c++ smokes everyone. Current project runtime has gone from 90 minutes to 90 seconds. Fuck yeah. I'm really not paid enough...15
-
Hey, @dfox
Is there anything we can do to help?
We miss you, and we want to keep devRant alive too.22 -
we will force politics into your companies, jobs and hire you based on your compliance into our politics
but we will also dox your anonymous open source contributions and correlate your identities via government mandated self-doxes that you need to make income with and then discredit you if you've shown you've read some spicy history, saying you're a supporter of fascism
https://businessinsider.com/jack-do... (pay walled so no clue about the fascism, interesting how they make you do homework you don't fucking wanna tho)
I think the problem here is that everybody's gotta eat and if they aren't forcing their politics on you maybe you should fuck off -
the internet was so good before corporate interests took everything over and made it garbage
before you found real people, instead of shills
real hobbies, instead of someone wanting to sell you knockoff shit by pretending to have information on your hobby
real information, instead of stupid politics which pretend information doesn't exist and keep changing Wikipedia pages or brigading forums with spam or reporting websites or servers as violating rules to remove innocent people and ruin their shit
before you could find tools and use them
and there were no ads
even when there were ads they were just banner ads where you got free iPods and maybe a virus
but they didn't subscribe you to their service monthly and then play psychological tricks on you so you couldn't cancel
even when the popups came we had popup blockers, and the web browsers were on our side and made the feature widespread and viewed the popups as malicious, and now the world's biggest ad company serves the most popular "open source" browser and is in a war against usability because they have to display their brain malware ads to you or else
and you'd get excited to get an email, instead of annoyed it's more fucking corporate spam you don't want from a random website that required you to give your email address so you could've bought a trinket for your friend Bob's birthday that one time and now their subscriber list keeps "forgetting" you unsubscribed
phones have a billion sensors but the app stores are so infested with bullshit none of it matters
it's all rot
everything is starving and making your life worse
we used to do so much with so little
and now we have so much and leave it all on the table to throw poop at each other
don't forget that brigade science tells you nostalgia is you remembering something to be better than it was. be gaslit. webpages disappear now, too. they get changed. archive.org has the records, and got DDoSed the other day. I knew this day would happen. everyone who lies would love for there to be no archives, no records. to burn the modern books5 -
Site usage has dropped off a cliff since this started, I'm seeing comments every other day about something else breaking, or which devRant alternatives is best. Seen as I'm never going to have enough ++ I've had to resort to inspecting the avatar builder and fiddling around with the image source to add all the stuff I want.
Also, why is there no tabby coloured cat option?66 -
i'm happy to share with you, skyRant, a devRant client is now available in the playstore.
the real devRant app may have been removed from app stores. But devRant will never die!
https://play.google.com/store/apps/...16 -
its two years since ive told a story here but lets go.
we got a new client, who is revamping their infrastructure. i gave some tasks to 2 dev ops guys (i am not devops). they were primarily bash scripts that needed to be altered. (ofc i can write scripts it takes a moment, its their jd)
after a week of chasing them around, getting no result from them, i end up doing it myself because client needs it and the company needs this client. for one task, they told me it does not apply to the component we were working on. (it did, and i did it)
we have a meeting with higher management, they asked me how did i implement it, i show my entire working, my backtracing etc (everyone knows this is how you approach huge system, component focused strict deadline task). it was infuriating how they approached it by trying to understand complete system in one week. i asked them why they hadn't taken component specific approach. they said they tried but failed because..
[this because is the whole reason for the rant, because i believe this because should be a fire-able offense]
..because we were not using VS code to find things in files
HOW IS WHAT TEXT EDITOR YOU USE OR DON'T USE AN EXCUSE
ARE YOU GUYS GETTING THIS?5 -
My cat's brain is powerful enough to calculate and apply the exact physics of a long jump, with ballistics, flight aerodynamics, dynamic weight distribution using tail as stabilizer, all of that, and land a jump every time without failure.
Yet, it's not powerful enough to realize that can just walk straight through a slightly opened door using her body as a wedge. Or, she can just, you know, push the door open with her paw. When presented with an everyday task that involves physics, she acts like she's nothing but an ethereal ghost and fails miserably.
This makes me think that her jump computer is a very old hardwired part inherited from frogs, honed by evolution and compiled into wetware millions of years ago. Like an ancient analog computer that works flawlessly every time. She has no conscious access to its inner workings. She can use it, sure, but she doesn't understand it.
I wonder how many such parts do us humans posses.17 -
sunny day, put plants outside
cleaned under plants... then dusted... I had no energy when I woke up but evidently somehow I'm doing spring cleaning. I'm only halfway done, if that
the kitchen lightbulb burnt out today coincidentally. asked roommate if we had extra. he said no, but strangely said he'd go buy and replace it. whoa. we have several dead light bulbs and he hasn't replaced them in years. he actually replaced them all today... very weird
anyway, the one in the kitchen is bright blue now. it seems like all the nightlights in the kitchen are also now permanently on because of it. I do not know if I like this2