Blog

thumbnail (i.e. miniature image)

Open math problem

I have created practice problems in the area of equation expansion in high school mathematics, and I hope to publish practice problems according to the progress of high school students entering in the spring of 2017. Expression Expansion 1 Please view in an Iframe-enabled browser. Expression Expansion 2 View in an Iframe-enabled browser. Expression Expansion 3 View in an Iframe-enabled browser. Problem Data The two problem sets above are converted from the text below; by writing formulas in Latex format, you can easily use beautiful, easy-to-read formulas. Expression Expansion 1 #title:Basic Expansion Formulas #messages_intro: Expand the formula. This is a basic problem, so try to solve it quickly. #mode:normal #question_count:10 //(x+a)^2 and (x-a)^2 forms [#(x+1)^2#] [#x^2+2x+1#] [#x^2+x+1#] [#x^2+1#] [#(x+2)^2#] [#x^2+4x+4#] [#x^2+2x+4#] [#x^2+4#] [#(x-3)^2#] [#x^2-6x+9#] [#x^2+6x+9#] [#x^2+9x+9#] [#(x-1)^2#] [#x^2-2x+1#] [#x^2-x-1#] [#x^2+2x+1#] [#(x-6)^2#] [#x^2-12x+36#] [#x^2-6x+36#] [#x^2+6x+6#] //(ax+b)^2 and (ax-b)^2 Forms. [#(2x+1)^2#] [#4x^2+4x+1#] [#4x^2+2x+1#] [#4x^2+1#] [#(3x+2)^2#] [#9x^2+12x+4#] [#9x^2+6x+4#] [#9x^2+4#] [#(5x-3)^2#] [#25x^2-30x+9#] [#25x^2+30x+9#] [#25x^2+15x+9#] [#(3x-1)^2#] [#9x^2-6x+1#] [#9x^2-3x-1#] [#9x^2+1#] [#(7x-6)^2#] [#49x^2-84x+36#] [#49x^2-42x+36#] [#49x^2+42x+36#] //(x+a)(x-a) form [#(x-1)(x+1)#] [#x^2-1#] [#x^2+2x+1#] [#x^2-2x+1#] [#(x-2)(x+2)#] [#x^2-4#] [#x^2+4x+4#] [#x^2-4x+4#] [#(x-12)(x+12)#] [#x^2-144#] [#x^2+24x+144#] [#x^2-24x+144#] //(ax+b)(ax-b) form [#(4x-1)(4x+1)#] [#16x^2-1#] [#16x^2+8x+1#] [#16x^2-8x+1#] [#(5x-3)(5x+3)#] [#25x^2-9#] [#25x^2+30x+9#] [#25x^2-15x+9#] //(ax+b)(cx+d) form [#(2x+3)(4x+5)#] [#8x^2+22x+15#] [#8x^2+26x+15#] [#8x^2+20x+15#] [#(2x+3)(x-7)#] [#2x^2-11x-21#] [#2x^2+11x-21#] [#2x^2+20x+21#] [#(5x+1)(5x-2)#] [#25x^2-5x-2#] [#25x^2+5x-2#] [#25x^2+5x+2#] //ax(bx+c) form [#2x(5x-2)#] [#10x^2-4x#] [#10x^2-2x#] [#10x^2-4#] [#x(x-2)#] [#x^2-2x#] [#x^2-2#] [#x^2+2x#] Expansion of equation 2 #title:Basic Expansion Formula #messages_intro:Expand Expression. Expand a cubic expression. #mode:normal #question_count:10 //(x+a)^3 and (x-a)^3 forms. [#(x+1)^3#] [#x^3+3x^2+3x+1#] [#x^3+x^2+x+1#] [#x^3+1#] [#(x+2)^3#] [#x^3+6x^2+12x+8#] [#x^3+2x^2+4x+8#] [#x^3+8#] [#(x-5)^3#] [#x^3-15x^2+75x-125#] [#x^3+15x^2-75x-125#] [#x^3-5x^2+25x-125#] [#(x-a)^3#] [#x^3-3ax^2+3a^2x-a^3#] [#x^3+3ax^2+3a^2x+a^3#] [#x^3-3x^2+3x-1#] [#(x-1)^3#] [#x^3-3x^2+3x-1#] [#x^3+3x^2+3x+1#] [#x^3-1#] //(ax+b)^3 and (ax-b)^3 Forms. [#(2x+1)^3#] [#8x^3+12x^2+6x+1#] [#8x^2+4x^2+2x+1#] [#8x^3+1#] [#(2x-3)^3#] [#8x^3-36x^2+54x-27#] [#8x^2-12x^2+18x-27#] [#8x^3-1#] [#(4x-1)^3#] [#64x^3-48x^2+12x-1#] [#64x^2-16x^2+4x-1#] [#64x^3-1#] [#(ax-b)^3#] [#a^3x^3-3a^2bx^2+3ab^2x-b^3#] [#a^3x^3-a^2bx^2+ab^2x-b^3#] [#a^3x^3-b^3#] [#(ax+b)^3#] [#a^3x^3+3a^2bx^2+3ab^2x+b^3#] [#a^3x^3+a^2bx^2+ab^2x+b^3#] [#a^3x^3+b^3#] //(x^2+x+1)(x-a) and (x^2-x+1)(x+1) forms. [#(x+1)(x^2-x+1)#] [#x^3+1#] [#x^3-1#] [#x^3+x^2+x+1#] [#(x-1)(x^2+x+1)#] [#x^3-1#] [#x^3+1#] [#x^3-x^2+x-1#] [#(x+3)(x^2-3x+9)#] [#x^3+27#] [#x^3-27#] [#x^3+3x^2+9x+27#] [#(x+3)(x^2+3x+9)#] [#x^3+6x^2+18x+27#] [#x^3+27#] [#x^3-27#] //(x+a)(x+b)(x+c) form [#(x+1)(x+2)(x+3)#] [#x^3+6x^2+11x+6#] [#x^3+6x^2+12x+6#] [#x^3+6x^2+9x+6#] [#(x+1)(x+2)(x-3)#] [#x^3-7x-6#] [#x^3+7x-6#] [#x^3+5x-6#] //(a+b+c)(a2+b2+c2-ab-bc-ca) [#(a+b+c)(a^2+b^2+c^2-ab-bc-ca)#] [#a^3+b^3+c^3-3abc#] [#a^3+b^3+c^3-abc#] [#a^3+b^3+c^3+3abc#] [#a^3+b^3+c^3+abc#] [#(a+b+2c)(a^2+b^2+4c^2-ab-2bc-2ca)#] [#a^3+b^3+8c^3-6abc#] [#a^3+b^3+2c^3-6abc#] [#a^3+b^3+8c^3+6abc#] [#a^3+b^3+2c^3+6abc#] [#(a+b-c)(a^2+b^2+c^2-ab+bc+ca)#] [#a^3+b^3-c^3+3abc#] [#a^3+b^3-c^3-3abc#] [#a^3+b^3+c^3+3abc#] [#a^3+b^3+c^3-3abc#] Expansion of equation 3 #title:Application of Expansion #messages_intro:expand expression #mode:normal #question_count:10 [#(x-1)(x+1)(x^2+1)#] [#x^4-1#] [#x^4+1#] [#x^4+x^2+1#] [#x^4-x^2+1#] [#(x-2)(x+2)(x^2+4)#] [#x^4-16#] [#x^4+16#] [#x^4+4x^2+16#] [#x^4-4x^2+16#] [#(a+b+c)^2#] [#a^2+b^2+c^2+2ab+2bc+2ca#] [#a^2+b^2+c^2+ab+bc+ca#] [#a^2+b^2+c^2+4ab+4bc+4ca#] [#(a+b+c+d)^2#] [#a^2+b^2+c^2+d^2+2ab+2ac+2ad+2bc+2bd+2cd#] [#a^2+b^2+c^2+d^2+ab+ac+ad+bc+bd+cd#] [#a^2+b^2+c^2+d^2+2ab+2ac+2ad+2bc#] [#(a+b)^4#] [#a^4+4a^3b+6a^2b^2+4ab^3+b^4#] [#a^4+3a^3b+5a^2b^2+3ab^3+b^4#] [#a^4+4a^3b+8a^2b^2+4ab^3+b^4#] [#(x-2y+3z)^2#] [#x^2+4y^2+9z^2-4xy-12yz+6zx#] [#x^2+2y^2+3z^2-2xy-6yz+3zx#] [#x^2+4y^2+9z^2-2xy-6yz+3zx#] [#(x+y+1)(x+y-1)#] [#x^2+2xy+y^2-1#] [#x^2+2xy+y^2-x-y+1#] [#x^2-2xy+y^2-x-y+1#] [#(x+1)(x^4-x^3+x^2+x-1)#] [#x^5-1#] [#x^5+1#] [#x^5+x^4+x^3+x^2+x+1#] [#x^5-x^4+x^3-x^2+x-1#] [#(x+1)(x-1)(x+2)(x-2)#] [#x^4-5x^2+4#] [#x^4+5x^2+4#] [#x^4+3x^3+5x^2+3x+4#] [#(x-2)(x-1)(x+1)(x+2)#] [#x^4-5x^2+4#] [#x^4+5x^2+4#] [#x^4+3x^3+5x^2+3x+4#] [#(x-1)^3(x+1)^3#] [#x^6-3x^4+3x^2-1#] [#x^6+3x^4+3x^2+1#] [#x^6+2x^5+3x^4+4x^3+3x^2+2x+1#] [#x^6-2x^5+3x^4-4x^3+3x^2-2x+1#] [#(x-1)(x+1)(x^2+x+1)(x^2-x+1)#] [#x^6-1#] [#x^6+1#] [#x^6+2x^3+1#] [#x^6-2x^3+1#] [#(x^2+2x+3)(x^2+1)#] [#x^4+2x^3+4x^2+2x+3#] [#x^4+3x^3+5x^2+2x+3#] [#x^4+2x^3+3x^2+3x+3#] [#(x^{100}+100)(x^{100}-100)#] [#x^{200}-10000#] [#x^{10000}-10000#] [#x^{200}-200#] [#x^{10000}-200#] [#(x^3+x^2+x+1)^2#] [#x^6+2x^5+3x^4+4x^3+3x^2+2x+1#] [#x^6+x^5+x^4+x^3+x^2+x+1#] [#x^6+4x^5+6x^4+10x^3+6x^2+4x+1#] [#x^6+1#] Tips for creating math problems When creating math questions, mathematical formulas are needed in the question text and choices, and QuizGenerator allows you to write mathematical formulas in Latex format between [# and #] to make them look good. We have published a formula input aid at the following URL, which we hope you will find useful. Formula Editor for QuizGenerator
thumbnail (i.e. miniature image)

