₦airaland Forum

Welcome, Guest: RegisterLoginWith GoogleTrendingRecentNew

Stats: 3,325,108 members, 8,420,370 topics. Date: Thursday, 04 June 2026 at 05:55 PM

Toggle theme

Toshodei's Posts

Nairaland ForumToshodei's ProfileToshodei's Posts

1 2 3 4 5 6 7 8 9 10 11 12 13 (of 13 pages)

ProgrammingRe: Nairaland Has Multi-Billion Dollar Potential Startup Value If Taken Seriously by toshodei(op): 5:11pm On Jul 31, 2014
SpaceGoat: trying to buy this site from seun years ago but today i think its beter not to .
Spacegoat, do u know how much this site is worth now? This site is worth in the range of $1 to $3 Million dollars. What are you talking about? Its ranked number 8th in Nigeria according to Alexa. Number 913 in the world. Check the facts ~> http://www.alexa.com/siteinfo/www.nairaland.com

It has 13 million hits per day, according to ~> http://www.wolframalpha.com/input/?i=www.nairaland.com# This site is a billion dollar startup, check your facts. 1.9 million visitors per day.
ProgrammingRe: Nairaland Has Multi-Billion Dollar Potential Startup Value If Taken Seriously by toshodei(op): 4:56pm On Jul 31, 2014
Dreams are good for the future as long as you dream with your eyes open. Facebook, Google, YouTube and others were dreams at 1st and they they blew up. NL is a multi-billion dollar startup.

Here is a list of ridiculous startup ideas that became successful:

The best startups seem obvious in retrospect - this is because by the time we found out about them as users they had already reached critical mass.

It is possible to create a good startup with a good idea, but great startups are often the result of ideas that would have seemed ridiculous if you had heard them prior to seeing them working.

This is true almost by definition - if they had been so obvious, someone would have done them already.

Ask yourself, if you were a venture capitalist pitched one of these ideas, what would your reaction have been?

Facebook - the world needs yet another Myspace or Friendster except several years late. We'll only open it up to a few thousand overworked, anti-social, Ivy Leaguers. Everyone else will then join since Harvard students are so cool.

Dropbox - we are going to build a file sharing and syncing solution when the market has a dozen of them that no one uses, supported by big companies like Microsoft. It will only do one thing well, and you'll have to move all of your content to use it.

Amazon - we'll sell books online, even though users are still scared to use credit cards on the web. Their shipping costs will eat up any money they save. They'll do it for the convenience, even though they have to wait a week for the book.

Virgin Atlantic - airlines are cool. Let's start one. How hard could it be? We'll differentiate with a funny safety video and by not being a**holes.

Mint - give us all of your bank, brokerage, and credit card information. We'll give it back to you with nice fonts. To make you feel richer, we'll make them green.

Palantir - we'll build arcane analytics software, put the company in California, hire a bunch of new college grad engineers, many of them immigrants, hire no sales reps, and close giant deals with D.C.-based defense and intelligence agencies!

Craigslist - it will be ugly. It will be free. Except for the hookers.

iOS - a brand new operating system that doesn't run a single one of the millions of applications that have been developed for Mac OS, Windows, or Linux. Only Apple can build apps for it. It won't have cut and paste.

Google - we are building the world's 20th search engine at a time when most of the others have been abandoned as being commoditized money losers. We'll strip out all of the ad-supported news and portal features so you won't be distracted from using the free search stuff.

Github - software engineers will pay monthly fees for the rest of their lives in order to create free software out of other free software!

PayPal - people will use their insecure AOL and Yahoo email addresses to pay each other real money, backed by a non-bank with a cute name run by 20-somethings.

Paperless Post - we are like Evite, except you pay us. All of your friends will know that you are an idiot.

Instagram - filters! That's right, we got filters!

LinkedIn - how about a professional social network, aimed at busy 30- and 40-somethings. They will use it once every 5 years when they go job searching.

Tesla - instead of just building batteries and selling them to Detroit, we are going to build our own cars from scratch plus own the distribution network. During a recession and a cleantech backlash.

SpaceX - if NASA can do it, so can we! It ain't rocket science.

Firefox - we are going to build a better web browser, even though 90% of the world's computers already have a free one built in. One guy will do most of the work.

Twitter - it is like email, SMS, or RSS. Except it does a lot less. It will be used mostly by geeks at first, followed by Britney Spears and Charlie Sheen.

