Friday, September 10, 2021

DVB-T + DAB +FM - Software survey

 Bought an el-cheapo Digital TV (DVB-T) USB stick which also has Digital Radio (DAB) and FM Radio - what more could I ask for?

Actually I would ask for an actual software to come with that. As with all things in Ebay, there is a reason why they are cheap. The advertisement itself shows nice and flashy TV pictures on a software. It's only in the fine print of the Package contents that says the software is a Trial Version. I did read that in the ad, but subconsciously put that aside. So now, I'm left with a USB stick with drivers installed but nothing to play with. I don't think I want to touch Windows Media Center, though I guess that is an option to some people.

So the point of this post is to collect and comment of my research on the software that can work with the newly acquired DVB-T stick. Here goes..... (perhaps starting with the paid software, then saving the best free ones for last).


DVB Viewer - http://www.dvbviewer.com/en/index.php?page=features

Cost around 20Eu - which is not a bad price. However there are paid add-ons such as Media Server add-on and Video Editor add-on. On Screenshot pages shows it looks very professional. The Features pages is very comprehensive and also list a lot of TV cards that it supports. Unfortunately mine is a generic brand and I don't expect to find it on the list. The payment is by bank transfer and you put the description of the bank transfer as DVBViewer + email. So it feels quite old school and an independent developer (not a commercial company), and this is one of the positive point for me.


AltDVB - https://www.videohelp.com/software/ALTDVB

Looks like it is free and is under active development, since the last update at the time of writing is May 2021. It's meant to work with DVB-S (Satellite, meaning worldwide signals are available. The T in DVB-T stands for Terrestrial, meaning the local stations). It's 11Mb, its portable, and it has a whole list of Changelog and Release notes. It has its own YouTube subscription channel to explain how to use it.


ProgDVB - https://www.progdvb.com/progtva_download.html

There is a paid version with the title name and there is also a free version called ProgTV. The free version won't support recording and is around 11Mb. It's supposed to let you watch digital TV and listen to radio channels. The paid version supports IPTV, DVB-S/S2, DVB-C (cable) and more.


Media Portal - https://www.team-mediaportal.com/mediaportal/about-mediaportal

This looks like a very complete media center - a full fledged solution. So its ability to play DVB-(C/S/T) is almost drowned out by all the other features. Incredibly, it's not only free but it's open-source too. When it comes to popular software that non-technical people use and download, there is generally a risk of using Free software on the internet. However when a software is open source, like Media Portal, the risk is reduced because the source code is available for the world to see. (this is a general statement about truly open source software and it is not an assessment of the security and safety of using Media Portal). Only drawback is that some DAB (digital radio) functionality may not be fully supported yet.





Friday, July 09, 2021

Review - Antec C40 CPU Cooler

Is a CPU Cooler really necessary? Is it all hype? Or does it actually work? Or will it be much better than the stock CPU coolers that come together with the original CPUs.

In this simple, unofficial review of the Antec C40 CPU Cooler, I hope to answer some of those questions from my experience with this product. Firstly, for all the official information, please go to the following sites, so I won't repeat the stats of the device in this post:

(Apologies for not having a real photo of the actual cooler. I was too excited to install it before thinking about taking photos. The product link should have many photos of this product)

Why do I need a CPU cooler?

My Windows PC has been turning-off by itself at irregular and unpredictable times. Sure most of the times it is because of Windows - and I am never shy of blaming Windows because most of the time it is Windows' fault. I've checked for drivers incompatibilities, new programs that may cause crashes, anti-virus/anti-malware, plugins misbehaving, Windows Update. But none of this were the reasons. Good for Windows that it is not the problem this time. 

By the way, the effect is not really the PC 'crashing'. What happens is that while working on the PC, the computer literally turns-off or powers-off, the same effect as if someone just pull out the power plug. 

So this can only be two things:
  • Power Supply Unit
  • Overheating CPU (either motherboard or CPU triggers a shutdown to prevent damage)
The Power Supply Unit problem will be very difficult to check. Perhaps qualified electricians can use a multimeter to check a few points (DO NOT TRY THIS). But most PC enthusiasts way of testing is to try a different Power Supply and see if the problem exist. In addition, this problem happens at totally different activities while working on the PC. 

Although it looks random, the pattern of the auto turn-off problem emerges. It happens when the computer is left running for some time. It may also happen when doing heavy browsing. It feels more and more like a heat problem. But SpeedFan program says the temperature is between 45-60 degrees. This does not seem to be overly critical although it is high. 

