2015-09-24

The perfect messenger

There are so many messengers around but none of them seems to meet the criteria I have for a reasonably secure messenger.
Since this gets discussed over and over again, here are:

My Requirements for a messenger service 

security

  • If there are one or many central operators/brokers/hubs, they can not read ANY messages past, present or future
  • encryption is always end to end.
  • I can change between my different devices and continue a chat (key exchange between my devices)
  • end to end encrypted group chats (this basically means changing keys and distributing them to all participants whenever someone joins or parts) 

privacy 

  • I can have multiple full identities (not just usernames as aliases that share a profile image+text+contacts-list)
  • I can receive and send messages as all my identities at the same time (no logout+login)
  • Nobody can find out IF I am using this type of messenger at all by knowing my phone number 
  • Neither my phone number nor any other information about my real world identity are stored with the operator (exception for temporary storage of IPv6/IPv4 addresses)
  • optional: If there are one or many central operators/brokers/hubs, they can not know the identities that communicate with each other
  • optional: I can set up my own server/hub/broker

usability 

  • texts, images and locations can be shared
  • one to one and group chat 
  • there is a chat history that I can access from all my devices (my be stored encrypted with my own key on a server or local on the client)
  • optional: videos can be shared
  • optional: voice and/or video -chat
  • optional: voice and/or video group-chat

2015-09-19

Nexus 7 repairs



The USB port on my generation 1 Nexus 7 tablet (with GSM SIM card) was getting wonky and more often then not it refused to charge.
Luckily the replacement part is cheap.

