Monday, June 27, 2016
Friday, June 24, 2016
Discussions
Reminder to myself since i am guilty as hell of the below sin - As a developer, discussions should be about how to do things, rather than about how to improve Process, self-improvement etc.
Do - what is the best language/framework to implement ABC application ?
Don't - how can we find time to learn that language/framework
Do - what is the best language/framework to implement ABC application ?
Don't - how can we find time to learn that language/framework
Monday, June 20, 2016
Friday, June 17, 2016
Understanding of underlying software systems
This seems to be an awesome blog for learning the basics of how systems work: https://ruslanspivak.com/
Hi! I’m Ruslan Spivak, a 36 year old Software Team Lead from Canada, and if you’ve ever asked yourself:
- “How do I create my own programming language?”
- “How does an interpreter, compiler, or VM work and how do I create one?”
- “How do I implement my own database and a small operating system?”
- “How do I code my own web server?”
- “How do I write my own web framework?”
Or if you’ve just wanted to know more about software development in general and how to become a better developer - then you are in the right place!Here’s the deal:I believe to become a better developer you MUST get a better understanding of the underlying software systems you use on a daily basis and that includes programming languages, compilers and interpreters, databases and operating systems, web servers and web frameworks. And to get a better and deeper understanding of those systems you MUST re-build them from scratch.
Serverless
http://martinfowler.com/articles/serverless.html
https://github.com/serverless/serverless
https://github.com/serverless/serverless
What is Serverless?
Like many trends in software there’s no one clear view of what ‘Serverless’ is, and that isn't helped by it really coming to mean two different but overlapping areas:
- Serverless was first used to describe applications that significantly or fully depend on 3rd party applications / services (‘in the cloud’) to manage server-side logic and state. These are typically ‘rich client’ applications (think single page web apps, or mobile apps) that use the vast ecosystem of cloud accessible databases (like Parse, Firebase), authentication services (Auth0, AWS Cognito), etc. These types of services have been previously described as ‘(Mobile) Backend as a Service’, and I’ll be using‘BaaS’ as a shorthand in the rest of this article.
- Serverless can also mean applications where some amount of server-side logic is still written by the application developer but unlike traditional architectures is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. (Thanks to ThoughtWorks for their definition in their most recent Tech Radar.) One way to think of this is ‘Functions as a service / FaaS’ . AWS Lambda is one of the most popular implementations of FaaS at present, but there are others. I’ll be using ‘FaaS’ as a shorthand for this meaning of Serverless throughout the rest of this article.
Labels:
computer science,
design,
software engineering
App Servers benchmarked for: Ruby, Node, Elixir, GO, Java, Crystal
https://github.com/costajob/app-servers
Excerpt:
Results
Excerpt:
Results
Here are the benchmarks results ordered by increasing throughput.
| App Server | Throughput (req/s) | Latency in ms (avg/stdev/max) |
|---|---|---|
| Rack | 29208.81 | 3.13/0.348/13.28 |
| JRuby-Rack | 32331.47 | 0.99/0.598/44.34 |
| Plug | 33583.07 | 3.35/7.62/145.87 |
| Node Cluster | 47576.68 | 2.51/3.40/120.02 |
| Jetty | 52398.88 | 1.90/0.432/22.45 |
| ServeMux | 58359.97 | 1.70/0.315/18.63 |
| Crystal HTTP | 75159.45 | 1.33/0.270/6.02 |
Wednesday, June 15, 2016
Monday, June 13, 2016
Sunday, June 12, 2016
Wednesday, June 8, 2016
Friday, May 6, 2016
Microsoft CEO Satya Nadella believes bots are the new apps
Microsoft CEO Satya Nadella believes bots are the new apps .
https://channel9.msdn.com/Events/Build/2016/KEY01#time=1h28m23s
https://channel9.msdn.com/Events/Build/2016/KEY01#time=1h28m23s
Wednesday, May 4, 2016
Monday, May 2, 2016
Thursday, April 28, 2016
Sunday, April 24, 2016
Saturday, April 16, 2016
Topics/Concepts for a person who wants to learn programming
This post is a work-in-progress.
I spoke to a couple of friends (at different times) who wanted to know what programming was all about. The below points/concepts came to my mind during both those times, so I wanted to write a blogpost to save those points. (Better examples are needed perhaps for the below concepts).
1. Strings, Strings, Strings - alphabets, number, special characters etc.
Knowing how to do String manipulation in any language is a must - being able to create the required string, being able to split a string (parse a string) etc
HTTP protocol is just a bunch of rules that a browser (client) and server follow to exchange strings (messages) between one another.
Browser - i will send you this particular string if I want this
Server - I will send you this particular string if I have what you want
2. Object Oriented Programming (OOP), functions etc are just ways of Organizing your code... organizing your code in the same file or in different files etc
It is important to note that -
a) writing code to accomplish something is the 1st step;
b) the 2nd step is to organize it (using OOP, MVC etc) to make it easier to find it and modify later on.
3. Abstractions
Abstractions are everywhere in computers.
Lets say we have to work with something called A.
Lets say that it is really difficult to write programs for A.
What typically happens is that a genius (or a team of them) comes along and creates a layer called B that is easier to work with, but translates our programs to A.
Now if some people feel that B also is difficult for them, then a layer called C is created, and so on.
B & C are then called layers of abstraction over A.
B is a layer of abstraction over A.
C is a layer of abstraction over B.
Each layer's goal is hide the complexity of the layer beneath it and at the same time be useful to people.
As complexity of tasks increases, programmers tend to find themselves working with (in) lower and lower levels of abstractions.
Perhaps we should always try to spot the layers of abstraction in anything that we encounter in our software world.
Below are some Real-life examples of abstractions:
CPUs understand only 1s and 0s.
Assembly Language is an abstraction over 1s and 0s.
High-level languages are abstraction over Assembly Languages.
jquery is an abstraction over Javascript
bootstrap is an abstraction over CSS
ruby is an abstraction over C
4. API - Application Programming Interfaces
From wikipedia - A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer.
Best is an example - we want to get data from some company, say weather data from accuweather.com
So, to successfully get data from accuweather.com and display it in our application, we need 2 things:
a) first, we should check if accuweather provides an API to access its data
b) we should then look at that API's documentation - how to access the API, which functions/methods it provides etc.
We cannot guess how an API will work. We would need documentation of how it is supposed to behave - this should be given by the people who make the API.
We would need Documentation before we would be able to use any API.
5. Documentation
Take anything that has been built by Someone Else.
In order to use it properly, we would need its Documentation.
E.g. 1 accuweather.com's people built their API. They have to put up their Documentation on their website if they want people outside their company to be able to use.
E.g. 2. Java was initially created by Sun Microsystems, and now is being owned & worked on by Oracle.
When we work with Java or Accuweather's API, we have access to the below types of documentation:
a) verbal info from peers, or already existing code in your application
b) books, online tutorials, blogs, videos
c) documentation created by people who created Java or Accuweather.com's API
As the complexity of what you are trying to do increases, programmers typically shift from 'a' to 'b' to 'c'.
I spoke to a couple of friends (at different times) who wanted to know what programming was all about. The below points/concepts came to my mind during both those times, so I wanted to write a blogpost to save those points. (Better examples are needed perhaps for the below concepts).
1. Strings, Strings, Strings - alphabets, number, special characters etc.
Knowing how to do String manipulation in any language is a must - being able to create the required string, being able to split a string (parse a string) etc
HTTP protocol is just a bunch of rules that a browser (client) and server follow to exchange strings (messages) between one another.
Browser - i will send you this particular string if I want this
Server - I will send you this particular string if I have what you want
2. Object Oriented Programming (OOP), functions etc are just ways of Organizing your code... organizing your code in the same file or in different files etc
It is important to note that -
a) writing code to accomplish something is the 1st step;
b) the 2nd step is to organize it (using OOP, MVC etc) to make it easier to find it and modify later on.
3. Abstractions
Abstractions are everywhere in computers.
Lets say we have to work with something called A.
Lets say that it is really difficult to write programs for A.
What typically happens is that a genius (or a team of them) comes along and creates a layer called B that is easier to work with, but translates our programs to A.
Now if some people feel that B also is difficult for them, then a layer called C is created, and so on.
B & C are then called layers of abstraction over A.
B is a layer of abstraction over A.
C is a layer of abstraction over B.
Each layer's goal is hide the complexity of the layer beneath it and at the same time be useful to people.
As complexity of tasks increases, programmers tend to find themselves working with (in) lower and lower levels of abstractions.
Perhaps we should always try to spot the layers of abstraction in anything that we encounter in our software world.
Below are some Real-life examples of abstractions:
CPUs understand only 1s and 0s.
Assembly Language is an abstraction over 1s and 0s.
High-level languages are abstraction over Assembly Languages.
jquery is an abstraction over Javascript
bootstrap is an abstraction over CSS
ruby is an abstraction over C
4. API - Application Programming Interfaces
From wikipedia - A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer.
Best is an example - we want to get data from some company, say weather data from accuweather.com
So, to successfully get data from accuweather.com and display it in our application, we need 2 things:
a) first, we should check if accuweather provides an API to access its data
b) we should then look at that API's documentation - how to access the API, which functions/methods it provides etc.
We cannot guess how an API will work. We would need documentation of how it is supposed to behave - this should be given by the people who make the API.
We would need Documentation before we would be able to use any API.
5. Documentation
Take anything that has been built by Someone Else.
In order to use it properly, we would need its Documentation.
E.g. 1 accuweather.com's people built their API. They have to put up their Documentation on their website if they want people outside their company to be able to use.
E.g. 2. Java was initially created by Sun Microsystems, and now is being owned & worked on by Oracle.
When we work with Java or Accuweather's API, we have access to the below types of documentation:
a) verbal info from peers, or already existing code in your application
b) books, online tutorials, blogs, videos
c) documentation created by people who created Java or Accuweather.com's API
As the complexity of what you are trying to do increases, programmers typically shift from 'a' to 'b' to 'c'.
Sunday, April 10, 2016
Ruby's attr_accessor, attr_reader and attr_writer
Basically they fake publicly accessible data attributes, which Ruby doesn't have.
http://stackoverflow.com/a/4370996 http://stackoverflow.com/a/4371458
http://stackoverflow.com/a/4371087
Ruby book
http://www-rohan.sdsu.edu/doc/ruby/chp_04/classes.html
http://stackoverflow.com/a/4370996 http://stackoverflow.com/a/4371458
http://stackoverflow.com/a/4371087
Ruby book
http://www-rohan.sdsu.edu/doc/ruby/chp_04/classes.html
Friday, April 8, 2016
Sunday, March 27, 2016
Monday, March 14, 2016
Saturday, March 12, 2016
Saturday, March 5, 2016
Interview Questions site
https://www.interviewcake.com/
Sample question: write code for getMaxProfit
var stockPricesYesterday = [10, 7, 5, 8, 11, 9];
getMaxProfit(stockPricesYesterday);
// returns 6 (buying for $5 and selling for $11)
Sample question: write code for getMaxProfit
var stockPricesYesterday = [10, 7, 5, 8, 11, 9];
getMaxProfit(stockPricesYesterday);
// returns 6 (buying for $5 and selling for $11)
Pursue a completely free, online, CS education.
1) https://docs.google.com/spreadsheets/d/1BD8BJJUNaX63m2QmySWMGDp71nx4W4MyyiIBlfM
oN3Q/htmlview?pref=2&pli=1&sle=true
Was posted on https://www.reddit.com/r/programming by jzeal
2) OSS - https://github.com/open-source-society/computer-science
3) MIT courses - https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/
oN3Q/htmlview?pref=2&pli=1&sle=true
Was posted on https://www.reddit.com/r/programming by jzeal
2) OSS - https://github.com/open-source-society/computer-science
3) MIT courses - https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/
Great quote about how to train & treat employees
"Train people well enough that they can leave. Treat them well enough that they won't want to." -- Richard Branson
Wednesday, March 2, 2016
Unix Philosophy
http://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s06.html
Excerpt:
Excerpt:
Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition, had this to say at the time [McIlroy78]:
(i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
(ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
(iii) Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
(iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.
Labels:
computer science,
linux,
software engineering
Monday, February 29, 2016
Rails and 422 HTTP error message
http://blog.ethanvizitei.com/2008/04/wtf-is-422.html
Excerpt:
Excerpt:
422 is returned by the Rails ActionController by default when a POST comes from another website outside your own web application. It's a security feature built in to prevent Cross-Site Request Forgery attacks.
Friday, February 26, 2016
Create an Awesome Linux Development Environment in Windows with vmware
Create an Awesome Linux Development Environment in Windows with vmware
http://nickjanetakis.com/blog/create-an-awesome-linux-development-environment-in-windows-with-vmware
http://nickjanetakis.com/blog/create-an-awesome-linux-development-environment-in-windows-with-vmware
Sunday, January 17, 2016
jquery issues in Electron
https://github.com/atom/electron/issues/345
How to properly run a Rails app inside Electron? - http://stackoverflow.com/questions/31967854/how-to-properly-run-a-rails-app-inside-electron
How to properly run a Rails app inside Electron? - http://stackoverflow.com/questions/31967854/how-to-properly-run-a-rails-app-inside-electron
Friday, January 15, 2016
Tuesday, January 12, 2016
Monday, January 4, 2016
Electron
Electron - Cross Platform Development for Desktop apps
Excerpt from : http://electron.atom.io/docs/latest/tutorial/quick-start/
Excerpt from : http://electron.atom.io/docs/latest/tutorial/quick-start/
Electron enables you to create desktop applications with pure JavaScript by providing a runtime with rich native (operating system) APIs. You could see it as a variant of the Node.js runtime that is focused on desktop applications instead of web servers.
This doesn't mean Electron is a JavaScript binding to graphical user interface (GUI) libraries. Instead, Electron uses web pages as its GUI, so you could also see it as a minimal Chromium browser, controlled by JavaScript.
Sunday, January 3, 2016
Clear test db while running rspecs
If we end up in a situation where we find out that the 'test db' is not being cleared properly, we can do the following:
http://stackoverflow.com/questions/25877734/rails-4-resetting-test-database
http://stackoverflow.com/questions/25877734/rails-4-resetting-test-database
bundle exec rake db:reset RAILS_ENV=test
List Columns in table (in Rails Console)
From rails console, how to list columns in a particular table:
http://stackoverflow.com/questions/5575970/activerecord-list-columns-in-table-from-console
Model.column_names
e.g. User.column_names
http://stackoverflow.com/questions/5575970/activerecord-list-columns-in-table-from-console
Model.column_names
e.g. User.column_names
Tuesday, December 29, 2015
RSpec & Capybara related
RSpec related:
http://www.chrisdpeters.com/introduction-feature-specs-rspec/
https://www.madetech.com/blog/feature-testing-with-rspec
https://robots.thoughtbot.com/rspec-integration-tests-with-capybara
https://about.futurelearn.com/blog/how-we-write-readable-feature-tests-with-rspec/
Nice detailed series (RSpec beginner) - http://everydayrails.com/2012/03/12/testing-series-intro.html
Capybara related:
https://speakerdeck.com/timmoore/embracing-capybara
http://www.elabs.se/blog/53-why-wait_until-was-removed-from-capybara
Google group - https://groups.google.com/forum/#!topic/ruby-capybara
FactoryGirl:
https://cbabhusal.wordpress.com/2015/04/21/ruby-on-rails-factory-girl-how-it-interacts-with-activerecord/
FactoryGirl documentation - https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
http://www.chrisdpeters.com/introduction-feature-specs-rspec/
https://www.madetech.com/blog/feature-testing-with-rspec
https://robots.thoughtbot.com/rspec-integration-tests-with-capybara
https://about.futurelearn.com/blog/how-we-write-readable-feature-tests-with-rspec/
Nice detailed series (RSpec beginner) - http://everydayrails.com/2012/03/12/testing-series-intro.html
Capybara related:
https://speakerdeck.com/timmoore/embracing-capybara
http://www.elabs.se/blog/53-why-wait_until-was-removed-from-capybara
Google group - https://groups.google.com/forum/#!topic/ruby-capybara
FactoryGirl:
https://cbabhusal.wordpress.com/2015/04/21/ruby-on-rails-factory-girl-how-it-interacts-with-activerecord/
FactoryGirl documentation - https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
Monday, December 28, 2015
Improve Performance of ORM code (like Entity Framework & Active Record)
Below article is about improving performance of queries we write using Entity-Framework, but the problems & solutions are similar to other ORMs like Active Record (of Rails).
https://www.simple-talk.com/dotnet/.net-tools/entity-framework-performance-and-what-you-can-do-about-it/
https://www.simple-talk.com/dotnet/.net-tools/entity-framework-performance-and-what-you-can-do-about-it/
Labels:
.Net,
database,
performance,
rails
Sunday, December 27, 2015
Tuesday, December 22, 2015
Monday, December 21, 2015
Saturday, December 12, 2015
Wednesday, November 25, 2015
git: clear credentials cache
Clear git credentials cache:
cd .git-credential-cache/
rm -rf .git-credential-cache
cd .git-credential-cache/
rm -rf .git-credential-cache
Monday, November 16, 2015
Ruby: Metaprogramming
Sunday, November 15, 2015
Rails - helper & helper_method
Rails - helper & helper_method
http://stackoverflow.com/questions/3992659/in-rails-what-exactly-do-helper-and-helper-method-do
http://stackoverflow.com/questions/3992659/in-rails-what-exactly-do-helper-and-helper-method-do
Monday, November 2, 2015
Sunday, November 1, 2015
Friday, October 23, 2015
How Databases Work
How Databases Work -
http://coding-geek.com/how-databases-work/
Implementing Sorting in Database Systems -
http://wwwlgis.informatik.uni-kl.de/archiv/wwwdvs.informatik.uni-kl.de/courses/DBSREAL/SS2005/Vorlesungsunterlagen/Implementing_Sorting.pdf
http://coding-geek.com/how-databases-work/
Implementing Sorting in Database Systems -
http://wwwlgis.informatik.uni-kl.de/archiv/wwwdvs.informatik.uni-kl.de/courses/DBSREAL/SS2005/Vorlesungsunterlagen/Implementing_Sorting.pdf
Friday, October 16, 2015
Sunday, October 11, 2015
Windows 10 Development
Windows 10 Development for Absolute Beginners:
https://channel9.msdn.com/coding4fun/blog/Windows-10-Development-for-Absolute-Beginners
More Deep Dive:
https://channel9.msdn.com/Events/Windows/Developers-Guide-to-Windows-10-RTM
https://channel9.msdn.com/coding4fun/blog/Windows-10-Development-for-Absolute-Beginners
More Deep Dive:
https://channel9.msdn.com/Events/Windows/Developers-Guide-to-Windows-10-RTM
Thursday, September 24, 2015
Rails related - 'locals'
From http://stackoverflow.com/questions/5255874/rendering-partial-with-locals-in-haml
You would use the
:locals option if you're calling render from a controller. When calling render from a view, you would simply do this:= render 'meeting_info', :info => @info
Monday, September 14, 2015
Form Inputs Browser Support Issue
Form Inputs Browser Support Issue
http://www.smashingmagazine.com/2015/05/form-inputs-browser-support-issue/
http://www.smashingmagazine.com/2015/05/form-inputs-browser-support-issue/
It's hard to believe that this is the state of the web in 2015. I cannot but think that Google, Apple, Microsoft are deliberately trying to make web application difficult w.r.t mobile.
Google owns Android & Chrome browser.
Apple owns iOS and Safari browser.
Microsoft owns Windows Phone (now Windows Mobile) & IE (and Edge).
Clearly they have a conflict of interest here. Each of them wants to push their own mobile-app infrastructure and have more mobile apps when compared to mobile web sites. Creating problems with Form Inputs is a simple way of discouraging web application development for mobile.
Firefox is opensource and does not have the above constraint, but Chrome, IE, Safari seem to make the disadvantages subtle enough so that they are not really visible to the user (on mobile), but are a big deal for web developers.
Weekly reading list related to Web Development - smashingmagazine.com
If you don’t want all your images be loaded directly on page load, this simple technique by Christian Heilmann might be for you: By wrapping images with a element and some lines of JavaScript the load gets deferred in all browsers that support the element. -
Video - http://christianheilmann.com/2015/09/08/quick-trick-using-template-to-delay-loading-of-images/
Found the above at - smashingmagazine.com ; They are publishing a weekly reading list of 'what's happening in our industry' here - http://www.smashingmagazine.com/tag/web-development-reading-list/
Video - http://christianheilmann.com/2015/09/08/quick-trick-using-template-to-delay-loading-of-images/
Found the above at - smashingmagazine.com ; They are publishing a weekly reading list of 'what's happening in our industry' here - http://www.smashingmagazine.com/tag/web-development-reading-list/
Saturday, September 12, 2015
Friday, September 11, 2015
"If You Haven't Done It Before, All Bets Are Off", Side Projects Benefits
http://prog21.dadgum.com/209.html
Above is the reason why I cannot give an answer, most of the times, to the question - how much time will it take?
Excerpt:
Above is the reason why I cannot give an answer, most of the times, to the question - how much time will it take?
Excerpt:
Except when it comes to figuring out how much work it's going to take. In that case, without having done it before, all bets are off.This gives us another reason for doing those side-projects that never seem to take off. If we work on a side-project, then, when we encounter a similar problem at our day-job, we will be better positioned to give an estimate about the work. And for sure, we would be on that team that is going to do the project. So, this is how, you slide into the projects you want to work on. Hmm.. hopefully, I will act on this realization unlike all the previous instances of enlightenment..
F# related
http://tomasp.net/blog/2015/typed-revisited/
FunScript website - http://funscript.info/samples/worldbank/
F# and Data Science - http://www.tryfsharp.org/Learn/data-science
FunScript website - http://funscript.info/samples/worldbank/
FunScript is a lightweight F# library that lets you rapidly develop single-page applications.F# Data Library - http://fsharp.github.io/FSharp.Data/
F# and Data Science - http://www.tryfsharp.org/Learn/data-science
Monday, September 7, 2015
Saturday, September 5, 2015
Friday, September 4, 2015
Improving performance in Ruby/Rails code
http://blog.skylight.io/fixing-the-mysterious-slow-request/?utm_content=buffer21003&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
Talks mostly about object allocations and how we can improve (reduce) them;
Read through quickly once;
Has some links within it which seem interesting (but i haven't read yet);
Has good simple examples
Talks mostly about object allocations and how we can improve (reduce) them;
Read through quickly once;
Has some links within it which seem interesting (but i haven't read yet);
Has good simple examples
Stamplay & Build a Food Ordering app like JustEat
Stamplay - https://stamplay.com/ - The modular backend platform for web developers
Example:
https://blog.stamplay.com/create-a-food-ordering-app-like-justeat-with-angularjs/?utm_medium=social&utm_source=twitter&utm_campaign=tutorials&utm_content=justeat
Pricing:
Example:
https://blog.stamplay.com/create-a-food-ordering-app-like-justeat-with-angularjs/?utm_medium=social&utm_source=twitter&utm_campaign=tutorials&utm_content=justeat
Pricing:
Core Plan - Free
100K API calls / 100GB hosting transfer / 1GB hosting storage /stamplayapp.com subdomain
Thursday, September 3, 2015
Friday, August 28, 2015
Wireframing/Prototyping tools 2015
http://devzum.com/2015/04/06/best-prototyping-tools-for-designers/
Best prototyping tools as of 2015
Best prototyping tools as of 2015
Thursday, August 27, 2015
Sunday, August 9, 2015
jQuery code to get the selected radio button (and its value)
jQuery code to get the selected radio button and its value
.val() - it looks like we should not use this for radiobuttons.
$('input:radio[name=rblist]').val() - this was giving the value of the radiobutton that was selected (checked) when the page loaded.
If I changed the selection, and then checked .val(), it was showing the previous value still.
To get the selected radiobutton, I had to iterate over the list of radio buttons and check each one if it is checked or not.
.val() - it looks like we should not use this for radiobuttons.
$('input:radio[name=rblist]').val() - this was giving the value of the radiobutton that was selected (checked) when the page loaded.
If I changed the selection, and then checked .val(), it was showing the previous value still.
To get the selected radiobutton, I had to iterate over the list of radio buttons and check each one if it is checked or not.
$('input:radio[name=rblist"]').each(function(){ if ($(this).is(':checked')) { rb_value = $(this).val(); console.log("Selected rb value = " + rb_value); } });
Thursday, July 23, 2015
Friday, July 17, 2015
Tool to help fill forms
This tool can be helpful in filling forms.
How to use:
Drag & Drop the following bookmarklets to your Bookmarks bar in Chrome.
What these bookmarks do:
1) Form Values - Store ← this is a link - Drag & Drop it to your Bookmarks bar
When you are on the page which has a form:
- Fill out the form
- before clicking Submit, click on 'Form Values - Store' bookmark
-- this will save your form values to your browser's localStorage (so that you can use them later on).
2) Form Values - Load ← this is a link - Drag & Drop it to your Bookmarks bar
When you are on a page that has a form, if you have previously saved form-values for it:
- Simply click this bookmark to fill up the form
----------------------------------------------------------------------------------------------------------
Additional Notes:
1) With this tool, form data saved in Dev/Test urls can be used to fill up forms in Staging/Prod urls.
So, if you save form values in: http://dev-url/user/new
You can load those values for the form in: http://staging-url/user/new
This could be helpful for QA engineers.
(This is because, the form values will be stored using - "/user/new" part of the URL. Even, query string part of the URL is ignored.)
2) Use for Developers:
For development work that involves forms, we usually need to repeatedly fill up the same form.
This tool can help save time in such scenarios.
Use for Testers/QA:
Same - a QA person can probably fill up the form using previous test-case's data and modify a couple of fields for the new test case.
3) Technique used:
Form values ares stored as a string in the browser's localStorage using the page's url as the key.
4) Because values are stored in browser's localStorage, if browser cache/history is cleared, the stored values will be deleted.
How to use:
Drag & Drop the following bookmarklets to your Bookmarks bar in Chrome.
What these bookmarks do:
1) Form Values - Store ← this is a link - Drag & Drop it to your Bookmarks bar
When you are on the page which has a form:
- Fill out the form
- before clicking Submit, click on 'Form Values - Store' bookmark
-- this will save your form values to your browser's localStorage (so that you can use them later on).
2) Form Values - Load ← this is a link - Drag & Drop it to your Bookmarks bar
When you are on a page that has a form, if you have previously saved form-values for it:
- Simply click this bookmark to fill up the form
----------------------------------------------------------------------------------------------------------
Additional Notes:
1) With this tool, form data saved in Dev/Test urls can be used to fill up forms in Staging/Prod urls.
So, if you save form values in: http://dev-url/user/new
You can load those values for the form in: http://staging-url/user/new
This could be helpful for QA engineers.
(This is because, the form values will be stored using - "/user/new" part of the URL. Even, query string part of the URL is ignored.)
2) Use for Developers:
For development work that involves forms, we usually need to repeatedly fill up the same form.
This tool can help save time in such scenarios.
Use for Testers/QA:
Same - a QA person can probably fill up the form using previous test-case's data and modify a couple of fields for the new test case.
3) Technique used:
Form values ares stored as a string in the browser's localStorage using the page's url as the key.
4) Because values are stored in browser's localStorage, if browser cache/history is cleared, the stored values will be deleted.
Sublime Text shortcut - Swtich between tabs
Switch back and forth between tabs in Sublime Text:
Ctrl + Tab
http://www.sublimetext.com/forum/viewtopic.php?f=3&t=845
Ctrl + Tab
http://www.sublimetext.com/forum/viewtopic.php?f=3&t=845
Thursday, July 16, 2015
Play with Rust
Play with Rust in the browser: https://play.rust-lang.org/
Jul 15 2015 - https://www.youtube.com/watch?v=Q7lQCgnNWU0
Jul 15 2015 - https://www.youtube.com/watch?v=Q7lQCgnNWU0
Ruby - leading zeros
http://stackoverflow.com/questions/5810468/leading-zeros-in-rails
some_int = 5
some_int.to_s.rjust(2, '0') # => '05'
some_int.to_s.rjust(5, '0') # => '00005'
Monday, July 13, 2015
Saturday, July 11, 2015
Windows 10 Thoughts - 1: Why adoption of Windows 10 will be different than that of Windows 8 & 8.1
(Over the last few years, there has been a lot of discussion about the design of Windows 8 & then 8.1, and how Microsoft got it wrong. Below are some simpler and different reasons why I think Windows 8 & 8.1 failed and why Windows 10 will be a success)
Since 2 weeks, I have been using a touchscreen laptop that has 16GB RAM. This is my first touchscreen laptop, and my experience with it, in this short period, has solved the biggest mysteries in recent times, at least for me - why did Microsoft get it so wrong with Windows 8 & 8.1 ?
Touch-Screen:
I hardly expected to find the touchscreen to be actually useful, but that is exactly what happened. With a combination of touchscreen and keyboard shortcuts, I now seem to be doing everything faster than before. Incredibly, I find web-browsing much more enjoyable with a touch-screen. Even websites that have not been designed for touch, I find that it not so difficult to use them.
I am amazed at how wrong I was about the usefulness of a touchscreen on a laptop. I have been using an iPad Mini for several months now, so I am not new to touchscreens. Even then, my prediction was way off.
Windows 8 & 8.1:
And I think most laptop users are like me, or how I used to be. Regarding Windows 8, most of them did not and still do not see the value of a laptop with a touchscreen. Since most people already own a perfectly-usable-laptop, I think they do not feel the need to go and buy a new laptop. I feel this is the main reason why adoption of Windows 8 & 8.1 was so less.
To state the reason in another way - the users did not feel the need to go for the hardware improvement - touchscreen, and this massively contributed to the failure in adoption of the software - Windows 8 & 8.1. This is important to note because, the failure occurred, for the most part, due to no fault of the software.
The above reason centers around new laptops with Windows 8 on them. But what about existing laptops/PCs? The most common criticism of Windows 8 is that - if Windows 8 was really good or even any good, users would have upgraded their existing laptops from Windows 7 to Windows 8.
However I feel that such an upgrade did not happen for a far simpler reason - most people had not done this before; i.e. the not so trivial step of wiping out their machine and installing a new operating system. The secondary issue was that, the upgrade was not free. The upgrade fee was very less only for a little while, if I remember correctly. Even if the upgrade was made free at that time, it is asking a lot for any user to wipe out their perfectly familiar OS and install something new. Most users would keep on postponing that kind of a thing indefinitely.
Windows 10:
Now, the next obvious question is - given that very little has changed w.r.t user behavior towards laptops with touchscreens, will Windows 10 achieve greater adoption amongst users?
Surprisingly, my answer to that is a big Yes.
It is a Yes not because Windows 10 reviews have been overwhelmingly positive.
And it is a Yes not because Windows 10 is going to be a free upgrade from Windows 7/8/8.1.
It is a Yes because, this time touchscreens are not the only 'hardware improvement' that users will be getting if they get new laptops. There is another hardware improvement - that of RAM size, this time around. Unlike the past 6-8 years, when RAM sizes in affordable laptops have stagnated at 4GB, it is very likely that, someone buying a new laptop will get 8GB or even 16GB RAM size, because 8GB/16GB RAM have started showing up in affordable laptops.
Why users have traditionally purchased new laptops/PCs - prior to 2007-2008?
In my opinion, size of RAM & CPU speed were the only 2 things that have ever truly driven users to buy new PCs/laptops in the last 20 years. This used to happen every 2-3 years previously.
All of us try to be intelligent & informed buyers. And in my opinion, previously, we had gotten trained to looking at RAM sizes & CPU speeds as the 2 main hardware specs when we looked to evaluate a laptop/PC.
That, the timeframe coincided with Microsoft releasing a brand new OS, made the upgrade to a new machine, all the more sweet, usually.
Post 2007-2008 to 2015:
Prior to 2007-2008, if I got a new laptop/PC, it usually had a new OS, had double the RAM size, and more CPU speed when compared to my old laptop/PC. I had already heard about Moore's Law by then, and it seemed that Moore's Law was in effect till then.
But Windows Vista and Windows 7 were the last of the OS upgrades for which, we 'felt', we got significant CPU and RAM upgrades.
By the time Windows 8 was released, my 2009 home laptop was ~2GHz and had 2GB RAM. As years passed by to 2015, the only difference that stood out, between my 2009 laptop and best-affordable-laptop-of-the-time seemed to be that of 2GB RAM vs 4GB RAM. The processor speeds had stagnated, with cores starting to increase in number - dual core, quad core etc. For some reason, the cores did not make a real impression, when comparing my old laptop with the current ones. I suspect, this is the case for other laptop users as well.
Performance wise, even now, in 2015, my 2009 laptop is able to run Windows 8.1 smoothly, and so performance is not a factor.
In effect, laptops with 4GB RAM have been the 'best configuration' possible for almost 7-8 years.
It is no surprise that this is exactly when laptop/PC sales have started to slow down/drop off etc.
Smartphones & Tables eroding demand for laptops/PCs:
I don't have much info or opinion on this aspect. However I feel that the smartphone market is a completely different market. Most users will definitely own a smartphone and then either own a laptop or a tablet, more likely a laptop than a tablet. Previously a laptop could not be thought of as a real replacement for a tablet. With a touchscreen, the laptop certainly becomes a real replacement for a tablet.
Conclusion:
So, in my opinion, improvements in traditional hardware specs like RAM will be the real drivers of laptop sales, and thus Windows 10 adoption as well. (Perhaps this observation will apply to the smartphone market as well.) Non-traditional hardware improvements like touchscreen are yet to catch on in the Windows world.
In the coming few months, following are the specs users will be seeing for new laptops: 8GB/16GB RAM, touchscreen, Windows 10. Now that is a solid case for buying a new laptop.
Summary & Next Question:
1) With a touchscreen, my laptop does not feel antiquated anymore when compared to my 5 inch Lumia 535 phone.
2) At the time of Windows 8, the hardware improvement was not in the traditional areas of RAM & CPU speeds (at which all the buyers were looking at), but it was in the area of touchscreens - and users did not really feel the need for touchscreens on laptops at that point (and even now, I am sure that a lot of users do not view it as a necessity, and hence the demand is not as much as it should be).
3) After several years, > 4GB RAM sizes are showing up in affordable laptops. I suspect that this very reason will make everyone go and get new laptops. Since these new laptops will have the latest OS - Windows 10, this will contribute to the success of Windows 10.
4) A secondary contributor to Windows 10 adoption will obviously be the free upgrade option that Microsoft is giving for Windows 7/8/8.1 users.
5) When a user buys the latest (affordable) laptop, there is a good chance that that laptop will have a touchscreen. Once users start using the touchscreen, they will get hooked, and from then onwards, they can see the value in an operating system like Windows 10.
That leads us to the next question - how will user behavior/requirements change once they get used to Windows 10? Will Apps catch on? Or will web applications continue to dominate?
Since 2 weeks, I have been using a touchscreen laptop that has 16GB RAM. This is my first touchscreen laptop, and my experience with it, in this short period, has solved the biggest mysteries in recent times, at least for me - why did Microsoft get it so wrong with Windows 8 & 8.1 ?
Touch-Screen:
I hardly expected to find the touchscreen to be actually useful, but that is exactly what happened. With a combination of touchscreen and keyboard shortcuts, I now seem to be doing everything faster than before. Incredibly, I find web-browsing much more enjoyable with a touch-screen. Even websites that have not been designed for touch, I find that it not so difficult to use them.
I am amazed at how wrong I was about the usefulness of a touchscreen on a laptop. I have been using an iPad Mini for several months now, so I am not new to touchscreens. Even then, my prediction was way off.
Windows 8 & 8.1:
And I think most laptop users are like me, or how I used to be. Regarding Windows 8, most of them did not and still do not see the value of a laptop with a touchscreen. Since most people already own a perfectly-usable-laptop, I think they do not feel the need to go and buy a new laptop. I feel this is the main reason why adoption of Windows 8 & 8.1 was so less.
To state the reason in another way - the users did not feel the need to go for the hardware improvement - touchscreen, and this massively contributed to the failure in adoption of the software - Windows 8 & 8.1. This is important to note because, the failure occurred, for the most part, due to no fault of the software.
The above reason centers around new laptops with Windows 8 on them. But what about existing laptops/PCs? The most common criticism of Windows 8 is that - if Windows 8 was really good or even any good, users would have upgraded their existing laptops from Windows 7 to Windows 8.
However I feel that such an upgrade did not happen for a far simpler reason - most people had not done this before; i.e. the not so trivial step of wiping out their machine and installing a new operating system. The secondary issue was that, the upgrade was not free. The upgrade fee was very less only for a little while, if I remember correctly. Even if the upgrade was made free at that time, it is asking a lot for any user to wipe out their perfectly familiar OS and install something new. Most users would keep on postponing that kind of a thing indefinitely.
Windows 10:
Now, the next obvious question is - given that very little has changed w.r.t user behavior towards laptops with touchscreens, will Windows 10 achieve greater adoption amongst users?
Surprisingly, my answer to that is a big Yes.
It is a Yes not because Windows 10 reviews have been overwhelmingly positive.
And it is a Yes not because Windows 10 is going to be a free upgrade from Windows 7/8/8.1.
It is a Yes because, this time touchscreens are not the only 'hardware improvement' that users will be getting if they get new laptops. There is another hardware improvement - that of RAM size, this time around. Unlike the past 6-8 years, when RAM sizes in affordable laptops have stagnated at 4GB, it is very likely that, someone buying a new laptop will get 8GB or even 16GB RAM size, because 8GB/16GB RAM have started showing up in affordable laptops.
Why users have traditionally purchased new laptops/PCs - prior to 2007-2008?
In my opinion, size of RAM & CPU speed were the only 2 things that have ever truly driven users to buy new PCs/laptops in the last 20 years. This used to happen every 2-3 years previously.
All of us try to be intelligent & informed buyers. And in my opinion, previously, we had gotten trained to looking at RAM sizes & CPU speeds as the 2 main hardware specs when we looked to evaluate a laptop/PC.
That, the timeframe coincided with Microsoft releasing a brand new OS, made the upgrade to a new machine, all the more sweet, usually.
Post 2007-2008 to 2015:
Prior to 2007-2008, if I got a new laptop/PC, it usually had a new OS, had double the RAM size, and more CPU speed when compared to my old laptop/PC. I had already heard about Moore's Law by then, and it seemed that Moore's Law was in effect till then.
But Windows Vista and Windows 7 were the last of the OS upgrades for which, we 'felt', we got significant CPU and RAM upgrades.
By the time Windows 8 was released, my 2009 home laptop was ~2GHz and had 2GB RAM. As years passed by to 2015, the only difference that stood out, between my 2009 laptop and best-affordable-laptop-of-the-time seemed to be that of 2GB RAM vs 4GB RAM. The processor speeds had stagnated, with cores starting to increase in number - dual core, quad core etc. For some reason, the cores did not make a real impression, when comparing my old laptop with the current ones. I suspect, this is the case for other laptop users as well.
Performance wise, even now, in 2015, my 2009 laptop is able to run Windows 8.1 smoothly, and so performance is not a factor.
In effect, laptops with 4GB RAM have been the 'best configuration' possible for almost 7-8 years.
It is no surprise that this is exactly when laptop/PC sales have started to slow down/drop off etc.
Smartphones & Tables eroding demand for laptops/PCs:
I don't have much info or opinion on this aspect. However I feel that the smartphone market is a completely different market. Most users will definitely own a smartphone and then either own a laptop or a tablet, more likely a laptop than a tablet. Previously a laptop could not be thought of as a real replacement for a tablet. With a touchscreen, the laptop certainly becomes a real replacement for a tablet.
Conclusion:
So, in my opinion, improvements in traditional hardware specs like RAM will be the real drivers of laptop sales, and thus Windows 10 adoption as well. (Perhaps this observation will apply to the smartphone market as well.) Non-traditional hardware improvements like touchscreen are yet to catch on in the Windows world.
In the coming few months, following are the specs users will be seeing for new laptops: 8GB/16GB RAM, touchscreen, Windows 10. Now that is a solid case for buying a new laptop.
Summary & Next Question:
1) With a touchscreen, my laptop does not feel antiquated anymore when compared to my 5 inch Lumia 535 phone.
2) At the time of Windows 8, the hardware improvement was not in the traditional areas of RAM & CPU speeds (at which all the buyers were looking at), but it was in the area of touchscreens - and users did not really feel the need for touchscreens on laptops at that point (and even now, I am sure that a lot of users do not view it as a necessity, and hence the demand is not as much as it should be).
3) After several years, > 4GB RAM sizes are showing up in affordable laptops. I suspect that this very reason will make everyone go and get new laptops. Since these new laptops will have the latest OS - Windows 10, this will contribute to the success of Windows 10.
4) A secondary contributor to Windows 10 adoption will obviously be the free upgrade option that Microsoft is giving for Windows 7/8/8.1 users.
5) When a user buys the latest (affordable) laptop, there is a good chance that that laptop will have a touchscreen. Once users start using the touchscreen, they will get hooked, and from then onwards, they can see the value in an operating system like Windows 10.
That leads us to the next question - how will user behavior/requirements change once they get used to Windows 10? Will Apps catch on? Or will web applications continue to dominate?
Thursday, July 9, 2015
Thursday, July 2, 2015
Saturday, June 27, 2015
.Net related - Entity Framework performance related
http://weblog.west-wind.com/posts/2014/Dec/21/Gotcha-Entity-Framework-gets-slow-in-long-Iteration-Loops
See comments also for more ideas and discussion.
See comments also for more ideas and discussion.
Wednesday, June 24, 2015
Rails - how to preload scopes
http://www.justinweiss.com/blog/2015/06/23/how-to-preload-rails-scopes
It seems Scopes can result in N+1 queries if not used properly since they cannot be preloaded...And author shows a way of how to use them correctly (i.e. without resulting in N+1 queries).
To learn about eager loading - http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations
More on the topic:
It seems Scopes can result in N+1 queries if not used properly since they cannot be preloaded...And author shows a way of how to use them correctly (i.e. without resulting in N+1 queries).
To learn about eager loading - http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations
More on the topic:
Preload, Eagerload, Includes and Joins -
http://blog.bigbinary.com/2013/07/01/preload-vs-eager-load-vs-joins-vs-includes.htmlSunday, June 21, 2015
Saturday, June 20, 2015
.Net related - Collapse of .Net EcoSystem
https://onedrive.live.com/view.aspx?resid=1E5AA35A965D3234!26479&ithint=file%2cdocx&app=Word&authkey=!AHbAQ1i_GgwNxJY
I definitely agree with the below point. It has been the most frustrating part for me as a .Net developer.
Excerpt:
http://www.reddit.com/r/programming/comments/385kq2/the_collapse_of_the_net_ecosystem_i_wrote_this/
I definitely agree with the below point. It has been the most frustrating part for me as a .Net developer.
Excerpt:
2) It’s hard to make long term investments when Microsoft’s ever revolving door of new technologies continuously makes previous codebases obsolete. That climate makes both businesses and developers afraid to invest resources in potentially defunct technologies. Remember when WinForms was replaced by WPF? Only to be replaced by Silverlight? Then by Windows Phone apps? Which were replaced by Universal apps? Or what about how Web Services were replaced by WCF only to be replaced by Web API?And here is the reddit thread (where most people disagree with the article):
http://www.reddit.com/r/programming/comments/385kq2/the_collapse_of_the_net_ecosystem_i_wrote_this/
Thursday, June 18, 2015
Monday, June 1, 2015
Article: The Argument for Teaching Computer Science Without Computers
http://motherboard.vice.com/read/the-argument-for-teaching-computer-science-without-computers?trk_source=homepage-lede
http://csunplugged.org/
http://csunplugged.org/
Excerpt:
Teaching computer science as a way of arranging reality rather than a way of arranging syntax or data structures—what's more appropriately known as programming or even coding—is among the arguments made by Thomas J. Cortina, a computer science professor at Carnegie Mellon, in a recent issue of ACM Communications. His general point, which is only sketched here, is that we should be aggressively advancing programs like CS Unplugged, which is a kid-focused curriculum of sorts developed by a group at the University of Caterbury in New Zealand, with a stated goal being the teaching of computational principles rather than programming and technical details. It's a great idea.
By being physically part of the solution to a problem as it is being solved, kids learn from observations and experiences.
Activity examples range from teaching data compression via rhymes, graph theory via mud, finite state automata via pirates, and so on. It's surprisingly deep given the target audience (though maybe algebra and trig would seem that way too if we weren't so used to it).
Sunday, April 12, 2015
Windows 10 development related
Windows 10 development related:
http://blogs.windows.com/buildingapps/2015/01/22/windows-10-is-empowering-developers-to-dream-again-3/
Excerpt:
http://blogs.windows.com/buildingapps/2015/01/22/windows-10-is-empowering-developers-to-dream-again-3/
Excerpt:
What’s next?
We’re more committed than ever to making sure that you can leverage your work to reach more customers, regardless of where they are, what device type they’re on, or what operating system they’re running. The best way to start preparing for Windows 10 is to start building universal Windows apps today for Windows 8.1.Here are some great resources to get started:Official Documentation
- Building universal Windows apps for all Windows devices
- Universal Windows app samples
- Developing Universal Windows Apps with HTML and JavaScript Jumpstart. Comprehensive 12 part video training covering how to build universal Windows apps using HTML & WinJS.
Comprehensive Online Training
- Developing Universal Windows Apps (C#/XAML) Jumpstart. On demand training providing real world guidance to build universal Windows apps with C# and XAML.
- If you are currently a Windows Phone Silverlight developer, there’s never been a better time to investigate moving your development over to Windows XAML, which provides the ability to deliver universal Windows apps. We recently released a comprehensive set of materials detailing how. Check them out here.
Sunday, March 15, 2015
Difference between 'input' & 'button' tags
http://api.jquery.com/submit-selector/
Note that some browsers treat <button> element ashttp://www.w3schools.com/tags/tag_button.asptype="submit"implicitly while others (such as Internet Explorer) do not. To ensure that markup works consistently across all browsers and guarantee that it is possible to consistently select buttons that will submit a form, always specify atypeproperty.
If you use the <button> element in an HTML form, different browsers may submit different values. Use <input> to create buttons in an HTML form.
Friday, March 6, 2015
Tuesday, February 3, 2015
Saturday, December 20, 2014
Saturday, December 13, 2014
Rails: running a particular migration
This is an old Stackoverflow question - http://stackoverflow.com/questions/753919/run-a-single-migration-file
If the migration file is:
--
db/migrate/20141211192127_add_col1_to_table1.rb
class AddCol1ToTable1 < ActiveRecord::Migration
def change
add_column :table1, :col1, :boolean
end
end
--
Then, we have to do the following in Rails console:
> require Rails.root + "db/migrate/20141211192127_add_col1_to_table1.rb"
> AddCol1ToTable1.new.migrate(:up)
If the migration file is:
--
db/migrate/20141211192127_add_col1_to_table1.rb
class AddCol1ToTable1 < ActiveRecord::Migration
def change
add_column :table1, :col1, :boolean
end
end
--
Then, we have to do the following in Rails console:
> require Rails.root + "db/migrate/20141211192127_add_col1_to_table1.rb"
> AddCol1ToTable1.new.migrate(:up)
Wednesday, December 10, 2014
Sunday, December 7, 2014
An introduction to functional programming
https://codewords.hackerschool.com/issues/one/an-introduction-to-functional-programming
Imperative & corresponding Functional code has been used for explanations.
Imperative & corresponding Functional code has been used for explanations.
Labels:
algorithms,
programming,
software engineering
Thursday, December 4, 2014
ebook: Distributed Systems
Free 2013 ebook about Distributed Systems:
http://book.mixu.net/distsys/single-page.html
http://book.mixu.net/distsys/single-page.html
Sunday, October 26, 2014
"You're already doing TDD" written by david banham
You're already doing TDD written by david banham
http://blog.davidbanham.com/articles/tdd/
http://blog.davidbanham.com/articles/tdd/
Thursday, October 23, 2014
Sunday, October 19, 2014
How to Solve Error:: VMware Workstation and Hyper-V are not compatible.
http://www.youtube.com/watch?v=IrP4vlw5LUY
To turn off Hyper-V:
bcdedit /set hypervisorlaunchtype off
reboot
To turn on Hyper-V:
bcdedit /set hypervisorlaunchtype auto
reboot
To turn off Hyper-V:
bcdedit /set hypervisorlaunchtype off
reboot
To turn on Hyper-V:
bcdedit /set hypervisorlaunchtype auto
reboot
Saturday, October 18, 2014
Thursday, October 9, 2014
Scott Hanselman - Scaling Yourself
A great talk by Scott Hanselman about Effectivness, Efficiency, Time Management.. etc..

Tuesday, October 7, 2014
Sunday, October 5, 2014
Friday, October 3, 2014
Monday, September 29, 2014
Ruby: detect
From
http://stackoverflow.com/questions/2986852/ruby-detect-method :
Detect returns the first item in the list for which the block returns TRUE. Your first example:
http://stackoverflow.com/questions/2986852/ruby-detect-method :
Detect returns the first item in the list for which the block returns TRUE. Your first example:
>> [1,2,3,4,5,6,7].detect { |x| x.between?(3,4) }
=> 3
Returns 3 because that is the first item in the list that returns TRUE for the expression x.between?(3,4).detect stops iterating after the condition returns true for the first time. select will iterate until the end of the input list is reached and returns all of the items where the block returned true. Sunday, September 21, 2014
Thursday, September 18, 2014
Tuesday, September 16, 2014
Sunday, September 14, 2014
Algorirthms Visualized (Animated) - algomation.com/
http://www.algomation.com/
Videos in youtube:
http://www.youtube.com/watch?v=aXXWXz5rF64 - Bubble Sort vs Quick Sort
An introductory course in Harvard: CS50
http://cs50.tv/
https://www.youtube.com/watch?v=h2d9b_nEzoA - CS50 - Arrays, Linked Lists, Hash Tables
Videos in youtube:
http://www.youtube.com/watch?v=aXXWXz5rF64 - Bubble Sort vs Quick Sort
An introductory course in Harvard: CS50
http://cs50.tv/
https://www.youtube.com/watch?v=h2d9b_nEzoA - CS50 - Arrays, Linked Lists, Hash Tables
Subscribe to:
Posts (Atom)