Mechanism of Password Hiding in QuizGenerator(beta)

This article introduces how passwords are kept secret in learningBOX. Password is commonly used for login authentication Not only e-learning systems, but many other systems that require users to log in use passwords for login authentication. Some systems, such as those used by financial institutions, use authentication systems that do not rely on passwords, such as "one-time password generators" and "authentication by e-mail or SMS for each login," and some of the e-learning systems we provide include handwriting authentication. However, these authentication methods are still not that popular, and learningBOX also uses password-based login authentication. Password protection is an important issue There are three types of password leakage points: attacks on user terminals, interception of communications, and attacks on servers. Attacks on user terminals Attacks on user terminals include "infection with computer viruses" and "inducement to phishing sites. If a user is infected with a computer virus, there is a risk that his/her password will be stolen when he/she tries to log in to a legitimate site. Even if you are not infected with a computer virus, there is a danger that you will be led by e-mail or other means to a phishing site (fake site), where you will be forced to enter your ID and password. Communication Interception Communication interception means that a third party can intercept your password between your computer or smartphone and our server. learningBOX uses SSL technology to encrypt the communication between you and our server, preventing the leakage of your password due to communication interception. This is done through the use of SSL technology. Attacks on our servers There are various types of attacks on servers: SQL injection attacks, exploitation of server software vulnerabilities, intrusion of suspicious persons into data centers, fraud at data centers, and various other risks. Therefore, learningBOX makes passwords secret by "salt" and "hashing" them, and then "stretching" them. In this way, even the learningBOX management team cannot know what passwords have been set, let alone an attacker, and thus password leaks are strongly prevented. Hash A one-way function. When an input password is passed through a hash function, a seemingly random value is output. This is called the hash value. While it is easy to find the hash value from the original value, it is not possible to compute the original value from the hash value. Therefore, by storing only the hash value, the original password can be kept secret; there were a certain number of systems developed around 2000 that stored md5 or sha1 hashes, but as of 2017, hashing alone is not sufficient to keep passwords secret. However, by obtaining hash values of all possible passwords in advance and creating a reverse dictionary, it may be possible to guess the original value from the hash value. In particular, passwords with up to 8 alphanumeric digits can be guessed at a realistic cost. In addition, using advanced attacks such as rainbow tables, the time required for guessing may be reduced by an order of magnitude. Stretch. Repeat hashing. For example, hashing 1024 times can stretch the time it takes to crack a password by a factor of 1024. Of course, if a computer that is 1024 times faster were built, the password would be cracked in the same amount of time, but by stretching the password appropriately, the time required to crack the password can be dramatically increased. Salt Even after hashing and stretching, the same password will have the same value. If multiple passwords are registered with the same hash value, it will be revealed that a "common password" is being used. By adding a salt (random string) before and after the password before hashing, the same password will have different hash values, making it harder to guess the original password. In addition, although not explained in detail, the addition of the salt makes the password longer, making it significantly more difficult to decipher using the rainbow table. Conclusion LearningBOX keeps passwords secret by not storing the password itself. In addition, we take all possible measures to prevent people from guessing the original password. However, if you set a "simple" password such as "12345678" or "password," the risk of unauthorized access increases, so please set your password appropriately. Future Issues We are considering restrictions that would prevent users from setting "simple" passwords such as "12345678" or "password. We will also incorporate the latest security technologies, such as thorough monitoring for "suspicious" access.

