Skip to content

Álom Játszótér: Így vertek át

Dióhéjban: Rendeltünk az Álom Játszótértől egy játszóteret, amelyet hiányosan teljesítettek. Konkrétan háromkiállású hinta helyett kétkiállású hintát kaptunk, homokozótetőt pedig nem kaptunk. A teljes összeget kifizettem, ők pedig megígérték, hogy visszafizetik a különbözetet, aztán kámforrá váltak. A Facebook üzenetemet válasz nélkül törölték.

És akkor kicsit részletesebben…

A feleségem játszóteret szeretett volna a gyermekeinknek, így talált rá az alomjatszoter.hu weboldalra. A Facebook oldalukon rendszeresen promotálják magukat.

A feleségem 2024. június 13-án írt nekik üzenetet, majd kérésükre átutalta a kért előleget.

Ezután június 14-én az utalás címzettjeként szereplő T. Géza felhívta a feleségemet egyeztetés végett, majd ő és kollégája kiszállították és összeszerelték udvarunkban a játszóteret. A helyszínen kifizettem a játszótér teljes árát.

Miután Géza és kollégája elmentek, a feleségem megérkezett és észrevette, hogy hiányos teljesítés történt, mert háromkiállású hinta helyett kétkiállású hintát kaptunk, homokozótetőt pedig nem kaptunk. Feleségem felhívta Gézát, aki azt mondta, hogy két héten belül visszautalják nekünk a többletet.

A visszautalás sosem történt meg, és innentől Géza semmilyen kommunikációs csatornán nem volt elérhető. A Facebook oldalukra is beírtam a hiányos teljesítés kapcsán, amely üzenetemet törölte válasz nélkül. Hab a tortán, hogy számlát se adtak.

Elérkeztünk rövid történetünk végéhez. Ki nem állhatom az ilyen eseteket, mert a Gézához hasonló gerinctelen suttyók miatt nem bíznak az emberek egymásban. Nem lett volna nagy érvágás neki, ha átutalja a különbözetet, de neki még ez az összeg is többet ér, mint a becsülete. Így feljelentést tettem a NAV-nak a hiányzó számla miatt, ezt a posztot pedig be fogja indexelni a Google, ami miatt vásárlókat fog veszíteni.

Mondanom sem kell, nem ajánlom az Álom Játszóteret. Sajnos alternatívát nem tudok ajánlani, de bárkit is választasz, azt javaslom, keress rá, hogy megbízható-e!

Working around Jabra’s power-saving

I use a Jabra Evolve2 85 headset, and after 10 seconds of no audio activity, its power-saving feature kicks in.

When power-saving is active, it can take a second or two for the audio to be audible, which is a big problem. If I get a short instant messenger notification, it goes unnoticed. If I start a video, I don’t hear the first few words.

Jabra’s Sound+ application doesn’t offer a way to disable power-saving. According to Jabra’s customer support, the following justifies this feature:

There is a purpose to this behavior, what you may consider a flaw, and that is to decrease BT radiation, preserve battery and help with density issues – in an office with tens of workers, it would be impossible for all employees to all use wireless devices if this feature was not turned on.

The delay is slightly greater via Bluetooth than with USB devices on the cable since the HFP Bluetooth profile used has a relatively high latency. This is usually not noticeable in communication and is used for integrated error correction, but is technically anchored in the Bluetooth standard, not in the product.

It’s not a good enough reason. To me, this is a major misfeature, and it should be possible to disable it. I wrote a script to keep the wireless audio connection alive and avoid delays, which I hope will be useful to others.

I can’t recommend Jabra products until they provide a related option and offer replacement batteries.

Block international calls on Android

Occasionally, I get foreign calls from our business partners, and I never pick them up because I don’t want them to interrupt my workflow. If they want to contact me, I expect them to email me.

I always wanted to automatically reject such international calls but never could. All the tutorials I could find suggested Android settings that my Android version didn’t support.

MacroDroid to the rescue!

That’s it! +36 is Hungary’s country number. Negating it blocks international calls.

MacroDroid is an extremely versatile tool that I highly recommend.

ChatGPT, we’re breaking up

I’ve witnessed the recent AI revolution with great awe and have been a ChatGPT Plus subscriber since the early days.

However, the service has been inaccessible for days recently, which shouldn’t ever be the case for a paying customer, and if it is, they should offer compensation.

Naturally, I wanted to contact customer support, but I discovered there was no customer support, only a help center. It’s a very frustrating experience, and I’m baffled that companies are allowed to operate this way.

Then, I wanted to unsubscribe, but to my shock, I couldn’t, as I was welcomed by their “ChatGPT is at capacity” page, disabling me from accessing my subscription page. Since unsubscription was impossible, I submitted a chargeback at my bank.

At this point, I felt trapped because I didn’t know about an alternative, similarly powerful language model. Luckily, there is: Claude‘s 3.5 Sonnet model is very capable, and I recommend it. I’m considering subscribing.

It’s unfortunate that ChatGPT forgot about its customers in the pursuit of showing off its latest tech. I won’t advocate them anymore and advise people to move to Claude.

Logitech is a mess

