Sunday, December 4, 2016

Fitbit buying Pebble: What will happen?

If you've read the news this week, it seems that the Fitbit company will buy Pebble.  From a business point of view, it does make sense.  For the Pebble community, it may be the end...

Currently, the smartwatch market is saturated with all kinds of products from all major brands like Garmin, Apple, Fitbit, Pebble, just to name a few.

Apple is targeting the high-end use with its Apple Watch.  Not a bad product, but the price may actually drive away a lot of people.  Other manufacturers are more into health monitoring like Fitbit and Garmin.  Even Pebble has moved into this health market with the Pebble 2 and the latest firmware available for almost all Pebble smartwatch.

If you are running, swimming or climbing the mount Everest, there is a lot of choices available for a smartwatch.  Let's be honest, I'm not part of that market, like 80% of the population.  I have nothing against training but having a device dedicated at providing me my health stats is not my cup of tea.

That's where the Pebble smartwatch was shining.  A cool smartwatch, with apps and a few extra features.  I don't care about my heart rate, I want to reply back to my tweet with my watch.

The Apple watch and the Google Gears do implements those "Dick Tracy" features but at a higher price.  For around 150$, Pebble can do it (and the battery lasts for a week...).

My main concern is what will happen with my Pebble Time...  If Fitbit shuts down the whole Pebble ecosystem, my Pebble Time watch won't work anymore...  No more updates, no new apps, no new watchface...

Currently, there are not alternative to the Pebble, for the same features, for the same price.

Let's hope that we have a few more years ahead of us before we are forced to use a "HealthWatch" instead of a "SmartWatch".

Sunday, October 23, 2016

Best of iOS, Android and Windows 10

When you are looking to buy a tablet, there are so many choices available.  I personally own an iPad 4 (iOS), an Asus Memo 10 (Android) and recently the RCA Cambio (Win10).

I can safely assume that I have enough user experience with all three major operating systems on mobile devices.  With iOS, I've been a user starting with the iPhone 3GS and I do appreciate the Apple ecosystem.  I also got my hands on on several Android devices mainly tablets.  Windows 10 is a bit new to me as I always used Ubuntu on my computer.

My main factor when choosing a mobile device is the experience.  I do not care about the CPU speed or device weight.  All that matters is the user experience with the device and how well it will integrate into my daily tasks.

Let's compare the three of them from my point of view...

Apps

The diversity of available apps is amazing on all of them.  iOS and Android do have a few featured apps that is not available on Windows 10 but on the other hand, Windows 10 being a full operating system, you do have access to more apps and software.

I would consider the three operating system on par, with a slight advantage to iOS for providing great apps like GarageBand or iMovie out-of-the-box.

Store

The Apple AppStore, Google Play and Microsoft Store are great.  They do provide a way to search easily for an app, a movie or anything else.  I would consider that Google Play and Microsoft have a slight advantage over Apple and they to provide more suggestions and searching for something is easier...

Online accounts

Interacting with your online accounts is a must these days.  iOS and Android are clear winners on that level but I can also say that Windows 10 is not far behind.  The notifications are well implemented on all three OSes, but there are a few missing players on Windows 10 (Side note: Instagram finally made it on Win10 last week...)

Online files, movies, music

Accessing data, movies and music on a remote storage is something that Windows 10 can handle without any issues.  In second, Android does have a few apps that do the job and in the last place, iOS where you need a specific app to reach those file.

Fluidity

One of the worst thing for me is when the device is lagging.  You start an app and then you have to wait for it to be ready...  only to find out that it does lag and you have to wait...

iOS is almost flawless on that level.  Even my old iPad 4 is still fluid after many upgrades and whatever app I may used.  In second, I would choose Windows 10 over Android.  Surprisingly, on my cheap RCA Cambio tablet, Windows 10 is fluid and smooth.  The only lagging experienced was with some heaving 3D games pushing the limits of the hardware.  With Android, I've always been disappointed had all devices I've had or tried, the apps are slow to open, the keyboard is often unresponsive as I type.

Maybe it's just me, but Android is far behind in terms of fluidity, even with a 300$ tablet...

Updates

Not much to say here: iOS and Windows 10 are clear winners with frequent updates.  As for Android, it all depends on the brand you got and it's has safe as the weather forecast.  I think that an old Nexus 7 is still being updated by Google but it was so slow that I gave it to one of my kids...

Integration

When speaking about integration, I mean interacting with your life.  iOS is amazing on that level has you can even copy and paste from your iPhone to your MacBook (if you have the latest...).  Start browsing on your iPad and continue on your iPhone later one.  Apple has made an amazing job at making it work, easily.

Android does offer a great alternative with Chrome and ChromeCast.  There is no true ecosystem as on a computer, you have Google Chrome mainly.  So it's a matter of integrating your Google account more than having dedicated devices.

Windows 10 does fall behind as there is no serious integration between devices and computers.  Of course, since it's Windows, you can actually installed whatever you need to make things work.

In the end...

Overall, they are all great, depending on what you want to do.

  • iOS: Amazing apps for media creation, best ecosystem, long term updates
  • Windows 10:  Smooth and fun.  On a tablet, it's the best of both world.
  • Android:  It's Google!  If you live by Google, this is the way to go.

Personally, I would recommend iOS for casual stuff and when it should just work.  For more serious stuff like working on douments or creating softwares, Windows 10 is the way to go.

I do like Android, but it has often disappointed me to a point where I won't consider buying another Android device again.  iOS and Windows 10 are sure bets in my mind as opposed to Android.


Saturday, October 15, 2016

Google Pixel against the exploding Galaxy Note 7: Best timing ever!

For the last few weeks, we heard about the exploding Samsung's phone, the Note 7.  It's one of the worst case scenario a company can face.  It's bad for Samsung, it's bad for the industry and it's bad for the consumer.

Currently, Samsung is the best alternative to Apple.  Google has it's Nexus/Pixel line but consumers are always comparing the Galaxy's with the iPhone.  There is a good chance, in the next few months, that consumers will shift to another brand for their mobile device simply because of this bad event.

