Legendword Blog (Archived)

Sharing while learning.


This blog has been archived. You are viewing all 22 archived articles below. If you are looking for the new open-source blogging platform, visit blog.legendword.com.

Legendword Blog is Moving

To clear up some confusion with the naming: Legendword Blog (sometimes shortened as WordBlog) now refers to the open-source blogging platform built with Quasar (GitHub, Web App). The platform that this article is hosted (https://legendword.com/archive/blog) can be referred to as Legendword Personal Blog from now on.

You can learn all about the new platform on the GitHub repo page. In short, it is a blogging system that can host posts from different authors. Users can register and become authors on the platform and create content of their own. Others can view, comment, and add their posts to collections. It provides the tools for both writers and readers. I will also be posting my own blog content on this platform along with developing the platform. The front-end uses the Quasar framework. It's an awesome framework for developing SPA, PWA, Electron, and Capacitor apps altogether and follows Material Design guidelines. All of the source code is available on GitHub. Back-end currently uses PHP and MySQL (the old formula). I will most likely change to other more modern solutions as functions like SSR and Full-Text Indexing require environments like Node.js.

Why Stop Using This Blog?

First of all, this is also a blogging system developed by myself, but it uses older frameworks and is not open-source. It also only hosts my own blogs. The system for creating new posts is not optimized, as there is no incentive to do so for something which only I would use. It does not even use Markdown, which means I have to manually type HTML every time I write a blog. The comment section only allows sending a message to the author (which is me). The tags are useless: you can't browse articles by tags, or search tags. All of this means this system is outdated and the new WordBlog is more advanced.

The articles here will remain. You can still access them. But be sure to check out the new Legendword Blog!

Read More

Deploying SSL Across the Site

The transfer protocol for this website has always been HTTP in the past six years. HTTP was the main protocol for most websites when I started building Legendword. However, this has changed rapidly as people pay more and more attention to Internet security. HTTPS is now commonly implemented and recommended for every site. Browsers like Chrome even prompts "Not Secure" when visiting web pages via HTTP. That's why I've decided to deploy SSL and enable HTTPS for all web pages.

This process is normally very easy, but for me things are more complicated. It has to do with my tradition of using absolute URIs. When I first started, I never thought that the protocol would ever change. I assumed it would always be "http://", thus hard-coded all links to my web pages and resources with "https://legendword.com/". The reason I didn't use relative paths like "../files/xxx" is that I considered the possibility of moving my files around. If I included a dependency stored in the files directory via relative URL, I would have to change this relative URL every time I move the page.

Time has proved that this isn't a good idea. First of all, it turns out that I don't actually move files around much. And referencing a dependency from another directory is not a good way of organizing projects. All files related to a project should ideally be in the same directory and referenced relatively.

So now when I change the protocol, I have to change the links in every single file in every project! Replacing http:// with https:// is simple using Replace All in a text editor, but just opening and saving all these files... It really costs a lot of time.

The website is now secure, and users logging into their accounts won't have to worry about that "Not Secure" prompt anymore. I understand that I should've switched to HTTPS a long time ago, but as I said, changing the links is no easy task.

I think what we can learn from this is to never use absolute URLs.

Read More

Legendword Arcade Insiders Beta

Introducing Legendword Arcade

New project, Legendword Arcade, was started December 2019. As of now, three games has been added to the newly built platform. Other games are still waiting to be added. This platform aims at integrating different games into one uniform "arcade" so that you can have a uniform experience across them. Similar GUI and integrated high score systems are the highlights of Legendword Arcade.


Platform Link
https://legendword.com/arcade

GitHub Link
https://github.com/legendword/arcade

However, expect lots more to come, because Legendword Arcade isn't just a single-player, or local, platform! After the early stages of building the fundamentals, real-time competitions with an opponent will be added. A potential Friends and Social system might be implemented as well.

Since this is an Insiders Beta, stability of the platform is not promised. Keep in mind that it is still work in progress should you visit the platform now. All of the code for the platform is open-source on GitHub, so you can follow the link above to track commits or submit issues.

Update on LVocab

As you may have noticed from the Homepage poster, LVocab will be renamed to Project Legendword, and later just Legendword. Naming this platform after the website itself is a way of giving meaning to the word "Legendword". I felt that vocabulary learning is closely related to "word", and it felt right to give a vocabulary learning platform this name. But I also predict that lots of code need to be written before it is actually functional. I will keep you updated along the way as I rebuild LVocab from the ground up.


Lastly, happy 2020! :)