We can provide e-learning for free!

Here are some examples of how QuizGenerator can be used to provide e-learning for free, as well as how much it costs if you pay for it. Free usage example 1 / Using QuizGenerator.net's question hosting feature QuizGenerator.net allows you to host the questions you create. In version 5.0.15 or later, you can host your created questions by selecting "General Public" or "Limited Public" after converting the questions. If you want to make your questions available to the general public, choose "General Public"; if you want to embed them in a specific website and use them only on that website, choose "Limited Public". *Please note that if the URL is leaked, it may be seen by unexpected people. If you want to strictly limit the public, please use learningBOX. Example 2 of free use / Use by up to 10 people LearningBOX can be used free of charge for up to 10 users. Upon registration, an account will be issued immediately and you can start using the service right away. Free usage example 3 / Using learningBOX's public access function With learningBOX, you can publish questions to the public. Any number of people can use learningBOX, as long as the questions are open to the public and they can study without registering for an account. Example of ¥2,500/month usage / Up to 100 users An organization with up to 100 employees can use learningBOX to provide e-learning for a monthly fee of 2,500 yen (tax included). If you pay by credit card, the payment will be made directly to the bank account. If you pay by credit card, you can start using the service immediately after the payment is made. Example of monthly usage of 1,000,000 yen / 40,000 users If an organization with 40,000 employees uses learningBOX to provide e-learning, the monthly cost is 1,000,000 yen (tax included). Please contact us using the QuizGenerator (beta) inquiry form. Summary With QuizGenerator, you can provide e-learning for free as long as the questions are small or can be disclosed to outside parties. Also, if you are a large organization that provides education on content that cannot be disclosed outside the organization, you can use the e-learning system for a reasonable fee. I want to use it this way, but how much does it cost? Is it free? If you have any questions, please contact us. Extra Moodle, an open source LMS, is available free of charge, but you need to prepare a server with PHP and MySQL. The initial cost of preparing a server with a certain level of availability on campus or in the company is about 200,000 yen, but a VPS can be used for about 1,000 yen per month, or a web hosting service for a few hundred yen per month, but setup, operation, and security measures must be handled within the organization. However, since setup, operation, and security measures need to be done within the organization, it is difficult for organizations without such specialists to operate.
thumbnail (i.e. miniature image)