Some will consider Apple's product, some will consider the next best in line.  Since last week, all we hear, all we see is the new Google's Pixel phone.  For Google, the timing could not have been better.  The Android fans won't hesitate to move to the Pixel for this  reason:  The affordable devices may explode, so a pricier device should be safe.

We all know that this reasoning is total BS, but deep in the subconscious mind, that how it will sound.  This false impression of security toward a pricier device will help Google's share on the market.

There is still something strange about this case:  How come Samsung never saw this coming?  I mean, they have qualified engineers, they have the knowledge and the experience with mobile devices and batteries...  It is a bit awkward that such a knowledgeable company cannot figure out what is happening.

Some may even see a conspiracy as I said earlier, the timing could not have been better for Google and the Pixel.  I won't go in that direction as it is pure speculation, but I still wonder.

Read your news feed and all you see is about the new iPhone 7, the exploding Samsung's Note 7 and the amazing new Google's Pixel...


Sunday, October 2, 2016

Windows 10 is much better than Android

I've had a few Android devices in the last few years even if I do prefer Apple products for their build qualities and their great interactions.

As a software developer, I am curious about what's new and I do enjoy investigating the new stuff that is available on the market. So curious that I even got my hands on a Playbook from Blackberry when the device was on sale a few years ago.

Remember that I have the point of view of a regular iOS user as I do own an iPhone 7, an iPad 4 and an old Macbook 2009.  My main OS on my main computer laptop is Ubuntu 16.04 and it's been like that for many years.

So why am I claiming that Windows 10 is better than Android?  User experience...

Last week, I bought a cheap  Windows 10 tablet to have a device to explore as I never used Windows 10 before.  It's the RCA Cambio tablet, with 32 Gigs of space and a detachable keyboard.  The price tag is around 200$ CAD as I am writing this post,  The hardware is far from premium, but not that bad.  The battery lifetime is around 6 hours, not quite on par with my iPad and the physical keyboard is a bit klunky but usable.

For Android, I had the Asus Memo 10 FHD, the Galaxy Tab Lite 1 and the first Nexus 7 generation.  A few others came along also from friends.  Nevertheless, I tried many brands and flavors of Android and found out that they are nice, but not perfect.  Aside the physical built quality, the experience was OK at best.  There is always a missing app or features and the major annoyance of them all, they lag...  From the cheapest one to the priciest I've bought, they all lag at some point.

Android friends told me that I had to buy a premium Android device tablet for a premium experience which will cost almost as much as a brand new iPad...

I've been longing for a Windows device since the launch of  Windows 10.  There is no need for Windows as I am a Ubuntu user on a computer.  But the attraction of the novelty was there.  After many months of torturing my self not to buy another device, I gave up last week and bought the RCA Cambio.  It's cheap, it's Windows 10, it's good enough to explore and maybe build some software on it,

After playing with it for a few days, even with few hiccups I got with the hardware, I find it far superior to any Android device that I tried.

The RCA Cambio hardware is almost decent.  You get what you pay for,  Windows 10, on the other end, is really great.  You have access to tons of apps from the store, and you can even install your favorite Windows software as you would do on any computer.

The Windows 10 features are still missing a few things compared to iOS.  Cortana is hard to setup, at least on this device.  I could not find the Instagram, Snapchat or Periscope app or equivalent as I do have access on my iPad.  But I was able to install Netbeans for developing ScreenStudio (on Windows...), iTunes to access my music and a few games to experiment.

I can say that Windows 10 is the best of both worlds.  It can behave as a mobile device and also as a regular computer.

There is no hesitation that I would recommand a cheap Windows 10 device over any Android device.  Of course, not too cheap as Windows 10 do need some basic requirements.

What about the iPad?  There may be not a next iPad.  I already have all the same features on my iPhone and I need a computer more than a tablet.  The next premium tablet device may be the Surface Pro instead of the next iPad.

Let's wait and see if I will grow tired of this new device and go back to iOS...

 Note:  Yes, I did try to boot-up Ubuntu on the RCA Cambio without success...

Monday, September 19, 2016

Stream Oz - Broken Kingdom live on Periscope from your iPhone 7

As you may already know,  I got myself a brand new iPhone, the iPhone 7 Black.

I have downloaded the newest game called Oz: Broken Kingdom.  It's a nice RPGish game where you are fighting your way out in the land of Oz.


After a few minutes, I saw in the top right corner a small icon named "Rec"...  A bit curious, I checked it out to discover that I could record my game into a local video file or stream it directly to... Periscope.


Actually, it seems to be able to stream to other services also, I have tested Twitch or Youtube yet.

Anyway, I've made a few tests on my Twitter/Periscope account and it does work... once in a while.  It seems unstable and that could be an issue with my WIFI setup having some issues.  But I'm pretty sure that things will work better with a few updates.


Nevertheless, when you activate the recording/streaming, iOS will ask your permission to capture the screen, the microphone and camera (if selected).  So it seems that iOS 10 does bring a native streaming functionality that is build in...



Have you found another game that could use that feature from iOS 10?


Sunday, September 18, 2016

What about my iPhone 7 after 2 days...

I was one of the lucky one to get my hands on a new iPhone 7 last Friday.  When I say lucky, I mean that only two devices were shipped to my local Rogers reseller and I was chosen for one of them.

I took the time to explore the new toy as I already had an iPhone 6.  Basically, they look the same with a few differences...


The buttons are a bit smaller on each side and the finish is as always very smooth.  They both weight the same and have the same size.  The only difference I could notice was the camera that is not exactly that the same place as the iPhone 6.  They are so alike that the iPhone 7 does fit (almost) perfectly in the iPhone 6 case.  I had to be creative and carve the camera hole to fit the iPhone 7.

Thursday, September 15, 2016

Apple should remove some stock apps

I do enjoy the latest version of iOS released this week, iOS 10.  The upgrade process went flawlessly on my iPad 4 and on my iPhone 6.