Link ~> http://www.quora.com/Survey-Questions/What-were-the-most-ridiculous-startup-ideas-that-eventually-became-successful
Link ~> http://www.huffingtonpost.com/2013/04/12/ridiculous-startup-ideas_n_3071538.html
Programming20 Cool Clojure Functions by toshodei(op): 4:47pm On Jul 31, 2014
One of my favorite things about Clojure is that there are just so many really neat, useful functions and macros built into the language, and I’m constantly learning about new ones that I didn’t know existed. I thought I would share with you some of my favorites. If you’re a Clojure programmer, you’ve probably already used at least a handful of these (maybe even all of these), but hopefully there is at least one function here that will be new to you.

Without further ado, and in no particular order:

1) into

into does something really simple, but in a really nice, intuitive way; it takes two collections and adds the contents of the second collection “into” the first. Under the hood, it’s basically just doing (reduce conj first-coll second-coll), but the very fact that this function exists as a clojure.core function can make code so much neater-looking and concise. I most commonly find myself using it to convert a collection of key-value vectors into a map, like so:

(into {} [[:a 1] [:b 2] [:c 3] [:d 4]])
;=> {:a 1, :b 2, :c 3, :d 4}
You can also use it to easily convert from one collection type to another, as in the following examples:

(into [] (range 10))
;=> [0 1 2 3 4 5 6 7 8 9]

(into (sorted-map) {:b 2 :c 3 :a 1})
;=> {:a 1, :b 2, :c 3}
2) mapv (added in Clojure 1.4)

