http://riscv.jghuff.com/ Welcome to The World's First RISC-V Site! You've made it to the world's first website hosted on a RISC-V computer that serves up multimedia. In fact, it could be the only one, but this should hopefully change in the future. About The Hardware I'm hosting this site on a LicheePi, a RISC-V SBC (Single Board Computer) that costs only $26 USD. What do you get for only 26 Freedom Bucks? * One C906 core running at 1 GHz * 512MB of memory * One micro SD card slot * One WiFi chip * One USB port * One HDMI port * Lots of GPIO pins * That's it! That doesn't look like a lot, and it isn't. In fact, this C906 CPU core is only in-order. This means that if some program needs to access some memory, everything stops until that memory gets accessed, which makes for an extremely slow experience. What's more important is what you can do with all you have, however. The Setup I have this LicheePi board plugged into a power strip that's shared with my main PC, and connected to my WiFi network as there are no USB ethernet drivers in the kernel it's running. The WiFi hardware yields a speed of about 30 megabits, which is not great yet not terrible. I actually guessed this at first and later found out with iperf that it was exactly 30 megabits. What a coincidence! The board is running Armbian Linux and I access it over SSH. Why? This is because SSH lets you go anywhere, but more importantly, SSH doesn't take much processing power, in comparison to a display which consumes almost everything. Remember, I never claimed that the LicheePi had a GPU to use (see above), so it needs to render everything in the framebuffer with the CPU. It turns out that there is in fact a "2D accelerator" but it doesn't seem to do much and still can't stop the system from chugging if you want to do graphics. For the website itself, Nginx hosts it just fine. I just installed it like you would on a plain-jane vanilla Linux server. Finally, for the website content, I've tried to make it as simple yet pretty as possible in order to save on bandwidth. The reason you see this pretty font is because it's downloaded from Google Fonts. However, there is a particularly bandwidth-hungry demo you'll see below. Output of Neofetch running on this LicheePi: jackson@nezha ------------- # # # # # # # # # # # OS: Armbian (22.08.0-trunk) riscv64 ####################### Host: Allwinner D1 Nezha #### #### Kernel: 5.19.0-d1 #### ########### #### Uptime: 3 hours, 2 mins #### ## ## #### Packages: 700 (dpkg) #### ## ## #### Shell: bash 5.1.16 #### ## ## #### Terminal: /dev/pts/0 #### ############# #### CPU: (1) #### ## ## #### Memory: 106MiB / 476MiB #### ## ## #### #### ## ## #### #### #### ####################### # # # # # # # # # # # And here's the content of the directory of this website's assets: jackson@nezha:/var/www/html$ ls index.html mystery.opus jackson@nezha:/var/www/html$ Not much to see here! An Uncomfortable Observation It seems like it's too common for websites today to be bloated to the extreme with too much JavaScript, images, videos, and other bulky content. Many websites today ring in at a size of multiple megabyteS. This is just unacceptable for those without good connections, or those who are used to low-latency experiences, like me. I can personally feel mere milliseconds of delay because I'm used to musical instruments and pro audio where there is little to no latency all the time. Luckily, this site is different. It is no more than a few kilobytes in size, unless you count optional content which you'll see very soon. Despite being only kilobytes big and no more than a single page, I think this site still looks great. It has nice font (s), a nice background, and a nice structure. Why can't more sites be like this? If this were the standard of today, then we all could save tons of electricity and costs and just use $26 computers to handle it all, and users would have a much better experience too. That's like having your cake and eating it too! In addition, if one cheap little $26 gadget can do this, then what could a $60 one do? The VisionFive 2 already offers staggering performance in comparison yet only costs about that much. An Absolutely Huge File It's time for the huge file you've been waiting for. Actually, it's not so huge because I'm using the Opus codec. It's a quick little recording of me playing a particular song. Can you guess what song it is? If you have an answer, email me below. Hint: It's in Spanish. Mystery song not available :( If you ever feel lonely, then remember that you can always come back to this site and listen to this little ditty anytime you want anywhere you wish. :) Email Me My public email address is: lightningdzeyenr at gmail dot com Feel free to send an email if you have more questions about this RISC-V setup. :) Frequently Asked Questions How is this site using SSL if you have so little processing power? I have this site behind Cloudflare which offers serving up SSL between clients and Cloudflare, and plain old HTTP between Cloudflare and the host (this RISC-V computer). Therefore, all the hard work is done by computers which aren't this one. This site is pretty cool. Do you have anything else in RISC-V? In addition to having the world's first RISC-V powered website, I also have the world's first RISC-V Minecraft server. In fact, the board that powers it (a VisionFive 1) sits no more than a few feet away from the board which served up the page you're reading right now. Check it out at riscv.hajime.sh! Also of note is that I was planning to use this LicheePi to host a Velocity server for that MC server, but it turns out Java is having some funky PaX errors, so this website was the next best use I could think of for it. If I got another then maybe I could think about making that server. Or I could leave it for some other RISC-V board in the future. I can't figure out what song you played. Another Hint: I'm playing a special kind of guitar through a special set of effects. That song is in Spanish but this page is in English. What gives? A Spanish version is coming soon! I checked the LicheePi out and there are so many options! The $26 cost is if you want to get the 512MB RAM version with the dock. The board itself is cheaper, but you need a funky connector setup to use it. The dock which contains this funky connector setup has a nonzero cost, and, therefore, when combined with the board itself, adds up to $26. This site is so effective. How? That's because I kept it so simple. Everything is on one page (discounting the future Spanish version which will be on a different page) and everything is split up into various sections. I only use one font for all the text that isn't preformatted. To top it all off, there is zero (0, nada, zilch) JavaScript of any kind. There isn't even another CSS file; it's within the HTML. Check it for yourself. All in all, this makes for a very focused experience that more websites should take advantage of. Other "simple" websites tend to spoil the experience by eschewing CSS or fonts. However, CSS only adds mere bytes to the download size and external sites can provide fonts. Your main site (jghuff.com) doesn't claim to be on RISC-V. What's going on? I was in a bit of a pickle when finding a domain to put this site on. You see, I have that other site on a regular server in my house behind Cloudflare. Cloudflare doesn't offer to protect different ports depending on the source and distination. What this means is that if I were going directly through CF, then you'd need to visit this website with an ugly :8080 tacked on the end. That's bad UX. To solve that, I decided to take advantage of my Oracle Free Tier VM to run HAProxy to simply convert ports. Therefore, the complete chain is this: * You * Cloudflare * HAProxy * RISC-V Server Shockingly, this setup works well. How do you edit this page? It's simpler than you might think. I just use nano to edit the file directly and that's it. This stuff seems pretty advanced. Are you in college or someplace like that? Glad you asked! I'm currently a student at the University of Central Florida. How reliable is this site? The LicheePi is a bit of a piece of junk. If I use a USB power adaptor with a good amount of power available, then I can't restart the board or it will go into a reboot loop from thermal shutdown. I tried fixing this with an upside down can of compressed air but that didn't do much. The "fix" I found was to use a cheapo USB phone charger with a cheapo USB-C cord and that seems to work fine. If this website goes down in the future, it might be because the board kicked the bucket or I unplugged it. Therefore, keep an archive of this site handy for when this does happen because it's currently not plugged into a UPS. Pics or it didn't happen. I know. A photo of some kind would be helpful, but it would inflate this site's size a whole lot. Actually, today, photos can be compressed to be mere kilobytes, so I guess the step that has the most friction here is transferring a file from my camera/phone to the LicheePi. I hate that you are messing around with RISC-V which only barely exists. Why the heck are you wasting your time when you could just use an x86 server instead. Why does this even matter. I live on the bleeding edge :)