----Legendword

Read More

Singleplayer Snake Game

Snake Game Released

The classic Snake game is finally made using HTML Canvas! A few years earlier I did a Snake game that uses simply HTML elements and the "Square Template" I once created. It had some problems that were never fixed. Now that I'm more comfortable making Canvas games, I restarted from scratch and finished this small project.

Future updates will be posted, and you can check the source code from the link below.

Github Link: https://github.com/legendword/snake-game

Project Plans

I will be working on LVocab and finishing its "daily vocab list" feature.

I will also start the Multiplayer Online Arcade project soon.

Read More

Open-Source and GitHub

As I prepare for the Legendword Arcade project, I will make most if not all of my older mini-game projects open-source on GitHub. I really enjoyed programming these little games using various approaches. By making them open-source, I suppose it could help or inspire others to create these games on their own, or even utilize their own knowledge to bring new ideas to these projects.

What I'm trying to do next with these games is to combine them into one big project, in which I'll write all these games in one template. Players will be able to play several unique mini-games on a single webpage, and perhaps even compete with another player in these different games. It would be like an arcade where you have access to a variety of games. This project I call Legendword Arcade will eventually replace my game projects in the past.

Check out my GitHub page: https://github.com/legendword.

Read More

LVocab Update Preview

Earlier this year, LVocab was officially launched as public beta. A few users have tried the platform since then, and I appreciate them for supporting my new project.

The development of the platform was stopped mainly because I didn't want it to be boring. We're all familiar with apps that help us memorize vocabulary. They're more or less the same in the way they function. These vocabulary apps usually categorize words by word books. As a user, one can create as many books as they want and save new words to these books. And often there's a review page where you can go through the words in a book and test yourself on how well you remember the word. This outlines a typical vocabulary learning system that these existing apps are utilizing.

But at Legendword, creativity is vital.

Personally, I've used several apps of this kind, and the experience is not pleasant. Opening the app and learn from a "book" sounds boring and lacks initiative for me. As a matter of fact, I cannot memorize all of the new words effectively. New words just keep coming and mixing up with each other. I found that only a few of the bunch of words stayed in my memory in the end. The goal of my vocabulary platform is to avoid this inefficient learning method and promote a simple yet powerful way to gain vocabulary as a language learner.

In Public Beta 1.0 (Dev 0.1), which is the newest version as of now, the structure of the platform is mostly done. But soon after I finished the "Vocabulary List" section, I realized I have gotten on the wrong path. However, just recently I have bypassed the traditional thinking and came up with one possible solution that I'm going to implement and test on LVocab.

Instead of doing vocabulary lists/books like what other apps/platforms are doing, I'm going to group words by date. Supposedly we are trying to learn as much new words as possible every day, but as I mentioned above, this method did not benefit me. Rather than learning lots and remember few, we could try learning few but remember all. Every day, the number of new words you are suggested to learn is limited to, for example, two. You can add the two words to LVocab, and learn about their meaning and usage whenever you want. The main goal for that day is to only remember that two words. Every few days, you would pause for one day and do some review. This review may contain 6 or so words, depending on words per day and days since last review. Then, once in a while, you would look back at the vocabulary you have gained in the past, say, one month. This would be more of a self-quiz on your effectiveness of learning. If you still remember most of them well, great, you have successfully increased your vocabulary by a substantial amount; if you think that some words feel distant or you have difficulty recognizing their meanings, then this is a sign to slow down and review a bit more before continuing.

Just a rough thought, and I believe it will work better than the existing methods. I will talk more about this learning method in future blogs. I'm excited about this approach and I hope you are, too! Please wait as I work on the implementation of this system, and test it out together in the next public beta!

Read More

texTransfer 1.0 Release Notes

texTransfer is a small online text copying/pasting tool. It is released as a member of the LShare collection and adds more ways to share information through this website.

---But first, let's talk about the LShare family:

LShare

The project LShare was the first platform in the LShare family. It is now still usable though outdated. The initial release of LShare is around April 2015.

Link to LShare Uploading Page

It uses a file-based line-seperated database that I wrote myself in 2015, which obviously runs less efficiently than MySQL or similar approaches. But it would be fine for small amount of data in this particular scenario.

