Pages

Friday, August 15, 2025

Yamaha MT07/FZ07/Tracer hard starting when left in the sun - Easiest canister delete

Symptoms:

Your Yamaha with CP2 engine has problems starting after being left in the sun and the only way to make it run is after long cranking and using the throttle

Problem:

Your engine is being enrichened too much due to the gasoline gases that evaporated with the heat. These gases in old motorcycles were vented to the air but now with anti-pollution systems they are stored in the canister and then released to the engine intake. 

Solution:

The best solution is to delete the canister system and let the gasoline gases vent to the air. There are several ways of doing it but here I'll tell you the simplest one, intended to be easily undone.

Instructions:

1. Find the canister from the right side of the bike. There are 2 hoses going to it.



2. The left one (Hose 1) needs to be disconnected from the canister and capped (to avoid a vacuum leak), for example with a M6 screw with some electrical tape around.

3. The right one (Hose 2) needs to be disconnected from the canister and left open to the air to vent the gases.

4. The canister is no longer used. It can be removed of left on the bike. If left, the 2 holes that now remain open can be plugged with a couple of M6 screws to avoid unwanted things entering. 


Notes after 1 year:

- The problem is clearly fixed and occurred never again.
- Due to the gases exiting through hose 2, some minimal residue can build up under it. If you pressure wash the bike often, you won't see it. Otherwise you can clean it, leave it or even prolongue the hose to ground level.

Monday, January 16, 2023

PC/laptop auto power ON schematic when AC is connected

With this simple schematic you can make your PC turn ON when AC is connected, if this behaviour is not possible to achieve by tweaking your BIOS/UEFI. This is a custom circuit I designed for my particular laptop but it should work in most computers.

The blue area represents the circuit to build while the outside indicates the parts that are present in the mother board. 



When power is applied to the circuit through R4, Q1 simulates the user pushing the power ON button. This pushing is stopped when the power ON LED is activated due to the computer being turned ON.

Note that the supply 3.3V or 5V must be present in standby before the computer is started. I tapped 5V from the battery charging LED.

Hope it helps someone.

Saturday, July 2, 2022

Photography cheating scale. How much of a cheater are you?

 Here is my photography cheating scale for rating what's cheating and what's not:

Level 0. No cheating.

Applying modifications that affect the entire photo. 
Basically, most of the things that can be done on Lightroom. This is not considered cheating. Eg. Modifying white balance, color tone, exposure. shadows, highlights...

Level 1. Basic cheating.

Editing elements of the photo.
E.g. The photo has the moon in the background and you make it bigger.

Level 2. Medium cheating.

Editing the elements of the photo by obtaining material from another photo that you took at the same time.
E.g. In the background there is a bird flying and you add another one from another picture that you took at the same moment.

Level 3. Extreme cheating.

Editing the elements of the photo by obtaining material from a photo of another person (the internet).
E.g. You change the sky in your photo for other one from the internet.



How much of a cheater are you?

Thursday, April 14, 2022

DIY simple PC fan/cooler speed regulator with LM317T

After wasting some time online, I was surprised I couldn't find any simple LM317T schematic for PC fan speed regulation with a potentiometer. WTF?

So I share my version. The values are intended to be easy to find lying around.

Worth noting:

- As with any LM317 based schematic, the maximum output won't reach 12V but a bit less.

Le me know if you found this useful.

DIY 3.5" hard drive power supply for USB cable

 I got this USB interface from Aliexpress that allows you to connect any HDD/SSD to your USB ports.

Unfortunately 3.5" hard drives need external power in order to work. You can get this power from a ATX power supply or from a dedicated hard drive power supply that can be found online.

To keep my shit low cost I built my own power adapter with things I had around. I used:

- 12V 2A power supply. Got it from an old router.
- Mini 360 DCDC converter. Dead cheap from Aliexpress, so useful. Must have several at home.
- SATA or IDE power connector. Chopped from an old ATX power supply.

The build is so simple:

