Daniel Chote's Project Blog

Software Development, Hardware Hacking, Multirotors and Robots!

Rival Messenger
Here is a screenshot of the new webkit message display in action! It supports emoticons and rich text rendering. Its also smart, it wont do emoticon replacement when you paste a formatted string (no more smilies in your code!!)

Rival Messenger

Here is a screenshot of the new webkit message display in action! It supports emoticons and rich text rendering. Its also smart, it wont do emoticon replacement when you paste a formatted string (no more smilies in your code!!)

I finally have a functionally usable chat implemented! I was battling with trying to get nstextview to reliably resize a parent cellview on window resize, I eventually gave up and switched to webkit for the renderer. Telehash chat is 90% implemented, just chat state remains. Rich text formatting is also transmitted and rendered!! I have started work on image embedding in messages, which will require me finishing up the thtp protocol handler so that webkit can load assets via thtp. In all I am very happy with how chat works!

Made a little progress towards working chat. I have the initial chat negotiation almost complete (which is the hard part). With a little more code, full chat negotiation to any telehash chat enabled app will work!

Next up is message storage and display!

Rival Messenger
I setup a couple of Mavericks VM instances for testing upcoming chat. Chat window logic has come together nicely, window menu now reflects all open chat tabs (not just the windows). 

Rival Messenger

I setup a couple of Mavericks VM instances for testing upcoming chat. Chat window logic has come together nicely, window menu now reflects all open chat tabs (not just the windows). 

Rival Messenger
Chat window logic complete… Next up chat protocol implementation!  Adium style tearable/dockable tabs are functional. KVO updating of tab objects complete, and looking mighty fine.

Rival Messenger

Chat window logic complete… Next up chat protocol implementation!  Adium style tearable/dockable tabs are functional. KVO updating of tab objects complete, and looking mighty fine.

Rival Messenger
Its late, but I got the entire object tree figured out for chat windows, tabs and chat sessions!  It will be an adium style tearable tab chat window interface, but with chat/call headers much like skype does.  The header will expose participants as well as extra functions (such as eventual voice/video calling to the session).

Rival Messenger

Its late, but I got the entire object tree figured out for chat windows, tabs and chat sessions!  It will be an adium style tearable tab chat window interface, but with chat/call headers much like skype does.  The header will expose participants as well as extra functions (such as eventual voice/video calling to the session).

I got up early and managed to get some code down. Started on the chat interface for Rival Messenger. I am basing it roughly on how Adium does chat windows with tabs. It’s amazing how quickly even skeleton code balloons as you start something like this!

Rival Messenger
I finished the pending friend request logic tonight.  We now bounce the dock, show the dock badge etc. Clicking the dock with a pending request will show the pending friend requests window, accept/decline works as expected and updates the applicable states of everything.
Zoom Info
Rival Messenger
I finished the pending friend request logic tonight.  We now bounce the dock, show the dock badge etc. Clicking the dock with a pending request will show the pending friend requests window, accept/decline works as expected and updates the applicable states of everything.
Zoom Info
Rival Messenger
I finished the pending friend request logic tonight.  We now bounce the dock, show the dock badge etc. Clicking the dock with a pending request will show the pending friend requests window, accept/decline works as expected and updates the applicable states of everything.
Zoom Info

Rival Messenger

I finished the pending friend request logic tonight.  We now bounce the dock, show the dock badge etc. Clicking the dock with a pending request will show the pending friend requests window, accept/decline works as expected and updates the applicable states of everything.

Rival Messenger
We have a website!  I used this opportunity to get together a website and work on integrating the Sparkle updater framework to allow testers to automatically upgrade as I push out new development builds.  I have my project scripted to increment the build number, and I have a shell script that archives the build, creates the appcast.xml and scp’s the appropriate files to the server automatically!

Rival Messenger

We have a website!  I used this opportunity to get together a website and work on integrating the Sparkle updater framework to allow testers to automatically upgrade as I push out new development builds.  I have my project scripted to increment the build number, and I have a shell script that archives the build, creates the appcast.xml and scp’s the appropriate files to the server automatically!