What it does is it stores whatever files you uploaded and creates a link to that file. The link goes like this: https://legendword.com/s/1, where the "1" is different for different files. This link never expires so you can give it to other people for them to access and download it. To avoid spamming, I connected it to the user system, so login is required.

Because LShare is such an old project and uses deprecated methods for storing data, I did not update it to match the newer projects I did afterwards. This means it uses the 1.0 version of User System, old UI styles, and has a Chinese interface instead of English. The login checking part is no longer compatible with current ones, which means LShare is officially out of the picture. Nevertheless, as the ancestor of all these sharing platforms that I built, it still has important meanings as of now.

LTransfer

LShare was aimed at creating a permanent and relatively short URL to share. LTransfer, however, focused on realizing a one-time transfer of a file between two consoles.

The function of this platform is already described in its name. Transfer. When you go to the transfer page, you either upload (send) or download (receive) a file.

Link to LTransfer Page

When sending, you will get a four-digit code after successfully uploading your file. Give the code to the device you want to receive on. Go to the same page on that device and enter the code. File will be downloaded and destroyed immediately after. Use this if you want a quick and easy way of sending files to a friend or just another device of yours. It has no limitations on operating systems, because you access it in a browser :)

There are problems that comes with it. The connection speed determines how fast you can upload/download the file. This server is located in the U.S., therefore users in other areas of the world may experience slow transfer speed.

texTransfer

And finally we come to the newly released texTransfer platform.

I know sending links is easy. Just text via Snapchat or Instagram or Wechat.... There is so many ways. But what if you want to send a link to your other device? Sure, use AirDrop, it's quick and safe and easy.... But what if you have an Android phone and a Macbook, or an iPhone and a Windows PC? Things become tough, because the above said options are no longer viable. This is the thought that made me want to do this platform.

Link to texTransfer Copy Page
Link to texTransfer Paste Page

The function is simple: you paste a piece of text on the Copy page, and choose Mainstream or Rooms to store it in. Then, on the other device (the receiver), go to the Paste page, and find the piece of text in wherever it was stored.

I finished coding texTransfer and deployed it onto my server on August 12, 2019, but I wrote this release note today. (This is just a side note.)

Any suggestions or advice on this project, please tell me through email or the comment entry below.

Read More

Blog System Update 2019.7.13

The option bar before the list now works. You have multiple ways to view my blog now.

Detailed Changelog

  • You can now select a sorting method other than the default one. Currently supported sorting methods include sorting by ID, publish time, update time, and views. For each method, you can choose either descending or ascending order.
  • You can now select the number of articles to be displayed on one page.
If you have any suggestions on this Blog system or any other projects, please write them down in the comment section below. Your comment will only be seen by myself. To be able to comment, you need to log in to your Legendword Account, or Register Now.
Read More

Blog System Update 2019.7.7

This update brings several minor UI tweaks and improves the pagination bar.

Detailed Changelog

    On Home Page
  • Header has a light blue background now.
  • A gray bar is added below the header, containing two dropdown menus and one pagination. However, the dropdown doesn't do anything yet. You will be able to choose how to sort the list and how many articles to appear on a page in the next update.
  • Pagination no longer consists of only the "Previous", "Next", and current page number. Instead, neighboring pages can be selected (one page before current page, and two pages after current page), and you can jump to the last page with an added button. These will show up once the number of articles increases.
  • Article titles in the list are now links. You can either click the "Read More" or the title to read full article.
  • Pagination is also at the bottom of the list.
  • The "Legendword Blog" and "Legendword" texts in the footer are now links.

  • On Full Article Page
  • Article title and information is centered.
  • Header is in sync with home page.
  • Footer is in sync with home page.
  • You can click on the "Legendword Blog" text in the header to go back.

Read More

Blog System Update 2019.7.4

In today's update, I enhanced the overall experience of the home page in Legendword Blog.

Detailed Changelog

  • Text in article information is now gray.
  • Article information now includes view count.
  • Labels in article information changed from text to icon.
  • Article blocks show an inset border when you hover on them.

Finished Look

Currently, you can turn pages on the bottom of the list. There are two buttons: Previous and Next. The current page number is shown between them. It will be a pain to see old posts when I write more articles, because you have to click the buttons multiple times. I will add a page navigation with nearby page numbers so you can easily navigate through them.

The side column of the home page is empty right now. I will add a list of all the tags, featured articles, and other elements to it in future updates.

The interface in specific posts aren't updated today. I plan to make the header same as the one on home page, for consistency.

