This blog is about the latest achievements in technology. It will provide you with the information of latest trends in technology and various other modern digital fields.
Wednesday, 5 February 2014
MEMRISTOR......a surprise of technology!
The Next Big thing? The
memristor, a microscopic
component that can
"remember" electrical states
even when turned off. It's
expected to be far cheaper
and faster than flash storage.
A theoretical concept since
1971, it has now been built
in labs and is already
starting to revolutionize
everything we know about
computing, possibly making
flash memory, RAM, and even hard drives obsolete
within a decade.
The memristor is just one of the incredible technological
advances sending shock waves through the world of
computing. Other innovations in the works are more
down-to-earth, but they also carry watershed
significance. From the technologies that finally make
paperless offices a reality to those that deliver wireless
power, these advances should make your humble PC a
far different beast come the turn of the decade.
In the following sections, we outline the basics of 15
upcoming technologies, with predictions on what may
come of them. Some are breathing down our necks;
some advances are still just out of reach. And all have
to be reckoned with.
2014 Doodle 4 Google encourages kids to share ideas on how to make the world better
Google is one of a few companies that loves being
involved in all kinds of different projects , one of which
is Doodle 4 Google. In 2013, through the initiative, the
Mountain View-based company challenged kids to
shoot for the stars and describe their best day -- the
results, to say the least, were quite creative and
heartwarming. This year's version of Doodle 4 Google
takes on a whole new theme: "If I could invent one
thing to make the world a better place..." On its blog,
the Chrome maker says the idea is to have "young
artists think and dream big," adding that this is all
about "curiosity, possibility and imagination."
Submissions are being accepted as we speak and will
have to be in by March 20th; as was the case last
year, the winner will be receiving a $30,000 college
scholarship and $50,000 Google for Education tech
grant for the triumphant kid's school. Even better, the
chosen Doodle is set to be featured on the almighty
Google.com page.
The 50 finalists, one from each US state, are going to
be revealed on April 29th, after which Google will let
the public decide which creation should take the
highest honors and be crowned 2014 Doodle 4 Google
champ. If you're interested in getting your little ones
involved, then head over to this link here -- details on
how to participate can be found there.
BROWSING ON ANDROID BECOMES SAFER.....THANKS!!!!
In the wake of Edward Snowden's NSA revelations,
finding ways to browse the internet more securely has
become of paramount importance. In its mission to
help netizens feel that little bit safer, the Electronic
Frontier Foundation (EFF) has long offered its HTTPS
Everywhere add-on for desktop browsers, and it's
now looking to do the same on mobile. As of
yesterday, you can install the HTTPS Everywhere on
Firefox for Android, which automatically seeks out
HTTPS connections on supported websites. Webpages
will be loaded over an encrypted connection, letting
you to check your email, shop online and browse the
web without fear of a third-party, or surveillance
agency like the NSA or GCHQ , intercepting your
traffic. To install the add-on, make sure you have the
latest version of Firefox for Android on your phone,
then install the plugin via the EFF website. Once
loaded, the app will display an icon in the address
bar, ensuring your browser won't suffer the same fate
as Angry Birds and other mobile apps.
Top 5 Trends and Technologies in Software Development
In this ever-changing world of software
development it’s extremely important to keep
up with current technologies, methodologies
and trends.
It can easily get out of hand though – simply
there’s not enough time for anyone to learn
all new stuff, work and live a normal life
simultaneously. Selection is thus the key,
being smartly selective about new things to
learn so we won’t miss important stuff but
also keep ‘junk’ or unimportant trends out. I
created this small and ever-incomplete list of
things I feel we all should pay attention to
and practice. Some items could be considered
‘old’ (read: more than a few months old) but
still not grasped enough yet. Without further
ado I present thee the list:
Learn and use a modern
scripting language
It can be Ruby, Python, Groovy or
TheNextBigShot coming along, it doesn’t
really matter. What matters is having a quick
and easy tool for anything at hand so we
won’t have to fire up our java IDE for a
simple script. Also (most of) these languages
encourage good pracices and methods,
changing our attitude towards programming
and program design. Embracing these “wow,
look how elegant and simple that is!”
solutions also become expectations with time
(because we’ll get used to the ease and
convenience), thus we will be striving for
elegance and quality – helping impoving all of
our further designs and codes.
Learn thogoughly and
embrace the philosophy
of a modern version
control system
Be it Git or Mercurial, but start using them.
Right now. Embrace the paradigm shift that
gave birth to these tools. If not at work then
try any of these on a personal project. These
tools fit better to a natural cycle of
development than our old tools svn or cvs.
Being distributed does not mean they can’t be
used as a central company repo solution.
They both encourage the concept of cheap
local branching, keeping you safe by being
able to revert any time (as traditional VCSes)
and also keeping the central main repo clean
of nitty-gritty details.
Be familiar with NoSQL
solutions like MongoDB,
CouchDB.
These beasts can be a real life-saver when
traditional relational DBs reach their limits at
scaling and performance. Both MongoDB and
CouchDB are what’s called a ‘document-
oriented database’ which means that instead
of rigid schemas the structure of each row is
taken into account – they don’t even have to
have the same fields, etc. The concept of ‘row’
becomes the concept of ‘document’. JSON-like
data structures, dynamic queries, efficient
storage of binary data (like videos, images),
mapreduce support account for their robust
and easy use-cases.
Learn a functional
language – or more than
one.
It’s about the paradigm shift and philosophy
again. The more things you see and use the
more complete you repertoire will become.
Object-oriented / imperative design is not the
only one out there. Take a look at Erlang for
starters, it’s easy to learn and with it you can
dip your toe in the water, but for more
serious stuff Haskell or OCamlis a must (I vote
for Haskell though). I’d say learning a
functional language is not an option anymore
– it’s a must. Some problems can be solved in
an insanely easy manner with a functional
approach and for example Haskell can easily
implement any mathematic definition or
problem you’d be having a problem
describing in any imperative language. Also
GHC (The Glasgow Haskell Compiler) is a state
of the art optimizing compiler, one of the best
compiler available now. Of course Haskell is
not only for scientists, many good libraries
are coming out written in haskell. Also see
Real world Haskellfor a nice intro. Erlang is
well known for its fault tolerance,
concurrency paradigms, hot-swappable code
and exceptional networking support. Having
such a tool at hand is always a bonus.
Study agile methods and
concepts.
Agile management is not only for managers.
There’s a need for the whole team to have a
good understanding about their own
development and management process. Agile
helps to standardize management and daily
programmer work, enforcing a small,
controllable devel/release/testing cycle and
also encouraging good communication all
across the team (actually agile just can’t work
without good communicatiion!). Just look at
the Agile manifesto. Some important
derivatives and parts of agile methods:
TDD - Test Driven Development
Iteration-based development – deliver less
but more frequently in well-defined short
bursts
BDD - Behavior Driven Development
XP - Extreme Programming
CI - Continuous Integration
Scrum