Rival Messenger
It has been a LONG time since I worked on a project with that name.  I started Rival Messenger as a Windows app written in Visual Basic, way way back at the end of 1999!  After much fussing, pushed by my own dislike of Skype, and everyone’s dislike of NSA snooping, I have decided to build a full on Skype replacement and use the name again!
This time around it is an OSX native app, written in Objective-C using the Cocoa Framework.  I am building it on top of Jeremie Miller’s new project called Telehash.  Temas has been working hard on an objc library implementation for telehash, and it has just enough maturity now that things are working, and really coming together!  
Telehash is going to bring a lot of new and exciting options to the table, not only for my use of Instant Messaging and VOIP, or if you wanted to implement HTTP over Telehash, but for Internet of Things (IoT) and other embedded use cases as well.
I will start to blog about my progress with Rival Messenger and Telehash, there is an important milestone right around the corner. This milestone is a secure decentralized internet or whatever.
Zoom Info
Rival Messenger
It has been a LONG time since I worked on a project with that name.  I started Rival Messenger as a Windows app written in Visual Basic, way way back at the end of 1999!  After much fussing, pushed by my own dislike of Skype, and everyone’s dislike of NSA snooping, I have decided to build a full on Skype replacement and use the name again!
This time around it is an OSX native app, written in Objective-C using the Cocoa Framework.  I am building it on top of Jeremie Miller’s new project called Telehash.  Temas has been working hard on an objc library implementation for telehash, and it has just enough maturity now that things are working, and really coming together!  
Telehash is going to bring a lot of new and exciting options to the table, not only for my use of Instant Messaging and VOIP, or if you wanted to implement HTTP over Telehash, but for Internet of Things (IoT) and other embedded use cases as well.
I will start to blog about my progress with Rival Messenger and Telehash, there is an important milestone right around the corner. This milestone is a secure decentralized internet or whatever.
Zoom Info
Rival Messenger
It has been a LONG time since I worked on a project with that name.  I started Rival Messenger as a Windows app written in Visual Basic, way way back at the end of 1999!  After much fussing, pushed by my own dislike of Skype, and everyone’s dislike of NSA snooping, I have decided to build a full on Skype replacement and use the name again!
This time around it is an OSX native app, written in Objective-C using the Cocoa Framework.  I am building it on top of Jeremie Miller’s new project called Telehash.  Temas has been working hard on an objc library implementation for telehash, and it has just enough maturity now that things are working, and really coming together!  
Telehash is going to bring a lot of new and exciting options to the table, not only for my use of Instant Messaging and VOIP, or if you wanted to implement HTTP over Telehash, but for Internet of Things (IoT) and other embedded use cases as well.
I will start to blog about my progress with Rival Messenger and Telehash, there is an important milestone right around the corner. This milestone is a secure decentralized internet or whatever.
Zoom Info
Rival Messenger
It has been a LONG time since I worked on a project with that name.  I started Rival Messenger as a Windows app written in Visual Basic, way way back at the end of 1999!  After much fussing, pushed by my own dislike of Skype, and everyone’s dislike of NSA snooping, I have decided to build a full on Skype replacement and use the name again!
This time around it is an OSX native app, written in Objective-C using the Cocoa Framework.  I am building it on top of Jeremie Miller’s new project called Telehash.  Temas has been working hard on an objc library implementation for telehash, and it has just enough maturity now that things are working, and really coming together!  
Telehash is going to bring a lot of new and exciting options to the table, not only for my use of Instant Messaging and VOIP, or if you wanted to implement HTTP over Telehash, but for Internet of Things (IoT) and other embedded use cases as well.
I will start to blog about my progress with Rival Messenger and Telehash, there is an important milestone right around the corner. This milestone is a secure decentralized internet or whatever.
Zoom Info

Rival Messenger

It has been a LONG time since I worked on a project with that name.  I started Rival Messenger as a Windows app written in Visual Basic, way way back at the end of 1999!  After much fussing, pushed by my own dislike of Skype, and everyone’s dislike of NSA snooping, I have decided to build a full on Skype replacement and use the name again!

This time around it is an OSX native app, written in Objective-C using the Cocoa Framework.  I am building it on top of Jeremie Miller’s new project called Telehash.  Temas has been working hard on an objc library implementation for telehash, and it has just enough maturity now that things are working, and really coming together!  

Telehash is going to bring a lot of new and exciting options to the table, not only for my use of Instant Messaging and VOIP, or if you wanted to implement HTTP over Telehash, but for Internet of Things (IoT) and other embedded use cases as well.

I will start to blog about my progress with Rival Messenger and Telehash, there is an important milestone right around the corner. This milestone is a secure decentralized internet or whatever.

Transducer wiring for the sectional.  I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice!  There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.
Zoom Info
Transducer wiring for the sectional.  I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice!  There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.
Zoom Info
Transducer wiring for the sectional.  I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice!  There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.
Zoom Info
Transducer wiring for the sectional.  I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice!  There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.
Zoom Info
Transducer wiring for the sectional.  I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice!  There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.
Zoom Info
Transducer wiring for the sectional.  I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice!  There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.
Zoom Info

Transducer wiring for the sectional. I thought that using xt60 rc power connectors would make this whole setup a lot more maintainable and less error prone. It all came out nice! There are 2 transducers attached to the couch, wired in series (as per documentation). The couch is now sitting on top of vibration mounts.

