At work we have a KVM over IP switch from Inter-Tech, a KVM IP-KVM101. It is really a small and versatile device that, in combination with 16-port KVM switches, allows us to control a complete rack with test hardware.
The KVM switch provides a web interface with a Java Web Start application for remote access. But the latest browser security updates disabled and removed the Java Web Start support . This move was announced quite some time ago (Oracle White Paper). Still, the vendor of the KVM switch, Inter-Tech, was not able to provide a valuable solution to cope with this problem.
After a bit of Googling I found an Amazon review about this particular KVM switch where the reviewer stated to have installed the firmware from another brand, the LINDY KVM over IP Switch. The LINDY switch looks identical (besides a different sticker) and – even better – their latest firmware provides a VNC server. This would allow us a browser and even operating system independent access to the KVM.
Continue reading “KVM over IP Switch: Cross-vendor Firmware Upgrade via hidden Option adds VNC Server”
I literally wanted to start this post with “I literally hacked the PiDrive cable…” but I actually have sawn it instead. Duh!
I’m using quite a few Raspberry Pi boards as servers, gateways, etc. and recently started to ‘polish’ their design. Instead of hard drives hanging beside them with a bunch of loose cables I’ve started to buy WD PiDrive Cases and Cables to pack all of them into nice ‘little boxes’.
The PiDrive Cables are really neat: they are designed to be positioned between a Raspberry Pi, its power supply, and an USB hard drive. The cable is designed for USB 3.0 hard drives, but in one case (hah) I wanted to use an external USB 2.0 drive I had lying around. So without further ado I’ve removed the USB 3.0 extension of the connector with a saw. It looks crude but works perfect…
About a year ago (2016) Aliexpress decided to
cripple simplify their search engine. They’ve removed really useful search options and added (at least in my eyes) unnecessary ones.
These useful search options were removed from the search panel but they are still available as URL parameters. I’ve mainly written this post to document these missing options for my everyday searches — but I’m pretty sure others may find them useful as well.
Aliexpress Hidden Search Options
||Show Price per Piece
||Minimal Quantity in Lot
||Maximal Quantity in Lot
||value (e.g. 1.23)
|| Minimum Price
||value (e.g. 9.87)
|| Maximum Price
||Results with 4+ Rating
||Free Shipping only
||Country of Origin
Especially the option isUnitPrice is helpful when searching for the best price per piece and not price per lot. I really cannot understand why this option is not available per default.
So when I’m searching for the lowest price per piece within a certain quantity range (here: 10 – 50 pieces) with free shipping I would add to the URL (Example Search):
Side Note: It also makes a difference which keywords you are using when searching. The following three searches will (at least the last time I’ve checked) give different results:
- “stm32f103c8t6 lqfp“
- “stm32f103c8t6 lqfp48“
- “stm32f103c8t6 lqfp-48“
So even slight variations can make a big difference. Unlike the search on eBay, the search on Alibaba and Aliexpress does not split up keywords into smaller ‘chunks’ which are used for searching.
2018-08-02: Updated the List of Search Options
TL/DR: Use extended partitions for Linux in a dual-boot setup with Windows 10 — otherwise you might not be able to boot after a Windows update.
A few days ago I had to fix a dual-boot setup consisting of a Windows 10 and a Linux (Ubuntu) system. After deploying the latest Windows 10 Anniversary Update neither Linux nor Windows was accessible anymore. Only the GRUB rescue prompt appeared:
error: unknown filesystem.
Entering rescue mode...
GRUB wasn’t even able to manually boot into the Windows or Linux partition. Continue reading “Windows 10 Update can brick a Dual-Boot Setup when using Primary Partitions only”
Exactly 30 years ago a great disaster struck the region of Chernobyl: a nuclear accident occurred that released a large quantity of radioactive particles into the atmosphere. And it is only five years ago that, with the Fukushima Daiichi nuclear disaster, a second similar catastrophic event has taken place.
These anniversaries did not directly let me build a PIN Photodiode based Geiger Counter, it is more or less a coincidence. The main drive to build such a device was my curiosity and (please forgive me) a fascinating green glow I’ve seen on various fluorescent Uranium minerals under UV light. But in this context it should not be forgotten that at present there still is a significant increase in background radiation in some regions and some agricultural products due to these events.
There are lots of descriptions of how to build such a device; even cheap commercial products (e.g. the Smart Geiger) use such a design. Especially two sites caught my attention: OpenGeiger.de and Das Gammastrahlen-Mikrofon (German). The design I’ve chosen is based on these sources but I’ve begun to further modify it. In this post I’m showing the design I’ve started with. It mainly relies on two BPW34 (Vishay Datasheet) photodiodes connected in parallel, and two transistors to amplify the voltage fluctuations of beta and/or gamma rays striking the diodes. A 9 Volt battery was added to increase the pulse height.
The common approach to protect the photodiodes from light is to use one layer of tin foil and connect it to ground. This should also protect the circuit against electromagnetic radiation. I’ve started with something different and dipped the diodes three times into liquid rubber (Plasti Dip). My hope was to at least allow some beta particles to reach the semiconductor material.
So far I’ve tested the basic design shown above and had mostly noise on my microphone input. I’d say that sporadic crackling has more to do with the 1 hour hacked together design than beta or gamma rays. The liquid rubber seems to block of light, but the simple design is sensitive to electromagnetic radiation. Waving your hand or even movements in about 1 m distance is visible in the sound profile. An additional tin foil shield connected to ground did not change the noise profile, although the EMR influence was reduced. I’ve tested it with two different sound cards (microphone inputs).
I’m currently redesigning the whole approach and expect better results. So stay tuned…
Well, today is the first Sunday of Advent… time to play around with my cutting machine. 😉
I got inspired by a post on Hackaday.com (on Laser-cut Gift Boxes). The post presents a really nice source for DXF files for various shapes for card stock boxes. Out of curiosity I simply ‘threw’ some of their design files at my electronic cutting machine. They might save me some time (gift wrap, you know). The result is a short video of the process, nothing special:
Continue reading “Just for Fun Video: Cutting Card Stock Boxes on my Electronic Cutting Machine”
I recently had to revive a (as it at first seemed) dead Li-Ion battery. It was the battery of a newly bought R.O.GNT external speaker which refused to work or even charge. The device was DOA (dead on arrival) but it was so cheap that sending it back would have cost more than I’ve paid for it.
The speaker has an internal Lithium-Ion battery to allow mobile usage. My guess was that this battery slowly discharged while waiting for a buyer and at some point the undervoltage protection kicked in. Normally this protection should prevent a defective cell from being charged. In my case I hoped the cell would still be okay and survive a jump-start. It was successfully done before in other cases. Continue reading “Reviving (jump-starting) a dead R.O.GNT Speaker Lithion-Ion Battery”
I recently helped to repair a bricked HP LaserJet M1212nf printer that was stuck in an “initialization loop”. It booted up normally, but after 10-20 seconds the printer stopped to accept any kind of commands and the text “initializing” was shown on the LC-Display. It then restarted and the whole boot/init started over again and again.
My first approach was to make a hard reset, i.e. set the printer to factory defaults. This can be achieved by:
- Turning off the printer
- Pressing and holding the “Start Copy” and the “Cancel” button. (Easy, both are below each other.)
- Turning on the printer
After setting the initial configs (language, country) the initialization loop reappeared — the problem was not fixed by the hard reset.
Next, I tried to reinstall the latest firmware which failed due to the loop — there simply was not enough time to upload the firmware I would guess.
I then tried to find out if there is some kind of low level bootloader that would accept a firmware image (many devices nowadays have such a semi-failsafe mode) when the printer is turned on — but did not find any info on that either.
My final approach was just to try out if there would be a firmware upload possibility right after a hard reset (steps as described above). I had recognized that the initial settings/configs right after a hard reset were not affected by the reboot loop. To my surprise this actually worked. I was able to upload the firmware when the first init-setting appeared. After updating the firmware the loop was gone and the printer worked again as before.
I hope this description helps others who are also affected by this problem as I have not yet seen any other solution in the HP forum. I can only guess how the “initializing loop” occurred: maybe an automatic firmware update failed and bricked the printer. Anyways, the 200+ MB printer driver software by HP is a PITA and their web site is a maze…
From time to time I need to clean-up a Git repository before making it accessible to others. One step is to fix unspecific commit messages and add version tags.
Caution: The following modification should not be done if the repository is already shared with others.
Most of the job can be done with the interactive rebase command, but if you want to also clean-up the root commit message you have to invest a bit more work. This is a modified/adapted solution from a thread found on stack overflow.
First fetch the SHA1 checksum of the first/root commit:
git rev-list --max-parents=0 HEAD
Checkout that commit, ignore the warning message:
git checkout <root-sha1>
Now you can use the amend feature of the git commit command to fix the (from this point of view most recent) root commit:
git commit --amend
Now you can add the remaining commits to the modified root commit. By making it interactive you can either meld multiple commits (squash) or just edit their commit messages (reword):
git rebase -i --onto HEAD HEAD master
Of course neither me nor any of my colleagues had an appropriate protection to view the upcoming solar eclipse. So I had to ‘hack’ together a device to still be able to watch the eclipse pass in a safe manner.
Solar Eclipse (Munich, Germany, 2015.03.20 10:40 CET) viewed though a simple (5 minute hack) pinhole camera:
The camera was built from an old rolled conference poster, some adhesive tape, plastic foil, and a cardboard box. I think it is self-explanatory:
One side was covered with opaque foil, only a tiny pin hole (< 1 mm) let light through. The other side was simple plastic foil (from my lunch). The box acted as a shield to protect from accidentally looking into the sun.
It’s a mirror image, by the way.
Additionally (out of curiosity) I’ve taken a photo with my iPhone 4S:
The eclipse can be seen in the lense flare (here a 100% cut-out):