...while at it I got myself a very nice set of phone-opening tools with scratch-free plastic hooks, spatulas, suction cups, wedges, cleaning tools, scalpels, metric <2mm a="" and="" full="" nbsp="" of="" p="" screwdrivers="" set="" tiny="" torxes="">...I just can't resist a good set of tools.


    2015-09-11

    Ciclop 3D scanner

    old and busted:  FabScan


    I have a FabScan Cube (build from the kit sold at Wattenrott) for quite some time now. However I'm massively disappointed by the software. The last software (100.9) that supports MacOS is neolithic and can no longer be used since MacOS 10.9 "Mavericks".
    There is a processing script to use the scanner but calibrating it is a game of guessing and source code manipulation. If I got a scan out of it at all (very touchy about environmental light), it was all ball shaped and incomplete.
    A new software (that requires a Raspberry Pi) was promised to be released half a year ago...it never happened.
     

    new: Ciclop

    http://diwo.bq.com/en/presentacion-ciclop-horus/

     

     So being fed up with the FabScan, I got myself a completely new Ciclop scanner as a factory made kit. The parts are 3D printed very well and everything more or less fits.
    You can 3D print the parts yourself and just get an electronics kit and a number of nuts, bolts and (metric) threaded rods.
    • The scanner is not  stable against torsion forces. So it must rest on a perfectly flat surface.
    • The stepper movement is not very gentle. So any flexible object will move around during scanning.
    • It does require 2 USB ports and 1 power socket (to power the stepper motor).

    Horus 

    Horus is the software that is supposed to operate with the Ciclop.
    It looks very easy to use but seems to still have some practival issues in doing the automatic calibration. Notable one but where it will constantly tell you that the stepper direction is wrong.

    I haven't gotten it to scan using 2 (or more) lasers yet as this results in 2 scans that don't match up at all. With a single laser it has a very limited scan volume and your object should contain all parts of the axis of rotation inside itself but it does work.
    I haven't gotten around to check if the physical dimensions as replicated precisely yet and that there are no distortions.
       

    2015-07-14

    Debugging Android Wear support for K-9 Mail

    I started a branch to develop proper Android Wear support for the popular K-9 mail client.
    The last few weeks I was grinding on a strange error.
    It would create PendingIntents for the different actions for each individual message.
    Because on Wear the messages are shown as a stack and you can act on each of them.

    What I found was that it would issue the right action...on the wrong message.
    Always the firt message of the notificaiton.


    I think I found it.
    PendingIntents are not created. They are requested.
    If the same PendingIntent already exists, it is returned.
    The "same" means same Action, same Data, ...  But not same Extras.
    The message ID was transmitted as an Extra.

    This was no problem up to now, because most people you would only ever have one notification.
    But even in the existing code this bug would have hit (and hit hard inc ase of the  "delete" action) if you have multiple accounts configured and choose an action on the second notification, you would get it with the parameters of the same action on the first notification.

    I'm considering the Android Wear branch of K-9 to be BETA-quality now
    and am using it myself daily to find bugs.

    2015-07-04

    printing working threads on an Ultimaker II extended

    Even at 20 micron and less layer height, most theads have too many threads-per-millimeter/threads-per-inch to be reasonably 3D printed.
    I'm regularly using a thread cutter on 3D printed parts to do this instead.

    Now I have some  solenoid valves with a very strange NPT1/2 thread.
    This is a very rare imperial sized, trapezoidal (getting smaller, not staying at one diameter)
    thread with only 1,814mm per thread instead of 1mm.
    (BTW NPT1/2 isn't even near 1/2" in size. )
    So it looks like a perfect test to 3D print the thread without cutting.

    Due to the extreme heat recently, I had some issues with my Ultimaker II extended at first.




    But int he end it worked out.
    Here is the same thread printed in normal quality,  high quality(at 200% speed) and ulti quality (40 micron).
    The (at first) strange result it, that the thread printed at normal quality was far more clean then the other ones.
    ...that is until you think about a thread as one giant overhang. A thicker layer-height seems to work better for overhangs as it's not as compressed by the next layer. This is no problem in solid areas bu when there is air below the layer...you can guess.








    Fits perfectly!

    2015-05-02

    implementing K9 mail wear support - stacked notification issue

    I'm currently implementing K9 issue 619 "add Andoid Wear Support".
    You can find the code in branch issue-619_AndroidWearSupport.
    Basic support to delete(if no confirmation on the phone is configured), archive and spam all messages  of a given notification is done and working well.

    My currently issue is that I added stacked notification exactly as documented.
    The problematic code starts in MessagingController:4941 .

    My summary notifcation is only shown on the phone, not the watch. OK.
    BUT: my stacked notifications (With setGroup(...) but no setGroupSummary(true) are ALSO shown on the phone. These are supposed to be only visible on the watch.
    Every documentation, example and StackOverflow posting shows me that I'm doing everything right and that there should be no way for this to ever happen.

    I guess I need an additional pair of eyes to look through at this code.

    2015-04-28

    Added Android Wear support for K9

    I just added some very first Android Wear support for the K9 mailer.
    The default actions where unsatisfactory as "reply" doesn't work on a watch unless you implement the voice recognition feature. "delete" shouldn't be offered if "confirm delete" is active and thus the user needs to confirm an action on the phone that he/she initiated on the watch.

    For the time being I added "delete" (if confirm is off), "archive" and "spam".
    Extensive checks are done to make sure these actions are possible. Since afterwards the user can not be informed about them failing as Toasts will apear on the phone, not the watch.

    The plan is to
    • have the user select what 3 actions to show on watch+phone for single messages and groups of new messages
    • stack the notifications about multiple new messages
    • add the ability to reply using voice input

    2015-04-26

    Ultimaker II Glue Stick issues

    Help!

    As glue-stick I have used the triangular Teasy EasyStick so far and they worked great.
    However now the winter is gone and I had to move the printer to another city.
    It's not as cool and the room is much smaller.
    The ambient temperatures are rising above 23°C at 50° humidity indoors with a 75°C or 60°C heated bed and nearly no air flow in the tiny room and the glue stick completely evaporates within 10-30 seconds.

    Filament either doesn't stick (if applied too early) or objects curl up and detach from the glass (if applied right before the print starts).

    What European household brand of glue stick works in high temperatures? (Sorry, no Elmer's Invisible Glue on the right side of the pond.)
    I don't have wood glue in the house but I'll try to get some and mix it with water to try.
    I don't like to apply hair spray directly and the brand I tried doesn't work when applied to a piece of paper and then rubbed onto the glass.

    2015-03-29

    Ultimaker II servicing

    My replacement glass fiber reinforced PTFE liners for the Ultimaker II hotend arrived.
    While replacing parts I looked up just how long this Ultimaker II has been printing so far:
    machine has been on for 2954 hours
    printing for 1855 hours using 1166 meters of 2.85mm filament.

    The PTFE is pretty banged up for sure.

    In the forum people talk about 300-500 hours before seeing serious degradation.


    I replaced the PTFE,
    doing a cold-pull cleaning in the process,
    Added a piece of aluminium foil,
    cleaned the extruder gears
    cleaned the bed

    ...now let's start with the next 2000 hours of printing.


    PS:
    I just found out you can get them (for a premium price) at Reichelt or
    remakes (no mention of glass fiber) at  another German Store and in China too.
    Without Fedex.

    2015-03-23

    LPG Preismelder Android app updated

    Project history 

    1. Previous project: none
    2. last step: Improvements to LPG/CNG Price Reporter
    3. current posting
    4. next step: LPG Preismelder Android app updated again
    5. Next project: Android App for Blackmagic Pocket Cinema Camera 4K

    After a long time, I have finally found the time to update my old fuelstation finder for GPL/CNG fuled cars to a current Maps API and current design language.
    The buggy OpenStreetMap code had to go. For the time being there is only the Google Map now.
    The overlays are completely redone,
    the layout of cause uses proper fragements,
    the geolocation API usage and settings handling is updated as well.

    Links:



  • App on Google Play
  • 2015-03-18

    Google Code to Github Migration tool failing

    Due to Google Code shutting down,
    I scheduled the OpenStreetMap Vespucci Map editor project for Android to be migrated tonight (all commits done).
    However the migration tool offered seems to consistently fail. :/
    And I'm not alone.
    Github has identified files >100Mb to be the most prominent cause but since my and other people's entire repository is considerably smaller, that isn't the case here.

    2015-03-16

    Kevin Lee

    I just found this excellent blog by Kevin "0x7D" Lee.

    Must reach these later:


    He seems to be using the same printer I am (Ultimaker II) in the same way (very high precision parts at maximum reliability).
    Not just "buy a printer and print trinkets I found from Youmagine or Thingiverse"

    Ultimaker II issues

    I'm using my Ultimaker II a lot and I'm taking good care of a clean nozzle.

    Now I'm starting to get underextrusion issues.
    1. I cleaned the bed of any glue stick residue
    2. leveled the bed
    3. cleaned the nozzle using cold pull until I could see through
    4. Extruder tension was at minimum, I tightened it until the indicator was in the center

    The issue is still there. Just with a bit more skipping then before
    It started last week with an object that requries lots of retraction and happened after hours of printing.
    Usually my objects need no or nearly no retraction. So I didn't think much about it.
    How it happens in a perfectly cleaned and recalibrated printer within the first layer.

    Next steps
    I fear my PTFE liner may be completely used up.
    I did order 2 new ones but since they get delivered with FedEx, they may not reach me.
    (No delivery after work hours and no possibility for me to pick them up.)

    I'll loosen the extruder tension again and redo the cleaning.
    Maybe I just over-tightened the extruder.

    Results
    The underextrusion returned within minutes in the first layer.
    I lowered the extruder tension and set my first layer to run at 50% speed until my replacement parts arrive.
    This helped a lot.

    2015-03-12

    Ultimaker Pro and Contra

    3D printer (Ultimaker II) working on another 26h build...
    That's a small one by my standards. While I'm away for the weekend it will do another 3 day job and I have even run extremely detailed 40 and 100h jobs without any hickup.
    ...at 20 Micron, that's 0.02mm compared to 0.1 or 0.2 or 0.25mm in other printers.
    ...out of the box with good quality filament.

    Reliability

    I just love the reliability. Never seen anything like it with RepMan 3.0/3.2, ThingOMatic (on the contrary), Makibox. For exactly that teason I'll never, ever again buy a Makerbox Industries product.
    (Apart from "Takerbot")
    I hope Makerbot will get a lot of competition, now that Ultimaker has extended from Europe to North America.

    Maintenance

    You should regularly
    • check extruder tension. The indicator on the side should not be in the upmost position. Insert an allen key/hex key in the top and turn left (out) to make it tighter, right (in) to make it loose
    • check bed leveling
    • clean your nozzle with a cold pull (manually push filament through, then cool to 70-90°C and pull it out). Don't pull or push too hard as the PTFE liner is only held down by a spring and downward filament movement. It's als called the "atomic method" but it was known long before there was a U2 forum.
    • clean the bed of residue glue stick with a wet paper towel, reapply a very thin layer of new glue

    Maximum spool size





    Given that reliability, it's printing A LOT. 750g spools are extremely inconvenient.
    These 2.2Kg spools from Colorfabb from are great.
    I'd have loved 5Kg or 20Kg spools (both sizes I used before, stored next to older printers using garden hose holders)
    but 2.2Kg is the maximum the Ultimaker II can hold.
    Everything else would be wider and lower then the body of the printer itself.

    The Near Future


    I can't wait for the Ultimaker II Extended, that I already preordered!
    The increased hight combined with the reliability of an U2 is exactly what I need for my parts.

    Spare parts and shipping

    The only downside is that is demanding steep prices for the wear parts (PTFE liner, nozzle, hot end pack), dubling the price with their enourmous shipping fees and seems to use express curiers.

    (Of cause if this is a minor issue and if it's the only thing I can complain about, that says a lot about the quality and reliability. I'm using this printer nearly constantly day and night.)

    Express meaning it takes twice as long and may not reach you at all if you just so happen to work during the day. Curiers don't have post offices everywhere where you can pick up your packages after hours.
    They often don't have storage locations in the same city reachable without a car and they don't deliver or offer pickup on weekends.
    So for me they are evil as I work Monday to Friday in different cities.
    Express curier services are for and ONLY for deliveries to businesses that have offices open 9-5.
    NOT for delivering to private citizen who work in these offices 9-5 and are thus not at home.
    They are NOT replacements for postal services. They where never intended to be.
    With the new Ulti-Quality setting the first layer needs a lot of attention and benefits from reduced speed and increased filament flow.
    After that it's great. I don't mind that that it takes ages as it reduces the time I spend in sanding and other post processing after the machine has finished it's job.

    2015-02-26

    Free OpenFx plugins for Resolve

    Since Resolve (and the free Resolve Lite) doesn't support one OpenFX method,
    the Openfx-Misc set of free plugins needed an update.
    After a discussion in the Blackmagic forum, this has now happened.
    I was able to compile them without any issues and they do show up in my Resolve 11 Lite on MacOS.

    On a side node: openfx_yadif (for deinterlacing) is still crashing in export after 5-20 frames. It does work in the color tab. Even with playback running.

    2015-02-10

    Searching for a monitor

    I'm thinking about a wide color gamut display for Color Grading in Blackmagic design - Davincy Resolve.
    It will also be used in Final Cut Pro X.
    ...and VLC. ;)

    Options


    The HP Dreamcolor Z27x (720eur 2048 x 1556)
    sems to be more affordable compoared to
    the EIZO ColorEdge CG247-BK (1500eur 1.920 x 1.200)
    or EIZO ColorEdge CG277-BK (2000eur 2.560 x 1.440).
    You save 100-200eur for the calibration device but both need the Ultrastudio Mini Monitor as an added cost factor.

    NOT the smaller Z24x (400-550eur 1920x1200) because
    * that doesn't calibrate without a PC like the Z27x does and the software only exists for Windows.
    (http://www.liftgammagain.com/forum/index.php?threads/new-hp-dreamcolor-monitors-4k-capable.2694/page-6)
    * it doesn't have the same kind of panel or the same precision as the Z27x
    http://www.liftgammagain.com/forum/index.php?threads/new-hp-dreamcolor-monitors-4k-capable.2694/page-8

    100% sRGB Coverage
    100% Adobe RGB Coverage
    100% BT. 709 Color Coverage
    99% of DCI-P3 Coverage

    Setup


    I'm planning to use the
    Blackmagic Ultrastudio Mini Monitor
    to output 10bit 4:2:2 YUV
    since the newer Z27x supports the DreamColor Engine with YUV and not only RGB now and the Mini Monitor is limited to YUV only.

    Calibration


    One problem I have is that the cheapest, supported calibration device (HP DreamColor Calibration Solution(B1F63AA)) for the Z27x seems to be half the price of the entire monitor (200eur). :/

    A Spider4Pro or Spider4Elite that cold also calibrate my other displays and laptops would not work with the internal LUT of this display. :/
    On the other hand the  B1F63AA is much more accurate then the Spider will ever be.


    Evaluation


    Z27x
    720eur + 100eur + 150eur = 720eur
    • less quality control
    • no sun shade
    • 4K downscaling, 1:1 4 corners + center + dynamic panning
    • 2 DisplayPort 1 HDMI
    • 100% sRGB Coverage
      100% Adobe RGB Coverage
      100% BT. 709 Color Coverage
      99% of DCI-P3 Coverage
       

    CG247-BK
    1500eur + 100eur = 1600eur.
    • 100% sRGB
    • 99% AdobeRGB
    • 100% Rec709
    • 95,4%DCI
    CG277-BK
    2000eur + 100eur = 2100eur.
    • 4K downscaling and 1:1 4 corners
    • 100% sRGB
    • 99% AdobeRGB 
    • 100% Rec709
    • DCI: 93%


    2014-12-16

    OpenBCI

    After doing some initial ECG experiments with a simple Arduino shield,
    I got my OpenBCI from Kickstarter just in time for 31C3.
    For the time being, I'll use this blog posting to collect some links and notes until I get things sorted out.
    Much of the OpenBCI documentation on the official site and source code repository is still unwritten,
    so I need to do a lot of hunting, gathering, guessing and experimenting.

    Results so far:
    • I see clear signals with lots of SNR for muscle movements and eye movement
    • The OpenBCI_GUI app has way too little in the ways of signal analysis.
    • I'm having trouble using my Olimex EEG designs in BrainBay with the OpenBCI


    Getting started
    People/Talks/Blogs

    SW

    HW

    Headware

    2014-11-26

    ECG/EOG/EEG experiments

    I'm a backer of OpenBCI  but they still haven't delivered.
    (Other people have, 3 days ago)
    So I just ordered myself a "Shield-EKG-EMG" from Watterott.

    I managed to get my heatbeat.
    (That's the easiest you can do.)
    Next step shall be tests of Electro Oculography (electric eye tracking).








    Just some notes for myself:



    EOG

    Signal is in the range of 1mV peak to peak .
    Eye-blinking artifact is very strong.
    50Hz line noise must be removed (of cause). (notch fiter)
    low-frequency cutoff to 0.02 Hz
    high-frequency cutoff 50Hz


    2014-11-21

    Accuracy tesing 3D scanner



    I want to know how well the Sense 3D scanner together with the Skanect software (since the Sense software only works on one computer per scanner and is pretty much crap without CUDA) captures mechanical dimensions.
    Both in terms of absolute dimensions in millimeters (scaling of the entire part) and in terms of relative sizes of components to each other.

    As a first test I scanned my camera. It's a small object and I had an error of about 10mm for a 130x70mm part in all 3 dimensions. Not very good.


    Then I scanned my face.
    Cleaned up that scan in Skanect, then NetFabb, then Meshlab (because the free NetFabb version doesn't allow you to fix some errors unless you buy the pro version).
    Then imported that mesh into Geometric Design (my CAD program with 3D scanner and -printer integration).
    Designed a mask with no allowance (not even under the nose or in the eyes).
    Printed that mask on my Ultimaker II using default settings.
    result?  It fits my face perfectly!

    I'm currently waiting for a FabScan Cube to also scan small objects, where the Sense failes and am waiting for Skanect to support my higher resolution Kinect V2 for Windows. (I'll try the libfreenect2 software on MacOS/Linux next week.)