Category Archives: General Discussion
For over 6 years, the title of this site was – “Fraction of the Blogosphere”. It was fitting when I first created it and for years that followed..
One thought I had is to transform this site to accommodate my latest hobby – a sci-fi novel. This is kind of a distraction though and less than an hour per week.. So we’ll see..
If I do make any changes, I will keep all of the old posts, purely for nostalgia at this point and attempt to maintain the existing embedded word press deep links so as not to offend my fellow wordpress neighbors. I might use a revamp as an opportunity to practice ReactJS and some rapid prototyping techniques.
When I first started this site, it was a great way for me to document different coding “gotchas!”, and for awhile it felt like my own little personal “stackoverflow”. I simply stopped investing time in publishing these snippets because the code I worked on became too proprietary, and “stackoverflow” and “leetcode” type of sites outpaced what I could generically write. ¯\_(ツ)_/¯
Every now and then, If I want I could still go on a tangent and decide to learn something new and write about it, but I have chosen to invest a different way..
If you are a new visitor to this site, or an old subscriber getting this ping after a long silence, this post is not necessarily a final close, but an acknowledgement of an extended absence..
During the time when I contributed most of my articles, peaking in 2013, my unique visitor count was over 10k and climbing. Money was never the goal, so Ads are always minimal. I simply found time to write when I could, and subscribers climbed. Fast forward to 2019 and I definitely will not be investing the same time as I once did. It is now time to focus, and since this site is so strongly linked to my email address, it is only fitting if the latest contributions to the site at least reflect more of who I am now.
My old tagline under the previous title was – “World full of automation demands a new breed of worker”. Now I see things a bit differently. The world is always on a trend of automation since the first civilizations and newly skilled labor usually follows suit. It is a recurring cycle and the new generation “worker” in this context is simply the latest specializations in the workforce.
Whether it’s writing a blog, social media, etc or anything else that may be taking your time, sometimes we simply have to realize that some habits are either no longer necessary, or simply not generally reciprocating in a truly beneficial way.
So what next? It’s time to set some new goals and achieve them.
The content of this post is not yet enough to match the daunting title at this time, however, I wanted to express some thoughts I’ve had over the last few months regarding language.
I am of the opinion that human language, which has evolved and changed over time, is of course still changing, into a more strictly defined language almost in the fashion of a computer protocol.
The advent and increasing frequency of short message communications such as cellular or internet text messages, instant messaging applications and/or chatrooms, etc, has brought along shortened versions of words which we have now become very familiar with, such as “IMO”, “LOL”, “BRB”, etc. This in and of itself suggests a trend of evolving language. While this “Internet Slang” is far from proper English, I think this over time will open the door towards establishing standard words and phrases of communication, whether indirectly or directly, that will become known and used worldwide.
From an outside perspective in our current point in time, this may have the appearance of a “computer like” language, being spoken between one another. Ergo, Artificial Intelligence and Speech Recognition technology will meet in the middle with evolving human language.
I watched a film awhile back called Cosmopolis, an adaption of the novel, and while many viewers I spoke with found the use of language to be erring, I think the direction of the film and the novel emphasize that in a world of data, commonalities and natural grouping are inevitable and will affect our spoken language in ways that we may now have difficulty grasping.
Grant production tax credits to advanced biofuels such as algae fuel and their research as an alternative to crude.
Signing the petition only takes a second, White House makes it very fast and easy. Once you sign my petition there are many of other petitions out there you might find interesting, such as petitioning for Texas to separate etc.
Hopefully these types of social media projects may eventually garner some real attention.
Jonathan Blunk, Alexander J. Boik, Jesse Childress, Gordon Cowden, Jessica Ghawi, John Larimer, Matt McQuinn, Micayla Medek, Veronica Moser-Sullivan, Alex Sullivan, Alexander C. Teves, Rebecca Wingo
These short amount of words do not come close to describing the 12 lives lost. I have noted these brief sentences as mnemonic memory phrases unlocking the descriptions of their lives that I have read online.
When I come across this post in retrospect, or find myself in the future remembering this event, the first memory that I will access, the one I am storing in this post, is of the people; life itself is of greater value than any piece of information.
Jonathan Blunk, an aspiring Navy SEAL who shielded his date with his life. Husband and father.
Alexander J. Boik, an aspiring art teacher.
Jesse Childress, an Air Force cyber-systems operator.
Gordon Cowden, a real estate appraiser and father.
Jessica Ghawi, an aspiring sports journalist.
John Larimer, a Navy cryptologic technician.
Matt McQuinn, a free soul, and a hero.
Micayla Medek, college student and packers fan.
Veronica Moser-Sullivan, a 6 year old girl filled with life.
Alex Sullivan, a gentle giant with a love for movies. A loving husband.
Alexander C. Teves, an aspiring psychiatrist.
Rebecca Wingo, an Air Force translator. A mother.
This post is rare, as I generally stay within the technical realm of conversation. Events like this should not happen. From an analytic perspective, I have noticed an increasing trend. If the pattern persists, it can become a threat to our very way of life.
Fear->loss of liberty->ignorance->death Hope->freedom->enlightenment->life
You don’t have to be a programmer to understand the code above.
James Holmes is undoubtedly guilty. How does a newly educated neuroscientist, honors student from U. Cal and 1 grad student of only 6 admitted to U. Col wind up in an insane state of mind? Analyze the environment that grew the monster. Once you find the peculiarities you will realize not only does it take time for a man eating fish to grow, but it is often not adequately prevented and prudence is commonly ignored.
To prevent these events from happening, we must collectively increase our education about the world around us and read between the lines of the newspaper for clues on the conditions that precede chaos.
Computer vs the brain
The methods are very simple and involve practice over a weekly (or monthly) period of time, with time varying depending on the last time you had any math courses.
If you have practiced these methods, you are witness of the proof of human innovation firsthand, yet technically speaking, your PC computes the results much faster, and most benchmarked speed differences are mostly relative to the speed that the computation is entered into the PC.
As the numbers get larger, your ability to pinpoint an exact value becomes increasingly difficult, similar to a PC. However, I have yet to see a PC compare to the estimating abilities of humans involving complex computations.
Enrico Fermi is a case in point. A physicist and mathematician, Fermi made and proposed solutions involving estimates that even today’s PCs would have trouble deliberating. One such example is the Fermi paradox; a mathematical counter-analysis made by Fermi in response to the Drake Equation – an estimate involving extraterrestrial life in our galaxy.
Can your computer estimate?
The drake equation is both mathematical and relatively computable (by machines with degrees of accuracy), as you can clearly see if you take a look at it.
There is a catch. Ultimately the results of the equation are of such a large scale, that the mathematical rules of indeterminate form apply, and while the computer is chugging along at finding an accurate result, you can come to the same approximate answer by simply saying the result is either “very big in the billions” or “0”.
While computers may be very good at getting exact results, likely faster than you can, a more interesting and probably also more applicable question is: can you computer determine the best degree of estimation?
The next time someone asks you who can compute faster – the brain or the PC (or Mac), you can safely quote me in response with something such as:
The PC is faster at many math problems, but when it comes to a fermi problem, the PC slows to a grinding halt.
After all, computers can currently only solve what we have designed them to. How could they possibly compute estimations at the same level as our brain if we do not understand the limitations of our own design?
Mentally Calculate… (ronniediaz), https://ronniediaz.com/2012/01/19/mentally-calculate-percentages-of-large-numbers-quickly-without-using-a-calculator/
Enrico Fermi (wiki), http://en.wikipedia.org/wiki/Enrico_Fermi
Fermi Problem (wiki), <a href="http://en.wikipedia.org/wiki/Fermi_problem
Fermi Paradox (wiki), http://en.wikipedia.org/wiki/Fermi_paradox
Drake Equation (wiki), http://en.wikipedia.org/wiki/Drake_equation
Indeterminate Form (wiki), http://en.wikipedia.org/wiki/Indeterminate_form
Computers vs. Humans (blog image), http://rksharma.wordpress.com/
Products on amazon can change in price as much as hundreds of dollars between days. If the item is in your cart, amazon tells you the next time you log back in how much the price has changed by and whether it has increased or decreased.
But we all want to get the product for as cheap as we can, so what if you wanted to see the lowest the product has ever dropped?
Check out this site. Funny name, serious results:
If you came here looking for some quick and easy code that you can plug right in and dump data in excel format.. You have come to the wrong spot. 🙂
Depending on the scenario you may need this functionality for, you may want to check out a cool tool backed by Microsoft called “Powerpivot“.
This code is not hard to write, but there are many points of error and re-implementation for multiple users and/or clients is likely a larger project than you (or your boss) might realize if you haven’t dealt with data conversion processes before or have multiple complex data relationships which may or may not change data structure over time (addition/removal of columns, mappings, etc).
(For an example on some sample code to help you with this task, see one of my older entries on converting datatable to csv. https://ronniediaz.com/2010/03/02/csv-to-datatable/)
However, if you decide to go the power pivot route, this is a cool little plugin for use with Microsoft Excel which allows you to directly import data from various streams and feeds including OData and SQL.
This plugin basically eliminates the steps involved for an end user to “export to csv, then import into excel”, as well as cuts back on the time and potentially error prone task of assigning a developer to create a data export for this same process.
Check it out.
Modern day television, cinemas and news have created a big hype around security, especially computer security, usually without any good explanation.
I’m not going to tell you that hype is false, there is definitely a growing need to be careful in these areas, but in order to make informed decisions you need to become knowledgeable about the subject.
Unfortunately most literature and content that comes from these media outlets glances on these topics just enough to make a cautious viewer paranoid, but are not necessarily informative.
Computer security issues are increasing as well as personal safety in general with regards to technology, such as card swiping, identity theft, etc. (Source: US GOVT).
By spending all your money on expensive antivirus software, home security systems, identity theft protection and specialized credit cards you will be completely safe and can rest soundly.
The reality is the best protection you can really offer yourself is mostly common sense and can be remembered with a simple timeless phrase…
Never put all your eggs in one basket.
24 Security Tips for the Paranoid
(that don’t require emptying your wallet)
(see glossary below for any terms you are unfamiliar with)
If there’s a little flashing icon in the bottom of your screen that says viruses have been found on your PC, or notifications offering to help you “fix” your PC, DON’T CLICK ON IT. 75% of all computer repairs I handle were victims of this circumstance. Well known vendors such as Norton, AVG and CA allow you to run timed and manual scans. If you’re not sure where this flashing little icon came from, Google it.. or email me. 🙂
If you’re concerned about online credit card theft, get a separate credit card just for online purchases with a very low spending limit.
Try to use common checkout methods you are familiar with such as Paypal and Google Checkout. Google and paypal have certain specifications for these methods that in many cases make them more secure than the standard method on a particular site.
Keep track of sites where you store your credit card numbers (if you choose to store them at all). In the event of compromise from online purchases this will help you identify the point of breach and you were likely not the only person affected.
Research pre-paid cards which aren’t necessarily tied to a long term account and already have many built in securities.
Memorize important numbers that do not change, such as your SS, Bank and Routing. Don’t write them down and especially don’t store them electronically.
It’s hard to memorize all your passwords, so write down hints instead. If your password is related to the date you bought your first $animal (<- dog), write down something obscure like the last name of your $animal veterinarian or something even harder to relate like just a number representing the age of your animal (in $animal years).
Visit only well known websites and be careful of links from blogs 😉 and places your friends may refer you to which could unknowingly be compromised. Social networks, much like school, are an easy place to pick up germs. Secure ecommerce sites should certify that they are PCI compliant.
Learn how basic encryption works. Many applications such as outlook contain plugins for popular encryption techniques such as GPG.
Be wary of public terminals, airports and coffee shops. Even if you’re on your smart phone and browsing the WiFi at your favorite Starbucks or even JFK, the entire location or an individual access point could have been compromised or an attacker could be snooping and that cool remote banking app on your phone could open up a can of worms.
Similar to the above, always use https and/or secure networks only (esp. if wireless) whenever possible. Learn how to add Mac address filtering on your local wireless network or call your favorite local IT guy (me!) and ask them what you could do to lock down.
If possible, keep a small safety net. While disputing fraud or identity theft, you may need funds temporarily to cover bills and other perishables until the issue is resolved.
If you’re loaning money to your son/daughter/family member or close friend, give them cash or a prepaid credit card which you can refill as needed or transfer money to their bank. Loaning credit cards can be very dangerous especially if the one you are helping doesn’t follow similar security tips as these.
If you’re traveling or visiting somewhere you don’t go very often, such as a business or personal family trip, or a not frequently visited restaurant – use cash. Most types of fraud occur overseas and on long-distance trips. (Source: US GOVT).
If you lose your cell phone or wallet, make sure to cancel any and all cards and identification contained within or have numbers re-issued. This will be a hassle, but it’s worth it.
Always lock or password protect your computer and electronic devices whenever possible. A lost cellphone or laptop could contain personal information and lead to compromise. In addition, many devices such as smartphones contain security countermeasures which allow you to remotely wipe the device if it is lost.
Own at least two forms of photo identification and only carry at most one on your person if possible. Whether it is military ID, state ID, drivers license or passport, if you happen to lose one it is often easier to re-obtain if you still have the other.
When you’re leaving the house, only bring the necessities. You should probably always carry your drivers license, especially if you’re pulled over for speeding ;). You or a relative’s social security card and other non-critical credit cards may not always need to be in your possession however. If you frequently use checks, keep a few in your wallet or purse, but don’t bring the whole checkbook.
Don’t share passwords or accounts! Your husband or spouse might be the exception, but make sure he/she is also familiar with these tips if you do.
If you’re concerned about home invasion, theft or burglary, purchase or make a sign which indicates the home is under surveillance and protected. Even if no such protection exists, this will often ward would-be attackers casing your home. If one or more of your neighbors has the same protection, they will likely avoid your neighborhood altogether permanently.
When traveling and away from home for a long period, a webcam can be setup as basic home surveillance. Keep in mind, this could also open up the possibility of your webcam becoming compromised so make sure they are setup in places such as the main room or doors and entry ways and do not make them accessible over the internet unless you first tunnel through a VPN.
Place anything important in a safe whenever possible. Jewelry or belongings which are rarely used fall into this category.
For home based businesses or small business owners – Beware of dumpster diving and make sure you have locked filing cabinets and shred any documents you don’t need. Old documents can be scanned and archived electronically and stored onto tape or other persistent media which can be encrypted. This can also be helpful in the event of a flood or fire.
If you’re extremely paranoid and worried that basic antivirus and a home alarm system or sign/neighborhood watch won’t be enough, purchase DIY home booby traps, watch every Home Alone movie in one sitting, and be prepared to lose all friend and family relations. Get ready for a long and lonely life. 😛
Glossary of Terms:
safety net – An alternative bank account, safe or separately managed funds to help you pay for expenses while recovering from fraud or any other event which could affect your existing assets.
SSL – A protocol which wraps your connection to a website inside a “secure socket layer” of encryption.
Dumpster Diving – Bad guys going through your trash looking for information.
VPN – Virtual Private Network. A secure way of accessing your home remotely. Call your local IT guy or do some Googling to set one up.
Casing – Bad guys driving through your neighborhood looking for targets. To prevent, talk to your neighbors, or put a sign and/or camera in front of the house.
skim / skimming / swiping – This is when bad guys posing as good guys, at your local restaurant or favorite retail store in the city, illicitly obtain your credit card number. Remember the tips regarding credit cards above as this crime is likely to increase over the next few years.
snoop / snooping / sniffing – In the context of computer security, this is usually when another user on the network is listening or capturing all information going to and from. Stick to SSL sites and secure wireless networks only.
encrypt / decrypt – Encryption is the process of transforming content from plaintext into ciphertext. decryption is the reverse; from ciphertext to plaintext.
plaintext / ciphertext – plaintext is human readable. like your email or the text messages on your phone. ciphertext is garbled and in many cases not even alphanumeric characters. writing in pig-latin or through a mirror is not making ciphertext. ciphertext requires someone to either know or guess the key, password, passphrase and/or vectors and apply a specific type of decryption to reverse.
key / password / passphrase / vector – These are all roughly synonymous with password and are sometimes stored in files instead of being typed in. Research encryption for more info on vectors.
TDES / AES / Rijndael / 128bit /block cipher – If you see or hear any words like this, they are talking about encryption and cryptography. These are different types. Read more on Wikipedia or my other pages.
bit (strength) – In the context of computer security or encryption this usually is in reference to the strength of the security, measured in bits. This can also apply to SSL strength since this utilizes encryption. Common values include 40bit, 64bit, 128bit, 256bit and 512bit.
asymmetric / symmetric – This identifies the process a particular encryption method uses, generally with regards to how information is communicated between two or more parties. It doesn’t necessarily govern HOW the data is encrypted, just the process flow of the data itself from beginning to end. See references below and research GPG for examples on how this might be usable in your everyday life.
pci compliance – Payment Card Industry standard on how personal data should be stored, processed and transmitted. Very important and might be better to understand for your general knowledge than you might think. See references for links.
For a technical illustration, take a look at my quick net encryption reference for a working example in Microsoft .Net which illustrates asymmetric key encryption.
See articles on encryption at Wikipedia and similarly linked articles for a more complete reference.
Wikipedia, Encryption, http://en.wikipedia.org/wiki/Encryption
U.S. CERT, http://www.us-cert.gov/cas/tips/
PCI DSS, https://www.pcisecuritystandards.org/security_standards/index.php