Yakov Fain's Blog

My notes about everything in IT

First we take Crimea, then the Internet

with 7 comments

I’m sure you like the music by Leonard Cohen. One of his hit-songs  has the words “First we take Manhattan, then we take Berlin“. The Russian authorities sing it differently: “First we take Crimea, then the Internet”.

Yesterday, Russian authorities started blocking dou.ua – the main Internet portal for Ukrainian software developers. I write a column for this portal too. Now people who live in Russian Federation can’t read it unless they’ll go an extra mile and use one of the foreign-hosted proxy servers to sneak in.

Russian authorities want to be able to control the content published within the country as well. It’s not about preventing kids from watching porn. It’s about being able to turn off any Web site that publishes the info that contradicts with the current views of the rulers.

The next candidate for blocking is a popular and reliable hosting service CloudFlare from California. Lots of Russian Web sites are being hosted by CloudFlare. Russian authorities tried to shut some of them down but CloudFlare ignored their requests, which is pretty humiliating, isn’t it? This resulted in the publication (on the gov.ru) that recommends Russian Internet resources not to use CloudFlare as a host or else.Here’s the original version of this document, and this is its English translation made by Google .

Based on the wording of this article, all the sites that use CloudFlare will be blocked, and of course, Roskomnadzor deeply regrets that some of the quality Internet resources won’t be available in Russia just because they happen to select the “bad hosting company”. Sure, it’s a lot cheaper to block the access to anything-ClourFlair that to hire IT professionals and block access to only those sites that violates Russian laws. But this is just how dictatorships work.

So far there are 2000 blocked Web sites in Russia. It doesn’t seem to include any porn sites. Some of them are online casinos, some sell grass, some sell fake driver licenses, some sell university diplomas.  Luckily, I live in the USA and can visit all these banned sites. At the time of this writing I have Master Degree in Applied Math.  If later this year you’ll see “PhD” next too my name, you’ll know where I got it from.


Written by Yakov Fain

April 12, 2014 at 11:02 am

Posted in life

Using URL Shorteners in Technical Documents

with 11 comments

I spend a large portion of my time preparing courseware materials, writing books and technical documentation. These documents include hyperlinks, and some of them can be a 100+ character long. Do you include the long URLs in your docs? The immediate answer is to use one of the services like bit.ly, tinyurl.com, is.gd and the like.Beside shortening URLs the may offer other services like click-stats or real-time analytic data.

But all of these services are backed by rather small companies. What if your preferred URL shortener is out of business, but thousands of your books are being sold by the booksellers? This is a bummer! What if all your courseware is sprinkled with these short URLs? Need to schedule an extra time for producing and publishing a revised version of the courseware.

If one of the big guys like Google or Microsoft would acquire such a shortener, I’d sleep a little better. Meanwhile, the only suggestion I can make to use the full title of the linked article in your technical writings. In this case if the hyperlink gets broken, the readers can google up the article by title.

For example, here’s the original 160-character URL of the article about default methods in Java:

If you are familiar with Web programming, you can try to get rid of everything after the question mark, which will shortet the URL till 59 characters:


It worked fine with this URL. Using bit.ly shortener will turn it into a 22-character URL:


And here’s what you should not do in your technical document:

“Dear reader, to get familiar with the default Java methods please read this Web page“. If for any reason the bit.ly service is not operational, the readers of your document has no clue of how to find it. But if you use the shortened URL providing the title of the article, most likely that the reader will be able to find it:

“Dear reader, to get familiar with the default Java methods please read the article Java 8 Default Methods: What Can and Can Not Do?” by Peter Verhas. This leave the reader with enough keywords for the article lookup even if the link is broken. Besides, you are doing a good thing by mentioning the name of the author of the article.

What’s your tae on using short URLs?

Written by Yakov Fain

April 10, 2014 at 3:31 pm

Posted in Web

How to Make Quick $20 on Youtube

with 2 comments

Recently I decided to stop running my traditional online trainings Intro to Java and focus on offering more advanced training programs. Over the years I had lots of Java training materials and decided to record and publish 18 video lessons covering Intro to Java and Java EE.

I started publishing videos on Youtube back in December of 2013, and 9 out of 18 videos are already available for free access. Each week I publish two version of each video – one in English, and one in Russian. So Russian-speaking people – not to be confused with Russia (the agressor) – get a “Buy one get one free” deal. Not only they learn Java, but also can improve their English unless their English is already more fluent than mine.

Then one of my readers suggested to make some profit by allowing Youtube adding advertisement to my videos. Sounded like a good idea and it’s pretty easy to do. Youtube calls it Monetization. Just go to Monetization tab and agree that Youtube will add short commercials. You also need to swear on blood that the video content is originally produced by you. I did this.