While doing some cleanup in old apps I had on my iPad, I was shocked to discover that Photo Booth was still there, hidden in one of the folders...  Some stock apps should be removed from iOS, at least, merged into other apps or functionalities...


Photo Booth

Seriously, who has even ever used this app.  With today's better alternative like Snapchat or Instagram, there is really no need to maintain this app on iOS.

iBook

I do like to read, but not on the iPad or iPhone.  I much prefer use my Kobo Glo device as it does a much better job and prevents my eyes from itching.  This app should be downloadable, like Pages or iMovie.

Podcasts

Listening to podcasts is not really my thing.  The feature itself should be integrated into iTunes and the Music app as a sub-section instead, making audio listening merged into a single place.  The same functionality should be also integrating into the Videos for video podcasts.  Basically, download from iTunes and listen in Music, watch in Videos...

Tuesday, September 13, 2016

Ubuntu and iPhone: Manage your music

If you are using Ubuntu on your computer, you're a bit out of luck for handling music on your iPhone.  The main issue is that the iPhone is relying on iTunes to handle media files and we all know that iTunes only runs on Macs and Windows computer.

Don't worry, there is a solution and that solution is called VLC.  


What you need to do is install VLC on your iPhone (or any other iDevices) from the Apple Store.  The app is free and does handle music and videos.






Once installed, launch VLC on your iPhone and look to the left, you can enable file sharing via WIFI to add media files...


Then simply open your browser on your Ubuntu computer and browse to the indicated URL as shown in VLC on your iPhone...  Once you see the VLC page in your browser, simple add music (or movies) to the VLC database.


Files can be manage directly from the VLC app if you want to remove them.  Since VLC is already a beautiful app and does actually play many formats, you can just ditch the stock music app and rely completely on VLC for your music listening on your iPhone.

Of course, this tip also works on any computer able to support a browser.  It probably works with Android devices as they are able to browse for any files.

 
 

Saturday, September 3, 2016

Learn programming with Human Resource Machine

Yesterday, I started playing a really neat game on my iPad called Human Resource Machine.

It's not just another puzzle game as we are used to find on the iOS stores.  This game does involve a lot of logic and a new notions of software programming.


The story gos like this: You are a new employee in a big corporation and you are asked to take documents from the "Inbox" and put them in the "Outbox" using pre-defined actions (commands).

The first few levels are quite easy but as you progress, you'll encounter some basic programming challenge like making a modulo calculation and event doing a sorted bubble algorithm.

The game is really enjoyable and anyone can play.  If you are into software programming, the levels will put your knowledge to the test.


For kids, this is a great way to explain what is a computer program and they can explore and learn some basic algorithm by themselves.

Human Resource Machine is available on the Apple Store: 
https://itunes.apple.com/ca/app/human-resource-machine/id1005098334?mt=8

And available for your PC:
https://tomorrowcorporation.com/humanresourcemachine#getitnow

Note: At the time of writing this review, the game was only 0.99$ in the Canadian Apple Store...


Have fun!




Wednesday, August 24, 2016

How to use ScreenStudio 3

With the new release of ScreenStudio 3, a lot has changed since the version 2.  I've posted on my Youtube channel a quick tour of the features of ScreenStudio 3.


As a side note, the main website has been updated to reflect the changed of ScreenStudio 3.

Website: http://screenstudio.crombz.com


If you have any comments or issues, do not hesitate to contact me on Twitter: https://twitter.com/patrickballeux

Saturday, August 20, 2016

ScreenStudio 3 is available!

This is the big day: I just released the newest version of ScreenStudio 3.

I've reworked the video mixing engine in this new version and added some new features not available in the 2.x versions.

Consider this first release as unstable and some features are missing like shortcuts. They will be implements with time.




Get it at http://ScreenStudio.crombz.com


Patrick Balleux
------------------------------------
https://twitter.com/patrickballeux
https://youtube.com/patrickballeux
------------------------------------

Saturday, August 13, 2016

Security researchers are trying too hard?

There is a lot of research done about security these days. If you follow tech news daily, there is always an article about some new ways to hack a computer or your mobile device.

Personally, I'm not that paranoid about security issues. I do update my passwords regularly and I stay alert when someone is sending me an unknown link. I do share some data with Apple and Google as I consider that this is not such a terrible problem trying to improve their products.

Security researchers have found that by listening to the sounds of a hard drive, hackers can steal your passwords and sensitive data...

http://www.techspot.com/news/65959-sounds-hard-drive-makes-can-used-steal-data.html

This is technically possible but so impractical to put in place. There are so many hoops to go thru that it is hard to consider this a security threat.

Basically, anything that can produce a signal of some sort can be used o transmit sensitive information. My Pebble Time watch could be used to transmit data by flickering some pixels colour. Any smartphone could embed sensitive data while playing music in such a way that it is inaudible for the human ear.

Transmitting can be easy but there is a big catch: There must be a receiver listening. So you need to "infect" the transmitting device which can prove to be difficult. Then you have to find a way to receive the information. When there is proximity factor involved, such as a 6 feet range, it's hard to consider the issue as a major security concern.

Research is essential, but let's keep our paranoia to a reality level...


Patrick Balleux
------------------------------------
https://twitter.com/patrickballeux
https://youtube.com/patrickballeux
------------------------------------

Saturday, July 23, 2016

YouTube works better in iOS 10 public beta

I've been having fun with iOS 10 public beta on my iPhone and iPad in the last few weeks. Apple has finally fixed an issue I had with iOS 9: Whenever I was browsing the web with Safari, any links to YouTube was forcing opening the YouTube app instead of viewing the website.

The YouTube app is great but when searching the web, it does not mean that I want to switch to another app just to read the comments on a video.

With iOS 10 public beta, this issue is no more. I quite happy!





There is a small issue now showing up: the top banner in the YouTube app is sometime not showing the icons. I've seen this behaviour in a few other apps so it's probably a glitch from iOS. The icons are still there as you can press on them, but you cannot see them.