Then one day I rebooted, when into BIOS and check the temperature from the BIOS stats, and it is 80'C degrees. Obviously SpeedFan is wrong! The PC is placed at a corner next to a tall filing cabinet, which I thought would have sufficient airflow since it is not tightly cramped, but apparently not. Bringing the PC out of the corner, and removing the side panel of the motherboard reduced the temperature to 60-70'C degrees.

So definitely temperature is the most likely culprit. Although 60-70'degrees may not cause the problem anymore, but I would need to place the PC back to its original position, hence I thought of purchasing another CPU Cooler to replace the stock standard CPU cooler that came with the original CPU.

CPU Socket Type

My desktop PC is based on an AMD APU (CPU + graphics) of FM2 socket type. So I did a whole lot of research of price vs functionality of CPU coolers before selecting this. What I did not realise that was motherboard was FM2+ socket type until after the purchase. However it turns out to be fine since FM2/FM2+ are compatible not only in terms of the motherboard but also the Antec C40.


In fact the Antec C40 is compatible against a variety of AMD CPUs(see product link above or specs in the images above), but it is also compatible with some types of Intel CPUs. For the Intel CPUs, Antec C40 provides an extra harness / frame to screw onto the motherboard (screws provided), on which to secure the CPU cooler. In addition, Antec C40 also comes with a thermal paste, which MUST be applied between the CPU and base of the cooler when installing it.



Product Selection

So apart from the price / functionality, why exactly did I choose this among the many other choices:
  • Antec seems to be a specialised brand when it comes to CPU cooling. Other brands which I seriously considered were Coolermaster and Thermaltake.
  • The Copper base was an important point for me.
  • The weight of the cooler - it is not the lightest but quite reasonable given the dimensions.
  • The cool factor from the blue LED lighting.



Installation

Before installation of the Antec C40, the original stock standard AMD CPU cooler fan has to be removed. These are the steps I follow - and I do not guarantee any safety  - please read other instructions or manuals before doing this.

Uninstalling the AMD stock standard CPU cooler:

  1. Switch of the PC and all connected equipment.
  2. Unplug everything connected to the PC.
  3. Open the CPU case and make sure you touch the metal from to unearth any static charge.
  4. Reposition the CPU case in a comfortable position, with proper lighting, so it is easy to work with.
  5. Gently move any wires aside.
  6. Unlock by pressing the lever on one side of the AMD stock standard CPU cooler. This type of cooler is extremely easy to remove. Once unlock, gently and lightly tilt both ways to let the CPU cooler unhinge from the motherboard latches. NEVER EVER use force. If anything does not move, just tilt or change some other position.
  7. As you lift up the old CPU cooler, you will see some old thermal paste on top of both the CPU and the base of the old CPU cooler. Clean the thermal paste on top of the AMD CPU by rolling the tip of a cotton butt on it.


(Old AMD stock standard CPU. The best thing about this is the super easy way to install/remove due to the excellent lever design. The Antec C40 on the other hand is hard to clip on, and even harder to unclip to remove)

Installing the new Antec C40

  1. Unpack the Antec C40. 
  2. Ignore the screws and square harness. Those items are for Intel CPUs.
  3. Test Run Only: Gently lower the Antec C40 on top of the AMD CPU. Practice to latch one side of the CPU Cooler onto the motherboard around the CPU - just to experience any challenges or difficulties. Get a feel of how difficult or easy it is to secure the latch but DON'T do the actual attachment yet.
  4. Use the thermal paste supplied by Antec and squeeze a light amount on top of the AMD CPU. Gently spread the paste with the thermal paste tip, then use a small flat thin cardboard to evenly spread the paste on the CPU. 
  5. Get the Antec C40 cooler AND REMOVE THE THIN FILM from the base of the C40 cooler.
  6. Lower the C40 down on top of the AMD CPU. In my case, lowering the side opposite to the latch until it hooks onto the CPU edge was actually quite easy - to this at an angle.
  7. When one side is latched, then very very gently tilt the CPU cooler to be horizontal, to latch on the other side, in order to clip it on. This is the hardest part. You need to apply force, but applying too much force may damage the CPU.
  8. When securely attached, close the PC case, attach the PC components again, restart the PC and go to BIOS screen.

Problem Solved


Is a CPU Cooler really necessary? Is it all hype? Or does it actually work? Or will it be much better than the stock CPU coolers that come together with the original CPUs.