Worth noting:
- The Mini360 output voltage is adjustable with the potentiometer on top. You need to set it to around 5V with a multimeter.
- Wall adapters with lower output current than 2A will almost surely not work due to the required start up current of the HDD. (Tried with 1.5 A, didn't work).
- I used a piece of heat-shrink tubing to cover the mini360 and make it neat in the middle of the cable.

Let me know if you found it useful.


Friday, April 8, 2022

Olympus M.Zuiko Digital 14-42 mm II R vs EZ (pancake)

 If you doubt about what lens is better among the 14-42 II R and EZ, let me tell you what I found. This is a compilation of all the info that I found online. I'm no expert. This may save you some time.



The only advantage of the EZ is the small size, period. It seems it depends on your specific unit how well it performs. At best you can get the same results as with the IIR. At worst people seem to experience vignette and/or a little bit of lack of sharpness on the edges. It seems a mixed opinion. In any case, no one claimed to obtain better picture quality with the EZ. 

The electronic zoom on the EZ seems to be slow and significantly less easy to operate due to the electronic control. A noticeable amount of users reported issues with the electronics that required servicing the lens giving the impression that it's less robust than the manual IIR.

On the other hand, the IIR seems to be better at everything other than the size. Regarding this, the difference is only 25 mm in length more than the EZ which isn't a big deal. 

I think the IIR is the one to go. I reckon the only case in which the size can make a difference is if you wear a big jacket because you can fit the camera with the EZ and not with the IIR. However wearing any other clothes you're going to need a bag or something else anyway. Even if it fits your clothes, will you carry it like that?


Wednesday, June 30, 2021

Soehnle scale software tricks users

I own a Soehnle Style Sense Safe 100 scale and it feels like it's a quality product. Also, the German brand Soehnle is reputable to my knowledge.

Picture stolen from Amazon

The thing is, I recently discovered how the brand tricks the users into thinking the scale has perfect measurement exactitude. This is not difficult to notice because when using it to weight the same thing several times during a short period of time, it is strangely always spot on. So, based on my observations, I presume this is what the software does to trick the user:

1. When using it the first time, it stores the measurement of let's say 70 kg.
2. If it's used to weight the same thing several times in a short period of time, the measurement is performed as usual but just before displaying the final result, the previous stored value of 70 kg is recalled and showed, tricking the user into thinking, the scale measured the same.
3. If the scale detects that it is being used to weigh something that differs a certain amount (maybe 500 g more or less) than the last stored measurement, then it forgets that stored value and show the real measured one.
4. After some timeout that I didn't test (maybe 5 min, 1 hour, who knows...) the scale, as in point 3, forgets the value stored and performs a 'real' measurement again when it is used.

One can test the above by using it with a object A, then with an object B of different enough weight, and then back with A. In the last try, Object A will almost for sure show a drifted result, maybe by 100 g, 300 g or even 400 g. Now we are seeing here the truth.

That's all, I though it was interesting to share this. To a common user, this not only would be unnoticeable but also, will leave an impression of a wonderful product that always measures the same. However, not everyone can be tricked so easy. 

Sunday, June 14, 2020

Motorcycle cheap Aliexpress clock voltmeter thermometer

Hello, this time I want to rant about this cheap thing I bought for my motorcycle:

Picture stolen from an Aliexpress user

This is actually the second one I buy. The one I bought first cost me double and was a double piece of shit because it was so dim, I couldn't see shit while riding during the day.

The one I bough this time has the looks like the one in the picture, a fake Rizoma. It's funny because looking at the pictures of the users, it seems like each one gets one slightly different. The white letters, the size and the package differs from one user to another.

Anyway, I wanted to share some measurements I made to check how shitty these things are and this is what I found:
-  Voltage measurement: Resolution is 0.1 V. The measurement seems to be off by -0.1 V consistently across the hole range. 

Opinion: This maybe caused by some diode in series to protect against backwards connections. Considered how easy it is to achieve a proper 0.1 V resolution voltage measurement, this shit is totally unacceptable.  

- Temperature measurement: Resolution is 1 ºC. The measurement error differs but generally it's 1 to 2 degrees off the right value.

Opinion: The temperature is sensed with an NTC. Considered how easy it is to achieve a proper 1 degree resolution voltage measurement, again this is totally unacceptable.  

- Current consumption during operation: approx 30 mA.

Opinion: This really doesn't matter much, 30 mA is the typical power used by a multiplexed LED segment display plus some bits of circuitry more. Nothing new here.

- Current consumption during standby: approx 3.9 mA.

Opinion: This is absolutely huge power for standby. This can empty a full 6 Ah battery in a couple of months. This is not a surprise though... A regulator that can achieve standby consumption in the uA range is expensive, no way this was going to fit it.

Conclusion:
The specs of this cheap shit are completely out of the acceptable and the performance is pretty poor. This piece of crap belongs in the bin. 

However did I installed in the bike? Yes. 2 simple reasons:
- This cost under $4 while the original Koso Mini 3 is near $100 or in some places even more! Unfuckingbelievable! 
- There seems to be no better alternative that has the 3 features of this one for a reasonable price of let's say, maybe $15 or $20. So, I think I'll live with one this for now. 


Wednesday, May 13, 2020

Edifier S350DB high pitch noise defect

I bought these speakers for all the good opinions in the internet and it seems like there are many units with a manufacturing defect that involves a high pitch noise. Symptoms are:

- High pitch noise independent of speaker volume
- Only happens in Bluetooth, PC and AUX modes.
- Temperature dependent. As the unit warms up (after 10 min), the noise gets lower but never disappears. The colder the room, the worst.

I captured this picture with a spectrum analyser app:

You can see, it detected a peak around 4.4 kHz. This peak starts with higher frequency and amplitude when the unit is cold. As it warms up, it rolls down until maybe 1 or 2 kHz.


I investigated the problem. The sound amplification electronics are in the subwoofer box. It seemed like there was a problem with a switching power supply that steps down 20V from the main PSU to 5V for other parts of the circuitry. This noisy supply is controlled by a AOZ1210 IC. If one blows or apply heat to this IC, the noise frequency changes very noticeably.

I observed with an oscilloscope the supply output but no noise was being injected. This made me think, the noise wasn't being produced at the output but could be inductively coupled to other part of the PCB.

After this I decided to return the speakers, since, this was a manufacturer problem, not mine.

The replacement

The replacement speakers luckily worked fine. There was no noise at all.

As for the serial numbers, this new unit was manufactured actually before the defective one.

Defective unit SN: 441405044429
New unit SN: 441405042325

I try to visually inspect the PCBs of both units but couldn't notice any differences. The PCB revision was the exact same one, so no layout changes. The codes written in the AOZ1210 package were also the same ones.

The defective:

The new:


(The IC and the supply circuitry are located in the bottom right corner, next to the antenna).

The remote
Just as a remark, in my first unit the remote needed to be pointed exactly to the receiver in the speaker. It was very tricky but now I feel it's better. (BTW, the battery was more than OK).

Bottom line

I couldn't really tell what was the reason of the problem. but if you are in the same situation as I was, return them.

Tuesday, March 31, 2020

Drivers for CSR 4.0 Bluetooth dongle

Hello,

I bought this cheap dongle from Ebay because the built-in bluetooth device in my laptop is shit and produces high pitch distortion when connected to HiFi bluetooth speakers.



According to all Ebay sellers, this is plug and play but in that case you get the generic drivers from Microsoft. In my computer these drivers where such a piece of shit that the laptop couldn't even establish a connection with the speakers.

After lots of search, I found the proper proprietary drivers from Cambridge Silicon, which seems to be a shut company now.

Here there are for you. I got them running on Windows 8.1. Can't say for sure if this will run on Windows 10. Please, if someone tries, comment the result.

DOWNLOAD:
https://mega.nz/#!VccTjABB!s0qW3sLvLB30-ARn72Vmot5OdA3KjlXcmQDZ4G2IFEI

Cheers fuckers.

Saturday, February 16, 2019

Hacking a Crouzet PLC (Zelio, Schneider)



I was given a Crouzet PLC, which turned out to be the same as other more popular brands like Zelio. Some time ago I successfully built a cable with a TTL-USB converter. I got the instructions from these links:

http://plc-blog.com.ua/cable-zelio-sr2cbl01
http://www.hexperiments.com/?page_id=11

However after establishing a good connection with the PC I couldn't do anything with it. I come up with a solution in this post.

The problem
My PLC is a Crouzet CD12 model 88970823. For some stupid reason this PLC with this particular model number is a custom one, made (or locked) for one specific customer. I am completely convinced it's the exact same one as the readily available 88970042, however because of the difference in model number, the programming software (M3 soft) says it is unsupported and so, it don't allow me to do any damn thing to this piece of shit. So that was the problem.



Fail attempts
I thought of several approaches to solve this. Starting for the simpler, I tried to hack the M3 soft program itself at first but there was no file that I could easily edit to add my model to the supported list. Moreover, I couldn't easily disassemble the code.

The hack
The second easiest thing I came up with was to develop a simple man-in-the-middle program that controls the communications through the COM port, so when the time came I could fake the identity of my PLC and make the computer believe it's a supported device. To do this, first I used the free tool "null modem emulator (com0com)" that allowed me to create a virtual pair of COM ports so I can connect M3 soft to my program. Then, I wrote a Python script that did the work and talk directly to the PLC.

That was one cool and fun approach btw. The diagram is like this:



Sniffing the communication
I programmed a sniffer in Python to log the traffic of the COM port, which also was a a man-in-the-middle but for then, it was a transparent logger. The COM parameters as baudrate, data bits... where found in the internet. To be exact, in the following link, which is the datasheet of a compatible HMI for the Zelio (which is the same one under another brand).

Baudrate: 115200
Data bits: 7
Parity: even
Stop bits: 1

https://euroec.by/assets/files/weintek/plc_connection_guide/Schneider_Zelio.pdf




Playing with the M3 soft I could see how the traffic flowed.


Data from M3 soft at 14:30:49.385069 -> b':010300006D00018E\r\n'
Data from PLC at 14:30:49.433699 -> b':01030100FB\r\n'
Data from M3 soft at 14:30:49.455736 -> b':011000006C00020E0073\r\n'
Data from PLC at 14:30:49.493760 -> b':011000006C000281\r\n'
Data from M3 soft at 14:30:49.506650 -> b':0103000066004056\r\n'
Data from PLC at 14:30:49.558686 ->':010340434431325330373032302020383839373038
323301000208040401001D07000032343632303031353036303730373039313902000200010C000
20201020C03F2AD\r\n'
Data from M3 soft at 14:30:49.572890 -> b':0103000066404016\r\n'
Data from PLC at 14:30:49.617998 -> b':01034004D44700000000000020202020202020202020202
000000000000000000000000000000000000000000020202020202020202020202000000000000
0000000009D\r\n'
Data from M3 soft at 14:30:49.629034 -> b':01030000668040D6\r\n'
Data from PLC at 14:30:49.678148 -> b':010340000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000BC\r\n'
Data from M3 soft at 14:30:49.689183 -> b':0103000066C004D2\r\n'
Data from PLC at 14:30:49.733299 -> b':01030400000000F8\r\n'
Data from M3 soft at 14:30:49.744307 -> b':011000006C00020F0072\r\n'
Data from PLC at 14:30:49.793846 -> b':011000006C000281\r\n'
Data from M3 soft at 14:30:49.804854 -> b':011000006C00020E0073\r\n'
Data from PLC at 14:30:49.853793 -> b':011000006C000281\r\n'
Data from M3 soft at 14:30:49.878726 -> b':0103000066004056\r\n'
Data from PLC at 14:30:49.917554 -> b':0103404344313253303730323020203838393730383233010002080
40401001D07000032343632303031353036303730373039313902000200010C00020201020C03F2AD\r\n'
Data from M3 soft at 14:30:49.939575 -> b':0103000066404016\r\n'
Data from PLC at 14:30:49.997619 -> b':01034004D4470000000000002020202020202020202020200000
00000000000000000000000000000000000000202020202020202020202020000000000000000000009D\r\n'
Data from M3 soft at 14:30:50.008626 -> b':01030000668040D6\r\n'
Data from PLC at 14:30:50.058750 -> b':01034000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000BC\r\n'
Data from M3 soft at 14:30:50.070752 -> b':0103000066C004D2\r\n'
Data from PLC at 14:30:50.112383 -> b':01030400000000F8\r\n'
Data from M3 soft at 14:30:50.123392 -> b':011000006C00020F0072\r\n'
Data from PLC at 14:30:50.171425 -> b':011000006C000281\r\n'

The communication seemed to use the protocol Modbus Ascii, sort of. It used the same frame format but with custom instructions. To make sure I was right, I check if the checksum was calculated as expected with that protocol. The algorithm can be found in Wikipedia.

https://en.wikipedia.org/wiki/Modbus

The checksum calculation matched the one in the frames I was sniffing so everything looked good.

Analysing the data
Apart from the communication format, I could not see anything interesting, so I kept playing with the M3 soft. Things got exciting when I pressed the option "Controller Diagnostics" and received this message:



That meant that when I pressed that button, the PLC sent the model number to the PC anyhow. The log of my sniffer showed lots of data, it wasn't clear where the number was nor how it was encoded.

I discarded some frames that where duplicated and after messing around for some time I found the damn think. I discovered that the number was send in ascii hex, so the model 88970823 looked like 3838393730383233! Do you see it?


Data from PLC at 14:47:43.559812 -> b':01034043443132533037303230202038383937303832330100
0208040401001D07000032343632303031353036303730373039313902000200010C00020201020C03F2AD\r\n'


Faking the identity
That being so, I needed to inject the right model number in there, which was 88970042 or 3838393730303432 in hex. Also, I needed to regenerate the checksum once the data is modified so the M3 soft didn't complain (I tried it).

I modified my man-in-the-middle script to look for the request from the PC to send the PLC identity. Then it catches the frame from the PLC, injects the fake model number, regenerates the checksum and sends the info to the PC. The script doesn't messes with the rest of the data in the frame.

Beware this script needs module "pyserial" to run (not module "serial").

#Crouzet Hacker. Pedro Fernandez. Feb-2019

import serial, time
from datetime import datetime

#PARAMS--------------------------------------
#              port1    port2
portsAKAs = ["M3 soft", "PLC"]
enable_log = False

def log(data, source):
    if enable_log:
        timestamp = str(datetime.now())
        if data:
            print("Data from " + source + " at " + timestamp[11::] + " -> " + str(data), end='\n')

def modbusAsciiChecksum(frame):
    address = frame[1:3]
    function = frame[3:5]
    data = frame[5::]

    add = 0
    add += int(address, 16)
    add += int(function, 16)

    for i in range(0, len(data), 2):
        add += int(data[i:i+2], 16)

    add = -add
    add &= 0xFF
    result = str(hex(add).upper())
    return result[2::]

def generateInjection(frame):
    frame_decoded = frame.decode()      
    frame_decoded = frame_decoded.replace("3838393730383233", "3838393730303432") #replace 88970823 by 88970042

    #regenerate checksum
    frame_decoded = frame_decoded[0:-4] #crop old checksum and /r/n
    frame_decoded += modbusAsciiChecksum(frame_decoded)
    return bytes(frame_decoded, 'ascii') 



#MAIN-----------------------------------------
print("Crouzet Hacker. Pedro Fernandez. Feb-2019")
print("To stop press Ctrl + C.\n")

print("Enter M3 soft COM number: ", end='')
port1num = input()
print("Enter PLC COM number: ", end='')
port2num = input()

#Port inits
port1 = serial.Serial(port="COM" + str(port1num), baudrate=115200, bytesize=7, parity='E', stopbits=1)
port2 = serial.Serial(port="COM" + str(port2num), baudrate=115200, bytesize=7, parity='E', stopbits=1)

print("Waiting for data...")

IDrequested = False
try:
    while True:
        #M3 soft
        if port1.in_waiting > 0:
            time.sleep(0.01)
            data_from_1_to_2 = port1.readline()
            log(data_from_1_to_2, portsAKAs[0])
            port2.write(data_from_1_to_2)

            if data_from_1_to_2 == bytes(':0103000066004056\r\n', 'ascii'):
                IDrequested = True
                print("Identification requested by M3 soft")
        #PLC
        if port2.in_waiting > 0:
            time.sleep(0.01)
            data_from_2_to_1 = port2.readline()
            if IDrequested:
                data_from_2_to_1 = generateInjection(data_from_2_to_1)
                IDrequested = False
                print("Fake ID injected")
            log(data_from_2_to_1, portsAKAs[1])
            port1.write(data_from_2_to_1)

except KeyboardInterrupt:
    port1.close()
    port2.close()
    print("Ports closed.")
input()

Success
Fortunately, I got it to work flawlessly. I tried to read and write to the PLC without any problem. I even updated the PLC firmware (this didn't modified the model number though).





Tell me in the comments if it helped or whatever.

*Update for clarification

- COM ports configuration

If, for example, your physical USB-TTL adapter is COM1 and you have the following bridge in com0com:


Then, you'll need to set M3 Soft connection to COM4, then in the script set COM5 for M3 Soft and COM1 for PLC.



Sunday, December 30, 2018

Disable Sleep Mode XYtronic LF-1600 Soldering Station

I have this soldering station which has served me well since I bought it. However, it has this annoying thing called 'sleep mode' which lowers the temperature to 150 ºC every 15 or 30 min. For me, that engages too often. Maybe they tried to mimic the sleep feature of top of the range stations, but since no sensor is in the stand to detect when you leave the iron, the implementation is poor and bothering.

I've always wanted to disable the feature, but in the owner's manual that came with my unit, the option seems to be missing. Now, I've found it explained in the manual of the model LF-1700 and I've discovered it's implemented in the firmware of my unit too. It's worth to mention that I couldn't understand shit from the chinenglish? of the manual, so that's the main reason to explain it properly here.

By the way, besides LF-1600 and LF-1700 this will probably work for more models.

So..., steps:

1. Turn on the unit.
2. Press SET for 4 seconds and '---' will blink in the display.
3. Press UP 10 times until '010' is in the display. This is the default 'config password'.
4. Press SET to enter the config menu.
5. Press DOWN several times until 'F-3' is in the display.
6. Press SET to enter.

At this point '100' should appear in the display, which means 'sleep mode enabled'.

7. Press UP or DOWN and the display will change to '000', which means 'sleep mode disabled'.
8. Press SET twice to exit.

Tell me in the comments if it helped.

Wednesday, December 19, 2018

All possible combinations in a 7 segment display

I was playing around with a display of 7 segment digits and was looking for some cool shape I could print in it. I wasn't been very creative and I noticed that, after all, only 128 combinations can be made with those kinds of displays. So I decided to write a dirty Python 3 script for generating all possible combinations, and here I show you the output.



I also leave here the dirty script.


import os

#params
width = 20 #how many each row
q = 128 #how many in total

def gen7seg(segs):
    line1 = ""
    line2 = ""
    line3 = ""

    line1 += " "
    if( (segs >> 6) & 1): line1 += "_ "
    else: line1 += "  "
    
    if( (segs >> 1) & 1): line2 += "|"
    else: line2 += " "
    if( (segs >> 0) & 1): line2 += "_"
    else: line2 += " "
    if( (segs >> 5) & 1): line2 += "|"
    else: line2 += " "

    if( (segs >> 2) & 1): line3 += "|"
    else: line3 += " "
    if( (segs >> 3) & 1): line3 += "_"
    else: line3 += " " 
    if( (segs >> 4) & 1): line3 += "|"
    else: line3 += " "

    return [line1, line2, line3]   

printed = 0

finished = False
while(not finished):
    out_line1 = ""
    out_line2 = ""
    out_line3 = ""
    for _ in range(width):
        [a, b, c] = gen7seg(printed)
        out_line1 += (" " + a)
        out_line2 += (" " + b)
        out_line3 += (" " + c)
        if(printed < q-1): printed += 1
        else: 
            finished = True
            break
    
    print(out_line1)
    print(out_line2)
    print(out_line3)


input()




Speak if it was useful for something.

Saturday, November 17, 2018

Hair dryer schematic (Babyliss ioniCeramic 1600)

I troubleshooted a hair dryer whose heating elements got red in the high speed. The problem was quite obvious once disassembled, the heating element wires slightly deformed and short-circuited at one spot. Separating them did the job.



I felt like making a schematic to understand exactly how it (and other hair dryers) worked, since I more o less imagined it, but never confirmed it.

So, in case anyone need it here it is. It's not 100% complete since things like values and LED resistors are missing, but they don't really do much difference.



Tell me if it helped in the comments.

Saturday, July 28, 2018

Superlux HD662 EVO review vs. HD668b

I am a satisfied owner of the 668b, I’ve been using then for a long time (I wrote a review here when I got them) and now I want to tell you what the differences are respect to the 662 EVO, which is very handy if you plan to buy one of these.

If you’ve read any review of any of the contestants you’ll know the basics, like the 668b are semi-opened vs the closed 662, the differences in technical numbers, the 662 includes spare velour pads… I’ll leave that bullshit apart and will try to focus on the important things that you can’t find easily in the internet.


Sound
First things first, the sound: it’s very good and noticeably different from the 668b’s. The treble is brighter and sparky, but not bothering high as someone say, it’s just a bit louder. The mids stay ok, no problem with that. The bass is noticeably boosted in the lower frequencies of the bass region, but again, not disproportionate at all. The overall sound is great, the boosted bass is very very pleasant compared with the more flat response of the 668b.

Insulation
 The insulation of the closed back headphones versus the 668b is dramatic. I’ve only tried the ‘leather’ pads and they insulate good when they push against your head. People can still hear sound escaping if you turn the volume up too much, but believe me, the insulation is good and you can’t expect cero sound escaping with high volume with any headphone. That being said, without a doubt I affirm the 662 are office/library suitable.

Quality
One thing that really surprised me was the quality, as the internet said it was poor. Not to me. The building quality is very good, the structure of the 668b is much more flimsy and flexible, but the 662 are more rigid and feel better.

Pads and comfort
The velour pads are just that, velour. They aren’t my ‘cup of tee’. The ‘leather’ ones have nothing to be with the 668b plastic ones. The 668b’s are thick plastic and the 662’s are soft thin leather. The force that the headphones put in your head is the right amount, being a bit too much at first but it’s expected that overtime they get more loose. Overall, they’re noticeably more comfortable that the 668b and less warm.

Pricing
The price difference isn’t significant so it’s no factor. Moreover, the value for money is higher in the 662.

Conclusion
If you want good headphones to listen to music with nice bass, nice look and good insulation get the 662. They are now my recommendation for general purpose. If you need for some reason a flat response (audio mixing/producing) I definitely wouldn’t use the 662, in that case, 668b.
Hope it helps.



Sunday, June 3, 2018

Save as PDF vs. print Adobe PDF (MS Word)

I've wondered some times what was the difference between the two and today I found an important one.

Let's say you are working with a document in Word that you plan to convert to PDF. You're using a font that you want to embed in that PDF because it's a particular font and probably isn't installed in the target user computer.

  • If you 'Save as PDF', by default the font is 'embedded' by converting the letters to bitmap so it's a fail. This usually happens when the font isn't a 'common' one. Obviously, you won't be able to copy from this generated PDF.
  • If you print with 'Adobe PDF' virtual printer, the font is embedded properly and letters are vectorized.

So now, you know. If you're using weird special fonts, don't forget to print as PDF.

Saturday, May 26, 2018

Fix slow Windows Explorer loading/hanging/freezing not showing thumbnails W8.1

I had this issue with Windows Explorer and was a pain in the ass I couldn't stand any longer. So I did some research in the net and nothing really worked for me so I want to share what did the trick.

How to check if you have the same problem as me:

- Provoke a Windows Explorer hang and then open Event Viewer.
- Go to Windows Logs -> System
- Check if an error like this just happened:

Source: DistributedCOM Event ID: 10010
Description:
The server {1B1F472E-3221-4826-97DB-2C2324D389AE} did not register with DCOM within the required timeout.

If you get that, you have the same problem and probably the same solution will work.

What's fucking my explorer?

It's the stupid SkyDrive. The following steps are intended for disabling it, so if you really use SkyDrive, don't continue. But no one uses that shit.

Straight fix:

- Go to your local drive -> Windows -> System32
- Find SkyDrive.exe. Right click, Properties, tab 'Security', Advanced.
- Change the owner of the file from 'TrustedInstaller' to an administrator account that you can use. If your current user has admin rights, just change the owner to your current account.
- Below, change the administrators Access to 'Full control'. Apply and accept everything.
- Now you can rename SkyDrive.exe to whatever like fuckSkydrive.exe, so now it won't work any longer.

Restart your computer and your problem is probably solved.

Other things I did but should not make any difference:

If the above doesn't work, you can try this, but with SkyDrive disabled, this is probably pointless.

- Open Registry Editor.
- Go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Skydrive
- There, create the following DWORD entries and set them all to 1.

DisableFileSync                          
DisableLibrariesDefaultSaveToOneDrive
PreventNetworkTrafficPreUserSignIn

Tell me in the comments if this post helped.

Tuesday, May 1, 2018

Download daily Bing Wallpaper with this shitty program

I want to share a little program I made some time ago, and that I've been using very often. It's shitty for the reasons below.

Bing Wallpaper Tool is a simple utility that allows you to quickly check the current Bing Wallpaper, and if you like it, you can set it as wallpaper just pressing a button. You can also save the picture for other purposes with another button.


The program is developed with the stupid Windows Forms, so you need the son of a bitch .NET Frameworks for it to work. Also, despite the save functionality works always, the 'Set as Wallpaper' may not work in every Windows version (mine is W8.1 and works OK).

If you want to spend your time with it, download it here:
https://drive.google.com/file/d/1hoW2inyWooON8Pord8ziP7_jRrtMu2dn/view?usp=sharing
PASSWORD: englishdrummer

Take care.

Thursday, February 8, 2018

Run script at logon in any Linux with LXDE

Today I want to save you a lot of time with this shit. It's so simple when someone tells you.

- First, this works for running things at user logon, not at system startup. For the latter, use something like Cron and good luck with it.
- Second, this is user dependent. You'll have to do it for every user.
- Third, just in case you didn't read the damn title, this is for linux distributions with LXDE desktop only.

I start from the point where you have an script.sh ready and working, that being said, let's start:

1. Go to "YOUR_USERNAME/.config/autostart". These are hidden folders, so copy & paste the path into PCManFM or activate "Show hidden folders" to get to the place.

2. Create a new file called "YOUR_SCRIPT_NAME.desktop".

3. Put inside the following:
[Desktop Entry]
Name=YOUR_SCRIPT_NAME
Exec=PATH_TO_YOUR_SCRIPT
Terminal=false
Type=Application

Example for the lazy:

[Desktop Entry]
Name=FBI_hack
Exec=/james/my_folder/FBI_hack.sh
Terminal=false
Type=Application

4. Go to the start menu Preferences -> Desktop Session Settings. Check your script is listed and mark with a tick.

5. Last but not least, go to your script and make sure it has execution rights. For that, right click, Properties, Permissions tab, Execute -> Anyone.

That's all for today, with this it should run a few moments after the user logs in.
Tell me if it helped you.

Friday, January 26, 2018

My opinion about Armin van Buuren

I love Armin van Buuren and A State of Trance.



What I like:
- He's a trance icon
- He transmit energy and hapiness
- He works hard spreading the trance culture
- He hosts a radio show that is very very good.
- He's a high quality DJ and live performances are amazing.
- He has a lot of experience in the field.
- As a producer, he knows how to make very well made music. I mean, technically top level.

What I don't like:
- As a producer, which is a maybe 50% or less of what he works on now, despite the technically high class well made music, most tracks have nothing special, which is a pity. From my experience producing, I guess you need to release something from time to time, and maybe he's not in his best moment regarding inspiration.