Categories

Meta

I made a post awhile back talking about different editors and IDEs and I talked about the merits of each. Probably pretty spasticly and semi-randomly, but that is just how I roll. Off the cuff. I don’t have a lot of time as most people with work and social life, but I wanted to bring something to everyone’s awareness.

Apparently Atom.io the GitHub editor has done something I think is definitely not in the spirit of true open source at least laid out by our predecessors. Ever since I can remember Firefox and other open projects notify you that they are collecting data on you if you would like them to. They tell you it will help them and they have a pop-up toolbar at the bottom. It will notify users of this practice and allows them to easily decide what they would like to share. Atom on the other hand has it enabled by default and the only notification is text you can barely read on a static welcome page. Now I normally check things like this out, but it never occurs to me a software developed claiming to be open would do this. Even Netbeans asks permission. All this new software coming out has no respect for privacy. Haven’t they learned anything from projects that have come before it?

I love the Atom project, but this warrants a fork if it is not fixed. This is not acceptable from any piece of software. You need to inform users with a pop-up notification at the very least and ask if it is ok to enable something like this and let the user decide if they want to participate.

If using your software is stipulated on the fact that we also need to be your BETA testers people usually respond better when this is something they do willingly.

A common saying around the Linux community is that it is less likely you will get a virus. Some people even claim you can’t get any, but I think most Linux users know viruses/malware/nasty stuff do exist for Linux and we need to be security minded just like any other computer user regardless of software running on the machine. One major problem I think some times people forget about is this awesome yet dangerous program called Wine. It is a combatability layer that doesn’t have any sandboxing at all. If it works on Windows you just opened yourself up to a much wider variety of issues. The vast majority of desktop users are OSX and Windows users so this can keep us little Linux guys some what safe just because it serves little purpose to target us. As Linux matures on the desktop and gains more adoption I think we need to start taking a look at what this attack vector could mean and how we could help users by limiting exposure.

Here is an interesting Ubuntu forum post I found while researching I thought everyone reading might get a kick out of it and prove some what educational. It is a little old, but still fun. Have a read – http://ubuntuforums.org/showthread.php?t=72598

If you have any ideas how people should protect themselves while still using Wine please comment below, or send me an email.

For some reason over the years people have moved more and more to editors like Sublime Text, Atom, and even PHP Storm. One thing I think is strange is we already have great IDEs specifically made for programming and yet people want to use other editors. No doubt about it Sublime Text is light and fast, but on my system I have no issues starting up Netbeans and using it all day. It rarely crashes and has far less external dependencies that can be quite cumbersome to deal with at times. First off I am one of those ethical people that tend to lean on the open source side. I don’t mind using closed software at times, but I definitely have different drives that run my closed software and another drive that runs my open stuff. I usually use my open drive 99% of the time and then occasional use Windows when needed. So with this in mind I don’t really like to use Sublime Text for that reason. I didn’t rule it out as a possibility though. I wanted to use it so I went to the forum and asked the community/developers if a external security audit had been done and asked about their collection and privacy options. One thing that I find closed source software tends to do is collect data on the user and offer the option to turn these functionality off, but not advertise the feature. Here is a link to my question – http://www.sublimetext.com/forum/viewtopic.php?f=2&t=14927

Unfortunately they didn’t say anything I wanted to hear so I ruled it out as an option. The next thing I tried was the Atom editor. It is open source and created by the people that made Git Hub at least partially along with Chromium/Electron. It was pretty fast for being written in HTML/JS partially and has a lot of options for packages. One thing I ran into when using it was I constantly ran into issues with these packages. More often then not one would always stop me in my tracks while working. I would wake up in the morning start Atom up and bam an update would download. This was fine I always want the latest fixes and features, but this always causes problems with my packages. I either need to disable the package and fine something else that is similar and set that up. I would then go back and forth between disabling one and enabling another all while making sure configurations still worked. Eventually I just got tired of it. I posted a few times telling them some features just need to be included into the editor. They claim it is just an editor so that eliminates the requirement for them to maintain additional features, but lets be honest. It is a editor meant for programmers. So here is the crux of the issue.

PHP Storm on the other hand is reportedly great, but has a lot of quirks I find strange when comparing them to real IDEs. First why would anyone use PHPStorm over Netbeans which has had the same features as PHP Storm for at least 5 years before it was even developed. It makes me wonder are developers so accustom to fast past movement they become silly hipsters that are always looking for the next trend rather then just using what works. This can really be bad for new developers and always makes strange camps that get very religious about things. PHP Storm is a good option, but again not open and no security audit.