YES, it is necessary. No it is not hype. Yes it does work. Yes, it is definitely better than the AMD Stock Standard CPU Cooler.

Actually the first time I installed it, the BIOS showed 80'C degrees. That was totally unexpected. At least if it was like 60-70'C degrees, that would be similar to the old AMD CPU cooler - that would be understandable. But why would the new Antec C40 produces 80'C degrees when first installed. After checking this and that, with the PC case still open, there seems to be  a shiny border between the CPU and the base of the CPU Cooler. Then the shocking realisation that I actually forgotten to remove the thin film packaging on the C40 cooler's base as described in step 4 above.

So after uninstalling the new C40 cooler (uninstalling is even more difficult  when trying to unclip the new C40 cooler), remove the thin file at the base of the cooler, then reinstall everything again,  the PC was rebooted. Now the very good surprise was that the temperature is hitting about 40'C degrees only. What's more when I place my hand near the CPU cooler fan, it is actually cool air, instead of the hot air I previously felt.

When Windows was restarted, running many applications, browsers, etc to test, the temperature was much lower than with the previous old AMD cooler (actual numbers given by SpeedFan were wrong in absolute terms, but the temperature readings are significantly lower with the new Antec C40 cooler). So the conclusion, at least on my particular AMD FM2 system, the Antec C40 cooler definitely show a dramatic reduction in CPU temperature and the PC does not switch off by itself anymore.

Below image shows the Antec C40 in all its glory (PC case is open)





 

Friday, May 14, 2021

Online Development Tools

 This post is a collection of useful tools for the programmer. The list will be updated as necessary:

https://gist.github.com/discover - Gist is a way to share codes and snippets with others. Every Gists are individual git repository and this is forkable and usable.

https://ideone.com/ - No need for any tools or installing compiler and editors. Ideone is capable to compile over 60 programming languages.

https://sqldbm.com/Home/ -  go to the website and start building your database. Supported database types

SQL server

MySQL

PostgreSQL

Another main facility here is work with the term in a collaboration. Developers can work remotely on a single project through this platform.

https://www.figma.com/ - Figma is a prototyping tool. Just go to the web and start building your design and save online.

https://coggle.it/ - This is a mind mapping application also applicable for structured documents like document trees.



Friday, April 23, 2021

Review - Machine Learning For Absolute Beginners - Oliver Theobold

Machine Learning For Absolute Beginners: A Plain English Introduction (Second Edition) 

Oliver Theobald

This book at Amazon

ISBN-10 : 1549617214

ISBN-13 : 978-1549617218

There is a wealth of information out there on the subject of Machine Learning (ML) especially over the last 10 years. There are books with catch-phrase titles but lacking in substance. Conversely there are books which dwell too deeply into certain kinds of programming framework for ML (nothing wrong with that). For a data scientist, there are not many books out there which cover a broad spectrum of ML, yet with substance on each topic. 'Machine Learning for Absolute Beginners' by Oliver Theobold seems to be one of these rare gems that covers ML broadly and capable of explaining important concepts without too much mathematics or code snippets. Despite the title, a seasoned data scientist may yet find this as a valuable reference.

Following a pleasant introduction to ML and an overview of a typical workflow, it discusses in detail the 3 classes of ML: Supervised, Unsupervised and Reinforcement Learning. It describes a special case of Reinforcement Learning known as Q-Learning. This is followed by a chapter on ML Toolbox where it discusses the data requirements, the infrastructure, the algorithms and the visualisation options that are available. Here it explores the various programming languages (Python, C, R, etc), the cloud platforms (Azure, AWS, Google) and the algorithm frameworks (Tensorflow, Caffe, Torch, etc).

The chapters on data preparation and feature selection covers a lot of the techniques as well as the motivation behind them. These include row and column compression, one hot encoding, binning, treatment of missing data, normalization and standardization. Partitioning of data and cross validation (k-fold) are discussed as the final stages of preparing the data before model training.

The next two chapters were devoted each to Regression and Clustering respectively. These are perhaps the two foundational families of algorithms which are also known outside the context of ML. The difference between Linear and Logistic regression conceptually and applicability to real scenarios were well illustrated. A very simple hand calculation shows how linear regression really works. Logistic regression is then explained by contrasting its usage with linear regression. Similarly the concepts and application for k-Nearest Neighbours and k-Means Clustering for supervised and unsupervised learning were well explained, including the reasonings behind the algorithms.

Machine Learning For Absolute Beginners: A Plain English Introduction (Second Edition) (Machine Learning From Scratch Book 1)