I wanted to adjust the speed of my Logitech G502 Hero mouse. Since Logitech doesn’t support Linux, I had to fire up my rarely used Windows laptop.

I searched for “Logitech configurator software”, which made me install Logi Options+. After installing it, I realized that it doesn’t support the G502.

Another search revealed that the Logitech G HUB software supports Logitech’s gaming gear, such as my G502, so I installed it. Then I realized that G HUB doesn’t save settings in the mouse’s onboard memory, which is a deal-breaker because even if I could run G HUB on Linux, I wouldn’t run a background app just for this purpose.

A third, longer search revealed a Logitech support article featuring their Logitech Gaming Software. I installed it, but a popup said that I should use the new and shiny G HUB instead, and it didn’t allow me to use Logitech Gaming Software.

Finally, I uninstalled G HUB, started up Logitech Gaming Software again, and this time, it worked. It saved the mouse speed to the onboard memory, just as I expected.

From a user standpoint, the above experience is inexcusable. Logitech should have one configurator that works on all OSes, and they shouldn’t rewrite or fork it whenever a manager comes up with a wonderful new idea, such as creating a new brand.

Sadly, I couldn’t find any good alternative to the G502. All manufacturers support Windows, some support Mac, but none support Linux.

To draw a stark contrast, the Agent configurator software of the Ultimate Hacking Keyboard supports Linux, Windows, and Mac. It does its job well and doesn’t have semi-working alternatives. As a bonus, we develop it the open on GitHub. I’m the development lead of Agent, we deeply care about it, and our customers love it.

LiPo battery finder

There are thousands of LiPo batteries, but I couldn’t find the ones that best fit my project, so I’ve created the LiPo battery finder, which allows you to filter batteries based on x, y, and z sizes.

My tool contains a scraper that extracts the pages and subpages of https://www.pdbattery.com/li-polymer-battery-cells-list.html and https://www.lipolbattery.com, creating an .mjs file as a result.

The .mjs file gets imported by the web application, allowing the scraped records to be searched interactively.

Easy KiCad PCB panelization with kicad-util

There are multiple panelizers available for KiCad, but only one is suitable for easily placing multiple oddly-shaped PCBs onto a panel: the kicad-util panelizer.

You simply place the PCBs next to each other and draw lines between them on the Eco1.User layer. Then run a kicad-util command, and voila! The lines are transformed into mouse-bites.

Unfortunately, kicad-util is not compatible with KiCad 6’s updated PCB format, so the drawn lines are no longer converted to mouse bites.

Luckily, a merge request contains the fix, but kicad-util’s creator is not available anymore. Although the contributor of the merge request created his fork, the .jar file has not been recompiled, so the fixed version is not easily accessible to most users.

Given the above, I recompiled the fixed kicad-util version with the mvn package command and made the .jar file available. I use it as:

java -jar ~/bin/kicadutil.jar pcb -f=myboard.kicad_pcb panel --inset=0 --hole=0.35 --pitch=0.7 --width=2.5 --fillet=1

Introducing the Ultimate Hacking Keyboard

I want to take this opportunity to reveal the trailer video for the Ultimate Hacking Keyboard, a high-end mechanical keyboard of which I’m the founder and lead developer. Our keyboard will be kickstarted soon, so please share it, follow us, and subscribe to our list to get notified when our campaign starts.

How to rule remote shell sessions with tmux and mosh

If you’re like most SSH users, when your connection breaks, it’s bad news. Not only do you have to reconnect, but your session gets destroyed, and you have to make all the moves to restore the previous state. This doesn’t have to be that way. I want to introduce two tools that solve these problems in the most elegant way possible.

tmux

tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

In the world of tmux there are windows and panes within windows. You can think of tmux windows as workspaces on the desktop that are aligned horizontally. It’s like having several virtual monitors next to each other, each running a different shell session. You can move across these windows as desired. With the use of panes, you can split individual windows horizontally and/or vertically as desired, with each pane housing a different session. This is useful for tailing various log files in different panes and monitoring them simultaneously.

You simply have to run the tmux command to create a new tmux session. Once a session exists upon reconnecting over ssh you have to invoke tmux attach to reconnect to your already existing session.

If you’re like me you may want to use tmux by default upon ssh’ing to servers. To make this happen, you have to include export LC_TMUX_SESSION_NAME=yourusername into your ~/.bashrc and wrap scp on the client side and invoke tmux automatically on the server side. On a related note, you can also take a look at my tmux.conf which I believe defines more intuitive shortcuts than the default configuration.

There are a number of alternatives to tmux that I’d like to list, starting with the most powerful and moving towards the least powerful. GNU Screen is yet another terminal multiplexer, but its feature set, usability, and configurability are rather limited compared to tmux. dtach is like a minimalistic tmux featuring one pane inside one window, and it only provides a minimal set of options. Finally, with the use of the nohup command, you can make your (typically long-running) script immune to hangups, and hence, it can survive SSH disconnects.

mosh

Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes.

mosh is the other puzzle piece leading to the remote shell nirvana. After apt-getting mosh on the client and mosh-server on the server instead of invoking ssh yourserver.com invoke mosh yourserver.com. From now on you don’t have to worry about reconnecting to ssh or waiting for the server to echo back your characters.