The new iOS 10 is a great update. The new widget screen does look a lot better than iOS 9.

The first public beta of iOS 10 was slow on my iPad 4. Since the second public beta, its back to a more enjoyable experience.

The next update should iron out the last annoyances.


Sunday, June 26, 2016

How to capture desktop in Java: Fast method!

If you are developing software in Java, you may need to capture the desktop at some point.  There is the Robot API that does provide a simple way to capture the desktop, but it's not very efficient.

I've found a better way to capture the desktop, or the webcam in Java, relying on FFMpeg.  There is no need for JNI bindings or other obscure libraries dependencies.  All you need is an executable FFMpeg binary in your path.

Why not use Robot?

The Robot API is really easy to use but it has a major drawback: Speed.  On some computers, you may be able to capture up to 30 fps but on other, you'll struggle to capture images at 3 fps.  It seems that the operating system and the video driver are sensitive areas for the Robot API.

FFMpeg?

FFMpeg is a console application that can capture, transcode and even stream video and audio file.  It's a swiss army knife for multimedia content.  It is available on almost all Linux distros, OS X and Windows.

If not already installed, you can download it here: https://ffmpeg.org/

How to capture video?

Once FFMpeg is installed on your system, you can invoke the binary using the Process class as any other executable.

The trick is to retrieve the captured data directly from FFMpeg using the Process class.  Once the raw data is captured, use a BufferedImage to store those raw data and you'll end up with an Image available for whatever you want to do with it.

Here's the code snippet:

BufferedImage buffer = new BufferedImage(720, 480, BufferedImage.TYPE_3BYTE_BGR);
 
String command = "ffmpeg -nostats -loglevel 0 -f x11grab -r 30 -video_size "+ buffer.getWidth() +"x" + buffer.getHeight() + "-i :0.0 -f rawvideo -pix_fmt bgr24 -";

Process p = Runtime.getRuntime().exec(command);
java.io.DataInputStream in = new java.io.DataInputStream(p.getInputStream());
 
byte[] data = ((DataBufferByte) buffer.getRaster().getDataBuffer()).getData(); 

while (!stopMe) {
     in.readFully(buffer);
}
in.close();
p.destroy();

 This code will capture at the highest frame rate that the computer can support.  The speed of the computer will be the limit of your capture processing speed.

The thing you need to focus is the output format of FFMpeg.  The video encoding must be "rawvideo" with a pixel format matching the BufferedImage.  In this example, a 24 bit/pixel is used in BGR format (Blue, Green, Red).  The data is them exported directly to the console (notice the "-" at the end of the command line...) instead of a file.  That means that using the InputStream from the Process class, Java is able to read the data as fast as it can.

Execute this capture process in a Thread making the BufferedImage available for other parts of your software. 

See the whole thing running...

Using this method, I have built ScreenStudio to capture the desktop into a virtual video mixer built entirely in Java.  If you want to see it running live, download the source code of ScreenStudio at http://screenstudio.crombz.com


Leave you questions in the comments or tweet me at http://twitter.com/patrickballeux


Have fun!







Friday, June 24, 2016

Rediscovering Gnome, moving away from Unity

While testing other desktop managers on my laptop running Ubuntu 16.04, I've accidentally broke my installation.

The main culprit is me as I did force a few things to happen.  Ubuntu has been my main distros since 2004.  The passage to Unity did upset me a little bit but I got used to the new interface and eventually, I liked it.

Today, I wanted to try out the other desktop manager available in the Ubuntu repository.  I could not get a decent performance from KDE, but others like XFCE and Mate were running smoothly on my old laptop.


Eventually, I've tried Gnome...  I was expecting something similar to Mate with a few bells and whistles on the top.  It's not a lightweight desktop but it does have its charms.  I must say, I do like this desktop metaphor way more than Unity.


The way I understand it, an app is meant to run in full screen all the time.  That is something that I do like in OS X as a full screen app is considered as a "new" desktop space.  That's exactly how Gnome 3 does work.



Of course, you still can have multiple apps running in the same desktop space, but I hate switching between apps as I do prefer everything to be maximized.  The the Unity Desktop, you can have multiple desktop spaces but you have to pre-configured the layout.  In Gnome, desktop spaces are dynamic so if you need one more, just go to the last desktop space.

Another great feature of Gnome is the Gnome Shell itself.  It does support Extensions that can be added at the top and I've found a few plugins that made my day. 

Finally, I just re-installed the Ubuntu Gnome from scratch to ensure that nothing from Unity would survive on my laptop.  It is a bit more flexible than Unity and does provide a lot of features.

You can download for free at: https://ubuntugnome.org/

Tuesday, June 21, 2016

Running Steam on Ubuntu 16.04 (amd64)

If you try to install the Steam app to access great games on Ubuntu 16.04, you will find that it does not work out-of-the-box.