Bias and variance has a short chapter by itself and is enough to explain with sufficient details. Here is another example that brings this book above other ML books which just focus on coding. The understanding of the interplay between bias and variance, which is also emphasized in Andrew Ng's Machine Learning course, differentiates between a data scientist and an ML coder.

Next two chapters deal with the advanced algorithms Support Vector Machines (SVM) and Artificial Neural Networks (ANN). SVM is contrasted with Logistic regression, with explanation of the hyperplanes concept and the margins around the boundary for SVM. ANN concepts were explained from the basic components of neurons and activation functions, building up to the perceptron with mathematical examples for very simple cases. Multilayered Perceptron (MLP) and the various Deep Learning techniques were briefly discussed.

While ANN may be very effective in some cases, it is well known for its lack of explanability (except perhaps with recent developments in SHAP, ICE, LIME, etc). On the other hand Decision Trees has often been hailed for its high explainability nature. So a decent chapter is devoted to Decision Trees with simple mathematical calculations of entropy - which is key to decide on how to split the nodes of the tree. This is expanded to the advanced trees family including Boosting, Bagging and Random Forest and when to use them effectively. This is followed by a short chapter in Ensemble Modelling, where the Stacking method is also discussed.

The last three chapters, finally but rightly put, deals with introducing the development environment and the tool necessary for machine learning work. These include using the anaconda environent to program in the Python language and using the Panda library's dataframes. It also discusses the concept of model optimization and illustrated using the Grid Search technique. Towards the end there is a source code for a simple but complete Python code for an ML workflow, recommendation of other useful books, an Appendix on the introduction of Python but what I consider most useful is pointers to a few free datasets. 



Saturday, March 20, 2021

Help - Ping request could not find host ... DNS problem

 You may have seen this message before:

Ping request could not find host www.cnn.com. Please check the name and try again.

There could be many things that can go wrong with the networking that caused this. Ultimately it is very likely the DNS that is the problem.

Firstly, let's simply go through a few troubleshooting options - just to rule out it is not because of the them. Do one step at a time, check the WiFi and if it works, don't need to progress to the next step.

1. For older laptops, believe it or not, there is actually a slider switch to click the WiFi on or off. Check this if you have it.

2. On Windows, on the TaskBar, ensure that the Wifi (not any particular Wifi network yet) itself is turn on. The WiFi can be either On or Off or Flight Mode or something else.

3. Check that the Wifi is connected to a particular WiFi network. Make sure it says Connected and Secured. And there is no yellow exclamation mark.

4. Open up CMD command terminal, type:

ipconfig  /release 

ipconfig /renew

ipconfig /flushdns

5. Reboot the computer.

If all else does not work, it is now time to suspect the DNS.

The DNS, in layman's term (you can Google for the exact definition), is directory service that lookup the URL you type and translate to an IP address. Its like a Post Office that receives an address and then go to that address. Our computer need to have the address of the DNS server itself - eg. we need the POST OFFICE's address, so that we can give them our letter.

The so somehow, our computer needs to know which DNS IP address to use. Most of the time, this is hidden from the user, that is why most computer user don't have to deal with it and so don't understand it. It can be automatically set on the modem or router, and also optionally automatically set on the Windows network settings.

So why should there be a problem when the DNS working nicely behind the scenes one day, then the internet is not working the next day? There could be many answers, but a recent experience has shown that some software, including VPN software can go it to the network settings and change the DNS address.

Hence one more solution to above error message is to change the DNS address on the Windows networking level. Whichever Windows version you have, 

- find your own way to the 'Network Connections' page or 'Change Adapter Settings' and you can see a page with a list of your network (ethernet, Wifi, VPN) adapters. 

- Right click on the Wifi adapter, if you are using the Wifi adapter.

- Choose 'Internet Protocol Version 4', and click on the Properties

- Go to the section called 'Use the following DNS server addresses', and add 'Preferred DNS' and 'Alternative DNS'


Some of the free DNS addresses are:

Quad9 - known for security

9.9.9.9, 149.112.112.112 (Secured)

9.9.9.10, 149.112.112.10 (Unsecured)

Google - you know them

8.8.8.8, 8.8.4.4

Cloudfare - known for speed

1.1.1.2, 1.0.0.2

OpenDNS - mature and known for security, 

208.67.222.222, 208.67.220.220

CleanBrowsing - known for parental filtering

185.228.168.168, 185.228.169.168