You'll also be able to browse posts by certain tags or filters.

These changes will be gradually made and announced in update notes like this one.

Read More

Homepage Talk - Chapter 2

As an approach to solving the distribution-of-attention problem on homepage, I did a small "promotion" to my Blog section. I've done a lot with Legendword Blog recently and I will continue to do so. By adding this piece of information, Legendword Blog no longer has only one entrance.

You can now click on the Blog project button, the "Go To Legendword Blog" link, or the link in the news section to view my blog.

This is not a long time fix, however. To be able to select and show projects on the front page, and order them according to popularity or importance, I must redesign the homepage as a whole.

After I do that, I'm also thinking about implementing a vote system in which you can vote for your favourite project. This way I can somehow interact with the user to provide better experience. You'll need a Legendword Account to vote.

These future ideas are not set in stone and are likely to change. Read future chapters of Homepage Talk to stay up to date!

Read More

Homepage Talk - Chapter 1

"Homepage Talk" is a series of blog articles that focuses on the Homepage and the issues of it. I will definitely talk about this page frequently as it is the first page you see when visiting this website, thus it's one of the most important pages.

The visitor count was reset earlier today due to unknown reasons. I suspect that it was caused by PHP's file_put_contents function. It accepts a flag called LOCK_EX which applies a file lock when writing to the specific file. I somehow thought it would be fine without this flag, and didn't bother to put it in my code for recording visitors. I'm not very certain about this being the actual cause of the problem, but it's surely very possible. When two people load the homepage almost simultaneously, the second program instance will try to write to the file when it's not properly closed. I guess this is what made the number reset.

As a consequence, I have now altered the text after the count to "since 2019/7/2", which is today (or 2019/7/3 in Beijing time).

Moving on to the homepage itself, I know I have changed the look of the homepage several times in the past five years, but I can't stop thinking about better ways to present this website. Although I successfully made the homepage clean and simple in the most recent update, I now believe that this simplicity leads to the lack of emphasis. Some buttons are larger than others, and because they're so simple, they look nearly the same. People can't distinguish the outstanding works from older, outdated and maintenance-lacking ones.

Sometime in the future, I will experiment with full-height block views that show one particular project at a time. Similar to a slideshow, I'll try to make it visually pleasing and informational. In Homepage 4.0 I tried this form of homepage, but because I used a template other than Bootstrap, I disliked the final presentation. With this clean Bootstrap template, I shall find more success in a slideshow-like homepage.

That wraps up all my thoughts on the homepage today. Stay tuned to my blog for work progress and technological talks!

Read More

WWDC 2019 Overview

This year's WWDC started with a recap of the new services Apple has introduced earlier in March. These services include Apple News+, Apple Arcade, Apple Card, and Apple TV+. A trailer for the coming TV show "For All Mankind" was shown as one of the numerous original shows coming to Apple TV+ this fall.

Now, let's dive into the update news across all of Apple products.

tvOS (Apple Website Link)

  1. Home screen redesign, with full screen previews of TV shows and movies.
  2. Multi-user support. Family members have their own "Up Next" list, personalized recommendations, and music lists. Switching between users from the home screen.
  3. Able to see synchronized lyrics when playing songs.
  4. Support for Xbox One X and Playstation Dualshock 4 controllers.
  5. New undersea screen savers.

watchOS 6 (Apple Website Link)

  1. More watch faces.
  2. "Taptic chimes" that produces a taptic and an audible chime on the hour.
  3. New Audiobook app.
  4. Voice Memos and Calculator coming to Apple Watch.
  5. Tip calculation on Calculator, with the ability to split the bill with several people.
  6. Independent watch apps that don't require connection with your phone.
  7. Extended runtime API and streaming audio API
  8. App Store on Apple Watch. Ability to purchase and install apps directly on the Apple Watch.
  9. Activity Trends that compares your Activity data.
  10. Ambient sound level detection.
  11. Cycle Tracking (both on Apple Watch and iPhone).
  12. Redesigned Health app. Adding a "Summary" view.
  13. New pride face and band.

iOS 13 (Apple Website Link)

iOS 12 has achieved 97% customer satisfaction and 85% adoption rate (compared with 10% adoption rate of Android 9).

