My First Post      My Facebook Profile      My MeOnShow Profile      W3LC Facebook Page      Learners Consortium Group      Job Portal      Shopping @Yeyhi.com

Pages










Showing posts with label facebook. Show all posts
Showing posts with label facebook. Show all posts

Monday, February 15, 2021

Tim Berners Lee created the web. Now he’s out to remake the digital world.

Tim Berners Lee is lately busy thinking over following questions:
  • The Internet Hasn’t Lived Up to Expectations, What is the Way Forward?
  • The internet was supposed to be an infrastructure that gave everyone access to self-actualize and create value no matter how competitive it became, but we are failing at that.

Let's note that the beauty of the web is that it is not just a solution or digital product, but it was invented as an infrastructure for other internet related solutions to be built upon, and it hasn’t really failed in that regards as we have seen the rise of various software solutions, mobile apps, websites, artificial intelligence, and the likes. The web has become a hub for people to create various forms of value even as technology and the internet continue to penetrate into every aspect of human life.

As people began to create imaginative solutions and platforms, the battle to stand out and lead various business categories, trumped the initial purpose of the internet as the web has now been dominated by certain gatekeepers and the various value chain is now being manipulated to the benefits of a selected few. There are various factors that have contributed to the present toxic and unhealthy state of the internet but they all seem to revolve around these three factors: access to the value in the ecosystem, data control, and market monopoly.



But now, Berners-Lee, 65, believes the online world has gone astray. Too much power and too much personal data, he said, reside with tech giants like Google and Facebook — “silos” is the generic term he favors, instead of referring to the companies by name. Fueled by vast troves of data, he said, they have become surveillance platforms and gatekeepers of innovation.

Releasing his creation for free 30 years ago, the inventor of the world wide web, Tim Berners-Lee, famously declared: “this is for everyone”. Today, his invention is used by billions – but it also hosts the authoritarian crackdowns of antidemocratic governments, and supports the infrastructure of the most wealthy and powerful companies on Earth.

Now, in an effort to return the internet to the golden age that existed before its current incarnation as Web 2.0 – characterised by invasive data harvesting by governments and corporations – Berners-Lee has devised a plan to save his invention.

This involves his brand of “data sovereignty” – which means giving users power over their data – and it means wrestling back control of the personal information we surrendered to big tech many years ago.

Berners-Lee’s latest intervention comes as increasing numbers of people regard the online world as a landscape dominated by a few tech giants, thriving on a system of “surveillance capitalism” – which sees our personal data extracted and harvested by online giants before being used to target advertisements at us as we browse the web.

The idea behind solid is to create a platform where every user of the web can create their own Personal Online data stores(Pods) that would be used to store their personal and private data and be used to regulate the way any service provider can use these data; an individual can host this data on a solid server with their personalized access to the data that is used to decide if software applications can read or write on the data, therefore, the user has total control over his/her data and does not have to worry about leaving any data behind whenever they delete a mobile app as the app cannot store their data but can only read or write on it.

The company (Inrupt is responsible for Solid), is already receiving positive responses as it claims that there are already is already claiming that there are already 1200 new Solid community members, more than 30 open-source developers building apps on the platform, and 60,000 developer accounts.

Others say the Solid-Inrupt technology is only part of the answer. “There is lots of work outside Tim Berners-Lee’s project that will be vital to the vision,” said Kaliya Young, co-chair of the Internet Identity Workshop, whose members focus on digital identity.

Berners-Lee said that his team was not inventing its own identity system, and that anything that worked could plug into its technology.

Inrupt faces a series of technical challenges, but none that are “go-to-the-moon hard,” said Bruce Schneier, a well-known computer security and privacy expert, who has joined Inrupt as its chief of security architecture. And Schneier is an optimist. “This technology could unlock an enormous amount of innovation,” potentially becoming a new platform as the iPhone was for smartphone apps, he said.

