Seagate Backup Plus HUB internal disk

I got an external USB3 8TB disk from Costco, namely the STEL8000401 Seagate Backup Plus Hub, the enclosure includes a USB3 HUB, and an 8TB 3.5 inch hard drive inside

upon opening the shell, I was presented with an 8TB SATA 3 6Gb/s drive with the model number ST8000DM004

According to the datasheet of the hard drive, this is an SMR drive *(Shingled magnetic recording)

Seagates markets this hard drive as a desktop hard drive, but beware, SMR drives are slow on writing, so when you are using the drive for a mostly read scenario, it may be good, but if your application is write intensive, this is not a good hard drive for that purpose

Also, from the datasheet, this drive spins at 5400RPM, opposite to my older seagate barracuda 8TB (ST8000DM002) which is a 7200 and is not an SMR drive

I will be doing some more experimentation with this drive in a bit, and post the results here

Sequential Write

The lowdown: 130 MiB/s sequential Write, and 132 sequential read ! the older drive has a 230MiB/s sequential read

The first experiment is using PV, for those who do not know, PV is like DD but somewhat more advanced, I will be copying the drive ST8000DM002 to the new ST8000DM004, after passing the 10GB mark, the transfer speed from one disk to the other was around 130 MiB/s (Speed of writing to the new SMR drive). Again, regardless of the data, this is a byte for byte copy including blank areas, therefore this is an example of a sequential write. for comparison, writing the same data to /dev/null (read on the old drive) results in 230 MiB/s meaning the bottleneck is writing to the SMR drive. reading from the newer SMR drive to /dev/null results in 132 MiB/s which is surprisingly similar to its read speed.

Lock PC after 20 minutes

I am not that great with windows, a look at all the posts on this blog will tell you that, Now with that said, I need to lock my laptop (Windows !) after a few minutes of inactivity.

NOTE: On windows 11 HOME you have to Enable Local Security Policy (secpol.msc) first as it is not installed by default

To do that, you run secpol.msc, then look for Local Policies > Security Options “Interactive Logon: Machine inactivity limit” and set that to 1200 (20 minutes), then restart the computer, and there you have it, after 20 minutes, you need to login again

The windows login screen will appear after 20 minutes, you don’t need to set a screensaver or even connect this to your screen timeout (which is 10 minutes in my case)

Linux on first generation I7 with no graphics card

Linux would not normally boot as soon as you take away the graphics card, the solution to this is to set it to serial mode, with Grub 2 (Such as debian buster and bullseye), there is no menu.1st file, and you should not edit /boot/grub/grub.cfg by hand, what you need to edit is /etc/default/grub, in this file you will need to

1- Change GRUB terminal to console and ttyS0. This will provide one GRUB to a monitor display and serial console.
2- Remove hidden parameter for avoiding “no video mode activated” error. And change GRUB timeout from 8 seconds to 1 second.
3-Change linux kernel console to tty1 and ttyS0. This setting will be taken over to userland, and there will be two login prompt for tty1 and ttyS0.

On my debian setup, the file looks like this, and it works, but make sure to take a backup of the file just in case before you modify anything

Now you will need to run the command

update-grub

Finding static ip machines on openwrt

As soon as you enter the LUCI interface of openwrt, you are presented with a bunch of DHCP leases corresponding to all the machines that got their IP from DHCP, but what about the computers that have static IPs ?

The answer to that is that there is no place where all this data is stored on the router, and you must scan for all machines

a tool to help you do that is arp-scan, just go into packages and install it, or simply run the command “opkg install arp-scan” from the ssh session, right after, you should be able to run the command as follows

arp-scan –interface br-lan –localnet

but this will not necessarily be the correct command, you will need to find the name of your LAN interface which is simple from interfaces in LUCI

As of now, the current version of arp-scan has a bug, where it displays the following error

arp-scan -I br-lan -l
Interface: br-lan, datalink type: EN10MB (Ethernet)
WARNING: Cannot open MAC/Vendor file /usr/share/arp-scan/ieee-oui.txt: No such file or directory
WARNING: Cannot open MAC/Vendor file /usr/share/arp-scan/ieee-iab.txt: No such file or directory
WARNING: Cannot open MAC/Vendor file /usr/share/arp-scan/mac-vendor.txt: No such file or directory
Starting arp-scan 1.9.5 with 256 hosts (https://github.com/royhills/arp-scan)

15 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.5: 256 hosts scanned in 1.852 seconds (138.23 hosts/sec). 0 responded

The solution to that is by manually installing the newer arp-scan package

Reference for my 3D printer

This 3D printer was built back in 2015, I am adding this post here because I don’t remember much about it and i would need to rebuild it today for a certain project i have in mind.

My 3D printer, Prusa i3 with RAMPS 1.4 and a heated bed, started off with the config file from the FolgerTech i3-2020, the 0.4mm Brass Extruder Nozzle, 30mm M6 Tube, FILAMENT 1.75 mm

The entry that comes with the config files has a problem with DEFAULT_AXIS_STEPS_PER_UNIT, by default it comes with the values { 80, 80, 4000, 104.4 }, the third one (Z axis) has a problem that my rods are different, and the last one for the ext ruder has double the value assuming we have microsteps, So i reverted to the one in the 1.1.5 that is already installed, namely

define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 2580, 52.2 }

