Adriana Cacoveanu

Adriana Cacoveanu

ADRIANA CACOVEANU, Content Writer

Adriana is the OPTASY team's digital content creator and copywriter. Her “mission” within our team is to masterfully blend the 2 main ingredients' listed in any valuable blog post's recipe (valuable information + the reader-friendly writing), as well as to craft informative and engaging content promoting our work: study cases on Drupal.org, fresh content for various pages on our company website, e-book content etc.
 

Back to Blog Posts
CES 2019 Future-Shaping Tech Trends and Hot Gadgets: From Predictable to Surprising
8k TVs, companion and laundry folding robots, 5G smartphones, voice assistant for cars, foldable phones... This is CES 2019 — the world's largest electronics show taking place these days in Las Vegas — in just a few words... Or, simply put: A sneak peek into the future. And there are more than 4000 CES 2019 exhibitors there, each one competing for its own sphere of influence over the future. For its right to set the new tech trends. So, you can just imagine that:   sorting through all the announcements that companies leading the change will make about their future product releases staying on top of all those critical “teasers” regarding the innovative technologies and exciting features that their devices will feature “playing with” all the gadgets sprawled over the +2 million square feet exhibition hall   … can get overwhelming.  And finding a straight answer to your legitimate question: What is the hottest consumer technology device for 2019? …  turns into a “mission impossible” sort of challenge. Not to worry, though. We've done our homework, scored the heavy-weighing offer and put together a selection of the most influential tech trends and the gadgets at CES 2019. Of those gadgets with the highest potential to grow from far-out concepts to production-ready devices.   1. AR-VR-MR: The “Sideshow” Performers AR/VR-enabled devices are present at the show, but they're far from taking center stage... Especially as VR technology is concerned, CES 2019 doesn't seem to be that long-time awaited chance for it to “incarnate” into a truly remarkable consumer product. Or at least into an extravagant, daring concept. But let's not get too frustrated (again) and, instead, let's analyze 2 contestants for the title of “the best VR/AR-fueled device” at the 2019 international CES:   1.1. HTC Vive Pro More of an upgraded version of the Vive VR headset, HTC's Vivre Pro comes with some significant features geared to provide a more realistic VR experience:   improved 3D audio a separate wireless transmitter 78% increase in screen resolution noise-canceling microphones improved design to make them sit more comfortably   1.2. Deepframe AR Window  Augmented reality at scale.  Just imagine this technology brought to a 65-inch 4k OLED! That's Deepframe. The not-yet-for-consumers kind of display uses unique opticals reflecting life-sized digital elements over a physical space. With no VR eyewear on, the user emerges into a mixed reality world.   2. 5G-Enabled Phones: From Hype to Reality  Have you been starting to lose your patience on the 5G networks “issue”? For, let's face it: It's been a while since all this 5G hype turned into... hope... next into even higher hopes, then... nothing. We had already started fantasizing about:   the extreme speed at which we would download the latest episodes of our top favorite TV series on our phones this networking technology turbocharging all our future VR experiences being free to go see a particular doctor... anywhere on the globe basically 5G enabling our cars to interact with our PCs, with our smart homes, with...   Luckily, at CES 2019 there's been clear evidence that companies are (finally) ready to take the charge and implement 5G into their devices.   2.1. Samsung's 5G Smartphone: Samsung Galaxy 10 The big absent from CES 2019 Las Vegas has been Samsung Galaxy 10. Yet, from the company's CEO's press release we now know that:   it will be released this year “equipped with” 5G technology … and 7nm chipsets, among other features Verizon, Sprint, and AT&T will be its US carriers running 5G programs FCC approved Samsung's intention to roll out 5G network this year   Note: another great news is that Motorola and OnePlus, too, are some 2 other giants planning to release 5G-enabled phones this year. We'll see which South Korean company will first reach the “finish line” with its own 5G-powered device.   3. Voice-Controlled Technology... for Cars 3.1. Speak's Music Muse: Alexa-Powered Voice Assistant for Cars How about that! Bringing voice-controlled technology to your car... And here's what this Oreo-sized device would enable you to do once you plug it into your car's USD port and connect it to your smartphone:   you get to use voice commands and ask for a weather report, play music ... control your Alexa-powered devices at home (e.g. you could close your garage doors or turn off your front door light) ... add items to your to-do list   And, most of all: It comes with hands-free calling functionality.   4. AI Technology Is... Everywhere at CES 2019  Artificial intelligence steals the spotlight at the annual consumer electronics show in Las Vegas. Here are just 2 of the AI marvels that stole our attention:   4.1. IBM 50-Qubit Quantum Computer No other machine at the show 2019 International CES could rival this “beast” when it comes to calculations. The uses that IBM had in mind for it? All those AI and machine learning-powered scenarios where huge volumes of data need to be crunched at super speed.   4.2. “Nervana Neural Network Processor for Inference” (NNP-I) Intel and Facebook joined their forces to create a more affordable AI chip addressing companies with high workload demands. When will it go from concept to product? Sometime this year those “target” companies will be able to use NNP-I to accelerate inference and thus better cope with their workload challenge. The END! Back to you now: What do you think about the tech trends and devices highlighted here? Do you predict that they'll turn into actual products this year? What have been your expectations from CES 2019? And, most importantly: how does your wishlist of next-generation gadgets look like? Photo by Owen Beard on Unsplash  ... Read more
Adriana Cacoveanu / Jan 09'2019
What Is the Best Membership Plugin for WordPress? A Top 5 Feature-Rich Options at Hand
Say you've invested so much time and effort to come up with this valuable content for your website. And now you don't want to be all altruistic and share it with everybody. Instead, you plan to grant access to it to logged in members (or paying subscribers) only. So, you start looking for a plugin for access control. But what is the best membership plugin for WordPress? The most suitable one for your specific feature needs as a membership website owner... For your own scenario, which might require that:   members be enabled to administer their profiles straight from your website's front-end page admins be allowed to easily track down members using specific meta information (e.g. “category”) your plugin support multilevel membership functionality (logged-in member, paying logging-in user, admin, editor etc.) your WordPress plugin support dripping so that your content gets “served” according to a strict time schedule  you don't need to get tangled up in code writing and customization work members be enabled to CRUD their custom post type content (galleries, events, posts, reviews)   Oh, and yes: You might also expect this WordPress membership plugin to accommodate a decent number of members (approx. 800-100?), be easy to set up and to get updates, too. Now, here are the 5 most powerful free WordPress membership plugins and WordPress paid membership plugins that you should weigh first: 1. MemberPress It's the equivalent of “vanilla ice cream” among membership plugins for WordPress. I mean, it easily checks all the checkboxes on your “must-have features” list:   easy to set up easy to use feature-packed rich documentation and stellar support   And speaking of its load of features, let me outline some of the most powerful ones: Easy setup From setting up pricing and login to adding membership plans and putting together “Thank you” pages for your members, setting everything up gets ridiculously easy with this plugin. Subscription management The plugin empowers your members to create and update their own membership subscriptions. Content dripping It enables you to “disclose” content to your members according to your time schedule.  This feature is particularly valuable if it's learning material or online courses that you provide on your WordPress website. Content Access Control And restricting access to certain content on your website is the essential feature of any WordPress paid membership plugin, right? In this respect, MemberPress provides you with flexible access control: You get to limit (or “condition”, if you prefer) access to specific tags, blog posts, files, pages, categories on your website.  Payment Gateways The plugin comes equipped with built-in support for Stripe and Paypal payment gateways.  Need Authorize.net integration, as well? Then you'll need to first upgrade to Developer edition. Integrations Here are some of the third-party services that it easily connects with:   Amazon Web Services MailChimp Aweber BluBurry GetResponse   2. Restrict Content Pro Why does this plugin stand high chances to be the best membership plugin for WordPress? We can cut down all the reasons down to... 2 heavy-weighting ones:   it's conveniently simple: easy to set up and easy to use it's ideally flexible: it comes with built-in interrogations, add-ons and pro add-ons; you're free to add exclusively those features that you need   And now, let's detail some of its key features: Easy to use I'll only say one thing: It seamlessly integrates with WordPress UI...  Built-in integrations Some of the most tempting ones are:   PayPal MailChimp Stripe CSV export email manager MailPoet   … that other plugins would provide you with as paid add-ons. Add-ons You get to extend its functionality, free of charge, with specific extra features that you might need. And I'm referring here to:   force strong passwords download monitor multiple email marketing integrations   Pro add-ons If your feature needs are higher, you can always go for the professional or ultimate plan and “indulge” in some pro add-ons. Here's just a sneak peek into the “pro add-ons menu”:   WooCommerce member discounts restrict past content drip content restriction timeouts   Payment gateways Is it Braintree, Stripe or maybe Paypal that you need to integrate with your website? Stay assured: they all come as free add-ons... Should I also add that Restrict Content Pro has won the reputation of a developer-friendly WordPress plugin for membership websites? 3. Ultimate Member, The Best Membership Plugin for WordPress Community-Like Websites Disclosure: Ultimate Member is the perfect fit for community-like websites, where you'd focus more on the social aspect of membership rather than on selling paid memberships. For instance: it doesn't come with a built-in paid membership functionality that you could leverage. It's perfectly true that you could go for an add-on to hook it up with WooCommerce (e.g. Um-Switcher). But wouldn't it be more straightforward to opt for another WordPress paid membership plugin then? One geared specifically at selling paid memberships? So, back to the major strengths of this free WordPress membership plugin: Is is a social community that you plan to build? One depending on multi-tiered membership functionality? Where each member would administer its own account? Then Ultimate Member will make your perfect ally. Here are some of the features that makes it perfectly suitable for “social community building” scenarios: Content restriction  From:   enabling you to restrict the entire WordPress site to limiting access to specific blog posts, pages or categories, to controlling which menus to be served to each user roles   ... this plugin “spoils” you with unmatched flexibility. Still, do keep in mind that large scale content restriction, although powerful, is not its defining feature. Building communities is... 4. Paid Memberships Pro   Looking for the best membership plugin for WordPress focused on the subscription selling aspect? Here's your winner! Unlike Ultimate Member, Paid Membership Pro is designed to power subscription-based websites. It makes your conveniently powerful tool for... collecting payments from your members. And, branching out from this particularity, the are features such as:   accommodating thousands of members enabling you to put together a whole “ecosystem” of membership levels (weekly, monthly... payments) granting access to discounts, e-learning materials, private communities on your websites to members only supporting updates   Content restriction  Is it particular pages or posts that you want to limit access to? It's as easy as checking... the due checkboxes. Is it entire content categories that you want to restrict? Paid Membership Pro has got you covered. If, let's say, you need to restrict a certain widget or an individual video on a web page, feel free to use shortcode or PHP functions to narrow down your focus. Payment gateways Authorize.net, Paypal, CyberSource, Stripe, 2Checkout, CyberSource... What payment option do you need to integrate into your website? Note: you can always process the membership checkout through WooCommerce instead. Third-party Tools integration From AffilliateWP to MailChimp, to Kissmetricts... you have a whole list of third-party services to choose from and integrate with your membership website. Content dripping Not in your interest to serve all your restricted content all at once to your subscribers? Then... don't! This plugin enables you to “drip” your valuable content based on a time schedule.  You could set up a “Series” gradually unlocking content depending on the number of days passed since a member registered on your website. Paid Add-Ons A bit more... needy when it comes to the specific functionality that you'd want to “inject” into your membership website? Then, go for the paid version and unlock the 60+ add-ons available. Let me point out just a few of:   Zapier integration for automation  different email marketing services integrations Slack notifications email notifications selling access to particular pages/posts as an add-on package affiliate program integrations   5. WooCommerce Memberships   How many of the here-below checkboxes would you check?   you already have an e-commerce website it's a feature-rich plugin that you're looking for … one to reward your subscribers with various discounts you're looking for a plugin that easily and seamlessly integrates with WooCommerce   If you've ticked them all, then you might want to weigh the standout features of this WordPress membership plugin for WooCommerce: Unique options  Unlocking special discounts, granting content access upon a product purchase, limiting product viewing to members only... This plugin comes with quite a few “surprise” features that you won't find in any other of its “rivals” on this list here. Different membership levels You get “spoiled” with lots and lots of membership options that keep on... further multiplying if you decide to integrate with WooCommerce Subscriptions, too. This way, you'd gain even more control over free trials, drip content, recurring payments, for instance. Access Control  You're free to limit access to specific blog posts, pages and other content types on your website. The END!  By now you must have realized that: It's not “the best membership plugin for WordPress” that you need, but the most relevant one for your own membership website. For your specific requirements and feature needs. ... Read more
Adriana Cacoveanu / Jan 08'2019
What Will Be the Most Influential Mobile UI Design Trends in 2019? Top 4
A few more weeks and... “Chin-Chin: Happy New Year!”. Meanwhile, while you were making your final edits to your wish list for Santa and adding a few more lines to your New Year's resolutions list, we've been doing our homework, too. We've run our investigations and come up with our own list: one including the most influential mobile UI design trends in 2019. Both those trends:   that have timidly stepped on the mobile app design scene this year and will just grow more powerful next year and those that will emerge in 2019 and quickly take over the “scene”   So, here they are: the 4 major trends to look into and rush to capitalize on next year.   1. Buttonless Screens: From Niche to Norm Mobile UI designs without buttons have been around for some time, but we somehow didn't consider this would become... mainstream, right? Just think:   Instagram and its buttonless design that kind of forces you to rely on gestures for swiping through different stories on the page, for moving backward and/or forward Apple, Samsung, and Google, that are advocating for edgeless, clean screens; they implicitly “force us”, mobile app designers, to drastically trim down our in-app button collections. To remove buttons completely... all those e-commerce apps that have simplified their checkout processes by... removing the cart button; customers can just drag and drop items into their shopping carts.   Conveniently intuitive, right? The “buttonless UI” will be one of most prominent mobile UX trends in 2019: After the “power button & volume button & homepage single button" trio, we'll be witnessing the growth of the “buttonless screen” trend in 2019. In other words: it's time to rethink your mobile UI/UX designs; to make them more gestures-focused. Which might be as simple as... adding animations to show the gestures that end users need to perform for carrying out specific tasks.   2. Visual and Voice Interfaces Will Work Together “Will graphical user interfaces ever be taken over by voice user interfaces?” “ is a question on Quora. On the contrary: Not only that voice-assisted interfaces (VUI) won't “annihilate” the visual ones, but the 2 of them will... happily coexist starting next year.  Get ready to witness a seamless integration of the two types of UI in 2019's mobile apps! Or, even better:  Instead of being one of the passive witnesses, how about leveraging this trend, one of the most influential mobile UI design trends in 2019? How would these apps, supporting a cohabitation of voice and visual interfaces, look like from a user's perspective?   the mic button will become... optional; mobile app users can just utter their questions/commands and the apps will interpret them. he/she (the user) will be able to speak commands like “Show me the cheapest option and book me...” or “Pick it up!” or “Narrate these 3 chapters to me!” and have the app read a book, book a flight or answer a call    3. Bottom Navigation: One of the Dominant Mobile UI Design Trends in 2019 Which side are you on? Are you a top navigation or a bottom navigation “fan”? Well, you can call yourself a “visionary” if the bottom navigation has been your top choice for some time now. It looks like it's going to be one of the prominent mobile app UX design trends in 2019. Why? Because:   devices will have even larger screens the single homepage button “rocks supreme” and app users got so used to the swiping gesture “extreme” convenience is key: all the major buttons should be displayed within reach on the app's screen   And this type of navigation comes down to:   bottom sheets swipe-up gestures    3.1. Bottom Sheets Why will bottom sheets become app developers' top choice when it comes to displaying sub-flows? Because they're highly flexible! Users get to scroll both vertically, for unlocking more content, and horizontally (carousel), for swiping through similar content with no need to skip screens. Pop-up dialogues, overflow drop-downs, hamburger side-drawers will start to fade compared to bottom sheets' “all within a swipe's reach” type of convenience.   3.2. Swipe Up Gestures  You'd swipe up to open an app drawer, then swipe up again to go back or to close the app... It's been a while since in-app swipe up gestures have started to “outshine” buttons/bottom tabs. And they're perfectly fit for bottom navigation. They enable you, the mobile app developer, to... keep everything“minimalistic” in your app:   the top area (content) the bottom area (navigation)   Simple, intuitive, convenient. No wonder that this will be one of the most influential mobile UI design trends in 2019.   4. Mobile App Design for Larger Screens You'll need to swiftly adapt your mobile UI designs to devices with increasingly large screens. They'll be the ones “dictating” how you'll design your mobile apps' interfaces in 2019. And there are few challenges to expect, consider, and properly prepare yourself for before this trend becomes... a norm:   How will you seamlessly integrate in-app gestures into your mobile apps? “Fully” integrate them, I mean... Losing buttons/bottom tabs will automatically enlarge the screens and leave you with more screen real estate; how will you fully leverage those enlarged screens? How will you optimize your apps' UX and UI so that the user can rely on his/her thumb and thumb only to navigate through and perform actions within the app?   The END! Let's recap, now! Here's your New Year's resolutions list:   "I'll design buttonless user interfaces in all my mobile apps in 2019" "I'll somehow make voice and visual interfaces work together" "I'll design “bottom navigation” and swipe-up gestures navigation in my next year's apps" "I'll adjust and properly adapt my mobile app designs to fit devices with larger screens" Photo by Gilles Lambert on Unsplash  ... Read more
Adriana Cacoveanu / Dec 13'2018
Must-Have Skills in the Age of AI: Stay Relevant and Competitive as a Developer
“AI will replace software developers by 20XX...” Does this kind of alarming forecast sound (too) familiar to you? How do you stay relevant in the workforce of the future? What are the essential skills in the age of AI to hone or to develop? That is the question... Now, what we do know is that:   you definitely need to (re)adapt to remain competitive in the context of automation processes, a highly automated workplace … and software-driven machines that can now process unstructured data meaningfully there are skills that can't be automated: soft skills become increasingly valuable more and more businesses will be interested in bringing “fusion skills”, a mix of human and machine talents, into their workplace   In other words: as we teach machines to learn, we, too, need to start learning from them in order to remain relevant and competitive in the workforce of the future. It's definitely not a “one-way street”.   1. Understanding AI and Its Disruptive Power What do you think of when you say “artificial intelligence”?   shopping recommendation engines? chatbots? voice/image recognition engines?   These are the most common applications of AI, right?  And they're all powered by... data: There are massive amounts of raw data all around us, waiting to be processed... meaningfully. Data that's powering any organizational decision these days. Now, here's how AI turns all this data into actionable knowledge: first, it's the big data techniques that unlock the power of the unprocessed data next, there are the machine learning algorithms that enable computers to assimilate all these huge volumes of data and finally, there are the deep learning and neural network patterns that add “meaning” to the process up to the point of... predicting human behavior “And how precisely does AI impact my job?” The immediate impacts of Robotics Process Automation on your job as a software developer will be:   disrupting all those repetitive, mundane processes and operations (and thus enhancing your job) providing you with more... time   “Time” that you could invest in honing all those skills that can't be automated: soft skills (or people skills), the ability to engage in creative researches etc.   2. Thriving in the Age of Automation: Upskill Yourself There's no denying it: In order to stay relevant and competitive in the age of AI you need to skill up. Constantly... You need to make learning an integral part of your daily work as a software developer. And thank God, there's a whole plethora of:   platforms for open online courses AI incubators and university labs (Carnegie Mellon or MIT) competency-based training tools open educational resources (EdTech)   … for you to choose from. Go for bite-sized upskilling sessions and turn it into a continuous process!   3. Skills in the Age of AI that Can't Be Automated And this is your trump card in this “human meets machine” or “AI threatening to replace developers” type of debate: Soft skills become extremely valuable in the age of automation because... they can't be automated.  What skills I'm referring to here?   creativity critical and innovative thinking collaborating skills social skills empathy adaptability   In short: those type of skills that are outside the purview of rigid algorithms. Hone your “people skills” to thrive in a workplace based more and more on collaboration. And on crafting authentic human experiences. Perfect your creativity and critical thinking to generate out-of-the-box solutions to common problems.   4. Develop These 5 “Fusion” Skills "Fusion skills” are the must-have skills in the age of AI. I'm talking here about the kind of abilities that result from human & machine interactions turned into a continuous collaboration, such as:   4.1. Intelligent Interrogation  Develop the skill of asking machines the “right” questions.  It will become a crucial one since, as human, you can't predict interactions between complex layers of data working independently. You cannot probe overly complex systems...   4.2. Bot-Based Empowerment  Instead of constantly fearing it and fighting it back: Embrace the power of AI bots. Let them empower you to:   boost your career as a software developer become more productive (they're taking the mundane operations off your back, remember) extend your competencies   4.3. Judgment Integration One of the truly powerful skills in the age of AI is anticipating when a machine can't make a decision. Due to lack of ethical context, let's say. It's then that you can intervene and provide the needed input.   4.4. Reciprocal apprenticing As already stated here: The learning process is no longer a “one-way street”. You, too, need to learn from the AI agents integrated into your workplace, not just the other way around. It means that you'll need to:   develop all those new skills needed for performing tasks in collaboration with machines learn how to successfully carry out AI-enhanced processes   4.5. Relentless Re-Imagining Keep honing — or developing it if you have none — the skills responsible for reimagining the status quo. Dare to re-think how AI can improve business models, organizational processes and overall your entire work as a software developer. Once you've managed that, you'll be ready to... adapt yourself to all those imminent changes. To start perfecting all those relevant skills in the age of AI.   5. Aspire to Be an Expert-Generalist Software Developer  Organizations will be “hunting” expert-generalists, so make sure you're prepared to... stand out.  Not just as a specialist, but as a well-rounded software developer:   with expertise in multiple areas who's an excellent communicator  who's always the first to volunteer for challenging projects who's curious, highly trainable and extremely adaptable   In other words: to stay competitive you'll need to go from having in-depth expertise in one area, to... having a broad breadth of knowledge and multiple expertise areas.   6. The Workplace of the Future: AI + HI (Human Intelligence) In the end, perfecting/developing the crucial skills in the age of AI comes down to this common sense criterion: Invest in honing those skills that enable you, as a software developer, to collaborate with different AI agents. The workforce of the future will not be focused exclusively on human intelligence (not anymore) or on AI, but on... collaborative intelligence.  In other words: let AI empower you in your work, perfect those skills that machines can't automate and... learn to collaborate with AI systems. Photo by Franck V. on Unsplash.  ... Read more
Adriana Cacoveanu / Dec 05'2018
What Are Some of the Best AI Software Development Tools? Top 8 Software to Boost Your ML Project With
Which AI software development tools, frameworks, libraries, and other technologies should you add to your toolbox? And the number of emerging AI tech these days sure is... overwhelming! Which one(s) the perfect fit for your own machine learning project/model/problem? Which one's equipped with precisely those features that you need for a fully functioning AI algorithm? To lend you a hand, we've made a “drastic” sorting out and narrowed the high amount of AI software available to a shortlist of... 8. The 8 best AI technologies to consider “turbocharging” your ML project with: 1. Infosys Nia A knowledge-based AI platform to go with if your AI-powered project's goal is to:   gain in-depth insights into customer behavior forecast revenues reduce financial transaction frauds optimize asset efficiency streamline how your team manages customer inquiries    "And how does it work?"  "What does it do, more precisely?" It collects organizational data on the legacy systems, the people and the processes involved and “piles it up” into a self-learning knowledge base. One that developers and data analysts in your team can leverage to create high-performing, scalable ML models. And all that even if they don't have data science expertise, thanks to the platform's easy-to-use ML workbench. Key features:   extensibility: for data preparation, machine learning methods, visualizations self-service provisioning: elastic cloud deployments GUI-based features: enabling your AI software development team to build accurate ML models integrated enterprise framework: for data preparation, reports, deployment, and modeling streaming fast predictions: Infosys Nia Prediction Server   2. Deeplearning4j The second — yet not “the second best” —  AI software development tool in our list is an:   open-source distributed  customizable at scale   … deep-learning library written for Scala and Java. One that Clojure programmers, too, using Hadoop and other file systems can use for building their deep neural networks.  A library designed as a plug-and-play AI solution for fast prototyping. Key features:   it can be used in business environments on distributed CPUs and GPUs tailored to perfectly fit a micro-service architecture GPU support for scaling on AWS  Python, Java, and ScalaAPIs it scales on Hadoop it can import neural net models from other frameworks — Caffe, TensorFlow, Theano —  via Keras it comes with a cross-team toolkit for DevOps, data scientists, data engineers   3. Torch  An open source machine learning library & a Lua-based script language & a scientific computing framework. Why/how has it “earned” its place on our shortlist here?   first of all, it provides a “heavy load” of algorithms of deep machine learning the Facebook AI Research Group, the Idiap Research Institute, IBM and Yandex are just some of the heavy-weighting names using it it's built to “fuel” machine learning projects with both speed and flexibility, without adding an unnecessary overhead   Key features:   linear algebra routines; and it supports plenty of them: for indexing, type-casting, cloning, slicing, sharing storage etc. N-dimensional arrays efficient GPU support  numeric optimization routines it's embeddable, with ports for Android and iOS backends great interface to C (via LuaJIT)   4. Tensorflow, One of the Most Popular AI Software Development Tools A Google-powered open-source software library for machine learning projects. One that's conveniently easy to use across a wide range of platforms. You get to use it with:   Java  Python Go C++ Rust JavaScript   As a new user, you'd be joining the high league of all those big names that are currently using this AI software development technology in their ML-enabled projects: Uber, Intel, Twitter, eBay... “And how does it work?” Basically, what it does is that it provides you with a library storing numerical computation that uses data flowgraphs.  In short: you'd be building your neural networks using flowgraphs:   the nodes in the graphs stand for the math operations the graph edges represent the tensors (multidimensional arrays of data) communicating between them   It's this flowgraphs-based structure that enables developers to deploy deep learning frameworks over several central processing units (CPUs) on tablet devices, mobile, and desktop. But probably one of TensorFlow's biggest strengths and the reason for its wide adoption is its documentation: It provides plenty of support for newcomers (those new to Python here included: from tutorials to detailed documentation, to online resources... Another interesting feature is given by its multiple APIs:   the lowest level API: gives your complete programming control the higher level API: makes repetitive tasks more consistent and easier to carry out for different users   Top TensorFlow-powered Apps:   RankBrain: deployment of deep neural nets on a large-scale basis for search ranking on Google.com Massively Multitask for Drug Discovery: a deep neural network model for detecting favorable drug candidates On-Device Computer Vision for OCR: computer vision model that performs optical character recognition for real-time translations   5. OpeNN The library that you should go with if your AI software development team is made of devs with rich experience in implementing neural networks. OpenNN (Open Neural Networks Library) is a C++ programming library designed to learn from both:   mathematical models and datasets   Note: Neural Designer, a predictive analytics software that creates visual content enhancing the interpretation of data entries —  e.g. tables and graphs —  is OpenNN-powered. Key features:   it provides plenty of support —  documentation, tutorials —  for helping users get into neural networks, even if it's built for developers with a solid AI background it implements data mining methods by bundling multiple functions bundles of functions that can get embedded into other software tools via API (thus enabling and streamlining the interaction between these software tools and the predictive analytics tasks) it's a high performant neural network library: high processing speed, great memory management (since it's built in C++) and CPU parallelization    Datasets:   time series prediction pattern recognition function regression   Mathematical Models:   optimal shape design optimal control    Datasets and Mathematical Models:   inverse problems   6. Apache SystemML  An IBM-powered machine learning technology. Or, if we are to detail this short definition a bit: It's a scalable, flexible in-memory data processing framework providing a huge database of algotihms focused on: clustering, classification, regression, collaborative filtering.   Key Features:   automatic optimization based on both cluster and data characteristics (scalability & efficiency) algorithm customization via Python-like and R-like languages it can be run on top of Apache Spark, due to its great scalability capabilities multiple execution modes: Standalone, Spark MLContext, Hadoop Batch, JMLC (Java Machine Learning Connector) 7. Caffe A deep learning framework written in C++, with a Python interface built around 3 main features:   speed modularity expressiveness   Speaking of the latter, this is an AI software development tool that provides developers with an automatic inspection tool based on imaging.  If your machine learning project includes computer vision-related tasks, Caffe (Convolutional Architecture for Fast Feature Embedding) makes a great, robust choice.  Key features:   high performance extensible code, that enables active development expressive architecture  an active community constantly improving it   8. Apache Mahout How important is scalability for your machine learning app project? If “critical” is the word you'd use, then Apache Mahout is the AI software development tool for your project. It's designed with scalability in mind and as a tool empowering data scientists, mathematicians, statisticians to implement their own algorithms quick and easy. Key features:   provides pre-built algorithms for Apache Flink, Apache Spark, H20 support for various distributed back-ends (Apache Spark here included) comes packed with modular native solvers for GPU, CPU, CUDA acceleration Matrix and vector libraries   The END!  These are the top 8 AI software development tools to narrow down your options to. To evaluate first, putting them against:    your project's goals your team's experience with machine learning algorithms ... and to determine whether they're the perfect fit. ... Read more
Adriana Cacoveanu / Nov 21'2018
How Do I Get into AI Development? Where Do I Start? A Complete Beginner Guide to Learning AI
How does a complete beginner get into AI development? What learning resources does he/she use along the journey to learn about artificial neural networks, the basic AI algorithms, the simplest machine learning models and all that?    “How important is a solid math background?” "And what programming language should I learn/deepen my knowledge of?” Here's a step-by-step guide for a complete beginner to AI, that should put you on the right track, so can you get started with AI software development... the right way:   1. A Solid Background in Mathematics Is Just... Crucial Just think about it:   machine learning comes down to... linear algebra you need at least some basic knowledge of calculus for training neural networks   And there are a few more topics that you should add to the list:   probability and statistics various algorithms   Learn as much math as you can before you jump into the best courses and other learning resources on AI that you can find.  It will greatly help you...   2. Narrow Your Focus: What Do You Want to Build? Clearly articulate your goal, make it fit into one simple sentence:  "To develop an algorithm that predicts a person's blood pressure", for instance. It's only then that you'll be able to:   break your task/problem down into smaller parts narrow your focus (for AI is a discouragingly broad term) identify the specific resources that you'll need    3. Learn By Doing: Try to Solve a Simple Problem for a Start In other words: try writing a simple neural net first, then gradually focus on more complex ones. As a start, tackle an easy problem. Experiment with multiple approaches for harnessing algorithmic decision-making while trying to solve it. Get into AI software development by finding the quickest solution to a given problem: Train a simple machine learning algorithm and evaluate its performance. Next, level up your knowledge by optimizing your basic solution. Experiment with upgrading various components and monitor the resulting change. Try your hand at:   building your own simulator writing the AI code for games like Sudoku or Tic Tac Toe developing code for pattern recognition    4. Get Started with Deep Learning: Learn About Artificial Neural Networks As a newcomer, you must be particularly interested in deep learning, am I right? Now, if you want to explore this machine learning method, you'll need to get familiar with the basics of artificial neural networks. In this respect, you might find this online resource here on Deep Learning enlightening enough.  As for the open-source framework to use for testing the newly acquired skills you have:   Google-powered TensorFlow, by far one of the most popular ones; a Python-based one Theano, Scikit-learn, Keras, all  Python-based frameworks, as well Deeplearning4j, a Java framework  5. Choose Your Programming Language: Consider Performance and Libraries Availability “What programming language should I learn to get started with AI development?” Actually, choosing the language is not that important.  Go for a mainstream language (although you can still do ML/AI with lesser popular languages, as well). One that:   provides you with lots of tools and high-quality libraries stands out in terms of performance    So, it could be either Python or C++, either Java or C or Octave. Each one has its own strengths and limitations when it comes to performance and libraries availability.   6. Learn Computational Learning Theory to Get into AI Development And this is particularly important when you delve deep into the field of Natural Language Processing.   7. Build a Powerful Computing HardWare or Use a Cloud-Based One Expect some significant hardware requirements for running artificial intelligence and implementing machine learning. A powerful hardware system, using a bundle of CPUs and high-performing GPUs is a must if you're thinking:   considerably big models; you'll be testing lots of alternative models before you decide on the final one more and more complex experiments that involve harnessing the power of AI   And here, you have 2 options:   you either put together your own powerful enough supermachine you go with a cloud-based alternative    Speaking of the latter, here are 2 cloud computing platforms to consider:   Cloud TPU: a Google-powered hardware custom designed specifically for carrying out tensor operations in a more efficient way than a GPU or CPU Google CoLab: a Jupyter notebook environment that doesn't need any setup; you get quick access to the cloud-based GPU for running your scripts to   8. Get Familiar with Most Machine Learning Algorithms If you're determined to get into AI development you should be/get comfortable with:   support vector machines (SVM) recurrent neural networks (RNN) deep learning (DL) a whole lot of other decision trees and random forests   There's no shortcut here!   9. Enter a Kaggle Competition Put your newly acquired skills to the test! Commit to solving the problems that other AI developers are working on by participating in a Kaggle competition. Test out multiple approaches and go with the most effective solution. Not only that you will get to test your skills in AI software development but your collaboration skills, as well: You'd be joining a large community, asking questions on an AI-focused forum whenever you get stuck while learning artificial intelligence, you'd be sharing your groundbreaking ideas and so on.   10. 2 Free Online Courses to Try Your Hand At One of the questions at the beginning of this post has been: “ What learning resources does he/she use along the journey to learn...” So, here I am now, ready to give you 2 recommendations:   Stanford University – Machine Learning: Google Brain's founder, Andre NG, is teaching this course; it's loaded with real-time examples of AI-driven technologies, with valuable information that will help you gain a better understanding of how neural networks learn...   Learn with Google AI: a Google-powered project including a machine learning course for newcomers (incorporating the TensorFlow library as well)   The END! Sure hope these 10 tips will help you grow more confident and eager to get into AI development.  ... Read more
Adriana Cacoveanu / Nov 19'2018
How to Create and Manage a Content Workflow in Drupal 8: Either a Standard or a Custom One
"A Drupal 8 initiative to improve Drupal's content workflow", this is how Dries Buytaert first defined the Workflow Initiative, back in 2016. Now, coming back to 2018, you must be asking yourself a legitimate question: “How do I set up a content workflow in Drupal 8?” “How do I manage, extend and customize an editorial workflow to fit my Drupal 8 website's publishing needs? One including multiple users, with different permissions, that manages the workflow status of... different content types.” Which are the (not so) new content management features and functionality implemented to Drupal core by now? Those aimed at improving the user experience (editors, content authors...)?   Let's get you some answers:   1. Introducing: The Content Moderation Drupal 8 Module Content Moderation has reached stable version in Drupal 8.5.  Why should you care? What makes this core module of critical importance for creating your content publication workflow?   because otherwise, you'd have only two built-in states to “juggle with”: published and unpublished because it enables you to build a simple workflow for drafts, too … to set up new custom editorial workflows, as well, in addition to the default one   In short, what this module does is that it enables you to create a flexible content workflow process where:   one of the editors in your team stags a “Draft” content and another user on your Drupal 8 website, with a different permission, reviews/updates it   It comes as a powerful tool for you to leverage when your workflow needs are more complex than “ON/OFF”.   2. How to Set Up a Simple Content Workflow in Drupal 8 You'll only need 2 modules for putting together the workflow for a basic content publishing scenario:   Workflows, that will provide just the framework needed for managing the states and transitions included in the process Content Moderation, which will add the “Draft” state, a “Draft to Published” content workflow, and an admin view for handling all the drafts   And here's setting up a basic content publishing workflow in 4 simple steps:   Enable the “Content Moderation” core module Go to “Configuration” and click the “Workflow” tab; it's the last one in the unfolding drop-down menu Open the “Workflows” page Tada! You've just turned on your default “Editorial workflow”   For now, you should be having 3 major states in your workflow:   draft published archived   Note: use permissions to grant content contributors the right to edit/create drafts, editors the “Transition drafts to published” permission, admins the right to “restore to draft transitions” and so on... And voila! Your default editorial workflow, with the Content Moderation module ON, should suit your basic state tracking needs. It should fit any standard use case. Now, if your workflow needs are a bit more complex and website-specific... keep on reading:   3. Content Revisions in Drupal 8 One of the most powerful features that Content Moderation will “turbocharge” your editorial workflow with is:  Saving each change as a content revision in the database.  It stores all revisions in the system. But let's take a common scenario, shall we? Let's say that a second editor decides to make an update to a piece of content (either a content type or a custom block type). He/she updates it, then saves it as a “Draft”. You'll then still have the published version of the content, that's live, on your Drupal website, as well as this Draft (or several of them), stored, as a revision, in your database. A crucial functionality for any complex content publishing workflow:   with content revisions, you get to keep track of who's updated what and when … to trigger log messages regarding those changes, informing other content authors that a given content has been edited and you can also revert to the oldest revisions if needed   4. How to Extend and Customize Your Content Publishing Workflow  Rest assured: there's no need for custom code writing, even if your content publishing needs are a bit more complex. Here's what it takes to extend and to custom-tune your default content workflow in Drupal 8:   While on your “Workflow” page, just click the “Add a new state” button and add more workflow states: “Needs Review” or “Second Review” etc. Next, make sure you adjust your transitions to support your newly added state(s). For instance, a “Second Review” state would require a “Move to Second Review” transition.  Then, apply your extended workflow to either a specific content type or to a custom block type You can also create new separate content publishing workflows to have a different one for your press releases, a separate publishing workflow, an editorial workflow for your blog posts, a warehouse workflow etc.   Defining multiple workflows in Drupal 8, each one with its specific “ecosystem” of states and transitions, is now possible. Notes: the transitions in your workflow will stand for the permissions that you'll assign to different Drupal roles in your team use clear, descriptive verbs to name them remember to grant editors the permission to undo transitions, as well (they might need to revert a piece of content to “Needs Work” once they've reviewed it, for instance) In short: By defining multiple states for your piece of content (Published, Pending Review, Ready for Review, Ready for Second Review, Unpublished, Draft etc.) and managing the permissions corresponding to the state transitions you can build a content workflow in Drupal 8 capable to support even the most complex publishing scenarios. Now, another common scenario where a custom content workflow in Drupal 8 is needed is when you have a website publishing content to multiple platforms.  You have a Drupal 8 website, a native application and an internal portal, let's say... Your publishing workflow would look something like this:   first, content gets moderated to be published on the front-facing Drupal website then, it gets put in the queue for review before it gets published (or declined) on each one of the other 2 platforms   Note: if you need to further extend your editorial workflow and to apply it to a custom entity, for example, you can always write a WorkflowType plugin that meets your specific needs. Then, you can apply your custom workflow to... steps in ordering in a resto app, steps in a manufacturing process and to pretty much any entity (think beyond content) that needs to change its workflow states...   5. How Do You Know If You Really Need an Editorial Workflow? Do you really need to use content moderation? To set up a whole workflow for your publishing scenario? You do, if and only if:   there are multiple content authors uploading content on your website, content that needs to be reviewed before it gets published you're managing a team of multiple admins, with different user roles each moderator knows his/her role in the publishing chain   But if the content authors in your team have the very same type of permission as the admins and they just push content through, a content moderation workflow is useless. It would only slow down the publishing process. So, just because you have the option to set up a content workflow in Drupal 8, doesn't mean that you should rush to implement it on your own website, too... Maybe you just don't need a workflow. The END!  What do you think about these content management capabilities in Drupal 8? Are they powerful and diverse enough to suit your workflow needs?  ... Read more
Adriana Cacoveanu / Nov 14'2018
AI vs Machine Learning: Is AI Different from Machine Learning? Or Are They the Same Thing?
AI, AR, VR, ML, DL... AR vs Machine Learning: is there a difference between these 2 technologies? Which one(s)? Or do these 2 acronyms refer to the very same tech? Keeping up with which tech does what, with parsing the differences between all the fancy 2-letter acronyms emerging these days becomes increasingly challenging. Especially when the terms are often used interchangeably, like artificial intelligence and machine learning. Now that's frustrating: how could you possibly distinguish a clear-cut demarcation line between such a broad concept and “catch-all” term as AI (or “machine intelligence”) and machine learning? Time to shed some light here:   1. What Is Artificial Intelligence? A more than succinct, yet descriptive enough definition would go something like this: The capability of a machine to perform tasks that require human intelligence. And here I'm referring to tasks such as:   recognizing images/voices understanding languages, translating planning problem-solving learning   In short: once a computer system reaches a level where it understands, analyzes, tells the difference between objects and makes decisions all by itself — based on understood criteria —  then we can already talk about artificial (or machine) intelligence.  Now, a more detailed definition of artificial intelligence would be: The theory and development of machines that mimic intelligent human behavior. That carry out tasks requiring human intelligence, in a more human-like way: they can reflect, make decisions, interact with humans and perform different complex tasks.   2. AI: Types and Applications We couldn't talk about a complete and accurate “AI vs machine learning” analysis without focusing on the artificial intelligence typology and its specific applications. Therefore, you should know that AI comes in two different “flavors”:   2.1. General AI It involves broader applications: A machine that learns to perform a wide range of complex tasks (that require human intelligence) and gains the ability to solve various problems in a human-like way. Therefore, being broader in scope, general AI is harder to achieve than the “applied AI” alternative: In fact, we don't yet have systems or devices capable to successfully handle any task that a human being can. That type of machine capable to mimic the human brain, to understand, interpret, respond to various stimuli...   2.2. Applied AI (or “Vertical” or “Weak” or “Narrow”) Defining the applied or “weak” AI is crucial for properly identifying the clear-cut differences between AI and machine learning: It's that type of artificial intelligence — of “smart” system — that addresses a specific need. That focuses on handling one single predefined task (e.g. personalizing ads or trading stocks). But maybe a few examples would be more appropriate for you to grasp the full meaning of applied AI:   LinkedIn messaging Netflix recommendations Spotify discovery mode Siri   3. AI vs Machine Learning: What Is Machine Learning More Precisely? First of all, we should make it clear that: Machine learning is a subset of artificial intelligence. And if we are to detail this statement a bit: Machine learning is that subcategory of AI that uses statistical techniques to identify patterns of repetition in databases. Once properly trained, it can analyze loads and loads of data sets, predict accurate outputs and sort new inputs all by itself (e.g. voice search). For instance, after going through huge volumes of customer data, it can recommend the most appropriate products, based on online shoppers' past choices and search history. Or it can trigger certain functionalities of a software based on a particular user's voice.  “But what do you mean by “training” a machine learning?” Here, I'm referring to “neural networks”. Basically, for each machine learning there's a neuronal network programmer (or a team of them) who builds these networks for training and learning. And what he does more precisely is choose specific factors of importance to determine the outcome of a given situation. And they keep “polishing” and further adjusting these factors (or “weighs”) in the outcome until the network reaches the proper result according to the given input. Once the machine learning reaches that level where it's capable to understand and to adjust the factors of importance on its own, to deliver accurate results (in real-time), it will keep improving itself. It will keep “learning” how to deliver more and more accurate results without any human intervention. In short: you “feed” the algorithm with huge volumes of data and it will then learn, adjust itself and continuously evolve when it comes to determining the most accurate outcome of a situation. Just think:   image recognition voice recognition   Now, in an AI vs machine learning debate, one where we're trying to identify the differences between the two concepts, we can say that: Artificial intelligence is the broad concept, whereas machine learning is the technology powering much of the development in the AI field. That machine learning is a type of AI that learns — while getting fed huge amounts of data  — and improves all by itself.  With no human intervention to keep “telling” it which is the matching rule between new inputs and the most probable outputs.   4. In Conclusion... What better way of ending this comparative analysis of the two terms/techs then by pinpointing the main differences between AI and machine learning in a shortlist?  Therefore, here it goes:   while machine learning can exist without AI, the latter can not exist without ML (the main reason behind the confusion when using these terms and why their definitions are often interchanged) once a machine can make a choice or any decision on its own, once it can spot the difference between 2 items, it grows into AI; then, there's more than machine learning technology that's being leveraged there   The END!  Is it clearer for you now which is the key difference between the two concepts? Where precisely you should draw the demarcation line between these 2 technologies? ... Read more
Adriana Cacoveanu / Nov 12'2018
Can LastPass Just Block Your Account and Withhold Your Passwords? Yes! Here Is What They Have Put Us Through
What if you lose your LastPass master password? Then you're doomed... You'll lose your password vault for good. But hey, you can still to lose all your sensitive data even if you don't forget that crucial password! I mean, if it has already happened to us... Apparently, there's no guarantee that one day, for no reason, LastPass won't:   lock you out of your account and block your access for... mere fun keep advising you to use their recovery password form… one that doesn't work and that you had already tried, several times, with no success keep suggesting that you're some sort of a "liar", insisting that you had, in fact, changed your master password and that's why you can't log in now keep giving you a "suicidal" advice: delete your account and open a new one, even if this means losing all your data refuse to allow you to retrieve the data that you stored in your "old" account to export it to that new account they keep insisting to create refuse to refund you the money you had paid, in advance, for a service that apparently doesn't serve your needs: it keeps you blocked out and puts a garnishment on your passwords   So, just beware of which company you choose to trust with your sensitive data! Their "The last password you'll ever need" slogan might just turn into: "The last password you'll ever have". For once they block you, you'll be left with... none.  But let's rewind and go back to the day when it all started. Little did we expect for it to turn into our worst-ever scenario, considering that we had been happy LastPass users since... 2009.   1. It Started Like Just Another Ordinary Log In to Our LastPass Account... But —  surprise, surprise — we couldn't sign in. And our master password was the same old one: we did NOT forget it! I mean, we had been LastPass users for almost 10 years': We were fully aware of what would happen if we ever lost that priceless password! So, we jumped straight to their “Recover Account” form, which brutally served us the following message: And it was about that time that things started to go wrong. When the “ordinary” slowly turned into... extraordinary: An extraordinarily bad experience with the LastPass support team.   2. When in Trouble, Contact LastPass Support and... Start a Deaf Dialogue This is where our deaf dialogue with lovely Michelle from LastPass's support team started. And it was such a nice and fruitful chat that we had there! I let her know that, by some mysterious reasons, that day, from all the other days in the previous 9 years, I couldn't access our account. Nor could I use their recovery account system for... it didn't work. Lovely Michelle either:   suggested that I was lying when I told her about my attempts to use their recovery account form understood everything just too well, but she had a script to follow, so she decided to ignore parts of my message thought she was dealing with some a retarded person    … and told me that, in fact, I had managed, somehow, to change my master password. Then she kindly advised me to... go through their recovery account steps. Even though I had told her I already had done that. But, who was I to come in between her and the script she had to follow blindly? And then came her somehow “suicidal” advice for us, the OPTASY team, one of the loyal LastPass customers: To delete my current account (for which I had already paid in advance) and create a new one! Just like that!   3. News Alert! LastPass Can Block You Out and Withhold Your Stored Data For that's what happens when they advise you to delete your account and “start over”: Your password vault goes... down the drain or gets stuck in their cloud, no matter how you want to look at it. Here's a tricky question for you: What would be a worse scenario for you?    To lose all the passwords that you've trusted LastPass with? To lose all your passwords with no guarantee that no one else can access them later on?   And here's charming Michelle's brutally honest answer to my legitimate question(s): “What's gonna happen with all the records in our OLD account? How can we import them into the new one?” And that reply just... sent cold shivers down our spines...   4. Being Punished Without Fault: No Refund and No Chance to Export Our Data Now, you do guess that it was about then that we reached the climax of our conversation with the LastPass support team (aka Michelle). And so, masochistically enough, we dared to pop up another question: “If you're not able to help me reset the password, please let me know how can I export all the data from my old account and refund the money I paid in advance.” The answer was a... slap in the face, like the previous ones: To sum up now:   locked out from our LastPass account, after several years left to somehow make their not-working “recovery account system”... work for us forced to keep trying it over and over again given just one option: to create a new account and lose all our passwords (and the money paid in advance, as well)   Can you imagine that we trusted LastPass for years?  And that we ended up getting treated like this? With no fault.   5. Their Invariable Response? To Start Over and Knowingly Lose All Passwords Needless to add that I kept on explaining to the LastPass support that in vain did they point out to the recovery steps to take: I had already taken them, even before I had even contacted them in the first place. With zero success... I claimed back the money we had paid in advance for their password manager service, as well as the possibility to export our password to that new account that they insisted that we should set up. Michelle's answer: The END! No happy ending, though, to this story of our terrible experience with LastPass. Who would have thought that all these years we were trusting them with our most valuable data! And that one day they'd just... kick us out and withhold precisely that sensitive data with:   no fault from our side no clear explanation on their side So, just beware, be informed, be skeptical about trusting LastPass... ... Read more
Adriana Cacoveanu / Oct 12'2018