What is IoT?
The Internet of Things (IoT) is the network of physical devices, vehicles, home appliances and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these things to connect and exchange data, creating opportunities for more direct integration of the physical world into computer-based systems, resulting in efficiency improvements, economic benefits and reduced human intervention.
IoT covers the devices that connect to internet and communicate each other. IoT is a new term and nowadays becoming popular. Developing sensor electronics, communication technologies, low power usage CPUs, development boards help to improve IoT systems.
The number of IoT devices increased year-over-year to 8.4 billion in 2017 and it is estimated that there will be 30 billion devices by 2020. The global market value of IoT is projected to reach $7.1 trillion by 2020.
During my intern, the main topic is IoT, IoT networks and using scenerios. First, I started to my project from beginning, read of the document about IoT, working principle, which programming languages are using etc. After I have taken Pycom development board, I decided to use micro python in my project. Cause, Pycom supports micropython and this programming language is best language for IoT systems because of simpility. On the other hand, I discovered many chips which is used for IoT projects, the most popular ones NodeMCU boards which has ESP8266 chip, also Pycom has dual core ESP-32 CPU to do tasks.
Cache is a small static RAM between CPU and main memory. Also caches are called "slave memories". Generally, main memory represents dynamic RAM and it has much more capacity than cache. A cache hit occurs when the requested data can be found in a cache, while a cache miss occurs when it cannot. Cache hits are served by reading data from the cache, which is faster than recomputing a result or reading from a slower data store; thus, the more requests can be served from the cache, the faster the system performs.
The cache keeps a copy of the most frequently used data from the main memory. Reads and writes to the most frequently used. We only need to access the slower main memory for less frequently used data. Because it is impossible to fit all data fill in the cache.
Relation Between CPU Speed & Memory Speed
The cache must be run very fast and its reaction time (latency) should be very quick. For example, we have main memory which has 100ns access time. If we use this, our CPU's maximum speed will be 10mHz even it runs more then 10mHz. Our memory's access time must be 1ns to run our CPU at 1gHz.
Memory access speed increases overall because we’ve made the common case faster. Addresses will be serviced by the cache. We only need to access the slower main memory for less frequently used data.
In CPU, What is difference between L1, L2 and L3 cache?
Level 1 (L1) cache is extremely fast but relatively small, and is usually embedded in CPU.
Level 2 (L2) cache is often more capacious than L1; it may be located on the CPU or on a separate chip or coprocessor. So as not to be slowed by traffic on the main system bus.
Level 3 (L3) cache is typically specialized memory that works to improve the performance of L1 and L2. It can be significantly slower than L1 or L2, but is usually double the speed of RAM. If we look at a CPU under a microscope, we see that the most space is occupied by the L3 cache.
In the case of multicore processors, each core may have its own dedicated L1 and L2 cache, but share a common L3 cache. When an instruction is referenced in the L3 cache, it is typically elevated to a higher tier cache.Set sizes range from 1 (direct-mapped) to 2k (fully associative). 1-way set associativated cache is equal to direct mapped one. Larger sets and higher associativity lead to fewer cache conflicts and lower miss rates, but they also increase the hardware cost. Due to design and chipset conditions, engineers who design to CPU architecture, cannot change some cache ways, levels and amount easily.
In practice, 2-way through 16-way set-associative caches strike a good balance between lower miss rates and higher costs. Nowadays, Intel uses 8-way to 12-way caches in their i-series CPUs. (i5,i3,i7) But amounts is changing CPU by CPU. CPUs which values and costs are higher, for sure it's cache is higher than cheaper ones. The increase of the cache increases the performance of the user.
Example of Hardware caches
-Some flash drives
-Translation lookaside buffer
Example of Software Caches
-Web Cache: web browsers, web proxy servers, programs that uses p2p networks use it.
-Disk Cache: In windows OS, pagefile files exist. They are very good example of software caches. It created by OS in some conditions and is managed by the operating system kernel.
Inside of Cache
A cache is divided into many blocks, each of which contains a valid bit, a tag for matching memory addresses to cache contents, and the data itself.
Larger block sizes can take advantage of spatial locality by loading data from not just one address, but also nearby addresses, into the cache. Associative caches assign each memory address to a particular set within the cache, but not to any specific block within that set.
Mehmet Çağrı Aksoy
I want to start with “What is not ROS?”
In the website of ROS, they say about ROS:
The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.Why? Because creating truly robust, general-purpose robot software is hard. From the robot's perspective, problems that seem trivial to humans often vary wildly between instances of tasks and environments. Dealing with these variations is so hard that no single individual, laboratory, or institution can hope to do it on their own.As a result, ROS was built from the ground up to encourage collaborative robotics software development. For example, one laboratory might have experts in mapping indoor environments, and could contribute a world-class system for producing maps. Another group might have experts at using maps to navigate, and yet another group might have discovered a computer vision approach that works well for recognizing small objects in clutter. ROS was designed specifically for groups like these to collaborate and build upon each other's work, as is described throughout this site.
Nowadays, its reputation and field of usage are greatly increasing. Especially in Artificial Intelligence robotic fields, Unmanned Air – Ground vehicles ROS usage is increasing day by day. ROS is open source software and technology that we can participate their developer program and contribute its code. Software in the ROS Ecosystem can be separated into three groups:
language-and platform-independent tools used for building and distributing ROS-based software;
ROS client library implementations such as roscpp, rospy, and roslisp;
packages containing application-related code which uses one or more ROS client libraries.
Both the language-independent tools and the main client libraries (C++, Python, and Lisp) are released under the terms of the BSD license. You can program ROS features C++ or Python whatever you want. But due to ease to use, python 2&3 is preferred more than CPP.
In ROS, Master Node, message communication, and blocks are very important. If we understand its behavior and communication with each other, we can develop easier than before.
When we are coding our robot via ROS, we need to a program which we can simulation our robot’s behaviors, reaction of our commands is Gazebo. The gazebo is very handful program which simulates our robots. It has sample sketch and already designed robots, manipulators etc. They can be used for ROS projects and the information can be given by the gazebo; errors of the system (robots) kinematics etc.
Mehmet Çağrı Aksoy
Mehmet Çağrı Aksoy
As you can see, robot manupilator sample is seen on picture. It has one prismatic and 3 revolute joints. Joints connected each other via links. Full of body is made of aluminum. My manupilator's purpose is to take objects and carry otherwhere via its arm's end effector part. It also has a gripper to take objects.
You can download this manupilator's pdf document:
Hello, today I want to write about Signal private messenger. I heard last year that program from Edward Snowden. Yes, that's true. He supports this organization and program. Signal private messenger's main aim is "Privacy". Their motto is "Fast, simple, secure. The privacy that fits in your pocket". They also say that the program is encrypted via end-to-end encryption, and they say our messages are not read by them.
At the moment, I am using the signal with my Android phone and desktop. It's quite easy and there is not so much difference between Whatsapp. On the other hand, the best benefit which different from other messenger programs is linked accounts. When you enter the Signal via desktop, different account occurs. You can send a message your friends as same as your phone and when your friends see your message don't understand the message is coming from where desktop or mobile. To summary, on the desktop, you can use your phone number to send a message. BUT, you can ALSO send messages from desktop to your mobile that is awesome. For example, you have taken a photo and want to send your desktop. Its easiest way ever I have seen. Just send desktop account and see your picture on your desktop account.
Thanks for your reading :)
Hello, now I would like to review a program which known as Grammarly. I discovered this program via advertisements of websites. Most of the time, I have blocked many Ads thanks to Adblock programs. This program or browser extension check your sentences almost all websites and help you to write correctly.
I installed firefox extension version of this but I am curiositious about security issues. As we know, keylogger programs (viruses) very popular in the web. Many hackers and their programs want to steal your data. (passwords, information, keys etc.) So, I want to keep my data security, The program looks safe, its source code not open-source so, I can't find any information about how to work itself algorithm. In my opinion, this program very handful because, for example, you're writing on Facebook and program check your sentences instantly and give you feedback to change your words. As I mentioned above, It can be unsafe and backdoor can exist. In my opinion, use this program but not always, keep this program offline in Firefox or Chrome settings and when do you want to use, open with one-click.
See you for other articles and reviews...
I had a problem about my system, someone set BIOS password and changed my computer's default boot order. I am using notebook and I have two operating system which are Ubuntu 16.04 and Windows 10 -UEFI-. GRUB boot loader is being used in the system. Someone (!) changed boot-loader grub to windows 10 so I could not open my Linux OS. First, That time was very hard for me, I'd like to reach my files which located in Ubuntu but you know windows cannot see Linux files and extensions. Anyway I found a way to reach ubuntu but this one not easiest one.
Today, I investigated methods to bypass or decrypt password to reach BIOS.
First of all the easiest method is remove BIOS cell. This one is easiest but useless for notebooks and new generation motherboards. Because notebooks have EEPROM that means take the data without require the voltage. As we know, RAM types require electricity to keep datas, but EEPROM not.
Other method is "find backdoor in your BIOS"
I found a website about BIOS keys databese. First you have to set 3 times wrong password and take note the "system disabled" number. It can be changed but when you wrote 3 times wrong password, you have to see system disabled number or etc. This can be : 50577604 or etc. must included numbers.
And then enter the website and enter your number:
Hopefully you will be found your manufacturer name and BIOS password bypass number. I solved my problem via that website and I am writing here with my Linux OS. :) :)
Hello, today I was surfing on internet and saw a webpage which about e-mail security tweaks and test tools. Many times, I do not believe the tools that says "increase your protection". This one is different because MECSA tool was designed by JRC and this tool was published by europe union. (JRC means joint research centre)
MECSA E-mail Security Checker: https://mecsa.jrc.ec.europa.eu/
EU Describe this tool;
MECSA is an online tool developed by the Joint Research Centre (JRC) to assess the security of email communication between providers.
By following a simple procedure, MECSA will allow you to better understand the technical capacity of your email provider to protect the security and privacy of your email communications.
How to mine Zcash via CUDA?
Hello, In this article I’ll mention about mining, zcash and mining programs. Nowadays, crypto currency is becoming very popular and many people invest their money in this field. Day by day bitcoin and other popular (zcash, etherium) coin’s prices becoming very high. To mine Zcash and make profit, you should have a wallet of zcash and zcash mining program.
If programs cannot run properly, you update your nvidia drivers and you should install CUDA libraries. Do not forget many miner problems are caused by missing library files.
Nvidia Driver Update link: http://www.nvidia.com/Download/index.aspx
CUDA Download Link: https://developer.nvidia.com/cuda-downloads
You can mine yourself or participate a pool that includes people who want to mine zcash like you.
Wallet Program: Jaxx
Pool Example: https://zec.nanopool.com
Program: EWBF'S ZCASH Miner 0.3.4b / zm-0.5.7 miner (You can download these programs in the pool website, and you should configure the program with your wallet number and miner name.
CUDA = Compute Unified Device Architecture
CUDA is a technology, feature, parallel computing platform and API that created by NVIDIA engineers. It also addition of C language. Also, the CUDA platform is designed to work with programming languages such as C, C++, and Fortran. This accessibility makes it easier for specialists in parallel programming to use GPU resources. That's why cuda is becoming so popular. On the other hand, to write OpenGL or Direct3D programs that required advanced skills in graphics programming. With cuda technology, we can make more efficient use of the GPU cores and use the cores in the GPU based process.
As we know, In computer games or that industry GPU's are very important for fps and quality. Day by day the industry use new technologies and games wants much more graphics power to run games properly. GPU's main purposes of games are graphics rendering and physical calculations (PhysX).
CUDA has also been used to accelerate non-graphical applications in computational biology, cryptography and other fields by an order of magnitude or more. This field very important because of MINING. Zcash and Etherium is very important and to produce these coins, we use our gpu power. Especially to mine zcash, CUDA technology uses very much.
Nowadays, many Nvidia gpu's support cuda features and technologies. No doubt that, many cuda versions are available and their performance different from each other.