“I think this stands a good chance of changing how the internet works,” he said. “Oddly, Tim has done it before."

Sunday, March 8, 2020

Typechecker in hhvm and running Hack program

Let's start with writing a sample program of printing cubes of numbers. eg:

Using the editor of your choice (e.g., VSCode or vim), let's create a file called first.hack with the following code:
<<__entrypoint>> function main(): void { echo "Welcome to Hack! \n\nTutorial by Anwar Faiz\n\n"; \printf("Table of Cubes\n" . "----------------\n"); for ($i = -5; $i <= 5; ++$i) { \printf(" %2d %2d \n", $i, $i * $i * $i); } \printf("----------------\n"); exit(0); }
To see the result of Typechecking:
$ hh_client first.hack
You should see:
No errors!
* Note that however, you might get following error - Error: /Users/mfaiz/ECPCP/hhvm-hack/first.hack is not a directory
But that is other issue. i will explain in next post.

To run the program on client side:
$hhvm first.hack 
You will get following as result.

By the way by now I am already feeling like using Node like application for PHP. This is looking cool. Hurray! 
Take care readers. And pour in your thoughts :)




Friday, March 6, 2020

First Hello World using Hack & HHVM from Facebook

1. Install HHVM on MacOS via Homebrew:
brew tap hhvm/hhvm
brew install hhvm

The out-of-the-box HHVM configuration won't need tweaking by most new users. Notably, the JIT compiler that gives HHVM its speed is on by default. If you want to take a look at the configuration used, it's at /usr/local/etc/hhvm/php.ini in MacOS.



2. Test: After installing HHVM, change to the directory where your code lives, and start up HHVM:

hhvm -m server -p 8080
-m represents the mode and here indicates that HHVM is running in HTTP server mode.
-p configures the TCP port that HHVM uses to listen to HTTP requests. The default port is 80, the standard HTTP port. However, that port requires root access, so for this example, we will use port 8080.

This will start the server as follows and then you can test on browser.


3. Write a simple "Hello World" program named hello.hack:

<<__entrypoint>> function main(): noreturn{ echo "Hello World in Hack Language! \nThis is Anwar Jamal Faiz"; exit(0); }

Save this hello.hack in the same directory that you ran the hhvm command from above. Then, load http://localhost:8080/hello.hack in your browser and verify you see "Hello World!" appear.


See in browser:
You may also write the program as:
<<__entrypoint>>
function main(): noreturn{
  echo "Hello World in Hack Language! \nThis is Anwar Jamal Faiz";
  exit(0);
}




4.  You can directly run file using hhvm itself.

$ hhvm hello.hack




Note: You can configure HHVM too. Running HHVM automatically at boot as a service (instead of just on the command line as above) unfortunately does require some configuration. See the proxygen documentation for details. However, default settings are okay for any average usecase.


My First look of Hack Language over HHVM by Facebook

Hack is a great language in terms of the advantages it has over PHP. The hack language introduce a level of type safety and related concepts. Undoubtedly, with HHVM it becomes a faster processing language. It is more expressive, more economic, it is faster to write and catch more bugs. The key features as explained by Facebook itself are:

Fast Development
Hack reconciles the fast development cycle of a dynamically typed language with the discipline provided by static typing, while adding many features commonly found in other modern programming languages.


Type Checking
Hack provides instantaneous type checking by incrementally checking your files as you edit them. It typically runs in less than 200 milliseconds, making it easy to integrate into your development workflow without introducing a noticeable delay.


Built for HHVM
Hack is built specifically for HHVM, a high performance 


Type Annotations
Type annotations allow for code to be explicitly typed on parameters, class member variables and return values.


Generics
Generics allow classes and methods to be parameterized (i.e., a type associated when a class is instantiated or a method is called) in the same vein as statically typed languages like C# and Java).

Lambdas
Lambdas succinctly allow definition of first-class functions.


