msgpack.php
TOTEM
Our great sponsors
msgpack.php | TOTEM | |
---|---|---|
2 | 17 | |
385 | 459 | |
- | - | |
2.2 | 4.5 | |
11 months ago | 10 months ago | |
PHP | ||
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
msgpack.php
-
Advanced MessagePack capabilities
That's enough theory, let's start coding! For these examples, we'll use the msgpack.php MessagePack library since it provides a convenient API to handle extension types. I hope you'll find these code examples easy to understand even if you use other libraries. Since I mentioned UUID, let's implement support for this data type as an example. To do so, we'll need to write an extension---a class to serialize and deserialize UUID values. We will use the symfony/uid library to make handling such values easier.
-
Don't blindly trust profilers
I recently encountered an interesting case. I was trying to optimize the MessagePack unpacking, but after testing the performance of the new faster (as I thought) version, it turned out to be slower than the original implementation. Trying to figure out which part of the code was causing the slowdown, I reran the tests with Blackfire and was surprised to see that the profiler reported a 30% improvement in the new version, which was the exact opposite of my results (read the comments on the linked issue to learn why). Note that this is not a problem with this particular profiler, most PHP profilers will do the same. So I decided to share this finding and encourage you not to blindly trust profilers and always do your own benchmarking, especially when you do such micro-optimizations.
TOTEM
-
[HELP] Totem needs a reset every time I start my pc
Wired Totem from keeb.supply needs a reset every time I start my Win10 pc, otherwise it works as usual. it says "USB device not recognized". Tested on multiple pcs and cables. Asked on their discord but they haven't heard this problem before. Nuked and reflashed with the given files multiple times, checked again the soldering but didn't help. If it works perfectly fine after reset or connecting to an already running pc, what might be wrong? Is there a watchdog feature that sends a reset signal the moment it gets power? My repo.
-
Shift mapping suggestions
You just need a new keyboard 🙃
-
GitHub – GEIGEIGEIST/KLOR: a 36-42 key column-staggered split keyboard
I built a TOTEM[1] (same creator) and it looks stunning. Was a breeze to get manufactured (both PCB and resin printer case from jlcpcb, in my case) and assemble too!
The build guide is very informative and quirky, it has everything from tips in how to solder smd diodes to "use a sharpie to paint the PCB sides black so it looks nicer", way better than some expensive kits I've bought in the last few years!
1. https://github.com/GEIGEIGEIST/TOTEM
-
Can someone review my schematic and PCB?
There are some pads on the underside of the XIAO controller that we need to connect to. The footprint that I am using here has plated through-holes with edge cuts with enough space to allow you to use a soldering iron from the bottom to solder the plated through-holes to the pads. This approach was borrowed from Totem so it should work but I am worried about manufacturing issues due to the DRC failures there.
-
Another TOTEM...
Here you can find the PCB and case files and of course a buildguide. Here is a Hackster post covering my process. I hope it's ok to mention, that you can also buy complete kits on keeb.supply by now.
- Geist TOTEM with trackpad mod
-
Totem with trackpad mod glamor shot
Thanks! The KiCad files are open source, you can figure out how to add a number row, I believe in you! build guide
-
Built a Piantor and am quite happy with the result! What do recommend next after learning better colemak typing :-) ?
design your own case – take a look at the bottom of GEIST’s TOTEM
-
Keyboard for crooked fingers?
add an extra pinky key – popularized by Jian and seen in Totem
-
KLOR is taking shape....
as u/Tulip2MF mentions, GEIST did the TOTEM for SEEED XIAO challenge and showed it off with a clear case and keycaps
What are some alternatives?
JSON Machine - Efficient, easy-to-use, and fast PHP JSON stream parser
piantor - The Piantor Keyboard is a beginner-friendly, easy-to-solder, 42-key or 36-key, diodeless, low profile aggressive column staggered, hotswappable and non-hotswappable, programmable ergonomic mechanical split keyboard powered by Raspberry Pi Pico or other compatible RP2040 boards. It is based on the Cantor Keyboard.
Laminas Serializer - Serialize and deserialize PHP structures to a variety of representations
osprette - 34-key unibody keyboard with pinky clusters
php-spx - A simple & straight-to-the-point PHP profiling extension with its built-in web UI
totem
Packagist - Package Repository Website - try https://packagist.com if you need your own -
Klein - Klein keyboard is a 36 keys, columnar staggered, split ergo keyboard
client - PHP client for Tarantool.
KLOR - (choc and KS-27 mod) KLOR is 36-42 keys column-staggered split keyboard. It supports a per key RGB matrix, encoders, OLED displays, haptic feedback, audio, a Pixart Paw3204 trackball and four different layouts, through brake off parts.
MessagePack - MessagePack serializer implementation for Java / msgpack.org[Java]
Serializer - Library for (de-)serializing data of any complexity (supports JSON, and XML)