The coming iOS 13 features 30% faster Face ID unlock, 50% smaller app download sizes, 60% smaller app updates, and 200% app launch speed.

  1. Dark mode.
  2. Swipe input for keyboard.
  3. Time synced lyrics for Apple Music.
  4. Per site customizations for Safari.
  5. Text formatting controls, rich fonts, and gallery view for Notes.
  6. Completely reinvented Reminders:
    • Recognition of place and time from text.
    • Quick type bar to add details intuitively.
    • Top-level reminder for todos (indenting reminders).
    • Smart lists.
    • A notification for reminders relating to people will show up when messaging that person.
  7. Improved Maps app:
    • More details on the map.
    • "Favorites" on launch screen
    • Collections of places.
    • "Look Around" that allows you to see 3D views of a place.
    • Smooth movement in Look Around
    • Labels in Look Around can be tapped to learn more.
    • Junction view in China.
    • Real-time transit information.
    • Siri guidance.
    • ETA sharing.
    • Flight status checking.
  8. Privacy updates on Location Services, Login (introducing "Sign in with Apple"), and HomeKit.
  9. "Sign in with Apple" that ensures privacy when logging in to apps. You can choose what information to give to the app, and even hide your email by using a unique random email address created by Apple and forwards to your real email.
  10. Introducing "HomeKit Secure Video", which analyzes security camera footage on device and sent to iCloud with encryption. Also introduces HomeKit-enabled routers to keep your smart furnitures safe from cyber attack.
  11. Sharing your name and picture (or Memoji/Animoji) to friends in the Messages app.
  12. New customizable options for Memoji.
  13. Memoji Stickers that can be used across many apps and devices.
  14. Advanced Portrait Mode settings such as light intensity.
  15. Better photo editing experience and new photo effects.
  16. Advanced video editing functions like rotating a video (wow), adding filters, and more.
  17. A new way to browse your photos. It removes the clutter and organizes photos by events.
  18. Announce messages and instantly reply with AirPods.
  19. Audio sharing with another AirPods user.
  20. Handoff for HomePod.
  21. Live radio can be played by Siri.
  22. Personalized HomePod response based on voices of different family members.
  23. New dashboard, Calendar, Music, third party Siri support for CarPlay.
  24. Shortcuts become built-in, with updated UI.
  25. Siri voice becomes more natural thanks to Neural TTS technology

iPadOS (Apple Website Link)

  1. Widget view on home screen.
  2. Slide Over to use another app.
  3. Easily change "slide over" apps with a swipe ( like iPhone X multitasking).
  4. Split View enabling two windows (can be of the same app) opening at the same time.
  5. App Expose with multiple window support.
  6. Better email composing with Split View.
  7. Column view, file preview, quick actions, and rich metadata in the Files app (very similar to macOS Finder)
  8. iCloud Drive folder sharing.
  9. SMB file sharing that enables sharing files with your PC.
  10. Thumbdrives and other external storage systems can be plugged into an iPad now.
  11. You can import files from a camera directly to your iPad.
  12. Other features in Files include local storage, zip & unzip, search suggestions, and keyboard shortcuts.
  13. Desktop-class browsing for Safari.
  14. Download manager for Safari, and much more.
  15. Custom fonts.
  16. Better multitouch gestures. Grabbing the scroll indicator, dragging to select, three-finger gestures to copy, paste, and undo.
  17. Apple Pencil latency lowered from 20ms to 9ms.
  18. Newly designed Apple Pencil tool palette and PencilKit API.