The Z axis probably needs more refinement though, as the higher the build, the more problems you have close to the top

In this config file, I have the MOTHERBOARD set to BOARD_RAMPS_14_EFB instead of 33, this is all good for the 1.1.5 and the 2.0.x, previously they were numbers, and they probably still are (Value of this)

define BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
 define BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)
 define BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
 define BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Fan)

Extruder and heat bed

Even though i use a solid state relay for the extruder, the heated bed uses an automotive relay switch, so PWM is a big no no, we will need to comment the line where it reads define PIDTEMPBED, we also MIGHT WANT TO (only if needed) to fix some stuff in config advanced file.

if DISABLED(PIDTEMPBED)
 #define BED_CHECK_INTERVAL 5000 // ms between checks in bang-bang control
   #if ENABLED(BED_LIMIT_SWITCHING)
     #define BED_HYSTERESIS 2 // Only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
   #endif
 endif

the above means, check every 5 seconds, the rest is self explanatory in the code comments

Next, the end-stops, Z_PROBE_OFFSET_FROM_EXTRUDER for example (Height) is the most important one, as the others will simply print in the wrong location on the bed which besides loosing bed space is not really a problem

Could not find this setting in Marlin 2.0, pending further investigation

Now, the bed size, the whole bed is 20CMs, but there are screws at the edges, so I will go with 19 and add some 0.5 offset

Remember to uncomment “PROBE_MANUALLY” since i don’t have a probe ATM, also uncomment LCD_BED_LEVELING and leave RESTORE_LEVELING_AFTER_G28 uncommented (and leave ENABLE_LEVELING_AFTER_G28 commented the way it is)

LG UL550 vs the ASUS VP28UQGL

Update: the official winner in this is the ASUS, mainly for having built in speakers
Update: After buying the LG for myself and the ASUS for a friend, The ASUS does pivot 90 degrees as well !!! the only real advantage i see in the LG is the IPS display (Color accuracy for graphics designers that you will not be able to detect with the untrained eye)

Because the place where i buy my monitors currently only has 2 4K monitors in the 27″ category, I had to compare them to pick one, for most people the ASUS is the clear winner, unless you are a graphics designer, then it is the LG (IPS has better color), I will probably buy the LG because of it’s Pivot feature (UPDATE-They both have pivot), but most people would want the ASUS, in any case, here are the specs for both side by side

The reason the LG is more expensive is because it has IPS, IPS has only one advantage, color, and only to a degree that affects a graphics designer, in fact, IPS has disadvantages too compared to TN (twisted nematic).

