Posts

Ethics in software development.

In today's world software is deeply integrated into our lives. It's not avoidable, it's everywhere. It's not just apps, that you run on your smartphone, but all essential services on your smartphone are nothing more than software functions. We use software managed cellular networks. It's in our appliance, even in our car regardless how old it is (unless of course you are roaming in car from 50th). Those systems called embedded and usually well hidden from a regular people. Additionally recent advances in computing powers allowed developers to embed even more complex software systems into ever smaller devices. That in turn brought more AI powered systems into every day use. Many of our devices today has various AI system, that we didn't even notice. For example virtual assistants, which helps to automate routine tasks and let us concentrate on more cognitive tasks. In fact various AI systems heavily embedded into our lives. Facebook's AI algorithm decides wha...

Do You Even Agile, Bro!?

Today I'd like to touch on the subject of agile software development. I've been working in the software development industry for almost two decades and as I moved through my career agile software development was gaining popularity, up to the point where it became just a buzzword for many companies. Let's start with little bit of a history. In the early part my professional career, back in 2001, a world away from my development roots in Belarus, a few developers got together at a resort in Utah and published the  Manifesto for AgileSoftware Development . Concepts contained in that paper were considered a revolutionary ideas and initially mostly rejected by those who in those dark ages followed the "waterfall" process as the most popular approach to software development. The waterfall approach began with extensive research from which specifications were created. Only then was it permitted that the work of writing code could begin based on those specification...

Bitcoin - consumer's perspective

Working on the front line of IonTec Software LLC is a lot of fun. Some time ago I was helping one of our customers to navigate through industry buzzwords and see if they could improve their business processes by implementing some of the new technologies. One of the technologies in question was a block chain. They were wondering if and how they could implement it to improve their business. All of those conversations reminded me of the Bitcoin and inspired me to write this post, where I'd like to take a look at the Bitcoin(BTC) from consumer's perspective. Let me set some boundaries: I am not going to talk about investing in BTC, because I am not a professional investor and it looks to me like a giant speculation. So you potentially may score a something on short-term deals, if you have a sizable amount of assets to risk with, because, most likely, price will go up as it becomes more and more popular and it will. However at the end of the day, BTC is just a cryptocurrency, so I ...

Skills for the workforce of the future.

In today’s world, we use a lot of software, whether that's small apps on our smartphone or an enterprise level applications we work with on a daily basis. Upon every usage, a person will find negative and positive sides of that software product. Using that many applications on a daily basis give users an ability to compare those, and that way person would build a perception of how good that product is. As a user I feel like there is really hard to find quality in any technology products today, whether it’s software or hardware, or maybe not even technology product. Hardware products at least guarded by some warranty, so that’s sort of confirmation from a manufacturer that they will replace the product for users free of charge during that period. However software vendors does not give their users any warranty, in other words, they can’t guaranty that their product will work at all. With the complexity of software growing every day and becoming an essential piece of self-driving cars...

Preferred way of commnnunication

Image
It's all started few days ago when I overheard a conversation of two guys where one was complaining about how expensive to send and receive SMS messages on his ages old unlimited plan from one of the leading cellular providers and how would it make his life easier if people would use chat app to reach out to him. At that point I thought to my self, he is right, it's all different, we are all different! Why can't I set a preference for each contact in my miles long contact list and when I hit chat it will bring chat app preferred by that person, whether it's SMS or WhatsApp or any other app, and when I hit call once again it will call that person on his/her preferred phone app, whether it's VOIP apps like Viber or just a regular phone app. Those two simple actions could simplify user experience as different users could have a different preferences for communication. Something like this: All of that led to a creation of PreferredWay open source application for ph...

Web apps as a replacement for desktop apps

I've been using Ubuntu for a long time, and there were good days and there were of course bad days. However in most of the cases Canonical had a lot of great ideas. Today I would like to focus on one awesome idea, at least it looked awesome on the paper. It's web applications. It's been several years since I started using those and I've had enough data to establish opinion on what would fit my needs. Idea is pretty simple you should be able to interact with web application in a similar manner to what is available for real desktop apps and then OS would guarantee seamless experience for web app. I was so happy to see that idea coming alive with 14.04. My expectation especially around Google services was that you should be able simply create an Online Account and system will keep me logged in for as long as I want. Enough with expectations, let's try it, I was thinking to myself. First try disappointed me a lot, Online Accounts was not working seamlessly, web appl...