Since then I keep hearing the sound of falling coins like you hear in casinos in Las Vegas or the Money track from Pink Floyd. Three month later I decided to count my earnings. Youtube Analytics showed me this:


As you can see I made sixteen dollars and eighty three cents in the first quarter of 2014. At this rate I’ll make close to a hundred bucks by the summer of 2015. If Java will remain popular for the next 10 years, I’ll become one thousand dollars richer by 2025!

Long live Java! Long live Youtube! Long Live Google even though they use not the same Java as Oracle prescribes!

Written by Yakov Fain

April 1, 2014 at 6:31 pm

Posted in java

Submitted a proposal to IoT track at Cloud Expo New York

leave a comment »

In June a large expo and a conference Cloud Computing comes back Javits Center in Manhattan. This year it includes a new track Internet of Things, which promises to be “The Next Big Thing”. In our company we have enough of early adopters of anything related to software development, and we’d like to present what we can do in this field. Here’s the proposal I just submitted to the IoT Expo:


Case Study. IoT In The Field Force Automation

From software development perspective IoT is about programming “things”, about connecting them with each other or integrating them with existing applications. This case study will show you how small IoT-enabled devices from multiple manufacturers can be integrated into workflow of an enterprise application. This is a practical demo of building a framework and components in HTML/Java/Mobile technologies to serve as a platform that can integrate new devices as they become available on the market.


Yakov Fain is a co-founder of two software companies: Farata Systems and SuranceBay. He authored several technical books and lots of articles on software development. Yakov is Java Champion. He leads Princeton Java Users Group. Two of Yakov’s books will go in print this year: “Enterprise Web Development” (O’Reilly) and “Java For Kids” (No Starch Press).

Keeping my fingers crossed…

Written by Yakov Fain

March 27, 2014 at 8:55 pm

Posted in html5, IoT, java

Get professionally trained in understanding Russians

with 4 comments

After the Berlin Wall collapsed, the world population started to see Russians up close and personal. The world got to learn that Russians are not always walking with balalaika and vodka while being chained to a bear. European cities are filled with Russian-speaking tourists. They look normal. Ignore the small group of them dancing on the restaurant tables after a day of skiing in Courchevel. Russian export oil, weapons, and computer programmers. Americans and Russians became really good friends in Space exploration (where else?).

After 20 years of personal contacts lots of Westerners are still having troubles understanding the Russian Soul. Do you know why they are not smiling? Trying to figure out what Mr. Putin really means speaking while talking about Ukraine? Can’t figure out how on Earth a brigade of unarmed Ukrainian Soldiers can come up with an idea of marching toward Russian military pointing AK-47 at them? Spending $51B on Olympics to improve the image of Russia followed by the immediate invasion of Ukraine to seriously damage the above doesn’t make any sense to you? Russians programmers work for/with you and “trying to do better” get carried away and miss deadlines?

I got good news for you! Enroll into Coursera’s free trainig “Understanding Russians“. Spend 9 week working hard for 4-6 hours a day, and you may get a chance to understand Boris and Natasha. Does it worth the efforts?

Written by Yakov Fain

March 5, 2014 at 1:00 pm

Posted in life

Software Development Today and 20 Years Ago

with 4 comments

I enjoy the process of developing software, which includes many various activities. But learning and teaching new software are the two activities I enjoy the most. During my 30-year career I’ve been working as an independent contractor, taught countless training classes, prepared and read hundred of resumes, co-founded a couple of startups. You might be thinking that now a grouchy old programmer will start complaining that young software developers don’t know how to program? Don’t be. It’s all the way around.

The skills required today for getting a Software Developer job are different than in the nineties. I’m not even talking about programming languages that were popular then and now. The mere number of different languages, tools, frameworks, and platforms that must be present on a resume today is piling up. It’s more difficult to become a competitive software developer in the USA today than it was 20 years ago.

Back then, to get a job you’d need to know a programming language to develop UI and SQL for data persistence. Knowing stored procedures for a popular RDBMS like Oracle, Sybase, or MS SQL Server would help. This is it. The resume having Visual Basic plus MS SQL Server or PowerBuilder and Oracle would easily get you a job. Of course, you’d need to know them well. If you knew Unix shell programming (OMG!), you’d be getting several job offers in a heart beat.

Mid nineties. Do you know how to handle a Click Event on a button in Visual Basic and how to write an SQL statement that would find duplicates in a database table? You’re hired!