HHVM is an open-source virtual machine designed for executing programs written in Hack. HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining amazing development flexibility. HHVM should be used together with a webserver like the built in, easy to deploy Proxygen, or a FastCGI-based webserver on top of nginx or Apache.

Released in 2014, Hack is still not so much popular and I see following as the reasons.
  1. I cannot find any big hosting provider to support HHVM hosting and support for Hack language. You need to maintain your own server. This is one of the big issues that I see with Hack.
  2. Vast majority of php programmers do not build using TDD approach or do lots of whitebox testing. Hence, the benefit of type checking does not attract them much. For many hhvm is just a slightly faster incompatible php, no surprise they aren’t going to invest much there.
  3. Installing Hack on different systems require more technical knowledge. Novice programmers usually lack the skills of core OS. Also, on some systems you need to build HHVM from scratch using the source code repo.
  4. Backwards compatibility with PHP is not 100%. Almost all PHP code works in Hack but there are certain features of PHOP which is not supported in Hack. Hack may have some incompatibility with existing PHP codebases, which increases the cost of switching.
  5. Not everyone needs the amount of scalebilty the companies like Facebook need.
  6. Other bigger eCom and web companies are trying with new RAD tools like React and doing pretty well in their NodeJS world. Webservices are already build using Java or C# and they do not want to come to PHP of Hack.
  7. Hack doesn't allow templating of HTML and Hack code together, which is a popular feature of PHP. You need an engine in between.
  8. Last, but not the least, no one knows how far facebook itself will support the developemnt and Bug fixes in Hack or HHVM.

However, we should also understand that in the world of PHP, the language Hack becomes very useful. It will help developers catch some errors while writing the code itself. Further, the dev tools by Facebook and other contributors are also very exciting. So, I will be experimenting more with the language. Will keep you all posted about new features.

Wednesday, July 25, 2018

React Vs Angular in SPA: What they are, differences and the end of debate

As soon as you decide upon being SPA, the Single Page Application, the question pops up which Library. Here, I discuss between what I have learnt so far in this area,as a developer, tester and UX designer.


Let's start with a basic introduction. Angular is a TypeScript-based Javascript framework, developed and maintained by Google. Angular 1 released in 2010 is now called AngularJS. Angular 2 and above release after 2016 is simply called Angular. The latest version is Angular 7. It is being used by Google, Wix, weather.com, healthcare.gov and Forbes etc. React is described as “a JavaScript library for building user interfaces”. Released in March 2013, developed and is maintained by Facebook.
Facebook uses React components on several pages. It is said that React is used far more at Facebook than Angular is at Google. Anyways, React has also a good range of supporters cum users likeReact
Airbnb, Uber, Netflix, Twitter, Pinterest, Reddit, Udemy, Wix, Paypal, Imgur, Feedly, Stripe, Tumblr, Walmart etc. Additionally, Facebook is working on the release of React Fiber. Rendering is supposed to be much faster as a result.


The frameworks are component-based. A component gets an input, and after some internal behavior / computing, it returns a rendered UI template as output. Much appears like an MVC design pattern. The defined components should be easy to reuse on the webpage or within other components.


The differences start from the fact React focuses on the use of Javascript ES5 or ES6. Angular relies on TypeScript. Because of this Angular has more consistency. Also, Angular has hence, concepts like decorators and static types. Static types are useful for code intelligence tools, like automatic refactoring, jump to definitions, etc. However there is catch also that TypeScript may disappear over time. Additionally, TypeScript adds a lot of learning overhead to projects. And, for the type checking enthusiasts, there is something called Flow to enable type-checking within React. It’s a static type-checker developed by Facebook for JavaScript.


Then, lets remember that Angular is a full framework with all the tooling and best practices designed on top of it. React on the other hand is just a small view library that you
would need while making an app. React uses abstractions over simple Javascript. But learning Angular is bit time consuming as you should know everything else associated to it eg typescript, MVC. Plus Angular library in itself is huge. The Angular templates are enhanced HTML with special Angular language (Things like ngIf or ngFor). While React requires knowledge of JavaScript, Angular forces you to learn Angular-specific syntax.