Another simple helper function, mapv works just like map, except that it returns a vector instead of a list. Interestingly enough, if you look at the source for mapv, you can see that the arities of this function that take multiple collections are actually just calling (into [] (map ...

(mapv #(* % 2) (range 10))
;=> [0 2 4 6 8 10 12 14 16 18]
3) pmap

pmap is another variant of map; it works just like map, but it can be useful for computationally intensive functions by coordinating the application of the function over the items in the collection so that they are executed in parallel.

Stealing an example from ClojureDocs:

;; create a function that simulates a long running process using Thread/sleep
(defn long-running-job [n]
(Thread/sleep 3000) ; wait for 3 seconds
(+ n 10))

;; notice that the total elapse time is almost 3 secs * 4
(time (doall (map long-running-job (range 4))))
;=> "Elapsed time: 11999.235098 msecs"
;=> (10 11 12 13)

;; notice that the total elapse time is almost 3 secs only
(time (doall (pmap long-running-job (range 4))))
;=> "Elapsed time: 3200.001117 msecs"
;=> (10 11 12 13)
4) mapcat

While I’m on the subject of map variants, mapcat is a handy one that takes the result of mapping a function (presumably one that returns a collection) over a collection, and then applies concat to the results. So it’s really just a shortcut for apply concat (map ...

(defn single-double-triple [x]
[(* x 1) (* x 2) (* x 3)])

(mapcat single-double-triple (range 10))
;=> (0 0 0 1 2 3 2 4 6 3 6 9 4 8 12 5 10 15 6 12 18 7 14 21 8 16 24 9 18 27)
5) empty

Not to be confused with empty?, which returns whether or not a collection is empty, empty returns an empty collection that is the same type as its argument:

(empty [1 2 3 4 5])
;=> []

(empty (range 10))
;=> ()

(empty {:a 1 :b 2 :c 3})
;=> {}
This is mainly useful if you’re trying to write a function that returns the same type of collection as its argument. For example, let’s say we want to write a function that applies inc to each item in a collection. If our definition was just (map inc coll), our function would return a list every time, regardless of the collection type of the argument. We can fix this using into and empty:

(defn inc-each [coll]
(into (empty coll)
(map inc coll)))

(inc-each [1 2 3])
;=> [2 3 4]

(inc-each #{1 2 3})
;=> #{2 3 4}
(This is a bit of a contrived example, and not a perfect one – (inc-each '(1 2 3)) would actually return (4 3 2) due to the way that into works, and the fact that conj-ing items into a list adds them onto the front rather than the back. But you get the idea!)

6) fnil

fnil is a “function modifier” – it takes any function, and returns a modified version of that function that will replace its nil arguments with a value of your choosing.

This is surprisingly handy, as it enables you to easily create functions with default values, like this:

(defn favs [age food]
(format "I'm %d years old and my favorite food is %s." age food))

(def favs-with-defaults
(fnil favs 28 "waffles"wink)

(favs-with-defaults 64 "cranberries"wink
;=> "I'm 64 years old and my favorite food is cranberries."

(favs-with-defaults nil "anchovy pizza"wink
;=> "I'm 28 years old and my favorite food is anchovy pizza."

(favs-with-defaults 16 nil)
;=> "I'm 16 years old and my favorite food is waffles."

(favs-with-defaults nil nil)
;=> "I'm 28 years old and my favorite food is waffles."
Another cool thing about fnil is that it enables a “hash-map with default value” behavior. In Ruby, you can create a hash that has a default value that will always be returned when trying to get the value of a key that doesn’t exist in the hash:

CDs = Hash.new(0) # 0 is the default value

def add_cd(artist)
CDs[artist] += 1
end

add_cd "Montel Jordan"

p CDs
;=> {"Montel Jordan"=>1}
In Clojure, you can mimic this functionality using fnil:

(defn add-cd [cds artist]
(update-in cds [artist] (fnil inc 0)))

(add-cd {} "TLC"wink
;=> {"TLC" 1}

(reduce add-cd {} ["TLC" "Brandy" "TLC" "Mariah Carey" "TLC" "TLC"])
;=> {"Mariah Carey" 1, "Brandy" 1, "TLC" 4}
Because ({} "TLC"wink returns nil and not 0, we use fnil to turn inc into a function that works just like inc unless its argument is nil, in which case it acts like its working with 0. This is especially nice (and arguably better than default hash values in Ruby) because we could define additional functions that also use fnil` to work with different default values, while still working with the same hash-map; this gives us the possibility of different default semantics for different functions, and without requiring that the hash-map be “set up” in any way to have default values.

7) juxt

juxt takes two or more functions and returns a function that returns a vector containing the results of applying each function on its arguments. In other words, ((juxt a b c) x) => [(a x) (b x) (c x)]. This is useful whenever you want to represent the results of using 2 different functions on the same argument(s), all at once rather than separately:

(def inc-and-double
(juxt inc #(* % 2)))

(inc-and-double 5)
;=> [6 10]
This function is especially powerful when dealing with multimethods, as it provides a concise way to dispatch on multiple parameters:

(defmulti guess-fruit (juxt :color :size))

(defmethod guess-fruit [:red :small]
[fruit]
"cherry"wink

(defmethod guess-fruit [:green :large]
[fruit]
"watermelon"wink
cool partial

partial is a neat little function that some might consider a “functional programming must-have.” It takes a function that takes a specific number of arguments, and the values for only some of those arguments as parameters, and returns a function that will take the remaining parameters.

(def add-eight
(partial + cool)

; note: this is essentially the same thing as (def add-eight #(+ 8 %)),
; but perhaps more readable

(add-eight 7)
;=> 15
9) comp

comp provides a nice, succinct way of expressing the composition of two or more functions. To steal an example from ClojureDocs:

(def concat-and-reverse (comp (partial apply str) reverse concat))

(concat-and-reverse "dave" "yarwood"wink
;=> "doowrayevad"
10) iterate

The next few functions provide easy ways to create infinite lazy sequences. iterate takes a function and a starting value and returns a lazy sequence consisting of the starting value, the function applied to the starting value, the function applied again to that second value, the function applied again to that third value, ad infinitum.

(take 5 (iterate (partial * 3) 20))
;=> (20 60 180 540 1620)
Among the many cool things you can do with iterate is the creation of an infinite sequence of Fibonacci numbers. (example shamelessly stolen from ClojureDocs):

; btw, this example uses +', a cool function in its own right which is like + except
; that it's smart enough to know when to promote a number to BigInt in order to avoid
; integer overflow!

(def lazy-fibs
(map first (iterate (fn [[a b]] [b (+' a b)]) [0 1])))

(take 10 lazy-fibs)
;=> (0 1 1 2 3 5 8 13 21 34)
11) cycle

cycle returns a lazy sequence of the items in a collection, repeating in sequence forever. For instance, (cycle "dave"wink returns the infinite sequence (\d \a \v \e \d \a \v \e \d \a ...) etc. Among the things we can do with cycle is writing a function that produces a list of all the rotations of a given collection:

(defn rotations [coll]
(take (count coll) (partition (count coll) 1 (cycle coll))))

(rotations "dave"wink
;=> ((\d \a \v \e) (\a \v \e \d) (\v \e \d \a) (\e \d \a \v))
12) repeat

When given only one argument, repeat returns a lazy sequence of an infinite number of that thing given as an argument. When given a number, it returns that number of that thing.

(take 5 (repeat \x))
;=> (\x \x \x \x \x)

(repeat 5 \x))
;=> (\x \x \x \x \x)

(into {} (map vector [55 144 292 344 393] (repeat :ok)))
;=> {55 :ok, 144 :ok, 292 :ok, 344 :ok, 393 :ok}
13) repeatedly

repeatedly works just like repeat, except that it takes a function instead of a value as the thing to repeat. It then calls the function (which must take no arguments, and presumably has side effects) repeatedly and returns a lazy sequence of its values.

(repeat 5 (rand-int 500)) ; essentially (repeat 5 one-particular-random-number)
;=> (475 475 475 475 475)

(repeatedly 5 #(rand-int 500)) ; generates a new random number each time
;=> (402 151 202 341 44)
14) constantly

This is an interesting function that returns a function which takes any number of arguments and then ignores them and returns a particular value of your choosing.

(map (constantly 42) (range 10))
;=> (42 42 42 42 42 42 42 42 42 42)
This function will come in handy if you ever encounter a situation where you’re using a function that expects a function as an argument, but you really want to provide a constant value instead of a function.

To give you a real-world example, I recently found constantly useful when I was using instaparse to construct and transform a parse tree. Instaparse’s transform function takes a map of node-types (as keywords) to functions used to transform their contents. I had nodes representing flats and sharps, their content being strings like "flat", "b" or "f" for flat, "s" or "sharp" for sharp. I wanted each node to be transformed into the strings "-flat" or "-sharp", regardless of what variation was parsed as a flat or sharp node.

(defn parse-scale [input]
(->> input
(insta/parse (insta/parser "... grammar here ..."wink)
(insta/transform
{:flat (constantly "-flat"wink
:sharp (constantly "-sharp"wink
...})))
15) get-in

The next few functions are useful whenever you’re working with nested data structures. get-in provides an easy way to obtain values from within a nested collection:

(def djy
{:name {:first-name "Dave"
:last-name "Yarwood"}
:age 28
:hobbies ["music" "languages" "programming"]})

(get-in djy [:name :last-name])
;=> "Yarwood"

(get-in djy [:hobbies 2])
;=> "programming"
As you can see, this works not only with maps, but also with vectors, which act like maps with indices as keys.

Just like with get, you can supply any value as a final argument to get-in in order to return it (instead of nil) if the specified key is not found:

(get-in djy [:name :middle-name])
;=> nil

(get-in djy [:hobbies 3] :not-found)
;=> :not-found
16) assoc-in

You can use assoc-in to return a modified version of a nested data structure with one of the values changed:

(assoc-in djy [:age] 29)
;=> {:name {:first-name "Dave" :last-name "Yarwood"},
;=> :age 29,
;=> :hobbies ["music" "languages" "programming"]}
As with assoc, you can use assoc-in to create fields that didn’t already exist:

(assoc-in djy [:address :city] "Durham"wink
;=> {:name {:first-name "Dave" :last-name "Yarwood"},
;=> :age 28,
;=> :address {:city "Durham"}
;=> :hobbies ["music" "languages" "programming"]}
17) update-in

update-in is a lot like assoc-in, except that instead of providing a value, you provide a function to transform the existing value at a particular place in your nested date structure.

(update-in djy [:age] inc)
;=> {:name {:first-name "Dave" :last-name "Yarwood"},
;=> :age 29,
;=> :hobbies ["music" "languages" "programming"]}
18) read-string

These next three functions are fun and a little dangerous if you aren’t careful. They can be useful in metaprogramming contexts, although typically macros will provide a safer and more flexible way to do whatever you’re trying to do.

read-string takes a string as an argument and reads one object from the string. The contents of the string are assumed to be valid Clojure code.

(read-string "42"wink
;=> 42

(read-string ":a"wink
;=> :a

(read-string "\"o hai\""wink
;=> "o hai"
Of note, read-string will compile an object, but will not evaluate it. If you give it a string like "(+ 1 1)", read-string will read it in as a list containing +, 1 and 1.

(read-string "(+ 1 1)"wink
;=> (+ 1 1)
19) eval

eval evaluates a form data structure (i.e. a list of functions and arguments that can be run as Clojure code) and returns the result.

(eval '(+ 1 1))
;=> 2

(eval '(println "yo!"wink)
;=> yo!
;=> nil

(eval '(let [a 10] (+ 3 4 a)))
;=> 17

(eval (read-string "(+ 1 1)"wink)
;=> 2
20) load-string

load-string essentially does the same thing as (eval (read-string ..., except that read-string will only read one object from a string, whereas load-string will sequentially read and evaluate the set of forms contained within a string.

(load-string "(println \"Adding 2 and 2 together...\"wink (+ 2 2)"wink
;=> Adding 2 and 2 together...
;=> 4

Link ~> http://daveyarwood.github.io/2014/07/30/20-cool-clojure-functions/
ProgrammingRe: The Need For The First Nigeria Owned Billion Dollar Company In Nigeria by toshodei: 4:43pm On Jul 31, 2014
I think NL (Nairaland) is Nigera's billion dollar company u are looking for. Check here ~> https://www.nairaland.com/1837291/nairaland-multi-billion-dollar-potential-startup
ProgrammingNairaland Has Multi-Billion Dollar Potential Startup Value If Taken Seriously by toshodei(op): 4:38pm On Jul 31, 2014
I've been observing NairaLand (NL for short) and I've noticed that it has a potential to become Nigeria's multi-billion dollar startup. Here is why:

1. NL is Nigeria's Google (or it can be used a search engine to find relevant info in Nigeria)
2. NL is Nigeria's StackOverflow (just look at the programming section)
3. NL is Nigeria's CraigsList (look at all the books, land, phones and etc. things that people want to sell)
4. NL is Nigeria's Facebook & 2go (if NL could add a chat app to this it will destroy Facebook in The Nigerian Market)
5. NL is Nigeria's Twitter (NL needs a better mobile app, and with it can beat Twitter in the Nigerian Market)
6. NL is Nigeria's CNN+BBC (just look at the front page)
7. NL can be Nigeria's YouTube (once the internet speeds up and videos are added, NL can compete with YouTube & Hulu)
8. NL is Nigeria's oDesk, eLance and other freelancing sites (look at how many people come here looking for workers or programmers)
9. NL can be Nigeria's NYSE (if certain graphics are added, NL can do it)
10. NL is Nigeria's Amazon + eBay (sort of like Craigslist but with PayPal and other payment exchanges, it can get big.)
ProgrammingRe: Mobile Devs Ignoring A Large Market by toshodei: 4:25pm On Jul 31, 2014
You know since BB, Nokia (& other feature phones) & Android all run on Java, the trick is to build 1 app (either BB, J2ME or Android) and then convert it to everything else.

But also, don't lose foresight and check this link ~> http://techcrunch.com/2014/07/30/the-one-horse-race-android-represented-85-of-the-300m-smartphones-shipped-in-q2/
ProgrammingRe: Mobile Devs Ignoring A Large Market by toshodei: 4:23pm On Jul 31, 2014
asalimpo: market - nigeria.
Most feature phones run java - yes.
Cheaper thn comparative smartphones - yes.
The nokia asha brand is still selling in d market and it was a huge hit,meang they's a sizable java me unserved segment being ignored. The blackberry < q,z series all run java. And all those bold,curve,etc phones are still selling. Sad,tht oracle has no plans for upgrading java me beyond java 1.3! So no books on it (recently) but there are millions of java phones around. Android phones are basically pc-spec ranges hence their price tag is high. If this low end phones were servced, the market cud b milked for some more years bf it dries up (to d onslaught of android). Forget ios, its too expensive to become ubiquitious and generate a sizable market. In d tablet arena, i bet bb will win. Its playbook is economical <$200 and its a powerful brand making a come back.
Yes, you are pretty right, but as smartphones get cheaper do u think people with feature phones will switch? Also are u saying that we should focus on building J2ME Apps instead of Android & iOS?
ProgrammingConvert J2ME (Feature Phone) Apps Into APK (Android Apps) With This Tool by toshodei(op): 10:39am On Jul 31, 2014
Programming7 Resources Every Javascript Developer Should Know by toshodei(op): 9:12am On Jul 31, 2014
A web developer today is expected to be an expert in every aspect of their craft and JavaScript is no exception. Years ago JavaScript seemed to be more of an annoyance, producing those trailers at the bottom of the browser. This has changed and JavaScript is a first-class citizen as a functional programming language and what seems like an unlimited number of resources covering the language.

I have been doing more and more JavaScript lately, both on the front-end and some node.js on the back end. I wanted to share some great resources I use for what’s new with regards to JavaScript libraries, projects and general reference.

1. JavaScript Jabber
I am a fan of listening to good podcasts when I take a daily hike. It gives me a chance to find information about new projects or libraries of code. I ran into JavaScript Jabber by accident.

This podcast is put together by the same creator of Ruby Rogues, another great podcast but instead talking about Ruby.

Each episode covers a particular topic and goes into detail about the pros and cons of using the technology. Recent episodes include Backbone.js (Jeremy Ashkenas) and co-hosted by Yehuda Katz (ember.js) and include some lively discussion between the two about Backbone.js vs. Ember.js and some design decisions made by the two frameworks.

Other episodes cover topics such as JavaScript Objects and Asynchronous Programming. Every episode to date has been filled with great bits of information and a wealth of other things to checkout. Be sure to check out the show notes from each show with links to things mentioned on the show.

2. The JavaScript Show
The JavaScript Show is a podcast which runs down the weekly happenings in the JavaScript community, similar to JavaScript Weekly but in obvious audio format. Lots of news and opinion here from hosts Jason Seifer and Peter Cooper.

This show is varies from JavaScript Jabber as it focuses more on new projects, updates to existing projects and all-around what’s happening this week in JavaScript land.

If you want to get the “Nightly News” version of what’s happening with JavaScript, this is your source.

3. JavaScript Weekly
This is a weekly newsletter put out by Peter Cooper. JavaScript Weekly is a nice collection of what is going on in the JavaScript community; new projects, updated projects, news, videos, podcasts and conference information. It probably overlaps a bit with The JavaScript Show since Peter Cooper does both but probably enough different to make it worth it. If you aren’t into podcasts then this one is definitely a good resource.

There is also a Twitter account where various other updates are published.

If you don’t have time to scour the web for JavaScript news, this weekly delivery to your inbox can help sort it out and keep you up-to-date.

4. Mozilla JavaScript Reference
Mozilla is THE place for information regarding JavaScript. There is so much detail on the site it is easy to get overwhelmed, so #4 is really 4 picks in one.

Re-introduction to JavaScript is a resource for those developers who may have some exposure to the language but maybe where not steered down the right path or just don’t remember the basics.

The Mozilla master index of their JavaScript resources is a great place to bookmark and return to later. This includes links to what is new in JavaScript versions, language guide, mailing lists and tools.

The master list includes the JavaScript Guide, which is a how-to manual about the JavaScript language itself. Great for just starting out or referring back when you’re just not sure.

The AJAX Tutorial takes a look at how to get started with AJAX requests, what they are and the various places to use them. This is one of the best introductions I have seen as it just refers to JavaScript and a bit of HTML with no other language mixed in to add to the confusion.

UPDATE: Reader Don Smith points out by including “mdn” (no quotes) when searching Google for JavaScript reference information, you will get the best results from the Mozilla resources. I tried several searches and he is right, the good stuff comes to the top. Also remember you can limit the searches to this site specifically by preceding searches with “mdn:”.

5. Douglas Crockford’s JavaScript Resources
When I think of JavaScript, Douglas Crockford is one the names that immediately comes to mind. If you haven’t heard of him, you may have heard of his book – JavaScript : The Good Parts. His web site dedicated to JavaScript is a nice list of resources to his work as well as others.

6. Advanced Topics in Web Development – Fall 2011
For those who may want a bit more classroom type training but can’t get away, iTunes University has a free course covering lots of great stuff about advanced web development which equates to JavaScript. It looks like there are 19 sessions up and possibly some more coming since #19 is jQuery, part 1. Even if there are only the 19 episodes, there is lots of great content.

7. Essential JavaScript Design Patterns For Beginners
Essential JavaScript Design Patterns For Beginners is a book about JavaScript patterns, it has beginners in its title but most beginning developers don’t know what a pattern is. Heck, most experienced developers haven’t studied them enough to be fluent in pattern speak. This is a great book for anyone to better understand patterns and has the JavaScript twist to them.

Link ~> http://accidentaltechnologist.com/javascript/7-resources-every-javascript-developer-should-know/
ProgrammingRe: Introducing Internet.org App by toshodei: 9:11am On Jul 31, 2014
Im so happy to hear this, I wonder if

1. They will bring the same app to Nigerian Market
2. If there is an SDK that we can use so that we can make apps that run on the platform.
ProgrammingRe: Mobile Devs Ignoring A Large Market by toshodei: 9:10am On Jul 31, 2014
asalimpo: Many smartphones in the market dont run on android or ios. They run on java j2me. And their lowcost compared to android phones of same functionalities means theyre in use by many people more ppl thn android and more prohibitive ios phones.
1. What market are you specifically talking about? Nigeria? Africa? The World?
2. Are u trying to say that many featured phones run on Java/J2ME and that many users in the African market use featured phones, because they are cheaper than smartphones?

1 2 3 4 5 6 7 8 9 10 11 12 13 (of 13 pages)