11 ms·
Why does target="_blank" have an underscore in front? (2024)
- stop50 2y agoBecause its an remnant from the browser wars.
- deleted 2y ago[deleted]
- lifthrasiir 2y agoShower thought: `<a href="..." target="_mobile">` should transfer a link in a desktop into my phone. Same goes for `target="_desktop"` but in the opposite direction.
- niek_pas 2y ago[flagged]
- sangeeth96 2y agoWho doesn't?
- AndrewOMartin 2y agoBy only reading HN in the shower I limit the time wasted on browsing HN to a couple of hours a day.
- culi 2y agoSeems awfully wasteful. In many (most?) parts of the the middle east you pay for water in a shower and you get 10 minutes. It's usually extremely cheap, but the added realization of water being a limited resources promotes people to be more waterwise. I wish this was common in the US too but consumption by the American consumer is the most sacrosanct thing in the current world order. As Bush said "The American lifestyle is non-negotiable". Even while the world burns
- thih9 2y ago> SHOWER THOUGHT definition: a sudden idea that occurs to a person during an unconnected mundane activity https://www.collinsdictionary.com/dictionary/english/shower-thought https://www.collinsdictionary.com/dictionary/english/shower-...
- ramon156 2y agoIts a tongue-in-cheek comment https://www.collinsdictionary.com/dictionary/english/tongue-in-cheek https://www.collinsdictionary.com/dictionary/english/tongue-... (Not mocking, I just really liked the explanation and it happened to be the same site)
- shreddit 2y agoThat IP rating for my phone got be be useful for something
- staz 2y agoShould it really be up to the Website designer to decide? On Firefox I have the "Send Link to Device" context action that allow me to open a link on my Phone or Desktop.
- tossandthrow 2y agoIn my product we have a photo app and for normal people it is just easier to have the transferred to the phone than to use a desktop computer (without a camera) to grab a picture. We use QR codes to transfer the user - a solution would need to be as simple as that (Ie. not requiring the user to be logged in on the same browser or other shenanigans). The current solution is a hasle, but works well - I can't envision how a target="_mobile" should solve this? Especially since you need to transfer authentication also.
- Asmod4n 2y agoOn windows you can “link” your phone to your windows account, or log into your Microsoft account in edge on mobile. That could solve the login part somehow.
- woodpanel 2y agoSounds like a new product idea for services a la "login via apple-id/windows/google/...". Name it something like "send session to..."
- tossandthrow 2y agoThe issue, as also described in the comment, is that it is a hard no-go to assume that the user is logged in on the same device. It is a shame that the family computer does not exists anymore - a place where you can't just assume that the same account is logged in on related devices.
- graemep 2y agoKDE Connect does that on Linux and Android across browsers.
- 2y ago
- 6510 2y ago<a target="_car"></a> <a target="_shower"></a> <a target="_doorbel"></a>
- SahAssar 2y agoYay, that would be awesome for cross-device tracking! Also don't forget about _tablet, _phablet, _tv, _laptop, _watch, _work_laptop, _smart_speaker, _ereader, etc.
- d--b 2y agoFWIW, I never heard of the frameset tag, while I did use frames back then.
- barotalomey 2y agoSame... We used <iframe>.
- mxfh 2y agoframeset was already there in 1997, when iframe was just a proposal https://www.w3.org/TR/WD-frames-970331 https://www.w3.org/TR/WD-frames-970331
- tobyhinloopen 2y agohttp://hinloopen.nl/be499.html http://hinloopen.nl/be499.html Enjoy! (check the source)
- jeroenhd 2y agoA true modern blast from the past! Are you still using the original Claris Home Page software to maintain the website?
- tobyhinloopen 2y agoMy father is, yes. I think he still uses his old Powerbook G4 with the old 30" cinema display for that website. He also has an ancient version of photoshop on there, hah. He also has a bunch of wordpress websites. He's scared to change his "main" website because it might break SEO or bookmarks or incoming links. He has 2 laptops on his desks; one modern M-based macbook and that ancient powerbook. He also has a black apple laptop that I think is a G3, and it still worked (a few years ago, last time it came up)
- california-og 2y agoOlia Lialinas "My boyfriend came back from the war" is a classic piece of netart that uses frameset in a unique way. It's still online: http://www.teleportacia.org/war/war2.htm http://www.teleportacia.org/war/war2.htm
- Cthulhu_ 2y agoMy first "web app" used frames, it was good times. Some time later I used backbone.js, and while it was still good times, it did get a lot more complicated (e.g. having to manually disconnect and reconnect 'child' elements when the main element re-rendered so that they would retain their event handlers).
- 101008 2y agoOuffff, I haven't heard of backbone.js for a long time. Yeah, my first web also used frames and framesets, then I discovered iframes and it was a whole new world! I didn't need PHP to do includes. And when with JS I could adjust the size of the iframes dinamically, that was like magic.
- reflectiv 2y agomy current job still uses it deep in some abstraction created ages ago...
- aryonoco 2y agoMinor nitpick: browsers used _blank as a special directive to open the link in a new “window”, not a tab. Browsers didn’t have tabs back then, well other than Opera 4.x which was a paid software which never cracked 3% marketshare.
- kyrylo 2y agoAuthor here — thank you! You're absolutely right, and I've corrected it!
- currysausage 2y agoAnother nitpick: the attribute was called name, not id. https://www.w3.org/TR/html401/present/frames.html#h-16.3 https://www.w3.org/TR/html401/present/frames.html#h-16.3
- kyrylo 2y agoThanks, fixed!
- ldjb 2y agoI was expecting this post to explain why it's an underscore specifically, as opposed to a dollar sign, an asterisk, a caret, a tilde or some other special character. I can only assume it's a holdover of languages like C where the standard library has some reserved names that start with an underscore. https://devblogs.microsoft.com/oldnewthing/20230109-00/?p=107685 https://devblogs.microsoft.com/oldnewthing/20230109-00/?p=10...
- deleted 2y ago[deleted]
- lelandfe 2y agoAs another borrowed convention, JS developers of yore (and likely some today still) used an _ prefix to denote “private” function/methods. Quotes as it’s just a convention - today JS supports # for actual private members in class syntax.
- zeroq 2y agoThis is a direct descendant of ActionScript. It introduced the convention of Instance._getter and Instance.__private.
- DidYaWipe 2y agoWhat about Lingo?
- magicalist 2y agoThat looks like ActionScript 2, so the javascript convention was actually well in place by then. I can't speak confidently about the late 90s, but I wouldn't be surprised if it predated Actionscript 1 as well. But doesn't it all trace back to C conventions anyways?
- deleted 2y ago[deleted]
- deleted 2y ago
- n_plus_1_acc 2y agoThe answer is a little unsatisfying to me. It says that "blank" ca be a frame name, but doesn't say why "_blank" can't be.
- tomhoward 2y agoYeah it’s not a great explanation. To me (and I’m of the era they’re describing so I used it a lot) it’s simply that _blank is a reserved keyword that means open the link in a new, unnamed window. Other reserved keywords for “target” are _self (default value), _parent, and _top. https://www.w3schools.com/TAgs/att_a_target.asp https://www.w3schools.com/TAgs/att_a_target.asp
- _qib3 2y agoBut why was _name the naming syntax for reserved keywords, specifically?
- beejiu 2y agoI suspect, when the specification was created, "_" was already popular for private/reserved members in many programming languages. In C++, for instance, you can only start an identifier with a letter or an underscore. So it seems like a natural, intuitive choice. Whether anyone can find any corroborating evidence would be interesting.
- Sharlin 2y agoProbably inspired by C and C++ which reserve names starting with an underscore for the implementation (more precisely, they reserve names starting with `_[_A-Z]` everywhere, and all other names starting with `_` in the global scope only).
- yetihehe 2y agoI nice factoid: in Erlang, `_` if functional. It means "I don't care about this variable". When pattern matching you can put `_` to not bind value in function or pattern to anything or prepend a variable with `_` to tell compiler that you won't be using it, but it's there for "documentation" purposes. For example `[A|_]=List` will extract first element of list into A and ignore rest of list. Underscore has some other uses too.
- oneeyedpigeon 2y agoBecause making "blank" a reserved word would've been so much harder than making "_blank" one... /s
- Someone1234 2y agoIn HTML 4.01 and XHTML "_blank" was an illegal ID, so a frame could not use it. Therefore, there was no chance of breaking existing code. "blank" however, could be in use when they introduced this feature and break existing pages. This all changed in HTML5 when IDs could start with special characters like "_".
- moralestapia 2y agoNot sure about the /s. This is the actual answer and TFA somehow missed it completely.
- nubinetwork 2y agoI think it's funny that Mozilla says not to use frames anymore, they work just fine on modern browsers...
- oneeyedpigeon 2y agoYou mean [the mdn docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/frame https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fr...)? Looks like classic deprecation to me: they'll still 'work', you just shouldn't use them. In the same way that tables-for-layout still 'works', but you shouldn't actually do that.
- pjerem 2y agoActually, frames were ugly, limited and not really ergonomic but they weren’t a wrong pattern. They solved a real problem of having parts of the page that changes and other parts that didn’t. It’s a shame they were deprecated without a modern replacement. An "include" mechanism (like what html provides) should have been proposed to replace this use case. The deprecation of frames forced dynamic websites (wether it is client or server side) on everyone and i feel like it is in part responsible of why people stopped to handcraft websites.
- zaxomi 2y ago>> It’s a shame they were deprecated without a modern replacement. Isn't iframe the replacement? iframe is not deprecated.
- JimDabell 2y ago> Actually, frames were ugly, limited and not really ergonomic but they weren’t a wrong pattern. They were. The most fundamental part of the WWW architecture is the URL. URLs are more important than even HTML or HTTP. Without addressability, the web doesn’t work. Frames break URLs because you can visit a site that uses frames, navigate around the site, and the URL won’t change. You can’t link to the place you arrive at. Frames break addressability and this makes them go completely against the grain of the WWW. Flash and Java applets were fundamentally at odds with the WWW architecture as well for the same reason.
- bilekas 2y agoSo basically It’s an “_blank” because it is.. Author’s description is, “because if it wasn’t _blank.. it wouldn’t open a new tab.” Reminds me of some university professors I had.
- systems_glitch 2y ago"I dunno...is magic" (engineering Calculus II GTA, Virginia Tech, 2006)
- rendaw 2y agoAnd a lot of SO answers.
- Aachen 2y agoI was more thinking of javadoc, or other languages where people can automatically generate documentation from the code comments they wrote and 97 out of 100 comments is the function name written as a sentence ("reserveItem(): reserves an item") For anyone who writes these, please just leave it blank and revisit it later
- russfink 2y agoI second your motion.
- mdaniel 2y agoMy experience with this is it is almost always caused by some heavy-handed linter rule, e.g. "fail CI if methods don't have javadoc". Most of those "dumb" linters also almost never catch when a parameter has been renamed but its "@param" was left intact. Drives me crazy. see also https://en.wikipedia.org/wiki/Goodhart%27s_law https://en.wikipedia.org/wiki/Goodhart%27s_law
- userbinator 2y agoThe general trend in search engine results seems to be optimising towards these superficial and unsatisfying answers too... and part of it is no doubt due to sites like this.
- p4bl0 2y ago> developers needed a way to explicitly tell the browser to open the link in a new tab, free of frame semantics First, it doesn't say why an underscore does that, because you could totally have underscores in frame names. My guess as others here is that the underscore prefix dates back from reserved names in C and C++. IIRC the reserved names also included "_self" (even if it was the default), "_parent" (to go up a level in the frame hierarchy) and "_top" to replace the whole page. Second, at the time it was clearly not "open the link in a new tab" but rather in a "new window". IE was the most used browser back then, by a large proportion, and it didn't supports tabs at all.
- systems_glitch 2y agoProbably the most likely explanation, given so many things do inherit idiosyncrasies from C. I'd always assumed it was from Perl, given its heavy use in CGI back then -- like $_ being the default var. But that would probably also eventually inherit from C :P
- JimDabell 2y ago> IE was the most used browser back then, by a large proportion, and it didn't supports tabs at all. Internet Explorer barely even existed back then, it certainly wasn’t the most used browser. That came later. No browser had tabs back in those days.
- p4bl0 2y agoI distinctly remember IE 5.x and 6.x on Windows and Mac OS with no tab support while Mozilla then Firefox (which had a much smaller users base) had them, at a period where HTML frames were still big.
- shkkmo 2y ago> because you could totally have underscores in frame names. Technically, the underscore was restricted and should not be used for user defined targets/frame names. This isn't something any browser I know of ever enforced. https://www.w3.org/TR/REC-html40/types.html#h-6.16 https://www.w3.org/TR/REC-html40/types.html#h-6.16
- advincze 2y agoIt's crappy design. Instead of using a separate property for different functionality like target-new-window=true or sth. They wanted to be clever. I think this is misinterpreting Simplicuty by thinking that an additional property is complicating things
- Calzifer 2y agoThat just opens the door for invalid combinations. As others said there is not only "_blank" but other special values like "_top". <a target-new-window=true target-top-frame=true target-self=true ... Now the browser needs to define and document some kind of priority to solve those situations. If you can have only one target anyway why not simply give special targets special values.
- bicsi 2y agoWait, so frameset is basically htmx?
- jmg_ 2y agoI’m having the same realization regarding Turbo. Always thought it was a creatively simple solution, but had no idea the pattern had existed (and was used) for so long.
- tredre3 2y agoI've been doing web development on and off for 30 years and in no other programming field have I seen this perpetual habit of rediscovering the wheel.
- hbn 2y agoHey, we may be spinning in circles, but at least the websites consistently get slower over the years
- recursivedoubts 2y agoalways has been (hx-target was taken directly from the target attribute on anchors, innerHTML as the default swap taken from how iframes behave)
- dugmartin 2y agoI'm guessing it is because the developer at Netscape that added frame support thought about it for 5 seconds and came up with the name. Maybe if Lou Montulli sees this he would know?
- that_guy_iain 2y agoThis to me was always obvious. They wanted a way to define special targets that had specific behaviour but didn't want people to get confused when they tried to call something "blank" and then it created a new window. Having a special character at the start of your name by default is extremely uncommon so you're very safe if you add a special character at the start of the name for special purposes it won't conflict with someone's actual desires. "_blank" isn't the only one. "_parent", "_top", etc also exist.
- taco_emoji 2y agoYeah it's a magic value. No shit? Was anyone really confused by this?
- graypegg 2y agoTo be fair, a lot of people they might assume that the target attribute can ONLY take a few discrete magic values if they haven't worked with multiple frames on one document, so it's an obvious question to ask why it HAS to start with an underscore. (_blank has the same uniqueness as blank, if you assume the ONLY options are _blank and _self, the only commonly used values in modern web development.) Though... yeah it's pretty unsatisfying of an answer generally.
- graypegg 2y agoTangential, but I would really like frames to come back for incremental document updates, like LiveView/Hotwire/HTMX. You can just start working like that today with one of those libraries, but it would be so neat to have a common standard for describing an update to a targeted frame.
- snarkyturtle 2y agoIsn't that the use-case for Micro Frontend Architecture? I've always viewed it as a second-coming of Frames. https://micro-frontends.org/ https://micro-frontends.org/
- lelandfe 2y agoI consider frames to be an example of MFE, actually. I believe I remember reading that Spotify (long ago) used frames in their app so each team could be self-contained. Edit: In fact, I'm pretty sure Geers' book associated with that site says as much.
- alabastervlog 2y agoHTML has a bunch of good stuff in it that'd replace the need for so much heavy and slow and non-native-feeling javascript if that'd just been improved. Lots of it's now rarely used because it sucks, but there's no good reason it has to suck. It's like whole sections of the spec just got abandoned around 2005, but the need is still there.
- tombert 2y agoThe <blink> tag needs to make a comeback; I'm so tired of having to write my own JavaScript to get annoying flashy text. In all seriousness, I'm not entirely sure why so many features in HTML are eschewed in favor of a slow JS mess. It doesn't feel like bolting on an entire relatively-slow programming language is going to make your code more organized than a relatively easy to use tag.
- alabastervlog 2y ago
- notpushkin 2y agoYou can use target with iframes: https://jsfiddle.net/7szje2a9/ https://jsfiddle.net/7szje2a9/
- muglug 2y ago> P.S. Don’t use <frameset>. It’s deprecated in HTML5 Tell that to the enterprise email scanning software my Fortune 500 company uses
- assimpleaspossi 2y agoOf note: <frameset> is marked obsolete, not deprecated, in the current HTML standard (aka HTML5): https://html.spec.whatwg.org/dev/obsolete.html#non-conforming-features https://html.spec.whatwg.org/dev/obsolete.html#non-conformin...
- oldnerd9000 2y ago[flagged]
- mtmail 2y agoThanks for the source. The other comment where you call HN users dumb for not checking themselves was uncalled for.
- deleted 2y ago[deleted]
- erikerikson 2y agoWelcome to Hacker News. Defaulting to kindness, curiosity, and respect will help you get heard. I read the code included version of this comment and it seemed you had some potentially interesting contributions to add to the conversation.
- deleted 2y ago[deleted]
- wicket 2y agoI haven't done much with HTML for years so I had no idea that modern browsers use "_blank" to open a page in a new tab instead of a new window. This genuinely surprised me, seems like unexpected behaviour or a regression/bug. :)
- cubefox 2y agoThe last browser that did that was the infamous Internet Explorer 6.
- btown 2y agoThe 1995 Frameset proposal from Netscape that started it all: https://lists.w3.org/Archives/Public/www-html/1995Sep/0034.html https://lists.w3.org/Archives/Public/www-html/1995Sep/0034.h... > Hi. I'm the Netscape Navigator marketing guy. Please forgive the temerity with which we submit this new proposal from Netscape to the W3 and IETF for enhancements to HTML 3.0. It pertains to functionality called Frames. ... > The NAME attribute is used to assign a name to a frame so it can be targeted by links in other documents (These are usually from other frames in the same document.) The NAME attribute is optional; by default all windows are unnamed. > Names must begin with an alphanumeric character. However, several reserved names have been defined, which start with an underscore. These are currently: _blank Always load this link into a new, unnamed window. _self Always load this link over yourself. _parent Always load this link over your parent. (becomes self if you have no parent). _top Always load this link at the top level. (becomes self if you are at the top).
- cubefox 2y agoAre there still legitimate uses for the target attribute, other than _blank? Framesets are obviously out of date, but the target attribute can also be used to always open some links in the same tab with that target name, i.e. not to open a new one when it already exists. Not sure whether this has much of a modern use case.
- ZoomStop 2y agoSite is giving me a 403, here is an Archive mirror: https://archive.ph/aDqv3 https://archive.ph/aDqv3
- xyzzy9563 2y ago[dead]
- paulirish 2y agoI went digging in W3C archives to find relevant discussions. There are 4 reserved target names: _blank, _parent, _self, _top. - 1995 Sept https://web.archive.org/web/19990202141025/http://home.mcom.com/eng/mozilla/2.0/relnotes/mac-2.0a2.html https://web.archive.org/web/19990202141025/http://home.mcom.... Netscape Navigator 2.0a2 release notes including rollout of TARGET. - 1995 Sept https://lists.w3.org/Archives/Public/www-html/1995Sep/0034.html https://lists.w3.org/Archives/Public/www-html/1995Sep/0034.h... First definition of them; spec text provided by "the Netscape Navigator marketing guy". - 1997 Jan https://www.w3.org/TR/2018/SPSD-html32-20180315/ https://www.w3.org/TR/2018/SPSD-html32-20180315/ HTML 3.2 published without frame target names specced. - 1997 Aug https://lists.w3.org/Archives/Public/www-html/1997Aug/0010.html https://lists.w3.org/Archives/Public/www-html/1997Aug/0010.h... Roles of these target names clarified - 1997 Dec https://www.w3.org/TR/html401/types.html#h-6.16 https://www.w3.org/TR/html401/types.html#h-6.16 HTML 4.0 published with target names. I can't find any discussion about the choice of character. My guess is that discussion was internal to Netscape as they shipped _then_ specced link target names.
- thesuitonym 2y agoThere probably was no discussion about it. Back then you didn't have tens of managers looking to add their input to a project, so if you came up with something, you could just demo it, and unless someone had a very specific reason to reject it, nobody would. I'm not saying this is the answer, but it very well could be that whoever wrote the function that handles this decided on an underscore and nobody ever even questioned it.
- dowager_dan99 2y agoand really this should be the path: define a new convention, then standardized after - if it's needed (spoiler: probably not going to need it). This is definitely not perfect; it's incredibly painful to retrofit standards, but I'm not convinced it's less work than creating a bunch of standards no one needs.
- IgorPartola 2y ago
- rco8786 2y agoWhy did we move away from this model of web development? If I remember back that far, it seems like fairly soon after this was when the meta starting telling us that frames were bad, and using <table> was bad, etc. It all honestly seemed a lot easier than what has come after.
- cartoffal 2y agoIt wasn't easier, but it was simpler. Fewer moving parts. The reason we moved away from it was that after a point, the amount of legwork to implement relatively simple behaviours became astronomical. Whether or not the current state of matters is "better", who's to say. But things are certainly much easier now. Besides, you still can use those old modes if you want to :)
- mananaysiempre 2y agoI have to use, still, a set of documentation that is formatted using an old-style two-frame layout—contents/search on the left, article on the right. It sucks, because unless I’m willing to lose the left frame, I can’t open articles in new tabs, I can’t bookmark them, I can’t copy their addresses. The back button kind of works, but the menu items are useless (they all contain the title of the frameset). And so on. The layouts people were trying to create with frames weren’t bad, but browser behaviour around framesets isn’t good. I didn’t really have a good enough Internet connection at the time, but looking at them now I do agree that frames break linking too hard and shouldn’t be used.
- wavemode 2y agoThe direct answer to your question is that the idea of "responsive" web design gradually took over when smartphones became popular. People liked the idea of not needing to create a separate mobile version of their frontend, and instead simply adjusting the styling and structure of the page in response to the size of the viewport. Tables were bad at this because you couldn't use CSS to arbitrarily move around the way a table is structured. (The funny thing is that, in modern browsers this is no longer true - you actually can use CSS to restructure table layouts now. But, the world has already moved on.) Though there's a broader answer, which is that generally as web design has modernized, so too have ideas of "semantic" markup. Semantically, table is supposed to be used to display data. HTML which is used for its proper semantic purpose is easier for screen readers, improving accessibility, and easier for search crawlers to make sense of the content, improving SEO. So a lot of old HTML tricks fell out of use when HTML5 started becoming popular.
- jwsteigerwalt 2y agoLove this. Just when you thought you knew all the reserved words, you learn another one.
- mannyv 2y agoname collisions.
- knorker 2y agoOn this topic: Please NEVER use target=_blank. If the user wants a new window or tab, then they can open a new window or tab. There are so many websites where navigating around for a bit makes you end up with 5-6 tabs open, all with broken history, thanks to this mis-feature. _blank is evil and user hostile. Don't be evil and user hostile.
- hollerith 2y agoIt's too bad that you have to resort to pleading with the 10s of 1000s of web-site owners because the place where this problem is most easily addressed is with the 4 major browser owners (Apple, Google, Microsoft and Mozilla). I.e., they have the power to remove the _blank functionality from the browsers.
- encom 2y agoI hate this so much. There are a few extensions that try to limit the damage, but none of them work super well. There's no reason for target=_blank to exist.
- kilna 2y agoUnderscore prefix in a label has conferred a meaning of private or reserved in the C programming language since at least Unix Version 6 in 1975, which had underscores to denote system level functions and variables. MUMPS in 1966 reserved a % prefix to indicate system variables and routines, so a convention of using a non-alphanumeric character to distinguish scope has been around about as long as ASCII has been the dominant standard for text.
- dataviz1000 2y agoPerhaps for the same reason "World wide web inventor admits forward slashes 'a mistake'" [0]I wonder what the cumulative years / time wasted writing '://' or the amount of energy which could have been saved computing it would be? [0] https://economictimes.indiatimes.com/tech/internet/world-wide-web-inventor-admits-forward-slashes-a-mistake/articleshow/5123863.cms?from=mdr https://economictimes.indiatimes.com/tech/internet/world-wid...
- pyromaker 2y agoSo if we kept frameset in HTML5, we would not have had to do all these JS shenanigans?!?!?! SPA out of the box? :)
- vivzkestrel 2y agowhy did they scrap frameset?
- mattl 2y agoBecause “blank” can be a real frame name if you want to make your codebase a little harder on purpose. You still see _blank for links opening in new windows, but _parent, _self, etc not so much anymore.
- gpmcadam 2y agoThe title of the post isn't asking HN users a question
- batch12 2y agoLooks like a question to me. Even has a little curly punctuation mark at the end.
- oneeyedpigeon 2y ago> The title of the post isn't asking *HN users* a question
- batch12 2y agoSo everyone else then? Sounds like someone is just grumpy today.
- oneeyedpigeon 2y agoThe headline of the article is a rhetorical question, one that the article itself then answers in detail. It's a very common device.
- batch12 2y agoYes, it is a common clickbait tactic. Also, rhetorical questions, by definition, don't get answered. If it's rhetorical then the article content is pointless? I don't see why this bothers you all. Saved me a click so I appreciate the comment.
- icedchai 2y agoBecause back in the mid 90's, there was Netscape...