On the Scalability issue, Angular is good at this time, 2018. However React is going to comeup with more in future. However, as of now Angular is easy to scale thanks to its design as well as a powerful CLI. React also claims to be good and testable and scalable. So, it won't be a bad idea to choose React.


Coming back to the programming style, I should assert here that Angular includes dependency injection, a pattern in which one object supplies the dependencies (a service) to another object (a client). This leads to more flexibility and cleaner code. Plus, the code becomes more testable. Angular's model-view-controller pattern (MVC) splits a project into three components: model, view and controller. Angular as an MVC-framework has MVC out of the box. React only has the V i.e View. You need to solve the M and C on your own.


But, there also lies a problem with Angular. This is already discussed above but the following idea will give you a new perspective as well. We’re now moving more towards microservices and microapps. React gives you more control to size an application by selecting only the things which are really necessary. They offer more flexibility to shift from an SPA to microservices using parts of a former application. Angular is too bloated to be used for microservices.


And, last but not the least, let me take you to a short discussion around native Apps creation. React with react native, react sketchapp and next.js, it is the best choice. Angular comes with ionic 2 and nativescript, but neither of those mobile frameworks allow angular to reach the performance of react native. React and Angular both support native development. Angular has NativeScript (backed by Telerik) for native apps and Ionic Framework for hybrid apps. With React, you can check out react-native-renderer to build cross-plattform iOS and Android apps, or react-native for native apps. A lot of apps (including Facebook; check the Showcase for more) are built with react-native.


Lets remember that definitely React has been the most popular when it comes to English frontend and full stack communities in 2016. It is also becoming a good choice for native JavaScript mobile and even desktop apps. React is fairly simple to understand. Angular is not so simple and code setup takes time. Also, Angular is way bigger, causing longer load times and performance issues on mobiles.


So, what I conclude that you should use Angular if you work at Google, if you love TypeScript, if you love object-orientated-programming (OOP), or if you work in a large team where there are guides, collaborators, scalability issues. You should use React if you work at Facebook, if you like flexibility, if you love big ecosystems and you like choosing among dozens of packages, or if you love JS & the “everything-is-Javascript-approach”.


Cheers ;)
Mohd Anwar Jamal Faiz

Wednesday, September 5, 2012

20 tips, tricks, and tools to make your Facebook experience even better

Brilliant article from: Yahoo.com
Original URL: http://news.yahoo.com/-20-tips--tricks--and-tools-to-make-your-facebook-experience-even-better.html
I am thankful to the original writer to post this one. Realyy Helpful. Wanted my readers to know about this too!!

Facebook is by far the largest social network on the web, and whileMark Zuckerberg has made plenty of great calls in its design, the site — and the way people use it — isn't as streamlined as it could be. These 20 tips, tricks, and tools will give help take your Facebookexperience to the next level. From simple settings options you may have overlooked, to browser plug-ins dedicated to making the social network even better, you're sure to find something on this list that will make your Facebook time even more addicting than it already is. 

Tweak your Facebook settings

1. Appear offline to certain friends 
By opening your Facebook chat window, clicking the settings icon in the upper right corner, and then navigating to "Advanced Settings," you can customize your chat experience by appearing offline to certain people on your friends list. This tweak will be especially helpful for those of you with chatty acquaintances who like to talk your ear off when you're online. 

2. Reposition your Timeline photos
When uploading a new photo, it might not always appear on your feed the way you intended. Particularly long or wide photos have a tendency to be cropped awkwardly, but you can fix this rather easily. By clicking "Edit Photo" from your Timeline page, you gain access to a "Reposition Photo" option. Using this tool, you can move your photo around the preview window so that it appears as you intended. 