All these editors that market themselves as light and speedy don’t really help programmers in several ways.

When you can’t trust it. Either closed source, or no actual external security audit.

Off loads required features to third parties and scripters.

Breaks their own packages with updates.

Many packages that have little performance tuning when paired with other features.

Very little interoperability between packages.

Time wasted trying to maintain packages people maintain that are free as in beer so you have no assurance it will be maintained in the long run.

Just to bring this up in closing here. PHP Storm also has a older brother that is open and more mature. We could even throw Eclipse into the mix all of which are written for the most part in Java so it isn’t like you have speed improvements by using something else. I would love to have some better options if they exist, but in my experience Netbeans just does all the things I want and does them simply. It is integrated and is open. They support my development on the mainline so I know the features are top priority and they aren’t going to change. I can rely on the very simply functionality I require as a web and desktop developer and it is open and free enough mature and slow moving add-ons can be added without much fuss.

Just to leave a little wiggle room here I would say some instances may exist where you need to be super close to the edge and need some fast prototyping editor, but for steady stable development it is to much a hassle and a worry for me.

I personally think Atom is a great editor and could be something to use in the future, but it is going to need at least another year before it is reliable enough for me to use it on a daily basis. For now I will have to stick to Netbeans. I know how people feel about Oracle, but so far MySQL Workbench has been improving over the years and so has Netbeans. Anyway just felt like writing. Hope some one finds this useful.

A great framework I have been recently moving into has proven a great resource. If you aren’t familiar with Laravel I highly recommend it.

It focuses on developers instead of the usual CMS system which is business oriented. I have been programming in PHP for over 15 years now and sometimes you get so stuck in your ways you stop learning new systems. I don’t know if any other programmers have ran into this, but it was definitely one of my sticking points.

The web development sphere moves very quickly and by far I am always impressed at finding a newer and better way of doing something. I started out using things like PHP-Nuke, and then Joomla and even wordpress. All great systems in their own right, but they focus on plug and play modules that if you ever want to go outside of that scope it becomes a nightmare; At least to me I guess.

Laravel seems to cater only to developers rather then the novice that just wants to make a website and not customize anything. Not that this is a bad thing, but I find lots of my clients always wanting to tweak things, or even the time it takes to learn a new system is daunting when people just want to do their job and move on with their lives. Designing custom systems with a Laravel backend so far has proven very fast. I was able to produce several very high quality, clean, and secure websites in just a month or 3 depending on complexity. Often times you can even reuse parts of that code base which makes clients happy and me. I have code that is tested by multiple sites and I can tweak it myself. The packages that are included are all managed with Composer and GitHub so it makes it very easy to create your own, share, or even contact another developer and get some help with their creation.

It is a cool eco-system to jump into and I’d love to hear of others experience with Laravel. You can learn more by reading the documentation – http://laravel.com/docs/5.1 or even watching some of the videos on YouTube.

I was working on something and I noticed something really funny in the Qt documentation. Have a look…. or go to http://doc.qt.io/qt-5/qscrollarea.html If this isn’t prime material for a programmers meme I don’t know what is. I have no idea why they inserted this picture as the example other then to have a good time with the material they decided/or had to write. Very funny either way. Thanks for the unexpected laugh Qt document writers. I was reading the documentation because I needed to create my own version of a photo editing area. I even posted an adapted example on stackoverflow here : http://stackoverflow.com/a/28147336/1325621

If it is not completely obvious this little snippet helps you align your QImage inside a widget.

This isn’t the final version, but it definitely gives some one a good starting point. If anyone is interested in an updated version with more features let me know.

I was at one point a person that liked something and would go all in. I am the type of person that really likes to try everything and make the best use of products and services to make my life more enjoyable. I liked a lot of things about Apple products. For example in comparison to a Windows based desktop I can easily install applications using homebrew, or mac ports. Most unix style Linux applications would work pretty easily. Everything seemed very polished and stable for the most part for what I do on a daily basis. It wasn’t until I had an update that suddenly my dream of working on my Macbook Air and using Apple TV with an iPhone started to give me a bad experience.

