• I can’t describe how relaxing has become painting for me. I had this project in mind for months, start it around a year ago when I stepped into Michael’s stores and saw 70% off primed canvas and got couple of canvas huge and small.

    Started with a small black fish to test out the canvas and using black and white acrylics I had left from the foam wall project. I just couldn’t wait to start! so much desire to paint. I didn’t have any other color or brushes so I used a plastic spoon. It’s ugly but I was very happy with it, I could experimented textures and the eye of the fish was fun to do too.


    Then ordered some basic brushes and colors in Amazon to start with. I got two very large canvas, gallery size, and started a huge painting to cover almost the entire wall of the entrance of my house.

    Big mistake, beginners should start small canvas and grow in size when they master the technique.

    What to paint? I wasn’t sure, I “know” how to paint horses, with a pencil, no volume, just the outline of the horses but it looks not too bad. Well I have inclination to painting this way since I was a child; maybe by watching my father because he’s an architect and back then they did a lot of drawings for perspectives on buildings, with people in motion and furniture and landscaping. Always black and white and very line based (I remember people had no faces, that was fun too).

    But I set the goal for this painting: a Native American. I can’t say I’m obsessed with them but the next word close to obsession and more than “I like”, then that’s what I have for native Americans. I can’t describe it but I really like all the folklore, the costumes, the dressings, the nature, the horses… so that’s my object to paint.

    Looking at native American’s paintings on the web, I got amazed about the fantastic work of these artists. I love all of those paintings, all of them. That encouraged me to do the painting even more.

    Here’s a work in progress of the painting:

    I’m very proud of it. Several errors I’m aware of: proportions of the subject, light sources in the face, historic accuracy of the items specially the feathers, and more, but really like it.

    And the best part is that my son loves it, I put him to sleep by walking him back and forth while he looks to the painting and boom, sleeps in 5 minutes, knocked-out.

    I also have a strong concept and interpretation with this painting that I personally tell people, so stop by to tell you the story.

    Painting is so relaxing that even writing this post has proven to be relaxing too.

    I have many other projects. There is this series of four paintings of animals I’m doing for my son, started with this red zebra, and a roaster, will do more animals in different colors, let’s see…

  • different levels of abstractions that I apply, or people working with me should apply. They are points of views, strong or otherwise, that I personally have about lot of different topics, technical, code-level, architectural, design, process...

    These WILL change overtime, and that’s maybe my first principle:

    - Things change, a lot, I don’t care, I cannibalize myself many times to look for better software, to improve myself, to meet goals, to meet change. That’s flexibility. You don’t know how is it going to be in the future, so be prepared to rip it off, leverage what you can, and re-invent yourself.

    - Don't feel bad if you break things, fix it learn, improve next time. If you don't break things enough, you are not pushing enough (I stole this from someone/somewhere, can’t remember)

    - Naming things correctly is extremely important, very hard, but very important. I will spend all the time I need to find the right abstraction, to find the right name. If the name feels weird, don’t use it, it’s wrong.

    - Versioning is of extreme importance, this goes beyond our code and bits. Label each deployed version in source and pinpoint that version somehow all the way down to our project planning in all areas. 

    - Things should be simple, is easy to do complicated things, true challenge is doing it simple.

    - Review UI deeply, get obsessed with it, get strong empathy with your user, show your UI to your mum, explain it to somebody, explain the decisions on the elements.

    - Discipline is one of the best virtues to have. Disciplined processes are key to move fast. Processes don’t have to be complex, don’t have to be complicated, but we need a process. It may be on pen and paper, it may be one step, we don’t need to document it extensively, just agree on it and implement it with discipline.

    - Documentation is important, forget about the bus hitting you, none wants that, but life changes, situation changes, and you may need to leave for some reason, give simple, important documentation.

    - Documentation is not always UML and diagrams (but I love diagrams), on the contrary, the best documentation is well written code, readable, written for who will come after you. Always someone will come after you.

    - Don’t take the company hostage, think that everybody can be replaced, but you will not be replaced by holding back stuffs, that prevents progress, you will not be replaced by doing an amazing job, and truly look after the success of the company beyond your own; your own success will come by gravity.

    - Test seriously, if you are in the developers world, you are already wired in your mind to think of all possible cases; make your tradeoffs and test all possible cases yourself, don’t defer testing to our users.

    - Don’t feel bad for bugs, it’s normal. If I get angry, is not about you, is about the fact that we miss it and some user of our product got affected.

    - Sometimes is important to find who’s guilty, most of the time I don’t care, first: fix it, then see why it happens, and do not try immediately to create a mechanism to prevent it from happening in the future, this just adds more complexity and more bugs in the control mechanism.

    - Reuse, please don’t copy paste, DON’T.

    - Log, log a lot. Don’t debug in production, if logs don’t tell you what’s going on, write more logs.

    - Be consistent, don't do everything using a new approach. Be architecturally consistent. But don’t be rigid, use the right architecture for the right problem. Architectures solves problems, don’t solve a problem you don’t have, solve a problem you envision if the certainty of happening is high.

    - Spend as much time as you need building your infrastructure, think in terms of moving fast. What you need to build to move fast? you can build a horse carriage fast and you will get some speed, but you can build a plane very slow but get awesome speed, our situation will be somewhere in the middle; think about it and build the infrastructure you need for our case to move fast.

    Give me six hours to chop down a tree and I will spend the first four sharpening the axe."
    - Abraham Lincoln

    - Try to do the things right for the first time, don’t do it to come back later to fix it, it’s going to cost us more, keep the balance, but think first, think will be cheaper.

    - Don’t do unplanned things unless they contribute directly to your infrastructure to move fast.

    - Don’t "you have an error, I have an error" is "we have an error".

    (…to be continued…)

  • You may think: “What the heck `hostable` means there? of course you have to host them somewhere?” true, true, but I mean something different here, you’ll see.

    We all used (and is still heavy used) N-Tier Architectures. I don’t get along with them quite totally now, but it was fantastic. You organize application in layers that specializes in the kind of tasks performed in that layer.

    The presentation layer is specialized in UI stuff to a user can interact with our app and it enforces usability, aesthetics etc. DataAccess Layer specializes in the details of interacting with a data source hence abstracting this tasks to upper layers. And so on with the others.

    image

    My problem with this over time was that for larger systems you end up with components from different domains of your model all mixed together.

    The main reason for that is that developers tend to group them per their technical function rather than per their business or domain function. “This is data access work, have to go to the data access layer”, true, but that data access code for billing I don’t like to be mixed with user management, I just don’t like that mix.

    I then split the design vertically into more domain oriented modules that each keep its layers inside, in a way to increase cohesion, organize and assign people more functionally in a way they can work top to bottom.

    image

    Using a relational database made it complex, sometimes impractical to logically and physically separate those domains as dependencies increases specially at database level. But later on, I started using noSql approaches and mixed SQL and noSql in the same system and that was the perfect moment to split the architecture as I wanted.

    Now each module is entirely independent, has it’s own entities, it’s own data access, it’s own data store (it could be SQL, it could be Document Oriented) it’s own repositories, it’s own migrations, it’s own services, it’s own startup code etc.. Services and entities are exposed for other modules to use.

    All modules shares vertical services like common data access generic code, utilities, security, logging, telemetry, configuration…

    This architecture worked really well, it is physically and logically separated, it helps in understanding the system complexity, helps with the “where things are” onboarding questions, and most of all: I can choose to host them in side a webAPI project and expose business service’s functionality through a rest API and scale them independently.

    Is that a microservice architecture? I definitely can be, and it definitely is, but it’s “hostable” microservices as they are not yet physically deployed to independent hosts that you can scale separately, they are referenced via project reference and consumed via instantiation rather than HTTP calls.

    Good thing for me is the option to convert them to the now called microservices, (which I have successfully done for some modules specially the auth ones) or keep referencing them and avoid latency Smile with tongue out 

    Look at 3 hostable microservices our clients portal has:

    image

    And an inner look of one of them

    image


    This is the billing module using SQL storage. Where’s the presentation layer? Presentation has become so rich and complex now that they are an app on their own with it’s own architecture, let’s examine an angular front end app that would serve for all those components how it would look like in another post soon.

  • It feels so nice when you think you lost something and then remember you have a backup of it. It also feels wonderful not having to worry for losing stuffs because you know you are backed up. It just feels great inside.

    On July 2011 I started a blog, which then I stop writing by 2014 for a while, then restarted this one. I wrote a post there on how to install a Windows 7 driver on a Windows 8 Laptop so I remember it and was very useful as I had to do it several times.

    I still have that Laptop around, it’s where I keep the video surveillance software for the IP security cameras project I did few months ago. Can’t connect to connect to WiFi on this Laptop, so what’s the first thing you do with an issue like that? (after restart the computer)? reinstall Windows.

    Funny thing, I need to update the driver following the steps but the blog doesn’t exist anymore. But sweet!, I have backups.

    I’m importing those old blogposts here in this blog, (the few ones that makes sense).

    Most users now see backups as a settings convenience rather than data saving in most cases. But back then in the old days keeping data alive was a big deal, mostly because of the nature of the storage devices we used.

    Today with the cloud and the backup and availability infrastructure our vendors do for us we barely think about this. Specially developers, as our de-facto source control tool is there for us, and we host side projects on GitHub, and use OneDrive, DropBox…

    I have lost several floppy disks and lost information, several CDs and lost information, SEVERAL hard disks and lost information until I stablished a disciplined backup strategy and stopped information losses.

    Still keep this project structure: Current, for active projects and a projects Archive that lives in OneDrive:

    image

    Most personal projects have private BitBucket repositories but still, snapshots for closed projects are saved to OneDrive.

    My local workstation have daily encrypted backups to a network storage disk. And video recordings uploads to an Azure Storage blob account.

    image

    In this setup, the HD is connected to the NetGear R6400 router, really good by the way, it has VPN, Guest Network, Monitoring, Parental Control, and the ReadyShare option when you can plug an USB HD and it’s accessible to your LAN as SMB but also from outside over HTTPS or FTP, even SBM.

  • THE wizard control, I love those. The first wizard I remember was a Windows95 setup wizard for all software installers. On Windows Forms platform the wizard UI design pattern is a very nice way to break long processes into step by step.

    I’m not a Windows Forms developer converted to a web developer, I started with the web, but touched Forms as well and on ASP.NET WebForms (back then just ASP.NET) the abstraction of UI Web Controls lacked THE wizard control and it was eventually introduced in later versions of ASP.NET.

    When I started using MVC immediately mimicked the way of creating a wizard. The wizard in the web had some constraints:

    • Dependable steps by steps.
    • Previous, next, finish, cancel buttons.
    • Same URL, the user see the same URL all the time, there is no `?step=1` and then validate the step is right.

    This is a very simple wizard I had to create for a checkout-like process in ASP.NET Core with a single URL all the time, and depending on a persisted state, it will enable or disable the actions to handle that request.

    Every wizard step is defined by one or many MVC actions. They are decorated with WizardStep attribute that will decide if the action is enabled or not.


    [WizardStep(0)] [ActionName("Checkout")] public IActionResult CheckoutStep0Get(Guid checkoutId) { //... return View("Checkout0"); } [WizardStep(0)] [ActionName("Checkout")] [HttpPost, ValidateAntiForgeryToken] public IActionResult CheckoutStep0Post(Guid checkoutId, string go) { if (!ModelState.IsValid) { return View("Checkout0"); } //...

    if (go == "Next") { _checkoutRepository.MoveNext(checkout); } else { _checkoutRepository.MovePrevious(checkout); } return RedirectToAction("Checkout", new { checkoutId = checkoutId}); }


    In this sample, there is a wizard step 0, two actions handle that step, CheckoutStep0Get and CheckoutStep0Post. MVC will use the HTTP verb to to enable or disable the actions and the wizard attribute on top of that will decide based on the current step which one to enable or disable as well.

    Here’s the WizardStep attribute:

          [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]     public class WizardStepAttribute : ActionMethodSelectorAttribute     {         ///          /// Indicates the step          ///          public int Step { get; private set; }          ///         /// A provider to get steps based on current request data         ///          public Type WizardStepProviderType { get; set; }          public WizardStepAttribute(int step)         {             Step = step;         }          public override bool IsValidForRequest(RouteContext routeContext, ActionDescriptor action)         {             IWizardStepProvider stepsProvider;              if (WizardStepProviderType != null && typeof(IWizardStepProvider).IsAssignableFrom(WizardStepProviderType))             {                 stepsProvider = routeContext.HttpContext.RequestServices                     .GetService(WizardStepProviderType) as IWizardStepProvider;             }             else             {                 stepsProvider = routeContext.HttpContext.RequestServices                     .GetService(typeof(IWizardStepProvider)) as IWizardStepProvider;             }              if (stepsProvider == null)             {                 throw new Exception($"Can't create an instance of type '{WizardStepProviderType}'");             }              int currentStep = stepsProvider.GetCurrentStep(routeContext.HttpContext);              return Step == currentStep;         }     }


    The ICheckoutStepsProvider is requested from the DI container or the type specified in the member is used. It will provide the current step we are in, I used a QueryString to describe the current checkout id, then use it to retrieve from storage that checkout object.

    Download this sample project from Github to play around with the simple wizard. Download

  • Here are few body cleanses routines I practice periodically to remove body toxins and help the organism with one of his maintenance mechanisms. I have mentioned them to several people and they have got awesome results and I have received awesome feedback for them.

    Disclaimer: I’m not a doctor. I don’t have former medical or botanical training. I do these procedures to myself for keeping a healthy body and my body needs it and it works for me. If anyone do this do it at your own risk, you should consult your doctor… anyway, you get the idea. I have to put this disclaimer here.

    I have several cleansing procedures, from simple to very very powerful and I apply them depending on how I feel my body or on a schedule. These procedures comes from folklore, traditional medicines, herbal based etc. they are not stablished medical practices or have been indicated by doctors, but again, they work on me and I have seeing them working over and over again.

    Digestive teas (several times a week, low power)

    This is the most basic cleansing: help digestion a lot and keeps the bowel movement.

    I use Chamomile and Anise tea and Ginger, which is known for having lots of health benefits but I like it for body balance. Chamomile is my favorite for digestion, also can be applied to skin for heat rash and similar for its refreshing and antiseptic properties.

    I regularly order the organic Ginger Aid from Traditional Medicines, from Amazon:

    It’s fabulous, as well as their entire products line. I’m regular customer of their Echinacea Plus for boosting immune system, I have been 2 years without common cold and with no flu shoot by using the Echinacea plus when I feel something is coming.

    Throat cleansing (several times a month, powerful)

    Our tree big body filters: tonsils, kidneys and skin. They fight for us very hard, I have my tonsils removed putting extra stress on kidneys. Tonsils are part of the lymphatic system and fight infections, they are a very good security guy in a highly transited entrance to our body.

    In my view, your immune system is great and you never complain from your tonsils, except maybe once a year with common cold; or your immune system is weak and you get lot of infections in your throat consequently. 

    It’s underestimated the impact on your body by the well or bad functioning of your tonsils, more on this later as I will pull together several affections for throat/tonsils only.

    Procedure: Gargles with water, salt and lime.

    • Half a lime, (the green lime one, not the yellow one) I tell because in Spanish both are called “Limón”.
    • 1/3 teaspoon of salt. Iodized salt is better. More about iodine on the throat post later.
    • 5 to 6 tablespoons of water.

    I mix it and I do gargles with this, it should be enough for 4 – 5 gargles. It it’s too strong I add more water. I don’t want it soft, I want to feel it scratches my throat.

    Under common cold or a throat infection I do this several times a day. And I repeat it several times a month when I feel the throat complaining a bit.

    After doing the gargles I keep calcium pills around and I chew a little bit of one pill to help the teeth. This combination is very acid and can work on tooth very hard causing sensitivity, so chew the calcium right after it will neutralize that effect. Also when I do it in the morning I put a little coconut oil in the mouth before and apply it to the teeth as a protection for the same effect.


    Blood self purification (quarterly, very powerful)

    Kidneys purifies the blood, but I help mines with this cleansing often. My schedule is quarterly for few days.

    One common sign of blood needs cleansing is increasing veins in the feet with itching.

    Usually it could be due to low circulation or any circulation issues, no necessary to adding toxins by the body or food or the body inability to keep up removing. circulation issues is key candidate for this purification.

    I have seeing ulcers in a feet that never heals and this procedure will speed up healing tremendously, because blood gets purified and the body can heal the ulcer better without the old dirty blood down there.

    Surprisingly several feet related issues gets fixed with this procedure.

    Procedure: This one is very simple:

    • 1/2 cup chamomile tea, room temperature, not hot!
    • 1 teaspoon of milk of magnesia
    • tree times a day 15 minutes before breakfast, lunch, and dinner.

    I do this one for 2 – 3 days or up to 5 days depending on how long is needed.

    Milk of magnesia is a laxative, so 1 teaspoon is enough, I have seen people using 1 full spoon and you just go to the bathroom too much. I use this one:

    This procedure will clean all intestines in a gentle way thanks to the cold chamomile tea, which also helps the magnesia milk to move down faster. The key here is to take it before meals so you keep a supply of fresh nutrients right after otherwise would weaken the body too much. The body will get rid of old stuffs in the intestines, will get super fresh nutrients and will have time to detoxify by it’s own.

    Doing this for long time weakens the body, I even lose weight when I do it.


    Liver cleansing (twice a year, extremely powerful)

    This product I found over the counter, it’s also a powerful laxative but has a cleaning effect on the liver, very powerful, weakens the body and cleans deeply.

    Procedure:

    • 1 tablespoon of Colefilaxe
    • 1 tablespoon organic brown sugar
    • 1 glass water, room temperature slightly cold.

    I take this one once every 8 days and repeat 3 times. I do this one or twice a year but far from any other cleansing because it’s strong on me.


    Gallbladder purification (every couple of years, extremely powerful)

    I got gallbladder issues and discovered this procedure. It’s plant based and phenomenal results after no other medicine worked for the gallbladder. In synthesis my gallbladder got crazy and I had strong digestions issues, I ruled out dairy as the trouble maker but still, it was this treatment what got it back to normal.

    The plant used is commonly called Porterweed (Stachytarpheta jamaicensis)

    Procedure:

    • one handful of branches including flowers, branches, leaves, everything
    • 2 cups olive oil
    • 2 cups honey

    I cut the plant in small pieces, and deep fry it in olive oil until it gets a “fried look”. The result is in some bitter oil, darker than olive oil.

    I took one tablespoon of the oil followed by one tablespoon of honey, right before breakfast, lunch and dinner for 7 to 9 days.

    This is detoxes the gallbladder, and saw effects after few days. Usually this is followed by The King Cleansing right after because of the whole oil thing and the plant itself seems to be complex.

    Here are some pictures I shoot the last time I did it.


    The king of cleansing

    This is my favorite, and this is like the most powerful medicine that will ever be created. There is a plant called “Palo Caja” (Allophylus Cominia). Very effective antioxidant and anti-inflammatory.

    The procedure with this is to take the branches and cut 4 –5 inches long pieces. Then slitting each piece when dry into many thinner sticks in a way that the interior of the wood is exposed, I discard the shell.

    Then I use 3 – 4 sticks and put them into water 4 – 6 hours and drink that as common water. The water will continue being odorless and tasteless but will get slightly pinkish or pale-brownish.

    Those sticks will slowly release small particles into the water that will travel the intestines, get absorbed and travel the blood and enter the smallest parts in the body, similar to any NSAID but with slow and gentle effect, no chemicals no side effects.

    Unfortunately this plant doesn’t grown in Florida, but this is really the best health benefit I have ever get from any medication or treatment.

  • Maybe it’s a bad idea to blog about this, because my future interviewees will know it before hand Smile. Well, if so, then be honest… and get a good computer. This is really the first question I ask when I’m interviewing for technical positions.

    I started interviewing for frontend developers for an ASP.NET MVC project (Razor UI) and all of them used Macs, have never used VisualStudio before, but “we will figure it out” was the feeling at the moment.

    We didn’t have a fully detached UI like an AngularJS frontend plus WebAPI in the backend (as we end up doing); how are you going to run this solution in your mac to work? But we had to move with a hire, and at the end we hired a Mac guy.

    Awful experience to run the solution on his end on a VM, it was not just Mac it was a SLOW Mac which is worst. After several failed combinations to try to accommodate him, I detached the UI fully so they can have their Angular frontend on their Macs and the WebAPI backend was published to a server.

    But I kept asking as first question “What kind of computer do you have?” not just because a concern about the Mac, it makes no difference for good developers and that’s the point. And I started thinking on all the implications of that and I really like this question now.

    Well, the Mac itself? I don’t like them. Very expensive, you can get same performance for way much less money. But I don’t like Apple products anyway, they have this ability to enchant people to buy their new same-as-the-old-one-just-with-one-tiny-addition model. Maybe I shouldn’t like the people that use them instead of not liking the company for doing that? Well I can’t as my wife uses an iPhone so…

    Anyway, asking for what kind of a computer do you have, will tell me if it’s a Mac of course but also will tell me a lot about the developer itself as I have found that developers that doesn’t have a high performance PC don’t care too much about their quality job. It’s a direct correlation in my opinion.

    You can see developers that have mediocre computers at work because “the company provides the equipment”. That’s an excuse, I know good developers in those cases will convince their bosses to buy good stuff. And by the way if your boss doesn’t understand you need good equipment to work, go find another employer. If you can’t convince him with facts, then you probably doesn’t understand those facts affecting your performance and it’s relationship with your work.

    You can also see people with monster computers for work, I don’t like that either but at least show you passion about it. I’m in favor of reuse old electronics, and have the right amount of processing power for the kind of computing that you do. If have too much that’s a waste of money and a waste of energy.

    If you measure it, a slow computer slows you down. It’s incredible how much time you will waste, I have guess it but haven’t measure it as I have had fast computers all the time. Will post soon a deep measure on this with timings. I’m focused now from the interview point of view.

    I’m not going to get into “how to make your computer faster”, no, but you should really measure where your bottle neck is and improve that. Is it your hard disk or your processor? Ram is usually good nowadays, 16G is common which is good for most things.

    As an interviewee, if I ever have to interview you, please note that caring for your PC, having a fast and reliable PC tells a lot about you as a developer and as a professional. In my world view and moral system having a huge, extra computer will also tell me about you and how you waste resources.

    What do you think of a chef with very bad appliances, non fresh ingredients, ugly stove? What do you think of a barber with rusted scissors? it’s the same thing with your computer if you are a developer.

    But what do you think of a chef with a commercial kitchen to fry an egg? What do you think of a barber that state of the art LASER equipment to cut one hair that is bothering him? etc…

    Do not use a cannon to kill a mosquito. Confucius.

    via GIPHY

    Now, go and upgrade your PC, and don’t waste resources.

  • Very hard, very very hard to get the speed effect with the background blurred and the moving subject in focus.

    In last Olympic games at Rio we all got delighted with Usain Bolt picture smiling in the Men’s 100M final. This was short after I wrote about my first month of photography and immediately was thinking how to take pictures like that.

    This article describes the photographer’s story behind Bolt’s photo, it’s fantastic as it describes some camera settings which I started to mimic.

    The first ones I tried with some cyclists in Brooklyn Bridge in New York, September 2016:

    IMG_2001IMG_2006

    Difficult as I adjusted camera settings with several attempts. These are the best ones but still not good.

    Other attempts in the subway:

    IMG_2063

     

    Recent attempt at Homestead Rodeo, January 2017

    IMG_3444

    Unedited, Shutter Priority: 1/40s 200mm

    Not good composition but the effect is what I like.

     

    I’m getting close…

  • Very interesting project I’m working on at the moment: a DIY home security camera system. I’m not extremely paranoid about security but I do think it increases security at home.

    Research

    I started by doing the most immediate research: asking my friends “hey, what security camera system do you have?”, and searching for people’s comments online.

    I found most of people uses some camera system with a DVR with 4, 6 or 8 cameras, the DVR records locally and they have a mobile app with real time view. Sometimes there is cloud storage for a price. Prices ranges from about $300 to $1000 depending on number of cameras and features.

    The cameras transmit video signal using a video cable and all of them connects to the DVR, which has an internal hard disk, and some video output that you can connect a display to and using some remote control or some embedded buttons operate the system. This DVR is a tiny computer.

    The thing I didn’t like about this systems is the ability to add more cameras, if you buy one with 6 cameras, (channels) then you have 6 cameras and you will need to change the DVR for one with more channels if want to add more cameras in the future.

    The thing I did like about it was the idea that the DVR is a tiny computer, maybe with its own firmware or maybe some Linux inside, uuu that was interesting. What if I can use a “real” computer and do some custom stuff? this way I could reuse old electronics at home (as I like to do) like computer and hard disks.

    Got few advices from people: make sure it has night vision; make sure it’s 1080p so you can see it clear; make sure you’re not buying from a provider with monthly fee for cloud storage…

    Goals

    After all that I had an idea of what I wanted and set my goals to search for the items:

    • Flexible system where I can add multiple cameras in the future
    • Night vision
    • Weather resistant
    • Wide angles
    • HD 1080p video quality
    • Mobile app for real time view
    • Local and Cloud storage
    • Everything Low cost
    • Easy/no maintenance
    • Cover all house entrances and windows
    • Cover every cameras with another one

    The system

    I decided to use IP cameras, connected using a regular network cable to a switch or router that connects to a home computer that saves video locally and uploads to the cloud.

    I felt more confident dealing with issues related to something that talks IP and can connect to a computer than some video black box.

    The IP cameras are very cool actually, I got this two types from the same vendor HOSAFE 


    Domes for the front door and the back terrace, and other bullets for the other places. They are the same ting inside, but the bullet is easier to position, the dome one is good for looking mostly down.

    They have HD 1080p but other models have lower video options as well which are cheaper. I bought different ones to try out and the 1.3MP works quite as good as the 2MP. They are weather proof, have night vision, POE, and ONVIF.

    POE was a good thing for me, POE means the Power over Ethernet, it means there is no additional power cable for the cameras, the Ethernet cable itself carries the power, so I needed a switch that provides POE and got this one for $30 bucks:

    This switch is very simple, supports up to 7 cameras. But if I want more in the future will replace this switch for a larger one. The thing is that large switches with tons of POE ports are expensive. Other option is to use a regular switch and use a POE injector like this one:

    But it’s similar price to the switch but if someone have a an existing switch with no POE ports can use an injector like this one.

    The ONVIF protocol it’s a standard protocol for exchanging information from network video devices like IP cameras. If it’s a standard it’s good, it means I can use different software or other devices that support the protocol.

    Cabling is the easy part from the infrastructure and understanding point of view, but it’s the hardest part from the installation point of view since my attic is very intricate to walk through. It was a challenge however it was done dark, at 7pm in 3 hours with a friend’s help. I used this cable:

    Ethernet cable. This roll is 200ft, I ordered two rolls. Cat6, Cat5 and Cat5e works quite well as well.

    The software is the part I’m still experimenting with. The one that comes with the camera works, perfect and have a lot of features, motion detection, email settings, video recording, blackout zones. In the software is where the brain of the system relies, the mission of the camera is just to capture and digitalize the video and stream it over the Ethernet cable, the software will detect in our local area the cameras and will do all the other features.

    I have experimented with a few mobile apps for remote viewing but still finding the one that I like, so I will update this post later with my final choice. For now the one that ships with the camera works great but ANY software that can talk to an IP camera can be used here, and that’s the beauty of this system for me.

    Installation

    The first and most important decision for me was to decide where to put the switch and computer inside the house since all cables coming down from the ceiling will be on that spot, and again: cabling was the hardest physical part.

    I was lucky in this part because it’s a new house for me, so I could put my “home tech center” wherever I wanted. I put it in the center of the house as the router will also be in that location maximizing wireless coverage.

    In this area I opened a whole in the ceiling and put a 1 1/4 PVC pipe 9 ft. tall to pass all cables trough, then attached a 90degree elbow union and another 4” piece to it. This was done at a side of a wall and then I extended the wall to cover the tube:

    pvcview

    This view shows all cables already through. Also I passed the internet cable here and kept an extra robe for helping passing additional cables in the future.

    Initially I thought doing it in an existing wall where no wall extension was possible, it could be done using the pipe by breaking the wall a little bit to make a perforation in the horizontal wood joints in the wall to make the pipe goes through, and then fixing the wall. For me it was easier to extend the wall a little bit since this room was in some remodeling process.

    This is how it looks in the attic:
    attic-cabling

     

    For the finish of the pipe I used an electric outlet cover with a whole to fit the 1 1/4 tube, then covered with another PVC coupling just for the finishing, and here’s the final result:

    final-view-cabling

    After all these cables are set, I installed the cameras in the positions I decided. First I created a map of the house and using the angle from the camera specifications I tried different layouts of the cameras to cover the points. Not to be paranoid but I will not publish here the layout Smile with tongue out

    Installing the HOSAFE cameras is super easy. The camera comes with a small cord with a joint to attach the Ethernet cable and optionally power cable, but I just sealed the power. The Ethernet union is very strong, the packaging comes with some plastic joints to make it weather proof also, but opened a whole in the exterior ceiling and passed the cable through so in the exterior is only the camera with no cables, everything it’s in the attic.

    This project is still not finished as I need to another two cameras. Will update this post with outside views of the cameras, the final software I used and my general comments on the system.

    Items List

    Here’s the list of all items I’ve used and final project cost. Of course this doesn't includes the costs associated with the materials for extending the wall itself.

     

    Total is about $380 for 6 cameras. There are lot of extra connectors and plug covers that I can reuse for other network cable installments.

    Update 4/20/2017: System has been running great so far. Software View:

    image

    image

  • Few weeks ago I drove from Miami to West Palm Beach in my Honda Civic ‘15 to visit my good friends over there. Filled up tank with gas and reset the trip meter. I love this car’s fuel economy and size, always makes very good MPGs.

    This trip was all by highway. It was raining on my way there so the overall speed was slow, (Miami slow) about 50mph. I didn’t pay attention to the MPGs as I was looking for hazards and very aware of the cars in front of me as the visibility was not good.

    On my way back, already dark, I took I95 and it was not raining hard but something slight, since it was a weekend I95 traffic was very nice, temperature was good so no AC, the light rain forced people to go 45 – 50 mph. All that made ideal conditions to have even better MPGs.

    When I noticed, the car was making 40 MPGs!

    Then few miles after it was skill going up, it was so proud of the car making such a good MPGs. After another few miles it continued to go up and it got my entire attention. Speed was constant, low speed, no AC. and I keep taking pictures every time it went up until it got to a new personal record:

    WP_20160809_21_35_44_Rich_LI

    44MPGs

    Very funny experience throughout the trip keeping track of the record, I have never made this much MPGs on the Civic before.

    The car is supposed to make up to 37 mpg in highway according to fuelaconomy.gov and I have made exactly that before as long as I don’t exceed 70mpg and reset the counter when entering the highway.

    It was still very impressive the 44 MPG, and I have made it close to that other times as well. Is it the fuel? driving conservatively? it’s broken? I don’t know, but I like it’s efficiency.

  • Very interesting project I’m working on at the moment: a DIY home security camera system. I’m not extremely paranoid about security but I do think it increases security at home.

    Research

    I started by doing the most immediate research: asking my friends “hey, what security camera system do you have?”, and searching for people’s comments online.

    I found most of people uses some camera system with a DVR with 4, 6 or 8 cameras, the DVR records locally and they have a mobile app with real time view. Sometimes there is cloud storage for a price. Prices ranges from about $300 to $1000 depending on number of cameras and features.

    The cameras transmit video signal using a video cable and all of them connects to the DVR, which has an internal hard disk, and some video output that you can connect a display to and using some remote control or some embedded buttons operate the system. This DVR is a tiny computer.

    The thing I didn’t like about this systems is the ability to add more cameras, if you buy one with 6 cameras, (channels) then you have 6 cameras and you will need to change the DVR for one with more channels if want to add more cameras in the future.

    The thing I did like about it was the idea that the DVR is a tiny computer, maybe with its own firmware or maybe some Linux inside, uuu that was interesting. What if I can use a “real” computer and do some custom stuff? this way I could reuse old electronics at home (as I like to do) like computer and hard disks.

    Got few advices from people: make sure it has night vision; make sure it’s 1080p so you can see it clear; make sure you’re not buying from a provider with monthly fee for cloud storage…

    Goals

    After all that I had an idea of what I wanted and set my goals to search for the items:

    • Flexible system where I can add multiple cameras in the future
    • Night vision
    • Weather resistant
    • Wide angles
    • HD 1080p video quality
    • Mobile app for real time view
    • Local and Cloud storage
    • Everything Low cost
    • Easy/no maintenance
    • Cover all house entrances and windows
    • Cover every cameras with another one

    The system

    I decided to use IP cameras, connected using a regular network cable to a switch or router that connects to a home computer that saves video locally and uploads to the cloud.

    I felt more confident dealing with issues related to something that talks IP and can connect to a computer than some video black box.

    The IP cameras are very cool actually, I got this two types from the same vendor HOSAFE 


    Domes for the front door and the back terrace, and other bullets for the other places. They are the same ting inside, but the bullet is easier to position, the dome one is good for looking mostly down.

    They have HD 1080p but other models have lower video options as well which are cheaper. I bought different ones to try out and the 1.3MP works quite as good as the 2MP. They are weather proof, have night vision, POE, and ONVIF.

    POE was a good thing for me, POE means the Power over Ethernet, it means there is no additional power cable for the cameras, the Ethernet cable itself carries the power, so I needed a switch that provides POE and got this one for $30 bucks:

    This switch is very simple, supports up to 7 cameras. But if I want more in the future will replace this switch for a larger one. The thing is that large switches with tons of POE ports are expensive. Other option is to use a regular switch and use a POE injector like this one:

    But it’s similar price to the switch but if someone have a an existing switch with no POE ports can use an injector like this one.

    The ONVIF protocol it’s a standard protocol for exchanging information from network video devices like IP cameras. If it’s a standard it’s good, it means I can use different software or other devices that support the protocol.

    Cabling is the easy part from the infrastructure and understanding point of view, but it’s the hardest part from the installation point of view since my attic is very intricate to walk through. It was a challenge however it was done dark, at 7pm in 3 hours with a friend’s help. I used this cable:

    Ethernet cable. This roll is 200ft, I ordered two rolls. Cat6, Cat5 and Cat5e works quite well as well.

    The software is the part I’m still experimenting with. The one that comes with the camera works, perfect and have a lot of features, motion detection, email settings, video recording, blackout zones. In the software is where the brain of the system relies, the mission of the camera is just to capture and digitalize the video and stream it over the Ethernet cable, the software will detect in our local area the cameras and will do all the other features.

    I have experimented with a few mobile apps for remote viewing but still finding the one that I like, so I will update this post later with my final choice. For now the one that ships with the camera works great but ANY software that can talk to an IP camera can be used here, and that’s the beauty of this system for me.

    Installation

    The first and most important decision for me was to decide where to put the switch and computer inside the house since all cables coming down from the ceiling will be on that spot, and again: cabling was the hardest physical part.

    I was lucky in this part because it’s a new house for me, so I could put my “home tech center” wherever I wanted. I put it in the center of the house as the router will also be in that location maximizing wireless coverage.

    In this area I opened a whole in the ceiling and put a 1 1/4 PVC pipe 9 ft. tall to pass all cables trough, then attached a 90degree elbow union and another 4” piece to it. This was done at a side of a wall and then I extended the wall to cover the tube:

    pvcview

    This view shows all cables already through. Also I passed the internet cable here and kept an extra robe for helping passing additional cables in the future.

    Initially I thought doing it in an existing wall where no wall extension was possible, it could be done using the pipe by breaking the wall a little bit to make a perforation in the horizontal wood joints in the wall to make the pipe goes through, and then fixing the wall. For me it was easier to extend the wall a little bit since this room was in some remodeling process.

    This is how it looks in the attic:
    attic-cabling

     

    For the finish of the pipe I used an electric outlet cover with a whole to fit the 1 1/4 tube, then covered with another PVC coupling just for the finishing, and here’s the final result:

    final-view-cabling

    After all these cables are set, I installed the cameras in the positions I decided. First I created a map of the house and using the angle from the camera specifications I tried different layouts of the cameras to cover the points. Not to be paranoid but I will not publish here the layout Smile with tongue out

    Installing the HOSAFE cameras is super easy. The camera comes with a small cord with a joint to attach the Ethernet cable and optionally power cable, but I just sealed the power. The Ethernet union is very strong, the packaging comes with some plastic joints to make it weather proof also, but opened a whole in the exterior ceiling and passed the cable through so in the exterior is only the camera with no cables, everything it’s in the attic.

    This project is still not finished as I need to another two cameras. Will update this post with outside views of the cameras, the final software I used and my general comments on the system.

    Items List

    Here’s the list of all items I’ve used and final project cost. Of course this doesn't includes the costs associated with the materials for extending the wall itself.

     

    Total is about $380 for 6 cameras. There are lot of extra connectors and plug covers that I can reuse for other network cable installments.

    Update 4/20/2017: System has been running great so far. Software View:

    image

    image

  • I might have had another constant job for a long time, initially without knowing it, then I was kind of aware of it, but now I’ve decided to make it official: I’m an Independent Microsoft Technical Evangelist.

    What does it means? I don’t technically work for Microsoft on paper or get any direct compensation from them, but I found myself constantly promoting the products that I like and talking about the misunderstanding lot of people have about them, so let’s face it, that’s an evangelist.

    Here’s why:

    I always used Microsoft products

    By always I mean after I was 10years old.

    The first Microsoft product I really used was MS-DOS, when I saw Windows95 for first time that was mind blowing and they just got me. As I’ve said before my first website was built in FrontPage using ASP (now Classic ASP), on Windows98, using Personal Web Server and Access as database, so the Microsoft Stack was really DNA bound to me as a developer. From Office products, to VisualStudio and SQL Server, I got everything I need to be productive and create products that have a market.

    I don’t hate Microsoft, I like it.

    Early 2000s, I felt the Microsoft hate deeply as other colleagues attacked me for using those tools instead of something else. So I found myself (over and over again) engaged in heated discussions with colleagues defending my point of why I used the tools and why I found market for my skills and the products I built.

    It got to a point where I was known as “the Microsoft guy” or as “the C# guy” or as “the .NET guy”. Which I liked.

    My motivation to use the products was simple and based on simple principles:

    • be productive,
    • don’t waste time,
    • focus on delivering the product to the client,
    • leverage what I already know as much as possible.

    All that was easy to apply with the Microsoft tools. What I used helped me deliver software for my clients effectively. And yes, developers had to pay for the tools, and my clients had to pay for the licenses. I understood that was an issue for certain companies/people and that’s perfectly fine for them to find alternatives and I acknowledge the power and future of those alternatives; but never to the point of hating and disregarding the Microsoft products just because of that.

    I know what is like to have hate for some corporations for the way they treat their customers, I’m not a good friend of AT&T for example, but will never attack my friends that use it. I would highlight the benefits of the one I have now.

    “Facts, not Attacks”

    Microsoft have made many mistakes, tons of improvements could have been done, bugs could have been fixed, earlier. But I also recognize and appreciate the effort they make. We all know how hard is to bring software to life and specially how hard is to maintain something that runs is an extreme variety of hardware, run software of an extreme variety of very good and very bad developers, so I think twice before criticizing and I criticize my product and my company before.

    For me Microsoft is the company that people reward too little for the many things it does right, and punishes very hard for the few things it does wrong.

    I own several products and talk about them a lot

    I own/use a few products:

    • Windows Phone (Lumia 960XL)
    • Microsoft Band2
    • Office 365 Home
    • Windows10
    • VisualStudio
    • Azure

    Inside the developer world I used even more products: C# for everything, ASP.NET, MVC, SQL Server, IIS, Entity Framework, LINQ, WCF, well I will really not go long here, but bottom line is that I use a lot of things sometimes because they just ship sometimes because they just work for me.

    Some developers are always looking for the non-Microsoft tool to do the job every time they think they’re doing something fancy. I’m not actively looking for a Microsoft tool if I already have one that do the job, but I’m more than happy to use a Microsoft one as a first try.

    I remember drag-dropping a DataGrid on ASP.NET Web Forms (not called web forms back then but just ASP.NET) right click/enable paging/enable sorting, add datasource etc. and my Java friend was jaw-dropped. Yes of course there are lot of things on that example to take care of for a large app or for some specific requirements and WebForms was an abstraction and abstractions are expensive, specially if you don’t know what you’re doing, but long long discussions about WebForms.

    This kind of scenarios always have been common to me. And I found myself over and over engaged into this discussions because I wanted to share the good life I was living as a developer while seeing other people losing their hair. I wanted other developers to see how my life was good and I could focus on other stuff.

    I thought OOP for one semester to 1st years students on 2009. The curriculum was on Java but I told them:

    “Listen, I know you have to use Eclipse and do things on Java but I’m not going to use it. I have been working 7 years on this Visual Studio and C# so I will use it. I know java syntax, it’s pretty much C# from the syntax point of view, so you can make the similar and it’s going to be good for you. I will teach you OOP so don’t panic”.

    And it was very good and we got very good results, and always show them nice VisualStudio things that helped me a lot.

    People around me see the benefit and get them

    A friend starting up a company asked for my advice on setting up few technical things for him specially a reliable email solution and storage solution for a non-technical team.

    I presented to him the idea of using a cloud storage solution like Dropbox for business for example, or GoogleApps which will also have the email solution covered or Office365 for Business which will also give you have an office license for desktop PCs.

    OK, I might have emphasize the fact of having licensed office installs on desktops (which was major requirement for him). But it was true value and he’s happily running it now.

    When I joined Careerscore they were using AWS, 6 month later we started migrating to Azure, also we get $150 monthly credit through BizSpark but as a VisualStudio user and C# guy and a Microsoft developer in general, migrating to Azure or starting using Azure was so natural, and so fluid that now I can’t think of developing without using it.

    Easy life, good for their businesses, I don’t care as long as it’s also good for mine.

    Two people at work got a Surface Pro and a Surface Book, and one got Office 365.

    I’m “the technology guy” for my family so all computer stuff… you know, goes to me, (and also TVs or anything electric Annoyed) pretty much everybody is using Office 365 with the 1TB space mainly for photos uploaded from android devices and installed versions of Office on their desktops.

     

    It’s NOT about being a fan, I don’t like fan attitude, I’m objective, I don’t get issues when I use the products, I see the benefit and the usability, I also use a bunch of other tools.

    But I decided to add Independent Microsoft Technical Evangelist as a title and even include it sometimes in my resume. It’s also very funny.

    Maybe that’s why a true technical evangelist is in first place, because if you get paid for doing it it losses the fun.

  • I make my groceries shopping at BJ’s wholesale Club, (similar to Costco) I like to buy in bulk, at BJ’s I get nice discounts, nice products, it’s a large store and it’s not crowded... whatever, so we consume one bottle of wine every 2-3 weeks sometimes very 4 weeks. Just an occasional glass before or with the dinner is enough for us.

    Wine is all the same to me. I know couple of people that will get angry with this statement. Is not really the same, I can detect difference in flavor but the whole wine culture is unknown and uninteresting to me. Maybe someone will capture my attention one day with proper explanation and passion and I might learn something about this.

    Well, we tested this wine in a relative’s house, we found it at BJ’s and it comes in a squared bottle. We really like it, it’s sweet, soft, not that dry (my wife don’t like dry wines) and we consumed one bottle. Then we switch to another one but mmm, the squared bottle one was just better. Now we always get the one from the squared bottle.

    I commented this at work and people was surprised for the square bottle. They asked “are you buying box wine Ed?” –me: “no no, it’s a real crystal bottle, it’s just squared, that’s all”. So I had to search on Bing the wine to show it to them. It was hard, I didn’t remember the name since it was hard to pronounce to me.

    After many attempts to remember the name, I came up with the closest search: “manicheviz wine square bottle”. Ok, “manicheviz” was the closest word I could find. It turned out it’s called Manischewitz Wine.

    Menischewitz Wine

    1

    People was shocked and they cracked laughing since they know this is a Jewish wine and I come from Cuba, so I’m stereotypically not a common Jewish wine buyer, and I bought it with absolute no idea.

    I was intrigued since I had no contact with Jewish traditions or food, mainly because Cuba is isolated from the world and there is very few contacts with these traditions, although the mix of religions there is very rich.

    So we continued consuming the wine occasionally.

    The salt.

    Days after I also commented at work I cooked this meal, I can’t remember now what it was, but I mentioned it was good, and I added some Kosher salt at the end… same expressions same shock. But why?

    - “First the Wine, now Kosher salt, are you really Jewish ed?” Laughing out loud

    I had no idea of what Kosher is and what it means.

    This is the salt I regularly use (yes I love to cook):

    0002460001088_500X500

    2

    It’s very thing salt, super small grains, sometimes I need bigger grains for texture, so I found this one:

    0002460001707_500X500

    3

    It’s bigger grains because it’s Coarse salt, but I read “Morton, kosher salt”, so that was “kosher salt” to me.

     

    Reading More

    After the laughs, I got intrigued now more than ever, so I started reading a little bit to learn more about Kosher.

    By principle I don’t care about consuming a product from any ethnic, group, country, sect or religion or whatever, as long as I like the product, it fits my health parameters or my taste. Maybe by being isolated from the world in terms of these traditions is a good thing since probably I’m not biased at all.

    The health explanations around it are very interesting to me. I really like them and truly believe some are of good benefits for health purposes. Any other religious explanation are of debate since I’m not religion inclined, don’t practice anyone, but I respect them.

    Procedure for killing animals, type of animals to eat, removing some fats from animals, food mixes, the list is long actually.

    Looking at the procedure for killing animals for example. I do know the difference at least in terms of taste, of an pig that is killed and let bleed, or a pig that’s killed and doesn’t bleed. The test of the first one is considerably much better than the second one. Maybe the kosher procedure have lot of other reasons that we don’t understand scientifically, or some ones that we do.

    Also, you have to look at the practicality of things. In hard situations, where there is practically no food available, you haven’t eat meat in long time, and it happens that a some pig just got grabbed in a fence and died 5 minutes ago, what are you going to do? throw it away because you couldn’t kill it appropriately or eat it and get the only protein supply you’ll get in 6 months?

    My explanation to holy documents and religion laws, is that smart ancient people discover a series of health risks or a series of good practices to move those societies forward, and expressed them in terms of religious analogies and divine explanations or sacred traditions, or laws, so common people follow them and get some sort of reason why doing it and the benefit of doing it.

    I will continue reading about it, an continue consuming those products or any other as long as they’re good.

     

    1- Image from http://www.manischewitzwine.com/ 

    2,3- image from http://www.walmart.com/

  • I have have a wired habit of right-click/view-source on pretty much any new website I visit for first time, or from time to time for regular websites. That’s normal for being a web developer for long time, maybe that was stick to me since the times F12 didn’t do a thing on a Web Browser Smile. But mostly because I have learned lot of things by doing this since I could see how other folks are doing things. After all, HTML CSS JavaScript work was probably the first most widely adopted form of open source work.

    Sometimes doing this ViewSource thing I found some funny comments in HTML comments, or as I recently saw, a funny HTTP header. They’re funny to me because only developers or developer-inclined people will see it. Maybe we as developers have some localized sense of humor about code comments, check one of the best code comments out there, but they might not be as “open” as ones in HTML or HTTP Headers.

    Here are some of my favorites:

     

    Angel.co: HTTPHeader:


    image

     

    Azure Management Portal: HTML Comment


    image

    Well, I do think the Azure management portal is an awesome app, but that’s another teke for another day.

     

    (Update) Twilio Terms of Service.

    This clause 19 of the terms of service located at https://www.twilio.com/legal/tos


    image

    This is not “hidden” in code per se, but it’s definitely hidden to most people who never read the term of service. The relevant header for this post is:

    image

    Very funny but the one in terms of service one wins over this one.

     

    BuySellAds.com

    image

     

     

    Have you seeing any other hidden ones? send it to update this list or leave it in the comments.

  • I have AT&T as my internet service provider. Not because I want to but because it’s the only one in my area and I’m forced to use it. I dislike this company for several reasons for other teke other day maybe.

    I only have internet service with them and I do not have cable (because just an occasional Netflix covers my TV time) so they constantly send mail letters offering the Direct TV thing.

    I’m signed up for paperless billing for everything that supports it. It’s easier but I truly believe using less paper helps our planet. Now look at this area here in the envelope:

    att-paperless

    “Sign up for paperless billing”

    Initially I thought “oh you want paperless for billing but not for these offers eh?” I get 1 or 2 of these envelopes every week, that’s 4 times more than receiving an actual paper bill. I was irritated about inviting me to signup for paperless while sending 4 times more paper in offers.

    But then realize that they don’t really say that paperless billing will help the planet or save trees, they say it can save you time and is just more convenient. It definitely saves some money for them I guess, but no words about the environment.

    I opened the letter (first time since my last 10 months getting them every week, wow I have got about 40 of these big envelopes so far, and that’s just me and for the shortest time living in this apartment) and read the letter looking for a way to unsubscribe from this. There is none.

    Is it worth my time to call them to complain about unsubscribing from this?

    let me see… it’s 11:50 am.

    ... calling the number that shows up in large font…

    an ATT voice at their IVR responded and says “this number is no longer available, please call blah blah and you can place orders etc…”,

    c’mon!!!

    …trying the blah blah number the IVR said…

    .. struggled with the voice options in the IVR, then went to the closest option to speak with a person regarding TV, but “our office ours are closed, call during regular business hours”.

    it’s 12:05 PM, well, it worth the try. Will definitely try during business hours tomorrow to see what happens. I’m curious about if there is anyway to unsubscribe from this! It really bothers me now.

    I understand it’s an offer and they’re pushing over and over again to stick the DirectTV name and offer a $100 visa prepaid card, they're making their sale, it would not work on me but it will work on other people and will cover all these paper expenses. Is this right?

    Maybe they can target differently people that already signed up for paperless billing, people who show certain attitude with technology, ease of use of services, environment care and many other things.

    I would have a different feeling if I get a letter saying: “No more paper offers for you! Let’s save some paper and trees”, then will email me. I admit I will also ignore those emails, but I would have different feelings regarding the paper offer EVERY WEEK.

    Will update this post with results if I can unsubscribe from these offers or not, let’s see.

    EDIT: Interesting article for “junk mail”.

  • via GIPHY

    Timesheets

    For every project I have worked on from the past 6 years, I keep time-logs with times for in/out. Initially I started the timesheets for billing purposes but continued to keep them for all projects, to help me understand how much time I spend on each one, and not by using my memory or my estimation but by using real data.

    It’s being one and a half year since I joined Snapscore and wanted to go back to my timesheets and make a little analysis to understand my time allocation and find room for improvements of adjustments.

    Timesheets are very simple, Just the date, time in and out, lunch time, then in and out again. If I have a longer break I just repeat the day and add a new in-out.

    Timesheet Sample

    My schedule continuously varies and the timesheet helps me to be sure I work on my projects the time I have to, or want to.

    I had a bunch of excel files with this structure, so I used excel, but also I imported them into a SQL Express database to run some queries. I just feel more comfortable on SQL.

    After running some queries I found interesting points:

    Entrances

    My earliest entrance: 7:20 AM on 8/12/2015, and it’s usually from 9 to 9:30.

    And here’s a snapshot of the INs behavior through the months:

    INs behavior through the months

    There is one at 12:00 AM but that’s the IN for an OUT of 1:30 AM which is my latest OUT. These are the min INs for each logged day. The wired ones like  9:30 PM, or 6:30 PM are from weekends.

    Here’s a view of how many INs in a given hour:

    INs per hour

    The top are between 9 and 9:30 AM

    Exits

    My latest exist: 1:30 AM on 8/19/2015, ok that was an extreme day. Average is 6:20 pm

    This graph shows the exits through the months. It contains only the maximum OUT per day logged.

    Exits

    Here’s a view of how many OUTs in a given hour.

    Exits per hour

    Lunches

    My Average Lunch Time: 48 minutes 0.8091 hours.

    Most common lunch start: 1:00 PM, but anytime from 11:00 AM to 2:40 PM seems good for me.

    Lunches

    Other stats:

    - Average daily work time: 8 hours 4 minutes. This is the average of all days logged, if there is a holiday, or a sick day or something, that day is not logged.

    - Longest day: 11 hours 45 minutes on 3/20/2015 (probably a long update on a Friday, I think I have pictures of that day)

     

    By looking at this data:

    My lunch time seems too much irregular for me, will try to make it more regular or scope it to a 15 minutes variation, 1:00 PM to 1:15 PM. Lunch length is good.

    I knew my INs and OUTs vary from day to day. Before looking at the data I thought that the variation was marked through the year with some months with some specific pattern, maybe with daylight savings time, or when I moved from one house to the other earlier this year. But it turned out to be unstable through out the year but with with marked periods of instability. 

    Overall time worked seems good.

    Wakatime

    Also back in September this year I started using Wakatime, a very cool service which uses a bunch of opensource text editor pluguins that monitor your keystrokes and file edits, and shows a nice breakdown of how you spend your time within your IDE and with your projects.

    I have to say I really like this tool. You just install the pluguins in the IDEs you want to track, And you get a dashboard like this:

    Wakatime dashboard

    Bug you can dig into it, and see which projects you spend more time in, and how much time, even which files you spend more time editing:

    Wakatime files preview

    And another cool feature is the breakdown of the languages you use the most:

    Wakatime languages breakdown

    I only have 3 months of usage here, but will continue using it and make another analysis after 6 months or one year.

    Pomodoro and Pomodone

    I use the pomodoro technique constantly. I tried apps for my iPhone, then for my Windows Phone, but finally I just used the timer app that ships with Windows.

    Over the past few months I started using PomoDoneApp because of his integration with Trello and also looking to have more time data to use and analyze later. The app works but for the purpose of my analysis is still not enough data.

    What’s Next?

    I’ll continue keeping my timesheets, the wakatime tool, pomodone and anything that help me manage and track my time better. But I will improve the time entry with a tool to make it easier, maybe integrate some pomodoro stuff too so I can have integrated analytics. This tool have been in my list for a while, maybe will team-up and write it soon. Will blog about it’s development.

    And the timesheet of this post…

    And here’s the timesheet for the time and sessions I used to write this post and analyze the spreadsheets.

    12/7/2015 – 9:45 PM - 11: 25 PM

    12/12/2015 – 1:50 pm – 4:40 pm

  • Hi, I'm Eduardo, I live in Miami Florida with my wife and my son. I'm an engineer by nature, I have been writing code for the last 15 years and working on the web using mostly Microsoft products.

    Now I’m working in InteractionsIQ building Chatbots from existing IVRs for companies. 

    I don’t have a very active online social media life (and I refuse to have one), but you can find me on LinkedIn. I started this blog to share tekes about programming, technology, computers, hobbies, bots, and other stuffs in a more durable, linkable, and reachable way.

    Background

    I got introduced to programming with BASIC in the mid 90s but didn’t know what I was doing. I got it with Pascal in 2000 and did a little of Delphi. My first website was in ASP around 1999-2000. I ran it in Personal Web Server on Windows 98, and used Access as database, I build it in FrontPage, it was local, nobody ever saw it, it was supposed to auction horses. Then I got forged in C++ right after and have been using C# and ASP.NET from 2003 to date.

    I studied computer software engineer. I’m also an engineer by nature: I was born in a farm, working and breaking fixing things. My first successful project: a chess playing website for the University students community that we build on 2003 during my first year along with an awesome team, (will link to their blogs as they create them).

    Worked 5 years for a Spokane based company. For two years I teach Programming 1 (How to Program, OOP, Java) to first year students. On 2009 I created my own software shop Xoftwee and worked with a couple of other very good developers, small team, great things. Later on 2011 created Vararent with my wife. Early 2014 I joined Careerscore to help them build the product and worked there for 2.5 years. 2016 I started InteractionsIQ. I try to be active and help in other projects as well.

    and what’s a “teke”?

    Good question. It’s a combination of the Spanish idiom “teque”’, which is a popular word to describe in an informal way someone giving a long (sometimes boring) speech, something like:

    via GIPHY

    but I used a 'K' to mimic 'tech'. So, think of a teke like a “teque or blahblahblah with an angle of technology or programming”. So, this is my teke.

    Get in touch: eduardo at edteke.com