3. Add photos to your worldly travels 
If you're a fan of Facebook's "Places" feature, you can very easily decorate it with pictures to show off your various activities all over the world. On the main Places page, simply click "Add Photos to Map," and start tagging away! If you frequently upload photos directly to your Facebook profile using a mobile app for iPhone or Android, you might find that your map is already pretty well populated. 

4. Easily hide app notifications for a cleaner experience
By going into your account settings, then navigating to the "Notifications" tab on the left side of the page, you can browse the applications that have permission to populate your news feed. If find that a friend has spammed your feed with an excessive number of app notifications, simply deactivate the offending app. It's easier than breaking off the friendship. 

5. Upload photos in high resolution
Sometimes you'll find that a gorgeous photo you wanted to share with your friends appears tiny and blurry after adding it to your social network profile. Remedy this by going into your Facebook albums and, before uploading a photo, click the "High Quality" box. 

6. Use the "View As" option to tweak your appearance to specific friends 
Knowing what your friends can see on your Facebook Timeline is an invaluable tool to ensuring your virtual reputation stays intact. From your Timeline page, click the settings icon next to "Activity Log," and then click "View As." From here you'll be able to see what specific friends see when they visit your page.

7. Download your entire Facebook history
Ever wanted to browse your entire Facebook profile at once — including every status update you've ever submitted? Facebook makes it easy: Under your Account Settings page, a small link will appear at the very bottom of the options list. Click "Download a copy of your Facebook data" to begin the process of securing your entire archive.

8. Forward your Facebook conversations 
Having to repeat yourself is annoying in day-to-day life, and it's even more of a bother when online. Rather than copying and pasting directions or instructions to multiple people, click the "Actions" tab at the top of any Facebook message thread to access the option to forward it to others. Ta-da! No more double-talk! 

9. Turn chat sign-in off by default
Can't stand endless chat when you're simply browsing your status updates? No problem. Click the settings icon in the main Facebook chat window, and click "Turn off chat" to have all future messages sent to your inbox, rather than pop-up in realtime on your screen. 

10. Use Facebook to design your business card
If you've put a lot of work into making your Timeline page reflect exactly who you are, consider using it as a pre-designed business card. Clicking the "About" link — located under your name on your Timeline — lets you browse your social network details. In the Contact Info window is a small business card icon that will direct you to Moo.com, where you can customize a Facebook-flavored business card and place an order.

Get the most out of Facebook using these web tools


11. Analyze your Facebook history with Wolfram Alpha 
For the most comprehensive breakdown of your entire Facebook history, Wolfram Alpha can't be beat. Simply type "Facebook Report" into the main search bar, approve the app's use of your Facebook data, and wait for the system to break down your history. Once it's finished, you'll be treated to a seemingly endless number of graphs and data points showing your update history, most liked photos, and much more.

12. Schedule Facebook updates with Sendible
Believe it or not, thieves are big fans of Facebook. By finding out when you'll be away from your home, security experts believe would-be robbers target those who go on a Facebook hiatus. Sendible — an application that allows you to schedule updates even when you're not near your computer — can keep your online persona active, even when you can't. 

13. Use Twitter to update Facebook
Sometimes you just don't have enough time to keep all your social networks up to date, but thankfully Facebook and Twitter play nice together with a little tweaking. Head to the Twitter app page on Facebook to begin the process of syncing your virtual social lives. After authorizing the Facebook app via Twitter, all your tweets will appear on Facebook as status updates. 

14. Export your Facebook calendar to your PC
Make sure you don't miss any important events by exporting your Facebook calendar to either Microsoft Outlook or Apple iCal. Head to your Facebook calendar (located under the "Events" tab on the Facebook navigation bar) and click the settings icon. Click "Export," and then choose either your Facebook birthday list or upcoming events. Your desktop's calendar app should launch immediately, making the process even more streamlined. 

Make Facebook better using Chrome extensions