Cheap vibration isolation for your couch/sectional for bass transducers!
I was looking online for a good solution for vibration isolation for our sectional. I was looking at bass transducers such as the Clark Synthesis or Buttkicker LFE. Both companies offer rubber solutions of varying expense, all far too expensive when you consider that my sectional has 16 feet!  
I started to think about caster cups as an option, did they make them out of soft rubber?  Nope, but then I pondered if i could put soft rubber IN them.  I had a workout mat which was perfect thickness, so I cut out a square and put it in the caster cup. BINGO.. this thing has lots of give in it in all directions. And it only cost a fraction of the price of the other solutions!
Zoom Info
Cheap vibration isolation for your couch/sectional for bass transducers!
I was looking online for a good solution for vibration isolation for our sectional. I was looking at bass transducers such as the Clark Synthesis or Buttkicker LFE. Both companies offer rubber solutions of varying expense, all far too expensive when you consider that my sectional has 16 feet!  
I started to think about caster cups as an option, did they make them out of soft rubber?  Nope, but then I pondered if i could put soft rubber IN them.  I had a workout mat which was perfect thickness, so I cut out a square and put it in the caster cup. BINGO.. this thing has lots of give in it in all directions. And it only cost a fraction of the price of the other solutions!
Zoom Info
Cheap vibration isolation for your couch/sectional for bass transducers!
I was looking online for a good solution for vibration isolation for our sectional. I was looking at bass transducers such as the Clark Synthesis or Buttkicker LFE. Both companies offer rubber solutions of varying expense, all far too expensive when you consider that my sectional has 16 feet!  
I started to think about caster cups as an option, did they make them out of soft rubber?  Nope, but then I pondered if i could put soft rubber IN them.  I had a workout mat which was perfect thickness, so I cut out a square and put it in the caster cup. BINGO.. this thing has lots of give in it in all directions. And it only cost a fraction of the price of the other solutions!
Zoom Info

Cheap vibration isolation for your couch/sectional for bass transducers!

I was looking online for a good solution for vibration isolation for our sectional. I was looking at bass transducers such as the Clark Synthesis or Buttkicker LFE. Both companies offer rubber solutions of varying expense, all far too expensive when you consider that my sectional has 16 feet!  

I started to think about caster cups as an option, did they make them out of soft rubber?  Nope, but then I pondered if i could put soft rubber IN them.  I had a workout mat which was perfect thickness, so I cut out a square and put it in the caster cup. BINGO.. this thing has lots of give in it in all directions. And it only cost a fraction of the price of the other solutions!

Project Dyson v2 - Time to revisit this project, the last one failed when the stock impeller melted solid due to the speed of the brushless motor I had attached.  This time around I will be mounting an EDF inside the housing, and blowing right out the back it.  With the new EDF I will have a lot more space in the main housing, allowing me to include a screen for the coolness factor.  This EDF produces around 6lbs of thrust (which is enough to push an office chair across the room)… so it should be interesting to see what this can accomplish as a vacuum cleaner… 
Zoom Info
Project Dyson v2 - Time to revisit this project, the last one failed when the stock impeller melted solid due to the speed of the brushless motor I had attached.  This time around I will be mounting an EDF inside the housing, and blowing right out the back it.  With the new EDF I will have a lot more space in the main housing, allowing me to include a screen for the coolness factor.  This EDF produces around 6lbs of thrust (which is enough to push an office chair across the room)… so it should be interesting to see what this can accomplish as a vacuum cleaner… 
Zoom Info

Project Dyson v2 - Time to revisit this project, the last one failed when the stock impeller melted solid due to the speed of the brushless motor I had attached.  This time around I will be mounting an EDF inside the housing, and blowing right out the back it.  With the new EDF I will have a lot more space in the main housing, allowing me to include a screen for the coolness factor.  This EDF produces around 6lbs of thrust (which is enough to push an office chair across the room)… so it should be interesting to see what this can accomplish as a vacuum cleaner… 

Time for me to start making stuff again… It has been FAAARRRR too long. I whipped this together at lunch time today, simple 3 channel PWM using TIP142s. It is driving a 30W RGB LED at 30V, and at peak it runs around 1.8A of draw.  
My goal is to use these to wash a few walls in my office with color.
Zoom Info
Time for me to start making stuff again… It has been FAAARRRR too long. I whipped this together at lunch time today, simple 3 channel PWM using TIP142s. It is driving a 30W RGB LED at 30V, and at peak it runs around 1.8A of draw.  
My goal is to use these to wash a few walls in my office with color.
Zoom Info
Time for me to start making stuff again… It has been FAAARRRR too long. I whipped this together at lunch time today, simple 3 channel PWM using TIP142s. It is driving a 30W RGB LED at 30V, and at peak it runs around 1.8A of draw.  
My goal is to use these to wash a few walls in my office with color.
Zoom Info

Time for me to start making stuff again… It has been FAAARRRR too long. I whipped this together at lunch time today, simple 3 channel PWM using TIP142s. It is driving a 30W RGB LED at 30V, and at peak it runs around 1.8A of draw.  

My goal is to use these to wash a few walls in my office with color.

1 / 7