Hardware vs software in one ecosystem.

Lately I've started to get irritation from what is going on with Android ecosystem. Don't get me wrong, I love Android OS and ecosystem around it and it's openness in fact I see it as main target for my new business venture IonTraker , however just as user there are a lot of things which I can not stand, like phone makers who don't really bother to update OS for example. When it all started Google needed to get hardware vendors on board, so they gave a lot of lea way to them and that actually what I think is killing ecosystem today. Think about it, on a daily basis I see new phones coming out from a different hardware vendors, for them it is a race for money. They are supported by big carriers to whom it a business sell us new devices and sooner you update your phone the more money they will make on it. All of them burning a lot of advertisement dollars trying to prove that 13 MP camera is 20 times better than 12.5 MP or that 1.5Ghz processor in their new phone 100 tim...

Little bit of the fun with Jenkins

Image
Finally I decided to write about configuring Jenkins server, which is absolutely must have tool for any software project. This is how project itself describe what Jenkins is on their own web site : In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides 1009 plugins to support building and testing virtually any project. That's not going to be a full tutorial on how to do a perfect configuration of Jenkins, I am targeting simplicity and as a result goal of this tutorial is providing quick and dirty way to set everything up and have it running ASAP. It's sort of Jenkins servers in a nutshell for busy entrepreneurs. Also I am going to limit this tutorial only to my system which is Ubuntu and I am planning to use Jenkins for project written in PHP, so all tools going to be for PHP as well. Let's start with Jenkins installation. First step is to add Jenkins repository for Ubuntu and install package. First adding key ...

Python for a quick prototyping

Lately I was looking for a simple app  to help me manage priorities on my todo list, and when I realized that there is no app which could satisfy me I've decided to create my own. So what did I need from such app is simply organize data output, in other words print lines of data in a particular area of the window and some colors to distinguish things. I already have script which I am using to enter data and I am fairly happy with it. Almost forgotten, another requirement that I had back then is app has to be GUI form and work under Linux. I've started looking on what will get me up and running as fast as I can, because surely if you want to achieve performance you would choose something as close to native as possible, C++ for example, but I was not going to write new game and do not need performance of native app. I could have done it in a bash script, but then remember I wanted GUI form. I've decided to look into scripting languages and accidentally came across next tutor...

Insuficcient storage available message on Android phones

Image
Just to make things clear I am using Sony Xperia TL from AT&T, so everything I am talking about here is related to that phone and version of Android OS I am currently using which is 4.1.2. Recently I've started to run into an "Insufficient Storage Available" error message on my Android phone. So where does that come from, since I have several gigs of internal storage available, I though to myself, right? Well that's turn out to be wrong. Apparently all your gigs of internal storage are irrelevant if your phone has "Phone/Device Memory" partition on top of "Internal Storage" partition, and in my case it's just 2GB. All applications by default will get installed to that partition. Since that problem was very annoying I've started to look into what can be done to avoid it. Here are few steps I found working: Step 1 -  Move stuff to Internal Storage. Move all apps which could be moved to Intenal Storage, that will still leave some ...

New life with an old friend aka new firmware for Samsung Captivate.

Once upon a time I use to pull out some old device from an old box in attempt to bring new life into it. This time it happens with my old Samsung Captivate. Especially in a sense of upcoming trip and with carriers changing their unlock policies after Library of Congress decided one thing and then FCC made a "deal" with them, but all of that deserves it's own blog entry. Long story short AT&T declined request to unlock phone prior to contract expiration. So I turned my sight to an morally old Samsung Captivate, and surely after using Jelly Beans for several years I didn't want to settle with Ginger Bread official version installed on Captivate. So I went on a journey of what can I do to get a latest and greatest for it. I've been following project called CynogenMod for a while now and finally decided to try installing it. I went to their site to check their status on support for Captivate and surprisingly they supported it, in fact they had Jelly Bean equival...

What would I do...

Recently I read about BlackBerry and it all reminded me of Nokia and it's path to their place on market today. Today people saying that with current CEO being replaced with interim person(or maybe not), that new CEO is going to be on suicidal mission to get BlackBerry back on track. While that mission sounds almost impossible I think that company still has not lost all of it's potential and with a right person in charge could become strong company again. So I thought to myself: "What would I do if I was BlackBerry's CEO?". For the last several years BlackBerry was lacking behind on a hardware part up to the point where their phone would be dead years before it's released. Unfortunately for them technologies on mobile market were going at the pace of  PC's market back in 90th. They clearly lost place on the market, and there is no reason for them to keep that part of their business. It might be cheaper to design one phone from the parts available on the m...