In the second part of the nineties people who knew how to spell COBOL and CICS – would be getting multiple offers because of that Y2K FUD.

The year 2000. The world survived the Y2K craze. Legions of musicians, cab drivers and civil engineers became software developers, and most of them were able to retain their well paying jobs. You know Java and EJB? Really? How much do you want to make an hour? $100. You got it.

Knowing HTML or JavaScript was not an asset – easy peasy and not serious.

The year 2014. Unless you have ten different technologies on your resume, do not even submit it to us. Got 9? Are you just out of college or something?

If you want to stay in business of software development, you need to continue studying. Non stop. Lots of different tools, frameworks, languages. I’ll give you an example. Take a look at the program of our 10-week online training “Modern Web Development for Java Developers”. It’s a very intensive training with lots of self studying. Just check the time lines of the first two lessons. It’s a lot to master even for programmers who already have working knowledge of Java.

Here’s a fragment from an email I’ve received from an programmer with 20 years experience who enrolled in one of there trainings:

I signed up for your Web Development for Java developers course. Looking at the outline. Should attendees do some preparations like install any software and play with it? The other day I went to an HTML5 meetup and was shocked – for more than an hour people were downloading and installing some software – Git, Node JS, Karma, Grunt, Bower. I got overwhelmed and left.

I feel your pain, buddy. I really do. Got to stay in good shape to compete with the young generation. These kids were born with smart phones in their hands and Facebook in their brains. They easily multi-task. They absorb new materials like sponges. You got years of industry experience behind your belt? This is nice, but they need people who feel comfortable programming for the Bring-Your-Own-Device world. It’s time to replace your Windows XP desktop with several modern devices and get back to school. Otherwise become a manager. Well, you need to get back to school in this case too.

Written by Yakov Fain

March 3, 2014 at 4:32 pm

Posted in IT Career

Debating around the Groupon’s offer

with 6 comments

I like Groupons. I really do. Groupon already saved me lots of money.It introduced me to lots of new places. It can bring a real value to me, the consumer. Groupon does it perfectly when there is a match between what I need and what’s offered. This happened to me twice so far, and saved me hundreds of dollars. But more often Groupon offers something that looks lucrative, but I don’t need this thingy, really. But it looks good though. But will I use this offer by its expiration date? I might, but it’s going to put some pressure on me.

Here’s a typical situation. We are planning to go out for dinner with friends. While deciding on the place we learned that our friends have an expiring groupon for so-and-so restaurant. Let’s go there. Driving for 10 miles eats up half of the savings. Was it really worth the hassle?

Here’s the today’s Groupon’s offer I’m debating. The one that resulted in this blog. It’s about Macarons, the French pastries.


Here’s the deal. For $10 I can get a box of 6 macarons, which normally goes for $15. Or even better. For $20 I can get a dozen, which otherwise would’ve cost me $30. Looks like a no brainer. I should go for it, right? Not so sure.

This place is located in Greenwich Village in 1.6 miles from where I live. According to Google Maps I can get there in 14 min by bike. This means that I’d need to allocate about a hour for utilizing this Groupon offer. To save $5. On the other hand, there is a place in 7 min walk from my house, where I can buy macarons for $2.50 a piece, and I don’t even have to commit to the box of 6. So, if I’ll buy 4 macarons in my neighborhood bakery, I’ll spend the same $10 saving a half an hour on this ordeal. Besides, by doing this I’ll support the business in my neighbourhood, which will make my area flourish. Why would I need to support the bakeries located in the Village? Well, there are great bars with live jazz, which (during the last 6 months) I’m planning to visit. Need to support them too…

But are these Groupon’s macarons even good? The fact that the name of that bakery consists of two French words may be a trap. Actually, the deal’s description mentions the name of their pastry chef: Oliver. He must be French. They are the best in cooking.

But what bothers me the most, some time ago I had bad experience with pastries that looked like macarons, where marked as such, but were not as fluffy and tasty like the real ones. I mean the original ones from Laduree, Maison de Macarons. We tried them in Paris first, but now they have a store here in Manhattan on the Upper East side. It’s far from me, and each costs $3. But they are real. On the other hand, Laduree is about to open a new store in Soho, which is pretty close to where I live. But $3*6 = $18. Man, it’s not an easy decision to make.


When I woke up this morning, the last thing on mine mind (after the yesterday’s Super Bowl’s party) was French macarons. But here I am, spending already 30 min on writing this blog, and I haven’t even make a decision regarding that Groupon offer. What should I do? Please help!

Written by Yakov Fain

February 3, 2014 at 2:42 pm

Posted in life


Get every new post delivered to your Inbox.

Join 136 other followers