15. Facebook Photo zoom
Using this extension, you no longer have to click on the photos in your news feed in order to view them in full size. Simply move your mouse cursor over the image thumbnail and the larger version will pop up right in front of you. You can even adjust the zoom by moving the mouse back and forth over the photo itself. It's like magic. 

16. Revert Facebook Photo viewer 
If you're not into real-time photo zooming, this extension turns back the clock on your Facebook's photo feature. Rather than displaying pictures in the new "Theater" layout, photos will appear on their own pages, complete with the full comments section and "Like" options. 

17. Facebook Chat notifications 
Have you ever left a Facebook tab open on your web browser and missed an urget message from a friend? This handy plugin produces a pop-up window on your desktop to notify you when someone needs to chat, ensuring you never miss an important bit of info.

Firefox add-ons that make Facebook a joy to use

18. Like the Page 
If you're a Firefox user, you can use this add-on to instantly share any web page they come across, even when the site doesn't have a built-in Facebook share button. A small "Like" icon will pop up at the bottom of every browser window, and all it takes it a click to share your find with the world. 

19. FB Purity 
This plug-in returns your Facebook to an earlier day, back when spammers and useless clutter wasn't a hinderance to your browsing habits. You can hide any type of notification you wish, including birthdays, relationship updates, tagged photos, links, and much more. You can make your social experience as simple as you wish. 

20. Facebook auto-logout 
Do you hate it when you accidentally leave yourself signed in to the social network, only to come back to missed chat messages and anxiety over whether someone else was browsing your digital life? This handy add-on will automatically sign you out of your Facebook windows if you've been inactive for too long, ensuring that nobody can snoop your info.

Friday, January 20, 2012

Mark Zuckerberg Facebook comment: Anti-piracy bill

Post from Internet Censorship Voyager Blog.


You all can read latest comment of Mark Zuckerberg on Antipiracy bill over his official Facebook profile. He openly said -- We need "political leaders who are pro-internet."


Also said that --- " Facebook opposes SOPA and PIPA, and we will continue to oppose any laws that will hurt the internet. "


Love Zuckerberg for this bold statement. This blog post is dedicated to his innovations, courage and dedication towards free-internet.




As you can see, there were 450,820 likes in 12 hours of post. Approximately 86,000 shares were done about this post.

I am also posting the text of the above post so that it can be used by other systems (including men,women,webbots,crawlers et al.). So it says......

"The internet is the most powerful tool we have for creating a more open and connected world. We can't let poorly thought out laws get in the way of the internet's development. Facebook opposes SOPA and PIPA, and we will continue to oppose any laws that will hurt the internet. 

The world today needs political leaders who are pro-internet. We have been working with many of these folks for months on better alternatives to these current proposals. I encourage you to learn more about these issues and tell your congressmen that you want them to be pro-internet."


For further reading, you can also read https://www.facebook.com/FacebookDC?sk=app_329139750453932 that descibes "How we see Online Piracy Debate". This is official page from Facebook.com itself.

Wikimedia's Silent protest against Internet Censorship

Post from Internet Censorship Voyager Blog.





Imagine a World Without Free Knowledge:

 

Wikimedia's Silent protest against Internet Censorship...
wikimediafoundation.org
For over a decade, we have spent millions of hours building the largest encyclopedia in human history. Right now, the U.S. Congress is considering legislation that could fatally damage the free and open internet. For 24 hours, to raise awareness, we are blacking out Wikipedia. Learn more.



Websites going dark: protest against SOPA Act

Post from Internet Censorship Voyager Blog.


Report from Internet Censorship Voyager Facebook Page:

Thousands of websites are going dark today to protest the SOPA ACT (Stop Online Piracy Act). This law is designed to thwart copyright infringement. But it could do more harm to the Internet as a whole. I, and thousands of Web experts across the globe see a threat to the functionality of the Internet. STOP SOPA.


read detail on other website