It seems the extensive integration of products only goes so far. For example most people with apple TV, MBA(mac), and iPhone will quickly discover is they aren’t integrated very well at least if you are watching/listening to podcasts. This for me is a major issue as I like to watch podcasts quite often as opposed to regular television. I asked for help from the community, but got none. You can see that here.

This wasn’t a total drag for me as all these systems were newer and maybe I would be getting some updates that would help these issues. I would just do some air streaming until then so my podcasts would stay synced.

The issue that really made my head spin that I wanted to share should probably be prefaced with some additional information in case you weren’t aware. I am a programmer by trade and at the time I was working on a web project using LAMP related technologies. like PHP, JS, HTML, and the like. Any way, I have a lot of programs that aren’t App store “Approved”. I had to go into my MBA and tell OSX I wanted it to allow me to install software that isn’t “Approved” which is ok what ever. It wasn’t until this horrible update came and completely removed all of my non-“Approved” applications.

At that point I couldn’t use it any more. I had literally tons of intricate settings that make it a real hassle to setup your dev environment. Now I know a few people are going to say backup off site, or cloud storage, but honestly I don’t want to have to spend any time worrying about those things especially on a work machine. I want to come into the office, work, and go home. As most people I don’t get paid to goof around with my system. I get paid for results. I’ve heard some people having this issue and others tell me I am crazy, but it happened to me and after that my love for everything Apple quickly vanished.

I’ve used various flavors of Linux like Ubuntu, Fedora, and Arch as well as Windows and generally I love Linux, but I find myself loving to tinker with it rather then doing work. One good thing about not liking Windows as much is that it is great when you just want to do some work. Any way, I am back in the PC/Linux world and honestly it seems to be what works best for me. I’d love to hear what other people like and think.

I have seen a lot of very awesome stand up desks. Just to name a few we have uplift, updesk, and even some simple tables on center blocks. I think these desks are totally awesome and if I had the money I would of bought probably a custom uplift desk for $1500. I had one problem with this though. It was to expensive to me and I didn’t really think I needed the motorized ajustability. I did want some ajustability though; I knew I would eventually set aside enough cash to buy an uplift desk, but I wanted to also have a really nice desk/work table I could use in the future when I didn’t need it any more. So what I did was a happy medium. While my solution is more expensive then the table on center blocks it is a lot cheaper then the motorized desk.

Here are a list of the supplies and the locations that I got them.

Butcher Block – Lumber Liquidators

1 Inch plumbers pipe – Home Depot

RV Jack Stands – Walmart

All together this stuff cost me around 350 bucks. While not the cheapest desk it is solid as can be and is so large it takes up 1 of my entire walls.

In order to save money I decided to use some old stain I had laying around and then I put all the piping pieces together in the shape that would ensure the most stability. After I did that I took the footing pieces for the pipes I got from home depot and the RV Jack Stands from Walmart into my garage. You see, one of the nice things is the washer on the top of the threaded riser on the jack stand is it pivots. If you weld the plumbers footings on the the top of this washer it still allows it to spin. This is perfect for an ajustable desk. While it isn’t motorized it is a happy medium for the budget constrained, or some one that just needs something that isn’t plugged in, but can still move up and down for what ever reason. You can also score some rubberized matting to put on top of this protect your main area from stains, or dents.

Just as a side note because I didn’t mention it earlier is that in order for this desk to also be an optional sit desk you can either move it to the lowest setting, or you can also just get a drafting chair. They are generally taller and perfect in case you are fatigued from standing to long. I also picked up an anti-fatigue mat from amazon. I have linked both below.

I wanted to write something fun and hopefully a little interesting to some random person that sees this. When you are doing your daily routine in my mind I think we all end up falling into a specific trend of habits. Usually when you fall into that trend you don’t learn new things and you sometimes lose passion. I understand with everyone hustling to make a buck sometimes passion isn’t something we focus on, but it is important. It is the difference between waking up loving life, or waking up not wanting to get outta bed while hazily looking forward to nothing. I think having goals is great, but passion is so much more important. It can make the lives of everyone around you so much richer.

One thing that I tend to find invigorating is learning something new. When I get a chance to learn something new, or devour a new book I’ve been wanting to read it can be a real treat. If you get a couple free hours try learning something new. If you enjoy watching the boob tube that is all well and good. I love watching my shows as well, but giving yourself an hour just to learn something you didn’t know before will greatly increase your happiness.