Cost of automation

Today I've got frustrated with sync on Chrome, for some reasons it was not adding new app links that I have created on a different computer. I thought what's the big deal, there should be a sync now button, apparently there is none.  You are forced to rely on automated process to figure out when it's convenient time to sync. Question which comes to my mind first what if such process fails, what am I going to do. Looks like the only way to force it is to logout and then log back in, keeping your fingers crossed and hoping that it will work. Next thing which came to my mind was: wait a minute, that's the same company which builds self driven cars.  So I am guessing that those car won't have any manual controls either, and when something fails...  well wish us luck. Don't get me wrong I am all for automation and innovations, however there is gotta be a fall back to manual mode just in case something went wrong. So at the end of the day I got exactly the same res...

New Chapter

I am proud to announce beginning of new chapter for IonTec team. Decades we've been involved in different web projects and now with openness that Android has to offer we are starting new project and that project is application for Android OS. I am not going to say much here about new project I am just going to say that we are planing two versions one of them going to be commercial and one free, potentially free version may become open source version. As usual when time will come we will post details on www.iontec.org and also you could constantly check current project section of my personal web site sergey.iontec.co to get details earlier.

My personal web site.

Today is the day of big changes for me, my personal web site went live. You can found it at sergey.iontec.co also I made some changes for IonTec team web site, I decided to try Googel Apps. They have free version, and I figured that it is exactly what we need for our team. Back to my web site, I've decided to work on it in few steps, as a first step is running static version of my site, some simple stuff like resume, static content, working on ZendFramework. Next step is going to be implementing of ideas I have for making content more dynamic. Then I am going to implement some interesting connection options :). Visit web site in few month to see results :)

Thoughts about ideal phone.

Here I decide to release some thoughts about my ideal smartphone. First question going to be what I am looking for in the phone. After short research I found that mostly I am going to use WiFi. Because WiFi is almost everywhere so I am looking forward to use free WiFi as well as my WiFi connection at home. Second thing what I am looking for is good carrier and good rates and as a bonus I am expect to get touch screen in my ideal phone. Ok let's start research, what are options out there. I am giveup on Windows Mobile phones, windows just does not work for me at all, I useto use WM phone few years ago, and it was just awful as a phone too slow too buggy. I really see just few options for smartphone iPhone, Android phone and probably BlackBerry. Let's check out what is available for AT&T because I am really like this carrier and whant to stay on it even though I am using GoPhone I think it is pretty good carrier. Let's make a match we have iPhone and BlackBerry available ...

HP DV7 out of box.

I'd like when everything work out of box, but I don`t like WIndows, once I've tried Linux I've love it, especially Ubuntu. But as usually in linux it takes a lot of time to start. Let's see what we have, ok choices: - Ubuntu 8.10 64Bit - Ubuntu 8.10 32Bit - Ubuntu 8.04 32Bit - Ubuntu 8.04 64Bit(I just forget about that release, and actually didn't tried yet) There is a common problem for all this distributives, if you ran Windows Vista(by default with that laptop) even one time it will made some changes(switches) in your network adapter and then wired network adapter didn't work out of box in Ubuntu. But wired network fix I will describe later. My goal is found most working Ubuntu out of box, and then tweak it. Let's start from 8.10 64 bit. After installation I'll get working system(as usual in Ubuntu case), everything works, but there are a lot of issues with that version: - biggest issue is a lot of software still not working properly, or just don`t ha...

HP Pavilion DV7-1135nr

I bought brand new laptop(see subject for details). And my goal get everything running there with Ubuntu. And probably through this blog I will try to describe how much successfully I am in reaching my goals. Non tech list of devices: 17" LCD screen + video card Network: wired/wi-fi DVD-RW LightScribe Web camera Microphone Nice sensor buttons on the top (sound/player manipulation/wi-fi on-off) Touch pad + keyboard Card reader (SD/MSPro/MMC/xD) Ports(eSATA / HDMI/ VGA/ Expansion port 3) Remote control Tech specs: AMD Turion X2 64Bit 4Gb RAM ATI Radeon 3200 (built in with 256 dedicated RAM) 250 Gb HDD Lightscribe DVD-RW 100/1000 Mbit Ethernet Wi-Fi Lets start configuring everything.