Here's my final paper, presented in one of my favourite classes, The History of Mathematics. We learned how ancient cultures developed and performed calculations, leading to where we are today. Ancient Greek arithmetic, done with a compass and straight edge, was particularly interesting and horrible! My personal discovery while writing
]]>Here's my final paper, presented in one of my favourite classes, The History of Mathematics. We learned how ancient cultures developed and performed calculations, leading to where we are today. Ancient Greek arithmetic, done with a compass and straight edge, was particularly interesting and horrible! My personal discovery while writing this paper was just how much of the groundwork was laid by Archimedes, two thousand years ago! Other than proving my hypothesis wrong, it went great. ;)
Lightening strikes and a tree falls, on fire. Proto-people witness and one takes hold of a flaming branch to first wield fire. It's a storytelling staple and has kicked off many a great comedy or monotonous essay. It also played out many times before we understood and ultimately mastered fire. We crawl before we walk; we walk before we run; and, for the great majority of us, we are taught before we know. This pattern has and always will play out as long as there are discoveries to make. Knowledge is acquired, applied and shared, or else risks being lost to time.
Notation is a mathematical tool meant to represent objects and ideas (“Mathematical Notation”). The original aim of this paper was to demonstrate notational developments as the first step in the increased spread of new ideas, much like the way a spark begins the life of a fire. Notation, in this sense, should coincide with periods of increased mathematical development brought on by increased ability to record and pass on information teaching and the universality of notation compared to rhetoric. Instead it turns out that notation develops gradually and accompanies or even lags behind the development of mathematical concepts. Rather than the spark, it acts more as an offshoot or side effect of progress, more like the smoke given off from a fire. In actuality it starts the naïve stage of mathematical development, the first of three stages set out by David Hilbert, arguably the greatest mathematician of the 20th century (Allen). The stages are, in order, the naïve, the formal and the critical (Kleiner 166), all of which offer refinement.
As mathematical requirements arose, notations did not keep pace. The ancient Egyptians maintained three number systems: hieroglyphics on stone, hieratic on papyrus and demotic for the public. When demotic was selected as the official writing of administration, from the 26th Dynasty on, hieratic persisted for religious texts (Kinnaer). The Greeks and Romans used their own numerals, well suited to calculation by abacus. Those cultures all obtained incredible mathematical accomplishments, ranging from the pyramids, to finances, to aqueducts. The Romans, not particularly interested in mathematical advancement, created an incredibly precise system of aqueducts supplying water and sewage disposal to populations of over a million people (“Roman Aqueduct”). All this was accomplished with just rhetoric, lacking even basic use of variables or formulas.
Algebra, central to so much in mathematics, developed quite gradually. Its name stems from the book Al-Jabr (Allen), written and brought to attention in the West by Muhammad ibn Musâ al-Khwârizmi, a Persian mathematician, astronomer and geographer, in 820 AD. The meaning of the word itself is currently unknown, but was used in context with the reduction or balancing of mathematical terms. Similarly the word algorithm stems not from his book, but from his name. Based on the origins of the word algebra it may be easy to overlook its potential introduction as early as 2000 BC, as a tool of the Ancient Babylonians (“Babylonian Mathematics”). Since this pre-dates algebraic notation concepts such as x + 5 = 10 would be represented by rhetoric like “the thing plus 5 equals 10.” The foundations of algebraic notation were present, but only barely, as they would sometimes draw a pair of legs walking right for addition and left for subtraction. Their knowledge of Pythagorean triples, basic finances and the quadratic formula shows accomplishments far more developed than their notations.
Bhāskara I, a 6th century Indian mathematician, and many after him, used a colourful alternative to our current algebraic naming conventions. The first unknown would be called ya, shorthand for “so much” or “how much” and the next five named after colours: black, blue, yellow, red and green. Powers up to nine and roots up to third also had standard, non-colour names. At the same time the Chinese had not adopted a systematic notation, but instead one based on placement. From Chu Shih-chieh's The Precious Mirror of the Four Elements, written in 1303, the equations a + b + c + d and (a + b + c + d)^2 are shown in figure 1 (Cizmar 5). It is not clear what, if any, impact these 13th century systems had on our current system, but both cultures were making isolated and independent contributions to shared ideas of algebraic structure.
Jordanus Nemorarius (died 1237) wrote De Elementis Arismetice Artis in the late 12th or early 13th century, representing variables with the letters a, b, c, d and so forth as required. This excerpt demonstrates the process: “Let .a. be a square, .b. its root, let .b. be multiplied by .c.d., .c. and .d. being its halves; further let .b. time .c.d. equals to .e. and let .a.e. be given” (Cizmar 6). Around the same time, in 1202, Leonardo Fibonacci of Pisa wrote Liber Abaci, which used .a. and .b. to represent lengths of line segments and introduced fractions in their current form, but arranged backwards, so that 1½ would instead have been written ½1 (Cizmar 6). Luca Pacioli wrote Summa de Arithmetica, Geometria, Proportioni et Proportionalita in 1494, introducing shorthand such as p for plus, m for minus and ℞4 for fourth root. Algebraic notation had begun to resemble its current form. If at this point we decide that algebraic notation has finally become mature, it will have been over three thousand years since the Babylonians first used rhetoric for the same ends!
None of this suggests that well-developed notation is unimportant. More modern, shorthand notations would certainly allowed history to share more of its secrets. In ancient Egypt even after being supplanted by demotic as the official text of administration, hieroglyphics continued to be employed in the long-term archiving of information. Hieroglyphics, likely the oldest form of writing, endured because no other form of writing could be as long lived as one etched into solid rock. Its difficulty and time-consuming nature meant less information would ultimately be recorded this way. Phonograms, sound-based hieroglyphics, used no vowels, spaces or punctuation, which means that nobody today knows the proper pronunciation of their language. Information typically archived this way would be religious text, royal documentation of long-term importance and mathematical calculations. Despite this much of their knowledge has been lost to time, such as their method for finding the surface area of a hemisphere (“An Explanation of Hieroglyphics”). If an appropriate algebraic shorthand been available at the time we might have found “hemisphere = 3πr2” or, somewhat less likely, “E = mc2” etched into the pyramids.
The ancient Greeks related their concepts to geometry rather than algebra, leading to different discoveries, not the suppression of discovery. Take the field of geometry, which can be traced back to the 3000 BC in the Indus Valley, but flourished in ancient Greece, where it was considered the epitome of scientific achievement (“History of Geometry”). A small sampling of their ingenuity includes Euclidean geometry, mathematical abstraction, axiomatic systems, incommensurable lengths, irrational numbers, logic and formal proof. The downside is that without notational algebra simple mathematics become more time consuming and teaching significantly more difficult, which explains why with the notable exception of Socrates, Greek mathematicians and philosophers overwhelmingly came from positions of wealth (“Socrates”). At the University of Victoria a fourth year mathematics class of ten students was asked to solve x2 – 8x = 15 on their second midterm, using the method of ancient Greek algebraic geometry. Despite a related university education, ample warning, notes and specific classroom instruction not one was completely successful. It can be assumed that all would have promptly solved the same equation if allowed to use modern notation, algebra and the quadratic formula, x = (-b ±√b2-4ac)/2a.
The story of the derivative goes back at least to ancient Greece (“Differential Calculus”), where where more than three hundred years before the common era Euclid, Apollonius of Perga and Archimedes used tangent lines in their studies of areas and volumes. Archimedes is credited with being the first to rigorously define the concept of infinitesimals (“Archimedes Palimpsest”), although their application more closely resembled that Bonaventura Cavalieri's indivisibles almost two thousand years later (“Cavalieri's Principle”). Despite the principle named after him Archimedes clearly possessed a working knowledge and acceptance of non-Archimedean numbers. The stumbling block is that the ancient Greeks geometric system difficult to understand and had no formal notation to signify the derivative or infinitesimals. When Archimedes did write formal proofs it was with the long deprecated method of exhaustion, which involved proving of upper and lower bounds using proof by contradiction on comparable areas until an eventual outcome could be demonstrated (“Method of Exhaustion”). This would have been difficult and time consuming, even by ancient standards.
When Isaac Newton and Gottfried Leibniz began work on derivatives, each would introduce their own notation, with Leibniz's being so well conceived that it remains in use over 400 years later. Although neither was able to eliminate the need for infinitesimals, the foundations were set for future generations. This enabled Augustin Cauchy, to take the reins of calculus, bringing the insight that infinitesimals are not just small quantities, but variables. He was able to represent, bound and prove a basis for derivatives with his inequality-based proofs. As always there was room for improvement, provided by Karl Weierstrass in the 1820's (“Weierstrass”), refining Cauchy's ideas and notations into the modern epsilon-delta proof we use today (Kleiner 159-166). The derivative's total time from inception to rigorous proof was over two thousand years.
Complex numbers, on the other hand, took only 254 years to trace a similar path. Originally concocted to plug a hole in the fundamental theorem of algebra, complex numbers were created by Gerolamo Cardano in 1545 (“Complex Number”). A need was created by the real numbers' inability to consistently provide roots, up to multiplicity, equal to the degree of a polynomial equation. Initially named impossible – and later imaginary – numbers, their study had evolved to the point that Gauss proved the modern fundamental theorem of algebra (“Fundamental Theorem of Algebra”) in 1799 as: “every polynomial equation having complex coefficients and degree ≥ 1 has at least one complex root.” Complex numbers had come so far that after being created to serve the fundamental theorem of algebra, they were now part of its very definition! But how could this have happened so quickly? One reason could be notation; requiring a stretch of the imagination, much like infinitesimals, early complex numbers could be represented quite simply by the term √-1.
Social and economic factors played a significant role in developing mathematics, because as long as cooperation as existed so has the need for measurable compensation. Problem 3 of the Rhind Mathematical Papyrus, conceived around 1850 BC, shows how to divide six loaves of bread among ten men (Katz 2-6). Ancient Russian peasants used methods strikingly similar, yet totally isolated, to the doubling method of the Egyptians. Multiplications could be performed on a pair of numbers by doubling one while halving the other number. Fractional portions would be discarded and then all the sections with odd operands summed to calculate the total. Figure 3. shows how they would have calculated 12 x 15. Simple algorithms allowed regular people to handle such basic mathematical calculation in their day to day lives (“History of Mathematics”). Although at this point it is painfully clear that basic mathematics may be performed nearly free of notation, surely as mathematics developed so too would their notations and the ease of which this knowledge could be taught.
12 x 15 Divide 12 by 2, multiply 15 by 2
6 x 30 Divide 6 by 2, multiply 30 by 2
3 x 60 Divide 3 by 2, multiply 60 by 2 <= note that 3 is odd
1 x 120 Discard fractional 0.5 from 1.5 and stop <= note that 1 is odd
Sum up right-side multipliers with odd left-side multipliers
=> 12 x 15 = 60 + 120 = 180
Similar factors drove the development of mathematics as far back as 4000 BC in Mesopotamia (“Sumer”), particularly in the adoption of notations and standards. Much mathematics has been developed to support finances in ancient Mesopotamia and in the ancient Indus Valley, where negative numbers were regarded as debts and positive numbers as fortunes (“History of Mathematics in India”). The adoption of the Indian/Arabic number system had been slowed by counterfeiting concerns and printing press ultimately sealed the success of the same Indian/Arabic system. The modern number system was have first been adopted for its usefulness and precise calculations with pen and paper, then opposed for concerns of counterfeiting, but took over for good with the dawn of the printing press. Wherever there was a need, a notation was always there, eventually brining up the rear and was certainly was not driving force of change.
Most importantly mathematics represents the only true universal language at our disposal, consistent across and present in nearly all cultures. This includes geometry, architecture, probability and finance (“Why is Math the Only True Universal Language?”). It is defined as numeracy (“Numeracy”) and affects the lives of anybody taking a bus, dividing a freshly slaughtered carcass or watching Sesame Street. Numeracy in this form has a long history of which notation is just another part, communicating mathematical concepts as its own language, with reduced emphasis on source language.
We have seen that basic algebra may be performed by algorithm alone, that a mathematical concept may exist for thousands of years before a suitable notation is created and that the presence of a well-developed notation makes instruction and archiving of calculations much more practical. This points to notation as a natural part of the development of mathematics. If the story of fire parallels the development and maturity of mathematics and the sharing of universal concepts, then notation is just smoke.
Works Cited
Allen, James Dow. “The Greatest Mathematicians of All Time.” Fab Pedigree. Accessed November 26, 2012. http://fabpedigree.com/james/mathmen.htm
“An Explanation of Hieroglyphics.” The International World History Project. World History Project, USA. Accessed November 26, 2012. http://history-world.org/hieroglyphics.htm
“Babylonian Mathematics.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 26, 2012. http://en.wikipedia.org/wiki/Babylonian_mathematics
“Cavalieri's Principle.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 29, 2012. http://en.wikipedia.org/wiki/Method_of_indivisibles
Cizmar, John. “The Origins and Development of Mathematical Notation (A Historical Outline).” Quaderni di Ricerca in Didattica del GRIM 9 (2000): 1-21.
“Complex Number.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 26, 2012. http://en.wikipedia.org/wiki/Complex_number
“Differential Calculus.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 26, 2012. http://en.wikipedia.org/wiki/Differential_calculus
“Fundamental Theorem of Algebra.” Wolfram MathWorld: The Web's Most Extensive Mathematics Resource. Wolfram Research, Inc. Accessed November 26, 2012. http://mathworld.wolfram.com/FundamentalTheoremofAlgebra.html
“History of Mathematics.” TeacherTube: Teach the World. TeacherTube, LLC. Accessed November 29, 2012. http://teachertube.com/viewVideo.php?video_id=47450
“History of Mathematics in India.” Vedic Vista: Exploring the Eternal and Universal Teachings of the Vedas. The Vedic Vista Project. Accessed November 29, 2012. http://teachertube.com/viewVideo.php?video_id=47450
“History of Geometry.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 26, 2012. http://en.wikipedia.org/wiki/History_of_geometry
“Karl Weierstrass.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 29, 2012. http://en.wikipedia.org/wiki/Weierstrass
Katz, Victor J. A History of Mathematics: Brief Edition. United States: Pearson Education, Inc., 2004. Print.
Kleiner, Israel. “Infinitely Small and Large in Calculus.” Educational Studies in Mathematics 48.2-3 (2001): 137-174. Print.”
Kinnaer, Jacques. “Writing in Ancient Egypt.” Egypt Voyager. Accessed November 4, 2012. http://www.egyptvoyager.com/hieroglyphs_writingancient.htm
“Mathematical Notation.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 26, 2012. http://en.wikipedia.org/wiki/Mathematical_notation
“Method of Exhaustion.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 26, 2012. http://en.wikipedia.org/wiki/Method_of_exhaustion
“Numeracy.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 29, 2012. http://en.wikipedia.org/wiki/Numeracy
“Roman Aqueduct.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 29, 2012. http://en.wikipedia.org/wiki/Roman_aqueduct
“Socrates.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 29, 2012. http://en.wikipedia.org/wiki/Socrates
“Sumer.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. Accessed November 29, 2012. http://en.wikipedia.org/wiki/Sumer
“Why is Math the Only True Universal Language?” Math Worksheet Center: The Largest Printable K-12 Math Collection! Accessed November 29, 2012. http://www.mathworksheetscenter.com/mathtips/mathlanguage.html
]]>Dell's snail mail just kept showing up and, unlike email, it wasn't obvious how to stop that. Here's how to unsubscribe from:
Just fill out Dell's List Removal form!
NUISANCE WARNING: Select your country first, because when that field is changed
]]>Dell's snail mail just kept showing up and, unlike email, it wasn't obvious how to stop that. Here's how to unsubscribe from:
Just fill out Dell's List Removal form!
NUISANCE WARNING: Select your country first, because when that field is changed their crappy form empties out.
]]>
The silver plan, paid by use, has been replaced with a $50/month pro tier. Now I'm using Heroku, whose paid plans start at $7 US/month.
Using Windows 7, assumed to work for Windows 8 and Vista.
Run all code from
The silver plan, paid by use, has been replaced with a $50/month pro tier. Now I'm using Heroku, whose paid plans start at $7 US/month.
Using Windows 7, assumed to work for Windows 8 and Vista.
Run all code from the command line (cmd)."
Insert your own values for **CAPITALS**
.
ruby -e 'puts "Welcome to Ruby"'
git --version
gem install rhc
rhc setup
git config --global user.email "**EMAIL@ADDRESS.com**"
git config --global user.name "**YOUR_NAME**"
git config --global push.default simple
gem update rhc
rhc app create **APP_NAME** nodejs-0.10 --env NODE_ENV=production --from-code https://github.com/openshift-quickstart/openshift-ghost-quickstart.git
rhc git-clone **APP_NAME**
rhc app-delete **APP_NAME** --confirm
cd **APP_NAME**
rhc show-app **APP_NAME**
git add --all .
git commit -m 'My changes'
git push
rhc app restart
rhc save-snapshot
url: 'http://**YOUR_SITE_ADDRESS**,
mail: {
transport: 'SMTP',
options: {
service: 'Gmail',
auth: {
user: '**GMAIL@GMAIL.COM',
pass: '**PASSWORD**'
}
}
},
For details on this this site is configured, please see the link below. Be warned that the theme used costs around $24 US.
http://www.derekroberts.ca/build/
That's it!
Many thanks to Andrew Hobden (aka. Hoverbear) for providing just enough taunting/direction to help.
]]>
Think you have privacy online? You only do to an extent. Here's how browser fingerprinting can uniquely identify you and IP lookups can provide a starting point for personal identification. If this sounds terrifying, then I suggest a VPN. This is (the interesting) part of an assignment I wrote in Introduction to Web Analytics, from the University of British Columbia's online Award of Digital Achievement, with content from the Digital Analytics Association.
Is Privacy an Option?
Before deciding whether or not to give up one’s privacy it would be best to start with an agreement of how we define privacy. According to Wikipedia “Internet privacy involves the right or mandate of personal privacy concerning the storing, repurposing, provision to third-parties, and displaying of information pertaining to oneself via the Internet^{[1]}.” It can be broken down further into Personally Identifying Information (PII) and non-Personally Identifying Information^{[2]} (non-PII). Having complete privacy online is impossible, since most every page view, query and discernible action is logged somewhere. So should we limit the debate over privacy to PII alone? How about narrowing our scope to cookies? Would it just be third-party or does this include first-party? I plan to show that excluding all cookies is still not enough to maintain total privacy, which isn’t realistically an option. The relevant questions are how much control we have over our information and whether we give our consent to its use.
Even the most routine visit to a website exposes basic information about you. Using the Electronic Frontier Foundation’s Panopticlick^{[3]} tool shows the most baseline information provided by my browser, such as user agent, HTTP accept headers, browser plugins, time zone, screen size, colour depth, system fonts, cookie status and supercookie testing. The EFF states that my browser can be uniquely identified from the 3,651,749 tested so far. I visit the site a second time using Private Browsing Mode^{[4]} and see the same results. That means that even without allowing a single cookie between these sessions I have still been uniquely identified. According to the EFF, even as systems are updated and their information changed, the returning browser can still be identified with a 99.1%^{[5]} rate of accuracy. The false positive rate is reported at only 0.86%. This technique is called Fingerprinting and with it we are uniquely identifiable.
Browser Characteristic | bits of identifying information | one in x browsers have this value | value |
User Agent | 10.72 | 1692.43 | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0 |
HTTP_ACCEPT Headers | 3.8 | 13.92 | text/html, */* gzip, deflate en-us |
Browser Plugin Details | 13.69 | 13232.83 | Plugin 0: Shockwave Flash; Shockwave Flash 11.2 r202; libflashplayer.so; (Shockwave Flash; application/x-shockwave-flash; swf) (FutureSplash Player; application/futuresplash; spl). Plugin 1: Shockwave Flash; Shockwave Flash 11.2 r202; libflashplayer.so; (Shockwave Flash; application/x-shockwave-flash; swf) (FutureSplash Player; application/futuresplash; spl). |
Time Zone | 5.06 | 33.34 | 480 |
Screen Size and Color Depth | 4.42 | 21.37 | 1920x1080x24 |
System Fonts | 18.63 | 405806.78 | <removed, 145 fonts total> |
Are Cookies Enabled? | 0.43 | 1.35 | Yes |
Limited supercookie test | 0.95 | 1.93 | DOM localStorage: Yes, DOM sessionStorage: Yes, IE userData: No |
Fig. 1. Fingerprinting - What Your Browser Says About You
Given that we can be uniquely identified, can we be personally identified? IP addresses are exposed publicly and cannot be safeguarded. Using a tracer on my IP address shows my Internet service provider, country, province, city, GPS coordinates of the ISP’s server, level of anonymity and whether I am hiding behind a proxy. Those GPS coordinates, 48.4710:-123.3438, are easily found using Google Maps^{[6]} and point to a location that is only a 2.9 kilometer, 6 minute drive from my home! With that information I can now known to be assumed to be one of approximately 109,752 people living in Saanich, a suburb of Victoria. I can be uniquely identified from a pool of 3,651,749 in a city of 109,752. There are a whole host of other ways to be identified, such as legal inquiry^{[7]}, tracking your network card’s MAC address over wifi^{[8]} or through IPv6^{[9]} and spyware/malware^{[10]}. After a point this information must become personally identifying and we haven’t even started talking about cookies. Given enough effort, we are personally identifiable.
96.50.71.174 IP address location & more: | |
My IP address [?]: | 96.50.71.174 [Whois] [Reverse IP] |
My IP country code: | CA |
My IP address country: | Canada |
My IP address state: | British Columbia |
My IP address city: | Victoria |
My IP postcode: | V8N |
My IP address latitude: | 48.471 |
My IP address longitude: | -123.3438 |
My ISP [?]: | Shaw Communications |
My Proxy: | None / Highly Anonymous |
Organization: | Shaw Communications |
Local time in Canada: | 12/3/2013 20:09:00 |
Fig. 2. IP Tracing - What Your IP Address Says About You
On the other hand, you may not even need to be personally identified to have your privacy violated^{[11]}. In the example made at Don’t Track Us, an anonymous user performs a search using terms that suggest an embarrassing health condition. When results are presented and a link followed, these search terms are shared with the recipient domain. This information is then passed on to and sold between third-party sites. This is where cookies finally come in to play and are used by third parties to show embarrassing and revealing ads relating to this condition on a whole host of seemingly unrelated sites. Potentially this data could be sold so that the user will pay higher prices for related services, such as health insurance.
[1] Internet privacy, http://en.wikipedia.org/wiki/Online\_privacy
[2] Personally identifiable information, http://en.wikipedia.org/wiki/Personally_identifiable_information
[3] Panopticlick: How Unique - and Trackable - Is Your Browser?, https://panopticlick.eff.org
[4] Private Browsing - Browse the web without saving information about the sites you visit, https://support.mozilla.org/en-US/kb/private-browsing-browse-web-without-saving-info
[5] How Unique is Your Web Browser?, https://panopticlick.eff.org/browser-uniqueness.pdf
[6] Google Maps, https://maps.google.ca/maps?q=48.4710,-123.3438&hl=en&sll=54.112352,-126.555646&sspn=24.12625,25.268555&t=m&z=16
[7] The Debate About Warrantless Access to ISP Customer Information http://www.slaw.ca/2009/10/09/the-debate-about-warrantless-access-to-isp-customer-information/
[8] What does a MAC address tell you?, http://www.identityblog.com/?p=1131
[9] Computer IPv6 addresses & privacy, http://www.hacker10.com/tag/ipv6-shows-mac-address/
[10] Spyware, http://en.wikipedia.org/wiki/Spyware
[11] Don’t Track Us, http://donttrack.us/
Using Kubuntu 13.10 x64 and OS X 10.9.
Want to be able to launch several commands at once or at least shorten some already esiting commands? We can do that by creating aliases. I like to use nano, but any text editor will do.
Ubuntu
]]>Using Kubuntu 13.10 x64 and OS X 10.9.
Want to be able to launch several commands at once or at least shorten some already esiting commands? We can do that by creating aliases. I like to use nano, but any text editor will do.
Ubuntu
sudo apt-get install nano
OS X installs nano with Xcode.
Here we're editing .bashrc with nano, but keep in mind it won't be pre-installed on all systems.
Ubuntu. Edit/create .bashrc.
nano .bashrc
OS X. Edit/create .bash_profile.
nano .bashrc
Go to the bottom of the file and create commands of this form.
alias **ALIAS_NAME**='**COMMAND#1** ; **COMMAND#2**; ... ; **COMMAND#n**'
Save (crtl+o) and exit (ctrl+x). You'll have to close and reopen the terminal window for this to take effect, but afterwards all those commands will be available just by typing that alias!
[EXAMPLE] Update your Ghost blog on OpenShift. This is useful if you came over from my Ghost/OpenShift post. Add the following to your .bashrc so updating your site is as easy as typing rhc-up! Please make sure to run it from your ghost app directory.
alias rhc-up = 'clear ; git add --all . ; git commit -m '$(date +%Y-%m-%d)@$(date '+%H:%M')' ; git push ; rhc app restart'
The command has been tweaked to name all commits with the date and time. The entire update and app restart will take up to five minutes, for which time your site will be offline.
[EXAMPLE] Run all available updates by typing 'update'. Add this to the end of your .bashrc file.
alias update = 'sudo apt-get update ; sudo apt-get upgrade -y ; sudo apt-get dist-upgrade -y'
That's it, so enjoy! :D
The silver plan, paid by use, has been replaced with a $50/month pro tier. Now I'm using Heroku, whose paid plans start at $7 US/month.
Using OS X 10.9.1.
Insert your own values for **CAPITALS**
.
Sign
The silver plan, paid by use, has been replaced with a $50/month pro tier. Now I'm using Heroku, whose paid plans start at $7 US/month.
Using OS X 10.9.1.
Insert your own values for **CAPITALS**
.
Sign up with OpenShift.com.
Install Xcode.
Install Git for OS X.
[Note] Press Ctrl+Click to open installers rejected by OS X 10.9 (Mavericks). This happens for anything outside their App Store and approved developer list. It can be disabled from System Preferences > Security & Privacy.
Install RHC using RubyGem using Terminal. There will be a prompt for admin access, then wait a minute.
sudo gem install rhc
rhc setup
Open Xcode, accept the terms of service, then quit. (Accepting from the terminal (w/ 'sudo git') failed for me, but YMMV.)
Set some git defaults.
git config --global user.email "**EMAIL@ADDRESS.com**"
git config --global user.name "**YOUR_NAME**"
git config --global push.default simple
ruby -e 'puts "Welcome to Ruby"'
git --version
gem update rhc
rhc app create **APP_NAME** nodejs-0.10 --env NODE_ENV=production --from-code https://github.com/openshift-quickstart/openshift-ghost-quickstart.git
rhc git-clone **APP_NAME**
rhc app-delete **APP_NAME** --confirm
cd **APP_NAME**
rhc show-app **APP_NAME**
git add --all .
git commit -m 'My changes'
git push
rhc app restart
rhc save-snapshot
url: 'http://**YOUR_SITE_ADDRESS**,
mail: {
transport: 'SMTP',
options: {
service: 'Gmail',
auth: {
user: '**GMAIL@GMAIL.COM',
pass: '**PASSWORD**'
}
}
},
For details on this this site is configured, please see the link below. Be warned that the theme used costs around $24 US.
http://www.derekroberts.ca/build/
That's it!
Many thanks to Andrew Hobden (aka. Hoverbear) for providing just enough taunting/direction to help.
]]>Kubuntu 13.10 x64.
I've found that LibreOffice often claims to be spellchecking, but comes up empty for Canadian, British and Australian English. That's usually because no spellchecker is actually installed. Install one of these for your language.
Here's how to install Canadian English in *Ubuntu.
sudo
]]>Kubuntu 13.10 x64.
I've found that LibreOffice often claims to be spellchecking, but comes up empty for Canadian, British and Australian English. That's usually because no spellchecker is actually installed. Install one of these for your language.
Here's how to install Canadian English in *Ubuntu.
sudo apt-get install hunspell-en-ca
Close/reopen LibreOffice and that's it! :D
]]>
This is Señor Woof. She loves ball chucks, licking people and being happy. :)
Her tail wags so fast it blurs.
She parties hard.
There are paintings of her.
And she's my hairy baby! :D
This is Señor Woof. She loves ball chucks, licking people and being happy. :)
Her tail wags so fast it blurs.
She parties hard.
There are paintings of her.
And she's my hairy baby! :D
The silver plan, paid by use, has been replaced with a $50/month pro tier. Now I'm using Heroku, whose paid plans start at $7 US/month.
The silver plan, paid by use, has been replaced with a $50/month pro tier. Now I'm using Heroku, whose paid plans start at $7 US/month.
Sign up with OpenShift.com
Setup Ruby and Git by cmd, for Ubuntu/Kubuntu 14.04.
sudo apt-get install ruby-full git-core
sudo apt-get install ruby-full rubygems git-core
ruby -e 'puts "Welcome to Ruby"'
git --version
git config --global user.email "**EMAIL@ADDRESS.com**"
git config --global user.name "**YOUR_NAME**"
git config --global push.default simple
sudo gem install rhc
rhc setup
gem update rhc
rhc app create **APP_NAME** nodejs-0.10 --env NODE_ENV=production --from-code https://github.com/openshift-quickstart/openshift-ghost-quickstart.git
rhc git-clone **APP_NAME**
rhc app-delete **APP_NAME** --confirm
cd **APP_NAME**
rhc show-app **APP_NAME**
git add --all .
git commit -m 'My changes'
git push
rhc app restart
rhc save-snapshot
url: 'http://**YOUR_SITE_ADDRESS**,
mail: {
transport: 'SMTP',
options: {
service: 'Gmail',
auth: {
user: '**GMAIL@GMAIL.COM',
pass: '**PASSWORD**'
}
}
},
For details on this this site is configured, please see the link below. Be warned that the theme used costs around $24 US.
http://www.derekroberts.ca/build/
Many thanks to Andrew Hobden (aka. Hoverbear) for providing just enough taunting/direction to help.
]]>
I'm a computer tech, originally from Toronto, hold a recent degree and offer lots of experience. It'd be great to try something new, like analytics, but my current lot is still a good one and puts food on the table. If you're interested, please take a look at the links
I'm a computer tech, originally from Toronto, hold a recent degree and offer lots of experience. It'd be great to try something new, like analytics, but my current lot is still a good one and puts food on the table. If you're interested, please take a look at the links below!
Overkill:
Señor Woof
Let's Loop
I can't stand KDE's default blue glow. Here's how to disable it. I'm using Oxygen for window decorations, but the procedure should be the same for everything else.
System: Kubuntu 13.10 x64, KDE: 4.11.2
I can't stand KDE's default blue glow. Here's how to disable it. I'm using Oxygen for window decorations, but the procedure should be the same for everything else.
System: Kubuntu 13.10 x64, KDE: 4.11.2
And here is the same window without the glow!
{<2>}