Skip to content

Instantly share code, notes, and snippets.

@bachwehbi
bachwehbi / build.sh
Last active January 20, 2023 23:43
Simple MQTT publish and subscribe using Paho embedded C/C++ Client
cp ../../src/MQTTClient.c .
sed -e 's/""/"MQTTLinux.h"/g' ../../src/MQTTClient.h > MQTTClient.h
gcc sub.c -I ../../src -I ../../src/linux -I ../../../MQTTPacket/src MQTTClient.c ../../src/linux/MQTTLinux.c ../../../MQTTPacket/src/MQTTFormat.c ../../../MQTTPacket/src/MQTTPacket.c ../../../MQTTPacket/src/MQTTDeserializePublish.c ../../../MQTTPacket/src/MQTTConnectClient.c ../../../MQTTPacket/src/MQTTSubscribeClient.c ../../../MQTTPacket/src/MQTTSerializePublish.c -o sub ../../../MQTTPacket/src/MQTTConnectServer.c ../../../MQTTPacket/src/MQTTSubscribeServer.c ../../../MQTTPacket/src/MQTTUnsubscribeServer.c ../../../MQTTPacket/src/MQTTUnsubscribeClient.c
gcc pub.c -I ../../src -I ../../src/linux -I ../../../MQTTPacket/src MQTTClient.c ../../src/linux/MQTTLinux.c ../../../MQTTPacket/src/MQTTFormat.c ../../../MQTTPacket/src/MQTTPacket.c ../../../MQTTPacket/src/MQTTDeserializePublish.c ../../../MQTTPacket/src/MQTTConnectClient.c ../../../MQTTPacket/src/MQTTSubscribeClient.c ../../../MQTTPacket/src/MQTTSerializeP
@bachwehbi
bachwehbi / subsriber.c
Last active June 18, 2021 11:54
Connect to Beebotte using Paho MQTT C client - with encryption
/**
* to compile this code
* cc -g -o subscriber subscriber.c -lpaho-mqtt3cs -lpthread
**/
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "MQTTClient.h"
// set protocol to ssl and port number to 8883 to use encryption
#!/usr/bin/python
# Copyright (c) 2013-2016 Beebotte <[email protected]>
# This program is published under the MIT License (http://opensource.org/licenses/MIT).
############################################################
# This code uses the Beebotte API, you must have an account.
# You can register here: http://beebotte.com/register
#############################################################
@bachwehbi
bachwehbi / write_fast_2_s3.py
Last active August 29, 2021 15:07
Simple approach to accelerate writing to S3 from Spark.
import base64
import os
import time
"""
Writing from Spark to S3 is ridiculously slow. This is because S3 is an object
store and not a file system. Because of consistency model of S3, when writing
Parquet (or ORC) files from Spark. Data will be stored to a temporary destination
then renamed when the job is successful. As S3 is an object store, renaming files
is very expensive (complete rewrite). The Spark job will only terminate when all