After searching the web for a few tips and tricks, I finally managed to make it run.


  • Install the i386 architecture (sudo apt-get install libc6:i386)
  • Install the default debian package from the Steam website (http://store.steampowered.com/about/)
  • Create a small script to launch Steam

Steam.sh
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
  • Make the script executable: chmod +x Steam.sh
  • Execute your script
It's sad that we need to apply this workaround until the Steam team does provide a better package, but it does work.


Tuesday, June 14, 2016

Are you lazy for not learning the command line?

Last week-end, I was reading a blog somewhere on the Internet about Linux and how easy and powerful it is.  Mainly, the text was targeted at Ubuntu, but I'm pretty sure it would apply to any main distros.  

In the comments, readers were starting another (sigh) flame war between Windows, Ubuntu and OS X (oh, sorry, macOS).  This is my guilty pleasure:  Reading those endless comments about how one is a sheep and an another one is a zealot.  One comment did catch my attention as it was stating that if you are too lazy to learn simple commands to execute in a terminal, you should not be allowed to use a computer...

I am a power user and I do use the command line quite often.  Assuming that someone is lazy because he or she does not care about some advanced possibilities is simply senseless.  Too all power users out there:  YOU ARE NOT GODS!

Being interested in computers does not make you a special person.  There is no point at displaying your knowledge, assuming that anyone below your technical level is a complete idiot.  Let's be clear: the time you spent learning about advanced scripting by copy/pasting from the web, others have spent that time on something else.

Even if I do use my computers to do some development, I do enjoy using my iPad for it's simplicity.  There are people out there who really do not care about automation, scripting and other geeky stuff.  All they wanna do is use a computer as they drive their car or watch T.V.    

Laziness is not taking the time to help others with simple issues that you know how to solve.

Knowledge is meant to be shared...


Friday, May 20, 2016

Colobot: Robot switching Power Cells by itself

If you have discovered Colobot: Gold Edition, you've been missing a great game.  It's free as in open source and is available on all operating systems.

The main feature is the possibility to program your robots with real code.  The syntax does look like Java or C# and is quite easy to master.  I've created a little program that will find the best available power cell in the area and will let the robot find it and use it as it's new power source.

Here's the code:
extern void object::FindEnergy()
{
while(true){
object newcell = FindCell();
if (newcell !=null){
message("New cell found!");
turn(direction(newcell.position));
moveToPosition(position,newcell.position);
replaceCell();
} else {
message("Cannot find another cell...");
break;
}
}
}
void moveToPosition(point p1,point p2){
errmode(0);
int err = move(distance(p1,p2)-1.5);
while (err != 0){
turn(45);
move(5);
err = move(distance(p1,p2)-1.5);
}
}
object FindCell(){
message("Scanning for cell...");
int minDist = 5;
object cell = radar(PowerCell,0,360,5);
object otherCell= cell;
while (otherCell != null ){
minDist += 1;
otherCell = radar(PowerCell,0,360,minDist);
if (otherCell != null){
if (otherCell.energyLevel > cell.energyLevel){
cell = otherCell;
}
}
}
if (cell.energyLevel == 0){
cell = null;
return cell;
}
void replaceCell(){
message("Replacing cell...");
grab(EnergyCell);
drop(Behind);
grab(InFront);
drop(EnergyCell);
grab(Behind);
drop(InFront);
turn(-90);
move(4);
}
 
See it in action:


Have fun!

Tuesday, May 17, 2016

Google Spaces just launched...

Yesterday, Google Spaces was available on my iPad and my iPhone.  I downloaded the new thing to try it out and explore the features.

As you may guess, it's a bit lonely in space... (Pun intended).  Basically, you create a "space" about your favourite subject and post links relevent to the theme.  I've created one for ScreenStudio and posted a few links.


After a few posts, I then realized that this is Pinterest à la Google.  You can post (pin) all kinds of links and comments.  You can invite your friends and family to join your own personal space as the only way to join seems to be sharing the "secret" link.  I still don't know if Spaces is meant to create small and personal communities or to be a central point for all the stuff that you are interested in.

On iOS, the app does look nice but lacks the tablet format support.  I will go explore http://spaces.google.com from my computer to see how it does behave on a large display.

If you want to explore a bit, here's the link to the ScreenStudio space: https://goo.gl/spaces/oLeXGyJbHutGwX5v5

More to come...

Sunday, May 15, 2016

Scracth Jr for iOS: Coding for kids


Wondering if you have what's required to create an app or a game?  Why not start gently with Scratch Jr. for iPad.



A few years ago, I was showing my kids what I was doing at my job by using Scratch on the computer.  Basically, it's a software that lets you create small games and applications using logic blocks that you can drag and drop on you characters.  It's a bit like playing Lego blocks with your mouse.

There is an iOS version called Scratch Jr. available in the AppStore.  It targets kids but anyone who wants to learn about software programing can start with this little app.  Of course, you won't be able to publish your apps or create the latest 3D games with Scratch Jr.  It is meant to be a really simplified version of the real thing.  But nevertheless, you will learn about conditions, loops and events in a matter of minutes.


The best thing is that Scratch Jr. is free.  The MIT has created this amazing app so kids, and grown ups, can learn about software development in a fun way.


There is a more advanced version of Scratch available online at https://scratch.mit.edu.

Have fun!

Sunday, May 8, 2016

How to stream to Twitch.tv with ScreenStudio

How to stream to Twitch.tv with ScreenStudio 2.2.0

If you are using Ubuntu (or any derivative), you can easily stream your desktop over Twitch.tv with ScreenStudio.

The main goal of ScreenStudio is to be simple to use and work on almost any hardware.

Get ScreenStudio

First, you need to download the latest version of ScreenStudio from http://screenstudio.crombz.com
  • Install OpenJDK 8 JRE and FFMpeg 
    • sudo apt-get install ffmpeg openjdk-8-jre
  • Uncompress the ScreenStudio archive in a folder
  • Create the desktop icon shortcut by executing the script createDesktopIcon.sh from the installation folder
  • See more installations tips from http://screenstudio.crombz.com/instructions.html

Set your secret key

In ScreenStudio, select the target to TWITCH...


Select the desired server and secret key from your Twitch account.
 





Adjust encoding bitrate and format by selecting the profile...

ScreenStudio has already optimized advanced encoding parameters so all you need to set is the bitrate and preset settings to your needs.

Select your video sources

From the Sources tab, select your audio and video sources that you wish to stream.

  • Display: The screen to stream.  If you have more than one screen, a special one will show up combining all of them in to a single super large screen.
  • Webcam: The webcam you want to use for streaming.  Optionally, you can use the "Mouse" which is a zoomed view of your mouse location.  You can set the webcam location as you like from the parameter buttons...
    • Note: Webcam will only show-up if a Panel is selected..
  • Microphone: Audio source for your microphone
  • Internal: Audio source for your internal sound system
    • If you select both Mic+Internal, ScreenStudio will mix them automatically.
  • Audio Rate: The quality encoding audio settings
  • Watermark:  If PNG files are available in your "Overlays" folder, they will be shown here.  This will add the image as a static overlay in your stream  in the bottom left corner.

Customize your stream

 This is where ScreenStudio shines.  You can select a size panel from a pre-configured HTML file.


Instead of cluttering your desktop view with overlays everywhere, ScreenStudio is adding a side panel (top, left, bottom, right) to display custom informations.

All you need to do is to create a basic HTML file to populate your side panel.  A default sample will be available on your first run.  Not all HTML tags are supported but it does give you a lot of possibilities.

The side panel also supports TAGs as the content is dynamic.  For example, @TEXT will show the content of the text entry at the bottom.

Images (even GIF format) are supported and you can update the content of the HTML file with something else.  Any update on the file will show up in your stream as it is updated.

For example, you could you a generated template file called "Panel.html".  Using a script or any software, you can update that file to update the content as needed, live.  Each time the file is updated, the content will show instantly in your stream.

The @COMMAND tag is used to embed the result of an external command in your panel.  Enter the command line and its output will be shown where you have set the @COMMAND in your HTML file.  That can be useful to create alerts and notifications.

Here's what it looks like when streaming...




Note: Images must be referenced by they full path...

Start streaming

 Once everything is setup, you can start streaming by pressing the "Capture" button or by using a keyboard shortcut.


When capturing, ScreenStudio will hide itself and you can either use the shortcut keys to stop the streaming or use the tray icon at the top.


Enable privacy mode

While streaming, you may want to hide your desktop from your viewers temporarily.  Use the Privacy Mode from the tray icon menu or by invoking the shortcut key.


While in Privacy Mode, the tray icon will be red and you viewers will only see a black screen.  If you add a file "privacy.png" in your Overlays folder, this image will be shown instead of the default back display.



This is a neat way to protect your personal information without having to stop your streaming.

For Support and Help

If you need help, you can post your questions here:


Wednesday, May 4, 2016

ScreenStudio 2.2: A new compositing engine

I've been working on ScreenStudio 2.2.0 today as I was stuck in bed with a major backache.

I took the time to rework the compositing of the desktop and the side panel to provide more customization in the future.

With version 2.1.x, the compositing was executed by FFMpeg itself.  This is faster to render, but the drawback is the synchronization between the audio and video that does not always work as expected.

As of version 2.2.x, ScreenStudio will take charge of compositing all the video sources and FFMpeg will only have to encode the audio and video.

I was expecting a loss in performances but I was quite surprised to find out that nothing was lost.  I even saw better performance in some specific cases.

More tests are to be done but if all goes well, it will open a lot of possibilities for ScreenStudio like dynamic layouts while streaming.

Source code is already available in the Github repository is you feel adventurous....

https://github.com/patrickballeux/screenstudio

Sunday, May 1, 2016

iOS 9.3.1 small bug: Round folders

Just found out that if you use a specific wallpaper for your iOS 9.3.1 device, you will end up with round folders in your homes screen.


If you want to try it out, just follow this link and save one of the image to be used as your home screen wallpaper.  You will then have all your folders in a round shape instead of the default shape.


There's not a lot to choose from, but it's fun to try.  Oh yeah, no jailbreak is required...


Wednesday, April 13, 2016

How to install Ubuntu on a MacBook

I do own an old MacBook 2009 at home.  It's age is showing up mostly with the latest version of OS X, El Capitan.

As an experiment, I wanted to try out Ubuntu on the MacBook.  I already use it on my old PC Laptop and it works like a charm.  So I took my already formated USB drive with Ubuntu 16.04 on it and booted the old Mac...  Nothing happened...


After some research on the web, I discovered that I had to create a bootable USB drive specifically for the Macbook.  I don't know why as as bootable drive is a bootable drive, but I followed these instructions:

https://help.ubuntu.com/community/How%20to%20install%20Ubuntu%20on%20MacBook%20using%20USB%20Stick

The key is to convert the ISO file into an IMG file.  Then you need to copy the IMG file to the USB drive using some strange command from a terminal in OS X.
sudo dd if=/path/to/downloaded.img of=/dev/diskN bs=1m
If you follow the instructions, step-by-step, it's really easy.  The convertion from ISO to IMG does take a few minutes and "burning" the IMG file onto your USB drive can take around 30 minutes.

Once that done, insert your USB drive into your Macbook and reboot.  Make sure to press and hold the ALT key to invoke the bootable options.  Select your USB drive when it shows up and Ubuntu should start booting.

I skipped the installation of a multi-boot selector like ReFit (http://refit.sourceforge.net/doc/c1s1_install.html).  I find it easier to select the OS to boot using the ALT key trick than install another custom tool.

Of course, I tried the Live version first to ensure that my hardware would be properly supported.  All was working as expected beside the fact that I had to install a propriatary driver for my wifi card.

After the initial testing, I went back to OS X to resize my hardrive partition to make some room for a 20 drive and a swap space.  You can do this by using the Disk Utils tools in OS X.  Then another reboot to return to the Live version of Ubuntu and start the installation process.

Usually, partitioning is done automatically by Ubuntu.  In this case, I had to create the partitions manually, select the proper mount point before completing the installation process.  30 minute later, I was rebooting the Macbook in Ubuntu, from the newly created partition.

The main issue I faced was that I needed again the Additional Drivers to enable my Wifi connection.  I had to manually copy the Debian package from the USB drive using "sudo dpkg...".  If I remember well, I had to install "dkms.deb" before installing the package drivers found in the USB installation drive.

Once I got the Wifi working, everything was working well.  Actually, it felt like a brand new computer as it was so fast and so smooth.  The only issue I am currently facing is using the iSight webcam with "ffmpeg".  The webcam does work with Cheese...  Oh yeah, make sure to install all updates from 16.04 before continuing...

I almost forgot, you need to install another package to enable your iSight webcam (search for isight in the repositories).  There is a small procedure to follow but it quite easy to follow.

The installation process was not as easy as on my PC Laptop, but considering the benefits, it was worth it. My Ubuntu MackBook is running perfectly, much better than under OS X.

By default, the computer is booting directly into Ubuntu.  When I want to switch to OS X, I reboot it while pressing the ALT key and then select the OS X partition.  For some strange reasons, I have to do a complete shutdown to reboot into the other OS.  Just restarting seems to keep the last OS used even when using the main partition using the ALT key.

If you feel that your old Macbook is good for the scrap, try it with Ubuntu first.  It does give a new live to your old pal.

 

Wednesday, March 30, 2016

ScreenStudio 2.0.3 is available!

Note: Get version 2.0.4 as there is a small glitch in 2.0.3...

Tonight, I released a new version of my project ScreenStudio.  If you don't know what is ScreenStudio, it's an open source software that lets you record your computer display and stream it live to services like Twitch or Hitbox.

Last years, after releasing the version 1.6, my computer crashed so hard that I had to reformat everything, losing the latest source code I had written.  I had to revert to the version 1.5 which was a bit too unstable for my taste.

After a short break, I decided to start from scratch, avoiding the pitfalls I had encounter while coding the version 1.5.  Then, after testing new ideas and concepts, I started a brand new ScreenStudio 2 and tonight, a beta version is available for download.  

You can get it at http://ScreenStudio.crombz.com.


What's new in ScreenStudio 2?

- Simple interface
- A side panel to display the overlay and webcam
- Interactive panel content that can be updated while recording/streaming
- Text tags for displaying remaining time, current date, etc...
- Less dependencies
- Based on FFMpeg instead of AVConv
- No more complex configuration files
- Better webcam Intégration 
- Easy on the CPU so it will work on an underpowered computer

The whole idea was to have a side panel instead of having overlays.  Basically, you can to record/stream your whole desktop and not cluster it with overlaid banners and webcam.  ScreenStudio is actually adding a small overlay to the right of your display making the video a bit wider than your screen.  This does ensure that your viewers will see 100% of what's happening on your screen while seeing your personal content on the right side.

The version 2.0.3 is considered a beta and may be unstable.  It is currently available of Ubuntu 15.10 and a version for OS X will be available soon.

Binaries and source code is available in the download section.

Saturday, March 26, 2016

Are you out of time? Are you answering calls?

You're working on a big project at the office and you feel that there is not enough time left to complete the work?  Are you answering calls thru out the day?  That could be the issue...

It's a known fact that people do prefer to call you instead of sending an email when asking for support or new features.  It seems faster and a more productive way to communicate between departments but you'd be surprise how much time is lost in the whole process.

Let's assume that someone is requesting a new data column in a report.  This implementation is not a big modification and should take around an hour including the time to open the report, do the modification, validate the result and deliver the updated report.

The request is simple so it's easy to compare requesting by phone or by email.

Over the phone:
- Stopping whatever you were doing to answer the phone call
- Greetings and polite introduction : 30 seconds
- Hearing the request: 120 seconds
- Confirming the request (to ensure the proper names, labels, content): 60 seconds
- Ending the call, polite salutes, etc...: 60 seconds
- Writing on a note, in a todo list the request with full details : 120 seconds
- Going back to whatever you were doing and figuring where you left off: 60 seconds

Total time used is around 7,5 minutes more or less.  

Same request but by email:
- Seeing the incoming request in your inbox : 5 seconds
- Complete your tasks before having a look at the request: 0 seconds
- Open the email when ready: 10 seconds
- Read the request details: 60 seconds
- Reply to acknowledge the email: 60 seconds
- Copy and paste the request into your note/todo list: 30 seconds
- Go back to your next task: 30 seconds

Total process time by email: 3 minutes, more or less.

For a simple request, handing it can take half the time by email compared as the same request over a phone call.  For any request, you can add a factor of complexity.  The time used to explain everything over the phone is increasing a lot more then in an email explaining the full details in text and screen captures.

A few years ago, we did the math at the office and found out that a rough average of 15 minutes per call was about right.  As for emails, we had calculated a rough average of 5 minutes.  Assuming you are getting 10 requests/day/week, you can compare the time spent handling requests:

Total week time by phone: 750 minutes (12.5 hours)
Total week time by email: 250 minutes (4.17 hours)

For the same requests, you are actually wasting a full day of work (~8 hours) just by handling requests over the phone on a 5 days/week.

Validate yourself at the office how many times you're handling a phone call that could have been handled by email.  The more you get, the less time you have to complete your tasks.

Leave your comments below...

Thursday, March 10, 2016

Transform your old Android device into an Apple TV 4

Did you know that you could use your old Android device as an Apple TV 4 alternative in your living room?
The first thing you need to check out is if your device has an HDMI port to connect to your TV set.  This is quite essential as we want to display the content on the big screen.
If that's the case, install the Kodi app, available in the Google Play Store.  Don't worry, it's free. Kodi is an amazing app to play multimedia content from your local storage or from a remote NAS drive.  For remote controls, look for the official Kodi remote app available on the Google Play Store or the Apple Store.  Install the remote app on your smartphone and your almost ready to go.
In Kodi, on your Android device, go into the settings and activate the remote controls.  Open the remote app and add a new server linking to your Android device.  If all goes well, it will be detected easily.
All you need to do now is add content in Kodi as you need.  Movies, pictures and music.  Finally, connect your Android device to your TV set using an HDMI cable.
That's not all...  Since your Android device can also runs others apps than Kodi itself, you will be able to play games, browse the web and so on.  Of course, you need some devices to control your Android device remotely.  Almost all Android devices do support Bluetooth keyboards and mouse.  If you have a Bluetooth gamepad, you can then transform your Android device into a fully fledged game console.  As good as the Apple TV 4 itself.
Let's recap:
- Apple TV 4 + game controller : 250$ (179$ + 69$)
- Old Android device + game controller : 50$ if you did not have already a game controller.  Add 10$ for a micro HDMI adapter if needed...
It's a neat way to recycle your old Android devices.  As a bonus, your already purchased apps and games will be available on the big screen.
Let's not forget that you can connect your device into an available USB port on the TV set for power.  And why not set it so the camera can see you to make a video call using your TV set.
Have fun!

Thursday, February 25, 2016

Is the earth flat?

On YouTube, I was browsing videos while relaxing after a long day of work and stumbled upon a few videos explaining that the earth is actually flat.

You read it correctly.  The earth, being a globe, is a hoax...

Am I missing something or are we losing touch with reality?  I've searched a bit more about that "new" movement and found their website: http://www.theflatearthsociety.org

Their idea is that the earth is a flat static disc having the North Pole at its center and the South Pole on the outer edge.  In their videos, on YouTube, they elaborate "facts" to prove that the earth is flat, often ignoring simple logic and dismissing hard evidences already proven by science.


I have a few questions for those people:

Since we can all see, each morning, the sun rise to the east and set to the west, how does the sun revolves around a disc so that all inhabitants can see it rise from the same side?

How can they explain the shadow of the earth, on the moon during an lunar eclipse?  It is round so the sun would have to be behind the flat earth at a perpendicular angle to cast such a shadow.

If the earth is a static disc, how can they explain winds, streams in the ocean and the different climates?

How do they explain the disappearance of a sailing boat at the horizon?

How is it possible to have night and day around the world at the same time?  Is the sun a really big spotlight?

My favourite "proof" was that aircraft travel time does take the same time going east to west and back.  If the earth was a spinning globe, the aircraft would have to fight against the rotation speed.  Aircrafts are not fighting the rotation but the density of the atmosphere...  Running against a strong wind is already hard enough, be it from the east or the west.  Consider now reaching 250km/h...  

I can admit that some people may fancy strange things but promoting such non sense is just plain crazy.  They theorized that governments are actually setting up a big hoax to make people believe that the earth is round...

What would be the purpose of spending billions of dollars to prove that the earth is not flat?  So NASA is lying by producing fame videos showing that the earth is a globe?  Scientists and astronomers are actually lying to cover their jobs?  I'm outraged!

Have you seen the movie Idiocracy?  You should, it's got electrolytes.




Tuesday, February 16, 2016

Record your screen on an Asus Memo FHD 10

In a previous post, I was showing you how to root your Asus Memo FHD 10 tablet.  This will be required if you want to record the display of your tablet.


Once that is done, you'll be able to screencast your apps into videos in no time...  Actually not.  Even if the tablet is rooted, almost none of the screen recorder will work on the Asus Memo 10.  That's a really sad situation and nothing will change as Asus is not providing any update for this device anymore.



There is one app that is working...  SCR Pro!  A while ago it was listed in the Google Play store but for some strange reasons, it was pull-out by Google.  The author, iwobanas, created a thread to share his app for free on XDA (http://forum.xda-developers.com/showthread.php?t=2422061).  I had already bought the app while it was listed on the Google Play store so I was happy to retrieve this amazing recorder when I had to reset my tablet.


The video quality is really good and you can even play some Minecraft while recording your screen.  Optionally, your webcam can be display as an overlay.  Internal sound does not seem to work but the microphone does.


Give it a try and if you like SCR Pro, please make a donation to the author.

You can download SCR Pro for free here: http://www.scr-screen-recorder.com/


Monday, February 15, 2016

Are you having too much meetings?

You are reviewing your schedule at the office and suddenly receive an email inviting you to a meeting.  Your presence is mandatory for a full review of the current issues concerning a major client.  We've all been there, attending meetings with 30 people, wondering if your presence was actually useful.  I tend to avoid those meetings as most often, they are a waste of time and energy.

Meetings can be powerful tools when used properly.  Before planning any meeting, start by considering those questions:

1 - What is the main goal of the meeting?
2 - What should be accomplished at the end of the meeting?
3 - Who will actually and actively act on the decision taken during the meeting?

Over the years, I've followed a few simple rules to make these meetings effective and productive.  There three kinds of meetings:  Issue meetings, Follow-up meetings an Informative meetings.

Issue Meetings

These meetings are meant to find a solution to an issue.  They are often critical and can last up to 2 hours.  Only the main leader and the main resource should attend.  The idea is to find a solution as fast and as effective as possible.  Those two persons are the main actors in the situation and are those that will take direct actions to solve the issue.  

At then end of the meeting, concrete solutions and ideas should be on the table,  A short summary can then be sent to all team members using emails.  Do not send "FYI" as it does imply you are sharing the information to be polite but it does not really matter if people reads it or not.  Ask for comments and suggestions in your message, involving everyone in the process without having 98% of your resources wasting their time. 

Follow-up Meetings

A follow-up is short and sweet.  All team members are attending and a team leader is the one doing the talking.  This is not the place to find a solution or o discuss about personal goals. They are often referred to as scrums in the software industries.

Basically, the team leader is asking each member:  What have you completed, what are your working on and what issues are you facing?  In about 2-3 minutes, each member will report her/his current status and the team leader will dispatch new tasks if any decisions must be taken.

A follow-up can be executed in less than 15 minutes each morning.  This ensures that everybody is on the same page and that all team members had a chance to report any issue.  In the event that an issue has been raised, the team leader can then schedule an issue meeting for the main actors on the stated issue.  

Informative Meetings
   
An informative meetings is a big announcement.  It often last around 30 minutes and everybody is invited.  The meeting agenda is planned ahead up to the minutes and a written summary is available.  Those meetings are used as way to communicate important decisions an should not last more than 30 minutes.

Consider using other means of communications ff the main subject is a big "FYI".  Informative meetings are a more personal approach of communicating with a large group of people when the news is important.

In the end...

Anything else is a social gathering and a time waster.  A meeting is a work process that should be effective and profitable for business and for the employees.  The less people attending, the better it is.  The shorter it is, the more effective it will prove.

I always plan my meetings a bit shorter than they really are.  Assuming that I will require a full hour with another colleague, I will schedule the meeting for 30 minutes instead.  I know it's a bit short, my colleague knows it's a bit short...  This puts a bit of pressure on getting straight to the point and avoiding stories about our last week-end party.

Try it for yourself and let me know how it worked out for you and your team.


Have a nice day!