๐ Howdy, I'm Ben.
I'm a computer science student at Clemson University. You'll find various projects that I've worked on over time hosted here.
Display alerts from SmartThings on your Raspberry Pi.
I'm a computer science student at Clemson University. You'll find various projects that I've worked on over time hosted here.
At the present time, it is not possible to identify which request from the server caused an error to occur. Primarily, this is caused by the lack of context at the handler level.
Use pkg/errors package for wrapping errors to improve traceability; attach a stack trace to all errors.
Server should defer a recovery function that will return control to the server in the event a handler triggers a panic. It may be useful to implement middleware to achieve this effect on all requests.
The current implementation of TTSAlerter causes the request handler to hang while the alert message is read. If the message is long, this significantly delays the time for responding to the request.
Consider handling this asynchronously.
Several tasks in PiPanel are completed asynchronously by request handlers, often without any goroutine monitoring the results. Handling of these errors needs to be improved, at the minimum writing a log with the trace to the console.
os.Open(`~/pipanel_config.json`)
This will always fail because ~
is not expanded as it ought to be. Consider parsing the home directory from $HOME or other means.
Optionally, set a default brightness for the display upon pitouch DisplayManager initialization. This value should be user-configurable (and disabled by default).
Because of the server implementation, it is possible for multiple alerts events to be passed to an Alerter simultaneously. Therefore, it is necessary to protect the windows
field of GTKAlerter
with a mutex to avoid race conditions.
Request handlers should complete their task and return control to the server within a certain amount of time, such that the client can receive a response in a timely manner.
If the request takes too long, its context should be canceled and request handlers should stop processing the event.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.