Mac Pro (Apple Website Link)

  • Up to 28-core Intel Xeon processor.
  • 2933MHz ECC, 6 memory channels, 12 DIMM slots. Up to 1.5TB RAM.
  • 8 PCIe slots, consisting 4 double-wide slots, 3 single-wide slots. The last slot is an I/O card with 2 Thunderbolt 3 ports, 2 USB-A ports, 3.5mm audio minijack. 2 more Thunderbolt ports are present on top of the system.
  • 2 built-in 10Gb Ethernet ports.
  • MPX Module: has a x16 PCIe connector; a PCIe, DisplayPort, and power port; fanless design.
  • The MPX Module offers Radeon Pro 580X, Radeon Pro Vega II, or Radeon Pro Vega II Duo (two Vega II's).
  • Two MPX Modules can be configured on a Mac Pro.
  • Provides option for Afterburner, which improves video editing and playback speed, making the Mac Pro capable of 3 streams of 8K videos at once.
  • 1.4kW power supply.
  • 3 quiet fans for cooling.
  • Optional wheels.

Pro Display XDR (Apple Website Link)

  • 32-inch LCD
  • 6016 x 3384, 20 million pixels
  • Retina Display
  • P3, 10-bit color
  • Wide viewing angle
  • Nano-texture glass
  • 1000 nits brightness, 1600 nits peak
  • 1,000,000:1 contrast ratio
  • Extreme Dynamic Range (XDR)
  • Portrait Mode (you can rotate the display)

macOS Catalina (Apple Website Link)

  1. iTunes is now split into three applications: Music, Podcasts, and Apple TV.
  2. Apple Music will no longer pop up when connected to an iPhone to sync.
  3. Sync options for iPhone is moved to Finder.
  4. New content searching feature for Podcasts.
  5. The Apple TV application supports 4K HDR and Dolby playback.
  6. Sidecar introduced. You can use your iPad as a second display for your Mac.
  7. Voice Control. Enabling the ability to control your macOS and iOS devices entirely using voice.
  8. Find My. Available on both macOS and iOS devices, Find My is a combination of Find My iPhone and Find My Friends. Find My works on offline devices. This is achieved by a encrypted and anonymous Bluetooth beacon signal sent by the device.
  9. Activation Lock that allows you to lock your Macbook when stolen.
  10. Updated Maps, Photos, Safari, Notes, and Reminder app.
  11. Screen Time introduced to macOS (just like the one in iOS).
  12. Project Catalyst available to all developers which transforms iPad apps into macOS apps.

Apple has also announced news related to RealityKit, Reality Composer, and ARKit 3. You can read more about them on Apple's website.

On this conference, Apple emphasized once again on the importance of privacy of their customers, and they've made every software secure and private. "You control your data" appeared on the screen multiple times, which further showed us Apple's dedication to protecting privacy.

"At Apple, we believe privacy is a fundamental human right, and it's engineered into everything we do."

This summary article is written by Legendword. Reposting is not allowed unless the author and the link to this article is provided.

Read More

LVocab Public Beta

Like many other English learners, I use translation software a lot. But there's one problem to using websites like Google Translate: you can't really remember what you searched. You want to know the meaning of the word, you type it in there, you get the result, and you forget about it. That's often what happens when I look up a word. So this project is trying to resolve this issue by saving the vocabularies to a place, so that I can review them regularly and remember them better.

Legendword Vocabulary, or LVocab, is a platform that aims at saving vocabularies to a list. It compensates the limited information you get in the History tab on Google Translate. You can view the definition and the translation at anytime on LVocab.

This is done possible by my user system and Tampermonkey plugin. You have to log into your Legendword Account and install the Tampermonkey script to use LVocab. If you don't have a LAccount or the plugin, it might be a pain to start using this platform. But I encourage you to try it, because it will enhance your English learning experience by a lot.

Currently, LVocab is in public beta phase. It is available on https://legendword.com/LVocab. As of now, you can save vocabularies with the plugin, and view them on LVocab. Review system, vocabulary management (selecting multiple, moving between lists), and varies settings are yet to be developed. The vocabulary-saving plugin will be supporting more translation sites such as Baidu Translate and Youdao Translate in the future. General user experience will be improved as well.

LVocab is open-source. Follow this Github link to submit issues. This platform is by far the biggest project I've done this year. Tons of effort is put in it, and lots more will be going into it. I will bring more features to LVocab, making it the ultimate online vocabulary learning solution.

And that wraps up the introduction to LVocab. It's now version 0.1 public beta. Future updates will be posted here, so stay tuned.

A side note: Homepage News has an increasing number of articles, and from now on I'll be archiving older news articles to my Blog.

Archived from Homepage on May 21, 2019.

Read More

Blog 2.0 In Development

If you go to my Blog, you will see the new Blog 2.0 instead of the dark-themed Blog 1.0.

The UI has been rewritten to follow the website's general theme, which is black and white with small areas of color. Changes in storing method have been made, too. I was not familiar with PHP and MySql when I wrote the initial version of my blog system, so I didn't choose to store articles in a database. I simply used different files to save each article. As you can imagine, the code behind it was much too complex and difficult to read. With the recent experience on MySql when developing the new User System, I am now able to rewrite the backend code using MySql databases.

I will keep working on this new blog system along with the new user system, and try to bring life to these ancient projects done years ago.

Archived from Homepage on May 21, 2019.

Read More

Navbar Integration Begins

Every website has a navigation bar. Navigation bars play an important role in giving the viewer a straightforward way of navigating through the site. So what's the point of it if the bar only appears on Homepage? This is a problem I had for a long time, and I am starting to fix it at present.

Navigation bars have to achieve consistency. That is, every page on this website should have the same navigation bar displayed. As of now, I have integrated navbar into the About page, the Direct Links page, Tetris, and 2048. It's obvious that with the navigation bar integrated, we can know for sure that these pages belong to the same website. The navbars also have support for user status, which is being shown on the top right corner. I will be adding navbars to more pages. After that, you won't see a new page pop up each time you click on the Homepage.

Archived from Homepage on May 21, 2019.

Read More

LAccount Dev

As I said in a previous post, I am focusing on the new user system recently. It's been a long time since 1.0 was put in use, and the User System 1.0 isn't hitherto implemented in any of my projects except LShare. I didn't even include the option for login in my recent versions of homepage.

Today, I'm excited to introduce you to the new User System 2.0 (its official name is LAccount).

What's New:

  • Completely different database structure. (Users who registered using User System 1.0 will have to register again.)
  • Simple registration and login process.
  • Email verification required.
  • UI style is now identical to the overall style of the website.

A lot of work needs to be done before it is truly finished. Nevertheless, the development of a user system is difficult without frequent testing. That's why I will always upload my newest code to the server so that I can get feedbacks and bug reports to help me build this system.

You can register an account now, as an early user, to aid in the development of this system. I will be very appreciated.

Stay tuned for future news on LAccount!

Archived from Homepage on May 21, 2019.

Read More

Tetris 1.4

After the release of Homepage 5.0, I got quite a few requests on mobile support. With some work, I'm able to adjust some elements' styles so that they look nice on phones, too.

This is in fact the first time for me to create a mobile supported page without changing its content! Please continue to give feedbacks and suggestions, I do appreciate them.

Archived from Homepage on May 21, 2019.

Read More

First Mobile Supported Homepage

After the release of Homepage 5.0, I got quite a few requests on mobile support. With some work, I'm able to adjust some elements' styles so that they look nice on phones, too.

This is in fact the first time for me to create a mobile supported page without changing its content! Please continue to give feedbacks and suggestions, I do appreciate them.

Archived from Homepage on May 21, 2019.

Read More

Project Plans

In the following month I'll mostly be working on:

  • Integrate navbar into every project, in order to achieve consistency.
  • Rewrite user system code.
  • Update user system UI.
  • Enable login & show login status in navbar.

I'm also planning to update the following projects:

  • Legendword Music. Yes, the LMusic 3.0 will be a clean and beautifully designed music player with 0 song included. This means that you'll have the ability to upload your own favorite song onto the server and listen to them wherever you are. The UI will not differ much from version 2.0.
  • SnakeXenzia. This game has never been updated since I wrote it. It only has a two-player mode, which isn't convenient in many situations. So, I'm planning to add a singleplayer mode to it.
  • LBlog. The blog will face a huge change, after which all the articles in there will be archived. The system and user interface will likely be altered, while the most important change will be the content. All content in the blog will be in English after this major update. However, this is just a thought. Accurate date of update is still unknown.

Archived from Homepage on May 21, 2019.

Read More

Homepage 5.0 Released

Hello everyone!

You're now looking at the brand new Legendword Homepage 5.0! It took me some time to decide on all the UI designs. I wanted a homepage that is simple, clear, and easy to navigate. Unlike version 4.0, which features full-screen images and big words, this version has been designed to be very clean. No fancy image, no extra colors, and no eye-catching titles.

You'll also find that in this version, I added this "News" section. Not long ago, I felt that one element was missing from my homepage: a way of spreading new information. I started solving this problem by making a Project List. However, after I finished, it seemed that a list didn't do the job of spreading new ideas at all. It was just another boring list that showed what I have done. Besides, the UI looked horrible to me. So, after a while, I made a page called Direct Links. This one looked way nicer to me, and it shows the information clearly. Despite these, it was, in essence, still a list!

So I finally came to a conclusion. I needed a news section on my homepage. Now, I am able to share all the exciting news with you right away!

Hope you liked this new update, and be sure to stay tuned for more exciting news in the future!

Archived from Homepage on May 21, 2019.

Read More

New Blog Test Article

This is just a test article!

Updated on 2019.7.13 for testing purposes.

Read More