Server monitoring using munin + additional Apache monitoring and WordPress coexistence

Server monitoring is essential for stable server operation. However, it is impossible to monitor the servers 24 hours a day, so we use "munin," "AWS's management screen," and "pingdom" to monitor our servers. munin - A server and network monitoring tool. It is open source. aws admin screen - allows us to check the status of various resources. pingdom - A service that checks for dead or alive servers from data centers around the world. This article will show you how to use munin to monitor Apache and the precautions you should take if you are running Wordpress or other applications. Prerequisites This article has been tested in the following environments Amazon Web Services' AmazonLinux with Apache 2.4 installed. Installing Munin Munin can be installed by following the steps below. sudo yum install munin munin-node # installation sudo chkconfig munin-node on Set to start # service automatically sudo service munin-node start # service sudo htpasswd -c /etc/munin/munin-htpasswd admin Set # password Now after about 5 minutes, you will see the server monitoring results in /munin/. If the monitoring results do not exist, the following screen will be displayed. (only if you allow directory indexing (= list of files in a directory)) When the monitoring results are generated, a screen similar to the following is displayed. Now you can use munin, but the password you set earlier is ignored and anyone can see the monitoring results. This is a security issue. (It exposes a weakness to an attacker.) Restart Apache Restarting Apache will activate Munin's login restrictions. This completes the basic setup for basic server monitoring with munin. sudo service httpd restart Adding Monitoring Items Even with just a basic setup, we can now get fairly detailed information about the server. Disk, network, CPU, and many other items that should be cared about at the OS level are covered. In version 2.0.20, 38 monitoring items are enabled by default (some of them monitor about 10 values within a single item), but overall, 232 monitoring items are prepared. You may think that you should add all of them, but we do not recommend it. Doing so will cause a load for monitoring, require extra space for storing monitoring results, and in the first place, make it difficult to find the desired item by listing unnecessary items on munin's screen. Monitoring items enabled by default ls /etc/munin/plugins/ cpu diskstats fw_packets interrupts memory ntp_kernel_pll_freq ntp_states processes sendmail_mailstats threads vmstat df entropy if_err_eth0 irqstats netstat ntp_kernel_pll_off open_files proc_pri sendmail_mailtraffic uptime df_inode forks if_eth0 load ntp_kernel_err ntp_offset open_inodes sendmail_mailqueue swap users Monitoring items that can be used immediately by simply linking ls /usr/share/munin/plugins/ acpi diskstat_ ip_ nfs4_client postgres_checkpoints snmp__cpuload snort_traffic amavis diskstats ipac-ng nfs_client postgres_connections_ snmp__df spamstats apache_accesses ejabberd_ ipmi_ nfsd postgres_connections_db snmp__df_ram squeezebox_ apache_processes entropy ipmi_sensor_ nfsd4 postgres_locks_ snmp__fc_if_ squid_cache apache_volume exim_mailqueue ircu nginx_request postgres_oldest_prepared_xact_ snmp__fc_if_err_ squid_icp apc_envunit_ exim_mailqueue_alt irqstats nginx_status postgres_prepared_xacts_ snmp__if_ squid_objectsize apc_nis exim_mailstats jmx_tomcat_dbpools nomadix_users_ postgres_querylength_ snmp__if_err_ squid_requests apt fail2ban load ntp_kernel_err postgres_scans_ snmp__if_multi squid_traffic apt_all files_ loggrep ntp_kernel_pll_freq postgres_size_ snmp__load surfboard asterisk_channels foldingathome lpar_cpu ntp_kernel_pll_off postgres_streaming_ snmp__memory swap asterisk_channelstypes foldingathome_rank lpstat ntp_offset postgres_transactions_ snmp__netapp_diskusage_ tcp asterisk_codecs foldingathome_wu mailman ntp_states postgres_tuples_ snmp__netapp_inodeusage_ threads asterisk_meetme forks mailscanner nut_misc postgres_users snmp__netstat tomcat_access asterisk_meetmeusers freeradius_acct mbmon_ nutups_ postgres_xlog snmp__print_pages tomcat_jvm asterisk_sipchannels freeradius_auth memcached_ nut_volts proc snmp__print_supplies tomcat_threads asterisk_sippeers freeradius_proxy_acct meminfo nvidia_ processes snmp__processes tomcat_volume asterisk_voicemail freeradius_proxy_auth memory open_files proc_pri snmp__rdp_users uptime bind9 fw_conntrack mhttping open_inodes proxy_plugin snmp__sensors_fsc_bx_fan users bind9_rndc fw_forwarded_local multiping openvpn ps_ snmp__sensors_fsc_bx_temp varnish_ bonding_err_ fw_packets multips perdition psu_ snmp__sensors_fsc_fan vlan_ buddyinfo haproxy_ multips_memory pgbouncer_connections qmailqstat snmp__sensors_fsc_temp vlan_inetuse_ cmc_tc_sensor_ haproxy_ng munin_stats pgbouncer_requests qmailscan snmp__sensors_mbm_fan vlan_linkuse_ courier_ hddtemp munin_update ping_ qmailscan-simple snmp__sensors_mbm_temp vmstat courier_mta_mailqueue hddtemp2 mysql_ plugin.sh quota_usage_ snmp__sensors_mbm_volt vserver_cpu_ courier_mta_mailstats hddtempd mysql_bytes plugins.history samba snmp__swap vserver_loadavg courier_mta_mailvolume hddtemp_smartctl mysql_innodb pm3users_ selinux_avcstat snmp__uptime vserver_resources cps_ hp2000_ mysql_isam_space_ pop_stats sendmail_mailqueue snmp__users yum cpu http_loadtime mysql_queries port_ sendmail_mailstats snmp__winload zimbra_ cpuspeed if_ mysql_slowqueries postfix_mailqueue sendmail_mailtraffic snmp__winmem cupsys_pages if_err_ mysql_threads postfix_mailstats sensors_ snort_alerts df ifx_concurrent_sessions_ named postfix_mailvolume slapd_ snort_bytes_pkt df_abs interrupts netopia postgres_autovacuum slapd_bdb_cache_ snort_drop_rate df_inode iostat netstat postgres_bgwriter slony_lag_ snort_pattern_match digitemp_ iostat_ios netstat_multi postgres_cache_ smart_ snort_pkts Adding Monitoring Items for Apache Now, let's add a monitoring item for Apache. It can be set up in the following 3 steps. (If you don't have Wordpress, it is often a two-step process) Enable the extended status display for Apache Modify .htaccess description if it is misbehaving (only if necessary) Add monitoring targets to munin Enable Apache extended status display Add the following configuration to the end of /etc/httpd/conf/httpd.conf When /server-status is accessed, it is specified to be handled by the server-status handler. Also, if it can be accessed from outside, there is a security problem, so only access from the local host is allowed. SetHandler server-status Order Deny,Allow Deny from all Allow from localhost Allow from localhost is used for access from munin. If you can access /server-status and get the server status, there is no problem. Since access from the outside is not permitted, check if it is possible to access the server by wget http://localhost/server-status or other means. If you have a CMS such as Wordpress, modify the .htaccess file of the CMS to avoid any problems. Modify .htaccess (only if necessary) URL rewrite settings in /var/www/html/.htaccess may be causing problems. RewriteCond %{REQUEST_URI} ! =//server-status" to exclude the server status acquisition URL from the rewrite. # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L]. RewriteCond %{REQUEST_FILENAME} ! -f RewriteCond %{REQUEST_FILENAME} ! -d RewriteCond %{REQUEST_URI} ! =/server-status RewriteRule . /index.php [L]. Add monitoring target to munin. Just add a symbolic link. You can add monitoring items related to Apache by copying and pasting the following. sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume Be sure to restart munin-node after adding the symbolic link. service munin-node restart If the configuration is successful, the apache entry will be added and the graph will begin to be drawn. Conclusion Server monitoring can be easily started using munin. In this example, we specified additional monitoring for Apache, but you can add appropriate plug-ins as needed to build a practical server monitoring system.