[HN Gopher] Deploy a website on imgur.com
___________________________________________________________________
Deploy a website on imgur.com
Author : zjcqoo
Score : 506 points
Date : 2021-09-06 08:49 UTC (2 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| peterburkimsher wrote:
| This is really great! There's an API to save images locally on
| most platforms, including mobile (Save To Camera Roll).
|
| If the image gets recompressed during sharing, is it still
| possible to decode the website from it?
|
| One of the problems I had when trying to build something like
| this in the past is that saving & sharing images was very lossy
| at the time. So I ended up using iCalendar and PDF attachments.
| nobrains wrote:
| Now put this on the Blockchain and you will have miners across
| the world hosting it for you.
| Ralo wrote:
| I love fun projects like this! It seems like you're restricted to
| 5mb (Imgur's limit), perhaps there is a way to chain multiple
| images together? I wrote another project in the same scope [1]
| where it uses Discord files and compiles everything to a massive
| blob then splits it up into many smaller chunks, giving an (in
| theory) infinite upload cross domain. Seems to be still going
| strong.
|
| [1] https://github.com/5ut/DiskCord
| FaceKicker wrote:
| Shameless plug of my old dead project: this is great, it reminds
| me of my Android app "Smozzy" which let you browse the web via
| SMS/MMS. I apparently posted it on HN exactly 10 years ago
| tomorrow! https://news.ycombinator.com/item?id=2976764
| pryelluw wrote:
| I remember this! What have you been up to since?
| FaceKicker wrote:
| That was a summer project after my last semester of
| undergrad, posted at the beginning of my first semester in a
| PhD program in AI (lucky timing there). Graduated in 2017 and
| have been working in the field since.
| lofties wrote:
| Great post, very fun project.
|
| A while back I wrote a blogpost[1] about using PNG chunk
| functionality to "hide" a arbitrary data in PNGs without it
| affecting the way a PNG is displayed. I'd love to see this being
| used together with this project.
|
| [1]https://blog.brian.jp/python/png/2016/07/07/file-fun-with-
| py...
| danuker wrote:
| Fun fact: you can create binaries that can execute bit-for-bit
| on many platforms:
|
| https://justine.lol/ape.html
| drannex wrote:
| I wrote this in another comment, but this is the same method
| Kingdom Hearts 3 used on the PC version for their save files.
|
| https://www.pcgamer.com/kingdom-hearts-pc-save-files-are-tuc...
| inetknght wrote:
| > _Web2Img is a tool to bundle your web files into a single
| image, and extract them via Service Worker at runtime._
|
| Oh too bad services workers and javascript are disabled. Your
| website won't load images then.
| 2Gkashmiri wrote:
| sweet. good job, only thing my firefox 91 on kde neon says does
| not support service worker but the demo video looks great
| pjmlp wrote:
| Firefox 92 on Windows also not.
| 2Gkashmiri wrote:
| and i am being downvoted for some reason ? sometimes i do not
| understand this community
| pjmlp wrote:
| Apparently it only happens in incognito.
|
| As for downvotes, just ignore them, there are pitchforks
| everywhere, not worthy to even spend one second thinking
| about.
| rvba wrote:
| Will imgur be able to detect this and remove it? Because it looks
| that many parties might try to abuse it: "free hosting".
|
| If anything is provided for free someone will come and ruin it...
| BiteCode_dev wrote:
| imgur is already providing free hosting, and as FUSE over gmail
| driver have shown, it can be abuse, although it's not very
| practical, and it probably is.
|
| I mean, if you gotta serve a malware payload, you are not going
| to host it yourself, so hidding it in an image on a public
| website is a good strat.
| p4bl0 wrote:
| This has all its place on hacker news because it is a fun hack,
| but it's not _at all_ practical. Not only it doesn 't work in all
| browsers even fairly recent ones (service workers), but even when
| it works it necessitates javascript enabled, and imposes a non
| negligible additional load time. And more importantly, with the
| way it is recommended to use it using 404.html file as a "catch
| all", it means all your pages are served as 404 errors, which can
| be a problem for a lot of things (starting with search engine
| indexing).
| jordache wrote:
| _____ requires a browser, so it's less resilient than a
| solution without a browser dependency.
| jstummbillig wrote:
| > This has all its place on hacker news because it is a fun
| hack, but it's not at all practical.
|
| No shit.
| BiteCode_dev wrote:
| Yes, but as you said it's fun, and it would actually be
| practical if you'd put the unpacking server side, as a way to
| save hard drive space. Or with a cli tool. It could even shard
| the content among several images as well, or create a FUSE
| driver for it. Combine it with webtorrent or a p2p webrtc cdn
| for additional coolness.
| speedgoose wrote:
| Requiring javascript is fine in my opinion. Almost everyone has
| javascript enabled. And the few power users without javascript
| will enable it if they want to.
| oefrha wrote:
| > with the way it is recommended to use it using 404.html file
| as a "catch all", it means all your pages are served as 404
| errors
|
| That's due to GitHub Pages not having any rewrite mechanism
| other than the 404.html hack. You can host the same thing on
| Netlify/Vercel/any other host with proper rewrite support,
| including a server of your own, and not have this problem.
| YetAnotherNick wrote:
| > Not only it doesn't work in all browsers even fairly recent
| ones
|
| https://caniuse.com/serviceworkers
|
| It works on 96% of user's browser.
| pjmlp wrote:
| Apparently the demo doesn't work on Firefox 92 incognito
| mode, so.
| [deleted]
| lelandfe wrote:
| https://bugzilla.mozilla.org/show_bug.cgi?id=1320796
|
| > Service workers are disabled in private browsing mode
| because they are impossible to use without setting up state
| tied to the origin and URL scope. This inherently requires
| writing to disk.
|
| Had no idea this wasn't permitted.
| pjmlp wrote:
| Thanks for pointing the ticket, I also wasn't aware of
| it.
| Dylan16807 wrote:
| > The tentative plan is indeed to use temporary disk
| storage that's encrypted so that in the event of a
| browser crash the data will remain unreadable. We're
| starting with IndexedDB support for this mode of
| operation and bug 1639542 is the meta-bug for that. This
| is a longer term effort.
|
| Well that's a start.
| bogwog wrote:
| Except for the SEO issues, everything else sounds like modern
| web stuff.
| endless1234 wrote:
| It's a fun project decoding a png image clientside. How do you
| propose it should be done without javascript? How does SEO make
| any difference - it's clearly a toy project, proof of concept,
| not meant for real world use.
| kashug wrote:
| I often see people speak about requiring users to have JS
| enabled as a problem. But is that really an issue? I remember
| 5-10 years ago I would use things like no-script to disable
| javascript, and only enable on specific sites. But with the way
| modern frontends are, I would expect most website to not work
| at all if I disabled JS. So I would expect most users to have
| JS enabled anyway.
|
| I can't remember the last time I created a website in a
| professional setting that would work without JS. Everything is
| written in things like React, Angular and Vue.js these days.
| And that seems to be the case for most modern websites. Atleast
| things made here in Oslo.
| vasco wrote:
| People that are in the web since forever and understand how
| it works and complain about JS are the weirdest form of tech
| ludites there are. Such a weird line in the sand.
| tyingq wrote:
| I don't run with JS disabled, but still hate things like a
| blog where the html is essentially empty and only filled
| with content via JS.
|
| The whole idea of articles, documents, and so on, for the
| web was semantic content held at a url, crosslinked to
| related semantic content, etc.
|
| I do understand the idea of SPAs, but not the idea that
| everything should be an SPA.
| thehta wrote:
| How is it weird? You literally go from
|
| > viewing text/parsing XML
|
| to
|
| > allowing remote sites to execute code on your machine,
| immediately when you load a site.
|
| That's quite a big jump, regardless of all the browser
| sandboxing.
| kitsune_ wrote:
| Yes, but JavaScript has been a thing since the 90's and
| was widely used by web sites even back in the the days of
| GeoCities. So it's really a bit weird to complain about
| something that has been part of the web since almost its
| beginnings, and arguably has been one of the main drivers
| for the 'rise of the web' itself.
| afloatboat wrote:
| I see people comment this on HN on a daily basis and it
| always boggles my mind. For me this reads as: 'This thing
| that was initially conceived years ago when computers
| were incapable of much more than display text should
| never evolve/change to take advantage of current
| capabilities'.
|
| Yes, initially the web could only display hyperlinked
| text. The same can be said for many
| technologies/inventions, should we therefore never expand
| the capabilities of our tools? What is the difference
| between the web and your operating system in that regard?
| Why are OS APIs so different?
|
| We can also look at the positive effect this evolution
| has had where what used to be platform specific tooling
| is now often simply available via a URL. I much prefer
| that over random executables that are not sandboxed and
| by default have full access to all your data. Yes, this
| can be mitigated, but the average user won't.
|
| No it's not all sunshine and roses, we've made trade-offs
| with regards to performance and UX among others, but this
| is still an ongoing process as the modern web is still
| relatively young and changing.
| kitsune_ wrote:
| It is a weird hang up because JavaScript/scripting was
| already ubiquitous in the 90s! I programmed "Dynamic
| HTML" pages as a summer job in '98 or so when I was in
| high school.
| handrous wrote:
| JavaScript's a massive security threat. It's really weird
| to me that people seem to just assume it's fine, and
| isn't the most dangerous damn thing in common use on
| computers. Every time someone (usually Google) pushes
| another way for it to touch hardware, I'm surprised that
| most developers are like "oh good, so glad, can't wait
| 'till Safari catches up in 5 years". Um... no? It's a
| terrible idea? Please don't ever?
|
| We ought to be _reigning in_ what JS can do and removing
| access, not adding more. For one thing, it shouldn 't be
| able to send data without our say-so. It's insecure and
| spying-enabling by design--why does clicking a link mean
| the page that loads gets to send my mouse movements and
| keystrokes to its master? That's crazy, and has been a
| major contributor to the new norm that all kinds of
| privacy-invasion is fine. "It's just 'telemetry', what's
| the big deal?" Ugh.
|
| "That's alarmist, JS is super secure" right, and most
| folks weren't worried about their CPUs betraying them
| until Meltdown and Spectre--smart money says there _is_ a
| vulnerability we 'll find shocking in one or more
| JavaScript implementations, right now, waiting to screw
| us.
| acuozzo wrote:
| > smart money says there is a vulnerability we'll find
| shocking in one or more JavaScript implementations, right
| now, waiting to screw us.
|
| https://www.vusec.net/projects/smash/
| dreamcompiler wrote:
| There's nothing wrong with using a school bus to carry 30
| children to a school, just like there's nothing wrong
| with using JS to render a highly-interactive SPA.
|
| But the vast majority of websites that use React are the
| moral equivalent of driving an empty school bus to the
| store to buy a loaf of bread: It's massively wasteful and
| frankly stupid.
| t-3 wrote:
| There was never a technical limitation to running
| software over a network, unless you go back to before
| computer networking was invented, far far before the
| internet. Putting all the capability into the browser is
| what people have a problem with.
|
| The modern web is anxiety-inducing and incredibly scary
| to people that pay attention. I don't want to spend an
| hour checking the js on sites before I use them to make
| sure they aren't malicious/mining bitcoin/whatever, so
| disabling JS is an easy out that preserves my sanity, and
| gives me a better experience. No cookies, no popups, no
| paywalls, no ads, no lag.
| acuozzo wrote:
| > we've made trade-offs with regards to performance and
| UX among others
|
| Security too! https://www.vusec.net/projects/smash/
| zelphirkalt wrote:
| We have HTML and CSS, which evolved quite a lot and
| already allow for what 90% (estimate) of the websites do.
|
| Usually it is people using JS, where they should not and
| tracking from FAANG and others, which are the reason to
| block JS. You are painting a wrong picture there.
|
| If 95% of the web devs used JS in appropriate ways and it
| was not used so much for spying on people, well, then it
| would be a different story.
| scrollaway wrote:
| You say that, but even if all trackers disappeared today,
| everybody and their alt account would still be
| complaining on HN about javascript omnipresence, "why are
| you using React when you could do this serverside" and
| what not.
|
| (And if you agree with telling people they're doing their
| development wrong by using JS for anything less than an
| in-browser implementation of Starcraft, you're painting
| yourself as the arbiter of what is and isn't appropriate
| -- please don't.)
|
| Hating trackers is rational. The JS hate on HN, is not.
| dang wrote:
| Would you please stop breaking the HN guidelines? You've
| been back to doing it repeatedly lately. This is not
| cool.
|
| https://news.ycombinator.com/newsguidelines.html
| drran wrote:
| It's possible to create javascript-less sites with
| partial hydration, e.g. by using Svelte and Elder.js.
| They are loading fast and working fast. They are favored
| by search engines. They have much fewer issues with
| accessibility.
|
| These people, who advocate to use aged JS libraries to
| poorly implement modern HTML5 features while breaking
| accessibility, are the weirdest form of Luddites ever.
| grifball wrote:
| We spend a ton of time locking down OS API/ABIs to
| prevent sandbox violations and I wouldn't trust a shared
| server with sensitive data unless I had an IT team
| working on it. JS seems to be a lot better with
| sandboxing though. You still have to really worry about
| CSRF though. I use multiple profiles to ensure sketchy
| sites can't get at my data.
|
| I think JS gets a bad name when people use it to make
| crazy modal popups or inline video ads or change the way
| the page scrolls. Beyond that it's cool that devs can get
| really creative with a website and I love coding in JS.
| But also you're adding a lot of complexity for that.
| HTML/css are fine for creating a website that
| communicates information and maybe even looks nice. And
| they aren't actually a programming language, they're just
| data. JS is a full programming language and gives you
| enough rope you hang yourself and I think developers
| kinda go off the rails messing with their sites and ruin
| the user experience.
|
| It is cool that I can have whoever execute code on my
| machine without worrying if it will get privileged access
| to it. That is a pretty amazing feature of JS/browsers.
| adventured wrote:
| > should we therefore never expand the capabilities of
| our tools?
|
| Yes that's exactly what the luddites are arguing in favor
| of, rolling back progress, and dramatically stripping
| away capabilities. They don't consider any of it to be a
| net positive, they don't think of it as being progress.
|
| It's not specific to JavaScript, it's far broader than
| that. It's an ethos.
|
| In my observation they also typically want to go back to
| not having graphical user interfaces. They like a nice
| command line interface as a way of life. It seems silly
| to stop there though. The computer should be gotten rid
| of just the same to be philosophically consistent.
| bonestormii_ wrote:
| I think you are right in many respects. I would not
| consider myself one of the accused luddites, but in their
| defense, this ethos isn't baseless.
|
| First and foremost, the luddites you speak of are
| programmers or sys admins. They have been using terminals
| and are still using terminals daily, and they see the
| benefits that those tools have to offer. Namely, they see
| composable, interoperable programs that abide by the
| philosophy that programs "should do one thing well" as
| the bench mark for _real progress_. I would say I agree
| with the merits of this perspective. But I still use
| VSCode in addition to vim, because I 'm not a zealot and
| there are times when I want to edit something in a very
| flexible way that VS Code better facilitates.
|
| Both ways of doing things have their merits I suppose. It
| just hurts a bit to see something simple and powerful be
| wrapped and rewrapped in progressively less helpful
| proprietary systems and given a JS front end that lacks
| all of the focus and freedom that charmed us with the
| systems to begin with.
| ori_b wrote:
| > take advantage of current capabilities'.
|
| The problem is that, usually, turning off "current
| capabilities" leads to a faster loading, lower
| distraction, less ad-contaminated, less janky, and all
| around better experience. In an effort to squeeze every
| ad dollar out of the eyeballs crossing the page, sites
| are using modern capabilities as weapons against their
| users.
|
| If sites continue to work js-free, there's a simple
| switch to enable to improve my browsing experience.
|
| And it even defeats the anti-adblock crap reasonably
| often.
| nl wrote:
| HTML has never been XML.
|
| And HTML + CSS3 is Turing complete without Javascript
| anyway: https://accodeing.com/blog/2015/css3-proven-to-
| be-turing-com...
| kitsune_ wrote:
| Amen, I think if memory serves correctly HTML was SGML
| inspired and once XML became popular there was a XHTML
| standardization push for a brief time.
|
| I think you could argue that the ubiquity of HTML led to
| people see value in something like XML back in the late
| 90's / early 00' and HTML drove XML invention and
| adoption and not the other way around.
| jstummbillig wrote:
| In a mere 20-ish years. Crazy.
| diroussel wrote:
| And how many years did HTML exist before JavaScript was
| invented?
| jstummbillig wrote:
| 100000 years?
| pjmlp wrote:
| Technically you already allow remote code execution via
| XSLT.
| exporectomy wrote:
| You just restated the belief as if the reason is self-
| evident. What's the reason? Security? Even displaying a
| JPEG has had security vulnerabilities. You can't really
| seem to escape that just by not executing code. And no
| PDFs too, I guess, because they contain code?
| _Algernon_ wrote:
| Reducing the attack surface is the pragmatic thing to do
| and it just happens that js alone makes a several orders
| of magnitude difference on its own. Don't let perfect be
| the enemy of the good.
| httpsterio wrote:
| I'm not that old nor opiniomated, but I dont think
| disabling JS for the majority of browsing is weird. I had a
| mid-tier Android phone phone (a 250 euros costing Nokia)
| that after a few years of use just simply crawled when
| using normal websites that were a bit JS heavy. I'm not
| even talking about react/vue SPA apps.
|
| Sites like the new Reddit design, Facebook, twitter etc.
| are just incredibly slow even on my beefy desktop and it
| its 100% because of how long the JS takes to execute.
|
| We're off loading the performance hit in developer
| experience and server side rendering to the end user at the
| cost of a crummier user experience with many websites these
| days that strictly wouldn't need JS for most of the
| functionality. I'm not happy about this trend.
| bogwog wrote:
| It's the kind of thing where you have to try it for
| yourself. No javascript == best user experience possible.
|
| * instant load times
|
| * stable performance
|
| * no tracking, and sometimes even no ads
|
| * no stupid animations that break scrolling, ask you to
| sign up for newsletters, etc
|
| * no hijacked back button, or disabled
| highlighting/copy/paste, or pop ups/unders
|
| Unless you're trying to play games, or use some complicated
| web application like an IDE, javascript offers absolutely
| nothing of value to you. It only exists to benefit the
| owner of the website. For 99.999% of web browsing use-
| cases, HTML/CSS is all that's needed.
|
| The only situation I can think of where javascript has the
| _potential_ to offer an improved user experience is with
| infinite scrolling. That 's personal preference though, so
| if it's something you value, I could understand wanting to
| enable javascript.
|
| (also, I just checked and noticed that Twitter refuses to
| work if you disable js. Fuck you, Twitter.)
| stevage wrote:
| Full time freelance web dev here. Literally every site I
| make requires JavaScript to run. No one has ever
| complained about this.
|
| It would be much harder to make them work without
| JavaScript.
| onychomys wrote:
| > For 99.999% of web browsing use-cases, HTML/CSS is all
| that's needed.
|
| Many people use the web to buy things. Button presses,
| logins, pizza tracking monitors, they all use JS.
| witheld wrote:
| None of those require JS at all, except the pizza
| monitor.
| onychomys wrote:
| How can you send information to your backend server
| without JS?
| jzebedee wrote:
| This is like a technical invocation of Poe's law.
| stevage wrote:
| Submit buttons or links. Then the whole page reloads.
|
| There might be tricks using CSS and images too.
| jansommer wrote:
| Back in the days (I'm 33 and thus quite old in web years)
| we would use forms
| turbocon wrote:
| You can still track without javascript. One way is using
| invisible img tags. It can be less effective though.
| dewey wrote:
| > No javascript == best user experience possible
|
| And yet in every thread there's at least one person
| complaining about the posted link not working with JS
| disabled.
| bogwog wrote:
| Of course, since that means the page requires javascript,
| and is thus providing an inferior user experience. Who
| wouldn't complain about that?
| tiborsaas wrote:
| Your comment reminds me of this good old meme:
| https://i.kym-
| cdn.com/photos/images/newsfeed/001/016/674/802...
|
| Sure, if you disable JS you'll have a worse experience,
| but it's your fault, not the site creators'.
| throwawayswede wrote:
| You do realize those people you call weird mainly refuse to
| enable js by default because of the amount of tracking it
| imposes right? Not to mention those "designed" articles
| (the verge style) that load like 3 megs at least of a god
| awful amount of crappy slider libraries and crappy stuff?
|
| This is such a basic thing to refuse that what's actually
| weird is that you find it weird.
| dwighttk wrote:
| 3 megs!? That won't even fit on two of my floppy disks
| dotancohen wrote:
| I worked with someone not so long ago that was on a 750
| KiB connection. I myself remember that speed at being
| blazingly fast at one point - so fast that we could start
| listening to a song before Kazaa finished downloading it.
|
| 3 megs of unnecessary data meant that he would sit 3
| unnecessary minutes waiting for a page to load.
| throwawayswede wrote:
| I had a bad connection for the majority of my internet
| usage life. People don't understand that excessive data
| loading is superfluous. But to call people who worry
| about that weird is truly strange to me.
| jeffreygoesto wrote:
| No, it's not. These people know exactly what they want to
| avoid.
| nathias wrote:
| modern frontends work with disabled JS because of SSR
| jstummbillig wrote:
| If you chose to flat out disable JS in 2021 (by all means, go
| for it), understand that you are the Amish of the Internet --
| so, please, behave like the Amish of the Internet. Be cool
| with the consequences of your deliberate choice. Do not
| expect other people to work around you or, worse, resent them
| for not doing so.
|
| This is not to say that JS isn't being abused a lot -- but
| then again, it's soft tech, it's the internet and the abuse
| comes at little cost (compared to most industries). I always
| thought it's a huge part of what makes it fun and speeds all
| progress along like crazy.
| turminal wrote:
| No.
|
| Calling someone Amish of the internet because they refuse
| to be tracked, refuse to take part in voluntary remote code
| execution or just do their computing on a computer from
| 2010 on a poor internet connection is just sad.
|
| If you want to live in a world where everything is a SPA by
| all means go for it, but be prepared to be criticised for
| making a blog post or a news story that is literally a
| bunch of text paragraphs interleaved with images require
| Javascript.
|
| Doing so is not progress.
| jstummbillig wrote:
| > If you want to live in a world where
|
| Hi, this is World speaking.
|
| You can pretend it's not me. That's a bit silly but oh
| well, it's hardly a contender for the most outrageous
| thing that happened around here today.
|
| You can also chose to only partly partake in what's going
| on RIGHT NOW and be very cool with that decision. Like,
| oh I don't know, the Amish.
|
| But this is what I am today. Please get real.
|
| Your friend, World
| turminal wrote:
| You're just annoyed because people are complaining.
|
| If you believe there's more to your point, please restate
| it in a less patronizing manner.
| jstummbillig wrote:
| I don't know turminal, that really doesn't sound like me.
|
| Anyway, I thought I jotted my point(s) down quite
| amusingly, but oh well, hit and miss. Restated more
| plainly:
|
| - I am acknowledging what the world is and where that
| leaves anyone disabling JS _indiscriminately (sic)_ in
| 2021, solely because of the technology _and not because
| of individual usage_.
|
| - I think it's important to acknowledge what the world is
| to have any serious discussion about the world. How about
| you?
|
| - I made no statement about what I want the world to be.
| You have been inferring (wrongly, but, oh well, it barely
| matters)
|
| - Being compared to the Amish is not "sad" to me and it's
| not meant to be offensive. What I think is sad is if you
| chose to be disconnected (like the Amish) but unclear
| that you are disconnected because of personal
| considerations (unlike the Amish) and then get angry at
| the thing you are disconnected from because it doesn't
| care about your personal considerations.
| antifa wrote:
| I suppose you also think condoms are for the amish?
|
| Enjoy your 30MB js files and 4k autoplaying video ads
| that follow your scroll and jump around the screen.
| sgt wrote:
| Use Safari - anti tracking measures etc.
| turminal wrote:
| I don't see how locking myself into a walled garden would
| improve the situation.
| Xelbair wrote:
| >I often see people speak about requiring users to have JS
| enabled as a problem. But is that really an issue?
|
| With how prevalent tracking on the internet is, despite
| GDPR's attempts. Yes, it is an issue.
| nl wrote:
| But Javascript has little to do with tracking.
|
| Third party cookies is a much bigger concern there, and
| mostly orthogonal to the use of Javascript.
| zelphirkalt wrote:
| JS is used for fingerprinting and very often to load
| additional trackers.
| eadmund wrote:
| > I can't remember the last time I created a website in a
| professional setting that would work without JS.
|
| A website which does not work without JavaScript is by
| definition unprofessional. That doesn't apply to web
| _applications_ , which of course use JavaScript heavily, and
| need to (at least until WebAssembly is ready for prime time
| -- and even then JavaScript is required as a shim).
|
| The Web is a web of hyper-linked pages, _documents_. It does
| not require JavaScript, although of course many pages are
| improved with the dynamic behaviour enabled by JavaScript.
| rauhl wrote:
| > That doesn't apply to web _applications_ , which of
| course use JavaScript heavily
|
| I propose that rather than 'Web applications' these be
| called 'browser applications,' because they are
| applications that run within the browser runtime. It is
| basically a coincidence (and a convenience) that they
| happen to rely on the same technology used for the Web.
|
| What I don't understand is why folks write browser
| applications for things that the Web platform already
| handles well. The Web is pretty cool! Not perfect, but then
| nothing is.
| mbesto wrote:
| By definition? _Who 's_ definition?
|
| > The Web is a web of hyper-linked pages
|
| The web is an open specification that has evolved greatly
| over time. Pretending like these principles are religious
| are exactly the antithesis of an open standard. It requires
| debate and discourse.
| lelandfe wrote:
| An odd definition of unprofessional. Building and testing a
| site for running without JS is a non-zero cost. But I've
| never seen usage stats that show that demographic above
| 1.5% of the browser market share - and those are _old_
| stats. It was sub 0.5% for the sites that I ran at the time
| (2018).
|
| I don't mean to sound flippant, nor do I mean to insult
| anyone's favorite browsing style, but insisting on this
| might be shouting into the wind? I could never make a
| business case for it, at least.
| Geenkaas wrote:
| We run a sizeable webshop that can fall back entirely on non-
| js for whatever reasons with plain forms and HTML. Not based
| in Oslo though.
| hetspookjee wrote:
| I often browse the internet through Firefox Focus with
| JavaScript disabled and the web is a breeze and really fast.
| Additionally it helps in escaping paywall s for most news
| sites.
| cheschire wrote:
| The best justifiable use case I've seen for building site
| that also functions without JS is accessibility in the
| section 508 sense. It's been a few years though so perhaps
| new standards have emerged for this purpose.
| NoGravitas wrote:
| There are. You can make a complex JS browser application
| that's completely accessible if you follow every single
| recommendation, and ARIA-tag every element that needs it.
|
| That said, a lot of what you are doing in a browser
| application is re-implementing your own version of stuff
| that the browser already does, and the browser's version of
| it is accessible by default. So a JS-free application is
| almost always fully accessible for no extra development
| cost (as long as you check it for things like
| foreground/background contrast).
| akavel wrote:
| FWIW, I do still totally use NoScript, and am somewhat picky
| with what I enable; quite many e.g. blogs (and news sites
| too) are in fact readable enough without it. And in case of
| blogs in particular (especially on the blogger site), I do
| quite often just skip reading them if they don't show
| anything with JS disabled, as this is plain dumb first of
| all, but also tends to be a strong signal that the particular
| site will be super slow, annoying, and hard to read with JS
| enabled anyway.
| simion314 wrote:
| If the website is a blog post, or some news it should work
| without JS, You don't need an SPA to show some rich text.
|
| I use Vivaldi because it makes easy to have JS off by default
| and enable for each website that really needs it. (I do not
| know if Chrome/Chromium made this thing easy too)
| amelius wrote:
| > I use Vivaldi because it makes easy to have JS off by
| default and enable for each website that really needs it.
|
| So you fill in this entire form, hit submit, and then find
| out that you really needed JS and now you have to fill in
| the form all over again. How is that easy?
| zeveb wrote:
| Whose fault is that? The one who disables the JavaScript
| not actually needed to submit a POST request, or the one
| who implements a web service which requires client code
| execution to receive a POST request (or worse, who uses
| GET for POST)?
| simion314 wrote:
| I am a developer, I can guess what site needs JS, like
| payment sites, sites that are actually SPAs. Check all
| submissions from HN and let me know how many have forms ,
| load fine without JS and don't complain that JS is off
| and then fail on submit?
|
| It is easy because I don't get popups for cookies, for
| allowing location access, no fancy scroll effects , I
| also disabled animated GIFs.
|
| If you are a webdev and you don't work on an SPA but for
| some reason you site is half broken with JS off then use
| the standards and put a message that informs the user
| that JS is required.
|
| I would not setup this to some random person computer, ad
| blockers too can screw with shopping carts and some
| websites also beg to stop the ad blocker , so I would not
| install ad blockers too any random person either, but
| here on HN JS off by default is a good advice, most
| should understand that if page is blank or some button
| does nothing then it might be a JS related issue.
| bbarnett wrote:
| _You don 't need an SPA to show some rich text._
|
| No, you need it to pad your resume.
| dewey wrote:
| > but even when it works it necessitates javascript enabled
|
| I think you are overestimating the number of people who have JS
| disabled outside of this website.
| JCVI-syn10 wrote:
| I've never worked on an enterprise-level site where there
| were greater than 1% of users with JS disabled or a
| percentage to make a dent in conversions
| asdfasgasdgasdg wrote:
| Usage-relative, it seems reasonably ok to rely on service
| workers. Something like 96% of browsers-by-usage have access to
| them. And probably most of those few users who use an
| incompatible browser can switch to a compatible one.
| kgeist wrote:
| I once had a silly idea of encoding all my data as images (and
| other possible formats) and storing them on various sites not
| designed for storing abitrary files such as imgur. For
| robustness, I'd need to store several copies on different sites,
| and run a tiny server which would make sure all data is still
| there and reupload if something was deleted.
| aeyes wrote:
| I still remember Warez being hidden in JPGs before torrents and
| general purpose filehosters became popular.
| filmgirlcw wrote:
| Yes! I remember when I figured out how binaries were encoded
| for Usenet! I'm old enough to remember Usenet but too young
| to have used it for anything but warez or media.
| gus_massa wrote:
| One of my coworkers uploaded all his high resolutions photos to
| some site (probably Yahoo!Photos ???) and lost the local copy.
| He was surprised that the site only stored the photos at a
| lower resolution than the original files.
| bbarnett wrote:
| Heh. Almost like having old style photos, you stored the
| negatives in grandma's garage, but they got wet and now have
| mold on them.
|
| You can still make out who's who in them. Sorta.
| gus_massa wrote:
| In a normal photo, after a resolution change and a lossy
| compression, you still have the photo.
|
| If you encode some binary data in a fake photo, after a
| resolution change and a lossy compression, you will only
| get garbage.
| sgtnoodle wrote:
| It depends on the encoding. If it's sufficiently low
| frequency and includes error correction, then your data
| could survive. You won't get very good efficiency though!
| darumderum wrote:
| You could also do this with YouTube Videos btw. There is also a
| github project doing that iirc
| AtlasBarfed wrote:
| Don't these sites have a right to "reencode" your image as
| needed, which would destroy whatever carefully encoded data would
| be contained in it?
| throaway46546 wrote:
| Reminds me of using copy /B foo.gif+bar.zip
| foobar.gif
|
| on imageboards back in the day.
| Denatonium wrote:
| This reminds me of the time I got free data transfer on a major
| cellular carrier by writing a script that would take large files,
| split them into 1MB chunks, prepend a PNG header to them and send
| them through said carrier's email-to-MMS gateway (a corresponding
| script on my phone extracted the original file. My carrier's
| email-to-MMS gateway didn't re-encode images and I had an
| unlimited texting plan, so this was a nice setup. There was a de-
| facto transfer limit of 500MB/day (Gmail limits you to 500 emails
| a day, with 1MB/email, and the email-to-MMS gateway rate-limited
| smaller email servers after 100 messages)
| tantalor wrote:
| Demo didn't work (chrome mobile)
| barosl wrote:
| I once made a music player similar to this. It converted music
| files into image files, and saved them to Flickr. One trick that
| I employed was that the output image files were also visually
| recognizable, featuring album covers and lyrics.[1][2] The way I
| used to hide information was pretty barbaric, but it was still a
| fun experiment.
|
| [1]
| https://www.flickr.com/photos/barosl/albums/7215763383971356...
|
| [2] https://github.com/barosl/flickr-music-player
| brnt wrote:
| Having the images show covert art is super clever and pratical!
| drannex wrote:
| This is similar to, but not exactly, how the PC port of
| Kingdom Hearts 3 used their save files: Image and data in one
| nice .png.
|
| https://www.pcgamer.com/kingdom-hearts-pc-save-files-are-
| tuc...
| soheil wrote:
| Is it possible to implement this using css instead of js since
| css is turing complete?
| eerikkivistik wrote:
| This reminds me of some wonderful 90s web games. Before XHR, an
| early web game built for Disney used a .gif as a one-way
| websocket to stream data into the webpage. This is due to the
| fact, that a .gif animation can be as long as you want and a
| server can generate an infinite animation, where some frames have
| content that you want to push and others are empty frames. Or in
| other words, they were using primitive video streaming to encode
| relevant information within the frames.
| therein wrote:
| Something similar with APNG:
|
| https://www.da.vidbuchanan.co.uk/adamation/image.png
| Dylan16807 wrote:
| That's demonstrating both server delays _and_ a hacky way of
| updating a normal png. No apng there.
| znpy wrote:
| I opened the sample site in brave on mobile and it doesn't load.
| Meh.
| remram wrote:
| If using it you could expect it to work every time it wouldn't
| be brave.
| zamadatix wrote:
| Brave blocks a lot of stuff related to service workers.
| XCSme wrote:
| It doesn't work for me neither on Brave desktop.
| znpy wrote:
| turns out it doesn't work for a lot of other people...
| kburman wrote:
| You can use reddit to simply paste the code and comments as a
| branch.
| metahost wrote:
| TIL GitHub READMEs support video playbacks now.
| toastal wrote:
| Sourcehut does not--nor does it support SVG. If you need
| something animated, you must use animated PNG (APNG) or GIF.
| icy wrote:
| Nobody said anything about sourcehut though.
| toastal wrote:
| Do they have to? HN always talks about alternatives in
| every article. It's a bit of perspective on what another
| Git forge is doing in case people were curious. I've been
| both upvoted and downvoted for the comment so someone found
| it interesting.
| RodgerTheGreat wrote:
| Sounds like a great way to encourage Imgur to clamp down CORS and
| ruin the fun for everyone.
| soheil wrote:
| There are countless other "free" image hosting services
| Sohcahtoa82 wrote:
| I'm surprised they haven't already.
|
| Imgur has really fallen over the years. It was first created by
| a redditor who was frustrated by how terrible free image hosts
| were at the time, like ImageShack and Photobucket. If an image
| hit the front page of reddit, it would very quickly turn into a
| "This image has reached its bandwidth limit", not to mention
| you usually couldn't directly link an image, and the image view
| page was riddled with ads.
|
| Over time, though, Imgur has tried to become a social network,
| and is trying to stop being the go-to place when you just want
| to host an image.
|
| But, to be fair, I don't really blame them. Image hosting gets
| expensive _quickly_ , especially when everyone on reddit uses
| you. Of course, now reddit lets you post images directly to
| them, which on one hand, leads less traffic to Imgur, but on
| the other hand, the traffic going to Imgur is now more likely
| to see ads and browse the gallery, rather than just directly
| download an image.
| RodgerTheGreat wrote:
| This is the circle of life in image hosts.
|
| A new host emerges to address the sorry state of existing
| hosts, with a streamlined and straightforward path to
| uploading. Then the cold, hard reality begins to set in: you
| cannot make money as a dumb pipe that delivers user-supplied
| images. Monetization strategies begin subtly at first. Before
| you know it the site is desperately trying to sell your image
| on a coffee mug, or hijack links to display ads, or grow into
| a social networking site. Something- _anything_ - that pivots
| away from straightforwardly posting images and linking to
| them.
|
| One day, some bold new creator sees the sorry state of
| existing hosts, recognizes an opening, and the cycle begins
| anew.
| [deleted]
| BiteCode_dev wrote:
| And if you use png, the image could even display as a regular one
| on imgur.
| jonathanlydall wrote:
| > You can use image hosting sites as free CDNs to save bandwidth
| costs.
|
| It's not free for the image hosting sites.
|
| That being said, it's a cool util.
| baud147258 wrote:
| I'm pretty sure it's also against the TOS from the image
| hosting sites and they'll nuke the account if they realize it's
| the case
| pier25 wrote:
| Yes although it's very unlikely that'll happen.
| 0-_-0 wrote:
| You can use steganography by only using the least significant
| bit in an image, so it's not visually detectable that the
| image has a website in it. With compression it would be
| completely undetectable.
| rpastuszak wrote:
| Sweet, how about hosting websites via Tweets?
|
| https://twitter.com/rafalpast/status/1316836397903474688?s=2...
| ggerganov wrote:
| This is pretty ingenious. I wonder what happens if you "host"
| illegal content in imgur with this?
| INTPenis wrote:
| That happens constantly. Imgur have to review all content
| uploaded, and you can also report it.
| BiteCode_dev wrote:
| Yes, but some img formats are valid even if the end of the
| file is garbage, meaning you could display a fully functional
| image, and still host a hidden content. Not easy to check.
| INTPenis wrote:
| I see what you mean. In that case someone just has to
| report it to their abuse department. Eventually someone
| will locate the offensive image and trace it back to imgur.
| Even if they can't immediately see it, they can see the
| abuse reports and investigate.
|
| It's a hard life running an image uploading service. You
| have to wonder how much they're being payed in ad revenue.
| BiteCode_dev wrote:
| I doubt most of the money comes from ad revenues. More
| likely, they get more cash from invisible PR campaigns,
| it's the same goal as ads, but more efficient since imgur
| user base think the content they see is 100% organic. And
| so probably sells for a lot more to bigger players.
| croshan wrote:
| I think a big portion actually comes from image-hosting
| for other websites. Stack exchange, for example, uses
| Imgur for image hosting when you attach an image with
| your answer.
| social_quotient wrote:
| Here is a tool if people are interested -
| https://stegonline.georgeom.net/upload
|
| I use it a lot for a project trying to detect manipulated
| images including stego encoded images.
| Traubenfuchs wrote:
| Just reencode all uploaded .png. No need to check!
| pjerem wrote:
| And how can they know that this [0] is illegal ?
|
| [0] : https://i0.hdslb.com/bfs/article/484c1e1a0c41d4482f6fc1
| 21132...
| bcraven wrote:
| "You don't have permission to access the URL on this
| server."
| oefrha wrote:
| You need to spoof the Referer (or just copy the link and
| open it in a new browser tab).
| Jenk wrote:
| Could you perhaps qualify what makes that image illegal? I
| don't want to open it not knowing what I'm in for.
| thaumasiotes wrote:
| It appears to be mostly random-looking pixels with some
| black streaks and a top section that is noticeably
| dissimilar to the rest of it.
|
| At a guess, it's the encoding of a binary file into pixel
| color values in a large image.
| binwiederhier wrote:
| This reminds me of my (now dead) open source Dropbox alternative
| Syncany [1] and all the different storage plugins I made for it
| [2]. Long story short, a storage plugin only had to implement the
| API methods upload, download, list and delete, so you could
| literally use anything as a storage backend (FTP, SFTP, S3,
| WebDAV, ..).
|
| I made a few fun plugins that would encode data (after deduping,
| compressing and encrypting them) into PNG or BMP and store them
| on Flickr (which gave you 1TB of free storage for images) or
| Picasa (now Google Photos). It was actually relatively efficient
| and not slower than the other methods, and it looked super cool
| to have albums full of what looked like images of static. It was
| a blatant violation of their ToC, so obviously not serious.
|
| The code is still online, it's from 2014/2015. The Flickr plugin
| with the PNG encoder is here [3], and I'm not entirely sure if I
| ever published the Picasa one.
|
| [1] https://www.syncany.org/
|
| [2] https://github.com/syncany?q=plugin
|
| [3] https://github.com/syncany/syncany-plugin-
| flickr/tree/develo...
| kenniskrag wrote:
| I wonder if it would possible to use the golang cache server.
| :-)
|
| > proxy.golang.org does not save all modules forever. There are
| a number of reasons for this, but one reason is if
| proxy.golang.org is not able to detect a suitable license. In
| this case, only a temporarily cached copy of the module will be
| made available, and may become unavailable if it is removed
| from the original source and becomes outdated. The checksums
| will still remain in the checksum database regardless of
| whether or not they have become unavailable in the mirror.
|
| https://proxy.golang.org/
| frequent wrote:
| We maintain a similar Javascript library at work called jIO
| [1][2]. It provides the same API to different storages
| (currently Memory, IndexedDB, WebSql, WebDav, Dropbox,
| GoogleDrive, ERP5) plus handlers for functionality and complex
| storage trees (eg zip, union, query, replicate, crypt storage).
| It's relatively straightforward to extend and query data
| sources with an open API since you just have to reimplement the
| jIO API methods.
|
| [1] https://jio.nexedi.com/ [2] https://github.com/nexedi/jio
| ransom1538 wrote:
| This reminds me of when i used a google doc spreadsheet as my
| database. Moderators need to edit the db? No problem! Here is
| the link to the spread sheet. Need a previous version? No
| problem! Copy paste!
| gmemstr wrote:
| I've never heard of Syncany, but I took a similar approach for
| my personal file hosting application. I wonder if I could
| implement similar silly approaches to filestorage :p
| franga2000 wrote:
| I love these kinds of hacks. I can't remember how exactly it
| worked, but I remember a program or maybe browser extension
| from back before Google Drive existed that used Gmail's then-
| generous email storage space to store files.
| rovr138 wrote:
| The gspace extension! -
| https://www.ghacks.net/2007/03/07/gspace-firefox-extension/
|
| I still have emails that I uploaded with it. Need to sit-down
| and look how that extension worked
| cartoonworld wrote:
| Ah yes, gmailfs[1] in 2004 used Linux FUSE (Filesystem in
| USEerspace) to translate local directories to your (at that
| time, rapidly and absurdly growing) GMAIL quota.
|
| FUSE let Linux do all kinds of interesting things. Forgot
| about this one, thanks!
|
| [1] DSLreports discussion from 2004
| https://www.dslreports.com/forum/r11192502-GmailFS
| derivagral wrote:
| I had a project in college (~2007-2008) for this! My project
| partner and I set up a sharded filesystem using gmail account
| storage, storing metadata in the title and splitting encoded
| chunks across emails and accounts. The storage limit per
| gmail acct was in GB, but the attachment limit per email was
| ~20mb. We spent quite a few nights figuring out bugs in our
| algo to stitch together major and minor chunks of string-
| encoded binaries.
|
| Once the cloud storage companies launched and provided
| free/cheap tiers for huge storage we mostly lost the need for
| it.
| BHSPitMonkey wrote:
| > a storage plugin only had to implement the API methods
| upload, download, list and delete, so you could literally use
| anything as a storage backend (FTP, SFTP, S3, WebDAV, ..)
|
| In the desktop world, this is pretty much the same idea as FUSE
| [1] for filesystems. It's really fun/easy to use FUSE libraries
| in languages like Python [2] to make mountable filesystems this
| way, which then allows for integrations with all of your
| favorite local software / shell commands / etc.
|
| [1] https://en.wikipedia.org/wiki/Filesystem_in_Userspace
|
| [2] https://github.com/libfuse/python-fuse
| punnerud wrote:
| If Imgur support HTTP-headers to get part of the image (byte
| range), then you can implement SQLite into the image.
|
| "Hosting SQLite databases on GitHub Pages or any static file
| hoster": https://news.ycombinator.com/item?id=27016630
| legrande wrote:
| You could store stuff in URL shorteners, but I imagine that's
| against their terms. Also: how does this break Imgur's terms? If
| 'an image is just an image' I imagine it's okay to host websites
| in an Imgur abstraction layer, but I feel Imgur wouldn't be too
| happy about that. Obviously you wouldn't use this thing for
| anything super important
| gyvastis wrote:
| Url shorteners, brilliant!
| filmgirlcw wrote:
| What a clever hack! The follow-up project freecdn [1] is even
| more robust, from what I can glean using Google Translate.
|
| This is one of those things I would almost certainly only play
| with for fun, but it's so damn clever, I just love it.
|
| [1]: 635484
| CR007 wrote:
| This concept is old.. Back in the day we used this kind of
| techniques to sneak any kind of content in imageshack et all.
| Back then we didn't have Dropbox, online storage wasn't even a
| thing so we sneaked movies, software or anything in dozen of
| image files, hosted at plain sight.
|
| This was 20 years ago or so... So many memories!
| _def wrote:
| nice. Reminds me of an semi popular image hoster which executed
| PHP code embedded as an EXIF comment >10 years ago. Fun times.
___________________________________________________________________
(page generated 2021-09-08 23:01 UTC)