Articles of the Week
Pubbies of the Week
Intel Products and Future
Categories: Tech | Pubby Cash Received:
Intel Corp's stock (INTC) logged one of its worst days in 20 years on Friday. A 16.24% decrease in the stock price appeared after the chip giant announced that its next generation of 7nm chips would be delayed by 6 months. In recent years, its competitor Advanced Micro Devices Inc grows very fast and has a very good reputation of making high benchmarked but affordable chips for gaming computers. The AMD Ryzen chip series have more cores and threads to their Intel rivals at the same level, despite that some people believe the Intel chips still excel in the power per chip.
As a 20-year Intel chip user, my preference is difficult to be changed. The top-notch chip technology is a highly advanced area and I don't believe other competitors can fully catch up with the chip giant in a short period of time. I tend to believe that despite of a lower benchmarked score, Intel chips are more stable and therefore more suitable for desktop applications. Many softwares are also designed and optimized based on the Intel chips. I had a failing experience of installing MATLAB onto a laptop with an AMD chip around 2009, because the AMD chip at that time was not compatible with MATLAB! Now 10 years have passed. Although the situation might have been changed, the habit stays and it won't be easy for people to change from their comfort zone to risk something uncertain.
With that said, my next chip choice would still be Intel, just to be safe. Actually, the 10th generation Intel chips are selling very fast. Best Buy and Amazon are always out of stock on the I9 10900K, and the prices at other places are crazy-high. Those retailers just want to rip off some quick money. This market situation also proves that customers still like Intel and have confidence in Intel.
I will keep refreshing this bestbuy page from time to time to sniper an I9-10900K.
...
Read more
The Algorithm to Create a Crossword Game Using Python.
Categories: Tech | Pubby Cash Received:
Do you know the algorithm to make a crossword puzzle using Python? If you do not know how, then you should read this article because it will teach you how. We will make two arrays one of them has the correct answers while the other one has the letter O to replace the words. Here is the code. added_words_count = 0# make a variable equal to zero def add_word(word,arr): #this function adds the horizontal words to the cross word global added_words_count#global that variable that was made row=random.choice(lst)#take a random row to put the word in lst.remove(row)# remove it so it does not repeat col=random.randint(0,15-len(word))# choose a random column to put the word in addhword = True#set this variable to true for adding horizontal words count = 0#set count to zero rand_num = random.randint(0,1)# randomly choosing 1 or 0 to decide if the word goes from right to left or left to right. if rand_num == 0:if the random number is zero word1 = word[::-1]# make it backwards else: # if the random number is not zero word1 = word# keep it the same for i in range(0,len(word1)):# print i arr[row,col+i]=lett2num[word1[i]] added_words_count += 1 #add one to the added_words_count variable print('added horizontal')# print added horizontal to know how many words you added were horizontal def add_word1(word,arr):# this function is for adding vertical words global added_words_count# global the added_words_count variable addvword = True# set adding vertical words to true rand_num = random.randint(0,1)# randomly choosing 1 or 0 to decide if the word goes from right to left or left to right. if rand_num == 0:if the random number is zero word1 = word[::-1]# make it backwards else: # if the random number is not zero word1 = word# keep it the same def adding_v_word():# make another function for adding completely_empty = True# set the completely empty variable to true col=random.choice(lst)# lst.remove(col) row=random.randint(0,15-len(word))# choose a random row to put the word in ready = False# set the variable ready to false for i in range(0,len(word1)):print i if arr[row+i,col] != 0:# if it is not equal to zero completely_empty = False# the completely empty variable is equal to false addvword = False# also, adding a vertical word would be false # if the letter in this square is the same as the one we're adding if arr[row+i,col] == lett2num[word1[i]]:# if it is equal addvword = True# adding vertical word is true ready = True# also ready is true else:if that is not true addvword = False # both are false ready = False break # use break method return row, col, ready, completely_empty# return the variables while True:# while that is true row, col, ready, completely_empty = adding_v_word()# those variables equal adding_v_word() if ready or completely_empty:# if ready or completely_true are true for i in range(0,len(word1)):# print i arr[row+i,col]=lett2num[word1[i]] print('just added another vertical') # print this so you know when you added a vertical word added_words_count += 1 break def display_arr(arr):# this function is for displaying the array for row in range(0,15):# for the row in the range of 0 to 15 line=""# set line to an empty string for col in range(0,15):# for the column in the range of 0 to 15 line = line + num2lett[(arr[row,col])] + " "# set line to line plus the num2lett plus an empty string print(line)# print line print()# print... Read more
How to Make Diagonal Words and Making them Backwards Using Python
Categories: Tech | Pubby Cash Received:
Do you know the algorithm to make a crossword puzzle using Python? If you do not know how, then you should read this article because it will teach you how. We will make two arrays one of them has the correct answers while the other one has the letter O to replace the words. Here is the code. added_words_count = 0# make a variable equal to zero def add_word(word,arr): #this function adds the horizontal words to the cross word global added_words_count#global that variable that was made row=random.choice(lst)#take a random row to put the word in lst.remove(row)# remove it so it does not repeat col=random.randint(0,15-len(word))# choose a random column to put the word in addhword = True#set this variable to true for adding horizontal words count = 0#set count to zero rand_num = random.randint(0,1)# randomly choosing 1 or 0 to decide if the word goes from right to left or left to right. if rand_num == 0:if the random number is zero word1 = word[::-1]# make it backwards else: # if the random number is not zero word1 = word# keep it the same for i in range(0,len(word1)):# print i arr[row,col+i]=lett2num[word1[i]] added_words_count += 1 #add one to the added_words_count variable print('added horizontal')# print added horizontal to know how many words you added were horizontal def add_word1(word,arr):# this function is for adding vertical words global added_words_count# global the added_words_count variable addvword = True# set adding vertical words to true rand_num = random.randint(0,1)# randomly choosing 1 or 0 to decide if the word goes from right to left or left to right. if rand_num == 0:if the random number is zero word1 = word[::-1]# make it backwards else: # if the random number is not zero word1 = word# keep it the same def adding_v_word():# make another function for adding completely_empty = True# set the completely empty variable to true col=random.choice(lst)# lst.remove(col) row=random.randint(0,15-len(word))# choose a random row to put the word in ready = False# set the variable ready to false for i in range(0,len(word1)):print i if arr[row+i,col] != 0:# if it is not equal to zero completely_empty = False# the completely empty variable is equal to false addvword = False# also, adding a vertical word would be false # if the letter in this square is the same as the one we're adding if arr[row+i,col] == lett2num[word1[i]]:# if it is equal addvword = True# adding vertical word is true ready = True# also ready is true else:if that is not true addvword = False # both are false ready = False break # use break method return row, col, ready, completely_empty# return the variables while True:# while that is true row, col, ready, completely_empty = adding_v_word()# those variables equal adding_v_word() if ready or completely_empty:# if ready or completely_true are true for i in range(0,len(word1)):# print i arr[row+i,col]=lett2num[word1[i]] print('just added another vertical') # print this so you know when you added a vertical word added_words_count += 1 break def display_arr(arr):# this function is for displaying the array for row in range(0,15):# for the row in the range of 0 to 15 line=""# set line to an empty string for col in range(0,15):# for the column in the range of 0 to 15 line = line + num2lett[(arr[row,col])] + " "# set line to line plus the num2lett plus an empty string print(line)# print line print()# print... Read more
So many MSI boards
Categories: Tech | Pubby Cash Received:
When buying a motherboard, it is important to choose the right brand and size that will suit your needs, as you may already know. MSI makes great, durable, and sleek boards. Upon searching popular motherboards on the web, three main types. Those are the MEG, MPG, and MAG. First, with the MEG models, the motherboards are designed mainly for enthusiasts, and you can remember that with the "E" meaning "excellent". These boards are top-notch and are MSI's flag-shipped products. Next, the MPG series is built for performance, with the "P" standing for "performance". These boards will have mainstream gaming features, along with aesthetic combined. Lastly, the MAG boards are their arsenal series. These focus on functionality so they are often cheaper. Now with all of the series clarified, it is obvious that the MEG is the way to go for serious people like me. Let's say you decide to buy the MEG Z490 modal, which is a good choice, but even that modal has smaller sub-modals. We'll compare the Godlike to the Unify. Both are MEG Z490 models, but their prices undergo a huge change (former being $750+ and latter being $270+). Why? There are many reasons. The Godlike features more high-speed ports (with two Thunderbolt 3 ports) while the Unify has none. Moreover, the Godlike has more memory support along with a speaker. Additional diagnostics include 2-Digit Debug LED, BIOS Selection, Clear CMOS, Power, Reset, ReTry, Safe Boot, and Slow Mode. I think the $750+ motherboard is overkill considering my usage. The Godlike is for extreme gamers or professional video editors. There is also a $400 modal which is also a MEG Z490 called the ACE. It boasts of 2.5G LAN and Gigabit LAN and has most of the Godlike's statistics. It lies in between the Unify and the Godlike. So which one is the best? It depends on your interests and budget. For me, I think the middle class would work for me. A $400 ACE should be capable of handling all of my processes and tasks.... Read more
Why PS/2 Port is still Included in Modern Motherboard?
Categories: Tech | Pubby Cash Received:
I've used PS/2 ports to connect the keyboard and mouse to a computer in the late 1990s. Thirty years have passed. Now I'm looking to buy a modern motherboard, but astonished to find that in the most advanced MSI MEG Z490 motherboard to accommodate the newly released the 10th generation Intel I9 processor, there is still a PS/2 port. At first thought, I would consider this to be outdated. After doing some homework learning the reasons behind it, I've changed my mind. Here are the special reasons why PS/2 is important for a top-notch computer: (1) Drivers. In contrast to USB ports, PS/2 ports for keyboard and mouse will work with devices without having to download the latest drivers. Although all devices require drivers to work, there is a catch when it comes to USB keyboards and mouse. The USB port itself requires a driver. USB ports not functioning properly due to a driver issue may occur from time to time during a Windows Feature Update or a update provided by the OEM is nothing new. Sometimes the driver issue happens by itself. In addition, for systems where "optimized defaults" loads OS before USB keyboard is active, you must have a keyboard on PS/2 to operate the machine. Examples like a firmware/BIOS update or CMOS reset will render USB keyboard unusable to enter SETUP/BIOS or early boot menus (until a complete reboot), whereas the PS/2 will be very handy. Thus, the PS/2 port acts as a backup in this circumstances. (2) Limits on n-key rollover. The USB protocol limits the n-key rollover to a maximum of 6, meaning if you play a game that uses tons of buttons after 6 keys you start missing keys no matter how good your board is. PS/2 ports, on the other hand, allow full n-key rollover. (3) IT security. USB ports might be disabled to end users to avoid security risks (data theft, virus and malware injection etc) on business desktops and workstations in an IT corporate infrastructure. PS/2 ports are for keyboard and mouse only, and thus are considered secure for all non IT Admin users. (4) PS/2 connector gives slightly better keyboard performance than USB and is more reliable. You may throw a PS/2 keyboard to a dishwasher to clean and it is still going strong, while the modern mechanical USB keyboard stop working for 24 hours if a drop of water falls inside a key. These indeed surprised me after I learned PS/2 ports have so many advantages. Since there is only 1 PS/2 port on the top-notch MSI motherboard, I think I will let this most important port taken by a PS/2 keyboard. Actually, the PS/2 mouse can be very difficult to find these days, and I will just use a USB mouse. ... Read more