Feature ASUS VP28UQGL lg ul550
PRICE 259 JOD ($249 at amazon) 275 JOD ($326 at amazon)
SIZE 28 (620.93 x 341.28 mm) 27
Response time (True native) TN is usually faster, but not mentioned 5ms
Response time (GTG) 1ms 1ms
Panel Type TN (twisted nematic) / LED IPS (in-plane switching)
Resolution 3840×2160 3840 x 2160
Pixel Pitch (mm) 0.160mm 0.1554 x 0.1554 mm
Refresh Rate 60Hz 60Hz
USB Video no no
USB HUB no no
HDMI 3 (2.0) but can only find 2 in manual, manual is for whole series 2 (No mentioning, but most likely 2.0a or 2.1)
DP 1 = 1 (1.2) 1 (No mentioning of Version)
HEADPHONE 1 1
BRIGHTNESS 300cd/㎡ 300cd (typ) / 240cd (Min)
CONTRAST 1000:1 (MIN/TYP) 700:1 (Min.), 1000:1 (Typ.)
COLOR 10BIT (1073.7M) – 94%sRGB IPS has better color
HDR   10
Power Consumption (Typ.) <31 36 – 41
POSITIONS Tilt : Yes (+20° ~ -5°), Pivot(Not auto) Tilt (3°)/Height (Lower and raise)/Pivot(Not auto)
VESA MOUNTING NO YES
NVIDIA/AMD Radeon FreeSync Radeon FreeSync™
SPEAKERS` YES 2W X 2 NO
Buttons Joystick Joystick
power adapter Internal (Thicker, and less heat management) external, 19v, 2a
dimensions with stand 660.4 x 672.5 x 226.3 mm 622.6 mm x 572.2 mm x 230.0 mm
dimensions without stand 660.4 x 380.8 x 62.2 mm 622.6 mm x 371.0 mm x 45.8 mm
Blue light filter Yes No
OSD Nicer and easier Does the job perfectly, but less nice

The stand is also something i like about the LG, even though it takes more space on the desk, the space is not completely taken by the stand, the half oval shape allows you to put your things on the table within the stand, it also has some height adjustment (just a bit, for the portrait pivot mode mostly so it is not so much a standing desk in any way) that allows me to raise it a bit when i need to for more comfort

Arab Bank Jordan Swift and BIC

After some research, It turned out that the Arab bank of Jordan has a unified SWIFT code (Same as BIC) for all their branches, which is ARABJOAX100, you will need to combine that with your account number which is 13 digits, all other swift codes for the branches are obsolete

بعد البحث، تبين ان كل فروع البنك العربي تستخدم سويفت كود (بيك كود) موحد وهو
ARABJOAX100
، جميع السويفت كودز القديمه للفروع القديمه غير مطلوبه، بالاضافه الى السويفت كود ستحتاج الى رقم حساب وهو رقم من 13 خانه (بالاضافه الى شحطتين تفصلان الارقام)

An account number would have the format

xxxx-xxxxxx-xxx

رقم الحساب يكون على النسق

xxxx-xxxxxx-xxx

Are the ESP32 and ESP8266 5V tolerant (Yes they officially are)

This is a very old question, ever since Espressif removed the 5V tolerant statement from their datasheet no one felt safe connecting 5V directly to the digital input pins, but the news is out now, according to the CEO of Espressif himself, their boards are indeed 5V tolerant ON THE DIGITAL INPUT PINS

What pins are 5V tolerant exactly?

The IO pins in input state (sink) are 5V tolerant, Yet the power supply to the chip must be 3.3V (Most boards come with a regulator for this so it should not be a problem). other models do not come with a regulator, and in such a case, you will need to add the regulator, but even then you do not need a level shifter for the digital inputs. The ones without an onboard regulator usually go for as little as $2.5 (5 boards for $12) , while the ones that come with a voltage regulator and a serial to USB adapter will set you back around $4.6 (3 for $14)

When pins on the Espressif microcontroller are set as output, they will use 3.3V logic, whether or not the difference in voltage between high and low will register on the other microcontroller/device is an issue related to the other microcontroller, from my experience, Arduino Uno works just fine.

Also note that analogue pins are a different story, the ADC pins use the power provided to the chip as a reference voltage. so a voltage divider is still required.

so in short, if you connect the 5V supply to the VIN pin (going through the onboard regulator), and use 5V logic on the digital pins while they are in input mode (Sink) you should good, and this is not just me, this is an official statement.

You may be wondering why is it not the in datasheet then ? The answer is, it used to be in the datasheet, but the company faced problems with people powering the chip itself with 5V so they omitted it to avoid confusion,

This is excellent news for someone like me who has to go through the hassle of logic level converters whenever coupling Arduino with ESP chips.

Before the CEO of the company made those statements, many people did their own experiments and found those results, but there were still doubts as to whether the results were conclusive or whether there was more to the story, a convincing experiment by ba0sh1.com did demonstrate that it was indeed 5 Volt tolerant on the input pins,

Where did i get this from

Swee-Ann Teo, who after my research seems to be from Espressif made the following statements

  • On whether ESP8266 is 5V tolerant, he had this to say on a facebook post by hackaday

“i can reply officially here: it is 5V tolerant at the IO. while the supply voltage is at 3.3V.”

  • On whether ESP32 and ESP8285 are also 5V tolerant

“ESP32 and ESP8285 are both 5V tolerant as well. but for ESP32, it is a very complicated matter. it supports 1.8V operations too… i don’t know where to start…”

  • When asked why this information is not in the datasheet, he responded

“the reason is too many users took it to mean that the chip is 5 V tolerant. When we say 5 V tolerant, we are only referring to the IOs. So some users mistook this to make that they can power the chip entirely off the 5 V supply. The correct usage is to use 5 V open for these 5 V tolerant pins, and only via only drain configuration.” And then elaborated on the matter with “I understand, but the time needed to do the iterations when mistakes were made, was too long. when the product was launched 5 V WiFi modules (with DCDC) were the norm. Many users saw “5 V” written in the specs and thought it could be a 1-1 replacement for such modules.”

  • One user asked if the tolerance towards 1.8 volts of the ESP32 was relevant to enabling battery operation, the response was no, specifically, Teo responded with

“actually not. but many memory devices are moving towards 1.8V operations, and we would be compatible with them as well.”

The facebook post where this is all written is here.