Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Ryex

1
Today is the second internet protest on Net Neutrality. In an "Internet-Wide Day of Action to Save Net Neutrality" Many companies and organizations have joined together to spread the word. I feel now is a great time to address the argument for an against. (from my point of view at least)

For those of you who don't know.The 45th President of the United States of America, Donald Trump hired Ajit V. Pai, an ex Verison CEO, as the chairmen of the FCC (Federal Communications Commission). The FCC only recently  (under President Obama) reclassified ISPs (Internet Service Providers) under Title II of the Federal Communication Act of 1934. Making ISPs classified as common carriers, akin to phone services providers. This allowed them to draft, vote on, and pass enforceable rules about "Net Neutrality" which is the principle that all traffic on the internet (and thus the data therein) must be treated equally. That means that it must all be routed to its destination as quickly as possible in the order in which it is received. with no priority given based on where it is coming from or where it is going or what data it contains.

The main argument against Net Neutrality is this:

The ISPs (especially in America do the size of landmass they have to cover with cables) make a significant investment in building out their network; connecting all those cities and all the buildings takes quite a bit a cable. And the routing nodes require expensive hardware and the power to run them. To makes things simple. being the first ISP to cover an area is an expensive bit of overhead the kind of expense you take out multi-million dollar loans to cover hoping that you'll make back the money and more with the service you provide. Now consider the fact that traffic hits it's peak in the evening when most people got off work. Take into account the prevalence of streaming media as a form of entertainment and you can see that during the evening in a given area bandwidth usage will skyrocket.

The FCC actually did a study of ISPs and how well they were providing their advertised speeds [1]. They provide this nice graph of what speeds they were able to provide and what they advertise vs time of day.

Spoiler: ShowHide


Notice that nice dip in provided speeds around 20:00-22:00 ?

perhaps this will put that into perspective. a chart on how the bandwidth usage on the internet over the course of a day [2]

Spoiler: ShowHide


According to that graph, Netflix accounts for half or more of all streaming traffic at a given time and (if the graph is true to scale, hard to tell without numbers) then Netflix could be close to a quarter (25%) of all traffic at peak.

The Argument is that Net Neutrality rules prevent the ISP from collecting a fee from high bandwidth users like Netflix to help recoup the cost of building a network that can push that much data at once. After all during those peak times that have to slow down other users to let all that traffic through.


Here's the problem: By selling internet access ISPs state that they are allowing you to access, not just their leg of the network but the entire internet and all connected networks. and with that access transfer data, usually at speeds up to some limit and sometimes there is a clause about total data transferred and what that means for your access. There may even be clauses about access at certain times of the day. They make this contract with all their customers. by doing so they burden themselves with a legal obligation to build a network that can service all those contracts at once. The problem of users using their access at the full speed they're are allotted in their individual contract and consuming a non-insignificant portion of the network's available bandwidth thus forcing the ISP to shape traffic to ensure nothing gets dropped is the ISPs' not the customer or the service the customer is accessing. Let's not forget that the business is already paying for access to the network to make their services available, They are also paying quite a bit for that access because they need much higher bandwidth than a consumer and that's fair. But what the ISPs are arguing with the above that the business should not only have to pay their local ISP for internet access they also need to pay the ISPs of all their consumers to ensure their traffic gets there in a timely manner. If the ISP CAN't provide that bandwidth to all their customers at once then they have oversold the capacity of their network. While Oversail isn't strictly criminal fraud [3], it does have the potential for civil consequences.

Those graphs above might seem to say Netflix is taking up an unfair percentage of the available bandwidth but that's not the case. The truth is that a large percentage of the ISPs' customers have made the choice to stream Netflix. if it wasn't Netflix it would be something else, that bandwidth is already spoken for. Netflix is just an easy target to leverage your customers against if there is no Net Neutrality protection in place.

The situation I just described would be akin to having to ship goods by truck via routes where every single road was a toll road with different rules and a different fee structure.The price of moving, a given good could change from road to road simply because they could charge more simply based on agreements that particular road had made with you and your competitors. It could change because of your carrying tangerines instead of oranges despite the fact that it's coming from the same place and the total weight of the load is the same. That kind of situation would make it nigh impossible for even a well establish bussiness with lots of money to navigate. when the route the data take to your customer changes how much and who you have to pay suddenly you have to optimize your pricing and content delivery to individual areas. A new or small business with limited capital means wouldn't have a chance. and perhaps that's the point. The increased costs the business have to pay wouldn't stop there too. the business would have to raise the price of their services or add more ads to reflect the higher cost of doing businesses. Passing the cost on the consumers, only for the money to end up in the ISPs' pockets. So even if the ISPs only charged businesses they would still be charging consumers more for the same access they already had. That is double dipping.


The other argument against Net Neutrality is that it's an overreach of government. an unneeded regulation, the free market will solve the problem for us if that's what consumers demand.

but there are multiple problems with that too. Remember that building out a network is expensive. As such ISPs intentionally DON'T directly compete with each other. they have agreements to only cover areas their competitors don't. For most places, there is only one option for internet service. and even if there is a few "local" ISP's the usually buy access from the only ISP who built infrastructure to their area. IF there is no choice then the market isn't free and consumers can't "vote" for an alternative with their wallets because there is no other option.

That the idea that regulating the Internet would stifle innovation is ludicrous on its face. Regulation, even if it was not "Net Neutrality" which is arguably the opposite of red tape, would be consistent and "regular" by definition. by its very nature a lot more manageable than the complex, potentially volatile, fee structure for data, that would exist between all the competing ISPs

And the argument that "there's no problem now, why do we need a new regulation?" is also untrue. Comcast infamously strongarmed Netflix [4] into paying it a fee to keep access to Comcast customers. And then had to do the same with Verizon because they had paid Comcast already  [5].



In case it's not clear. Net Neutrality is a crucial requirement to both keep the Internet as a level playing field and to keep consumer prices of internet access and service from being inflated.

OS, if you're a US citizen and you haven't already, go and leave a comment on this FCC proceeding. And Tell them why net neutrality is important to you.


2
So this last semester I had to retake an argument and analysis English class. I made sure the class was with the same professor as last time as I had really liked her.

Anyway. for the previous class, I had written an essay on intellectual property law in America and how it has changed; arguing that its effects had drifted significantly from its purpose.
Part of that argument relied on a letter Thomas Jefferson had written to Isaac McPherson where he wrote the often paraphrased lines:

Quote from: Thomas Jefferson to Isaac McPherson: 13 Aug. 1813If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of every one, and the receiver cannot dispossess himself of it. Its peculiar character, too, is that no one possesses the less, because every other possesses the whole of it. He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.


(It's really strange how common run on sentences smashed together with commas are in old writings)

Under the assumption that someone as famous and well respected as a scholar as Jefferson would have had a not insignificant impact on anything he cared to comment on I did more research only to find controversy at every turn. In fact, just about every word he ever wrote has well-respected men from his era forward shouting "wrong". Even the public perception seems to have a weird Oh sure he was a Founder of our nation, wrote that all-important declaration of independence - who's those words are effectively holy; but we should disregard his views on almost everything else. So much so that I even have a book my uncle sent me titled "The Jefferson Lies".

So I ended up writing the paper for this last semester on the strange disparity in Jefferson's modern perception.

I touch on everything from the near revolution surrounding the election of 1800 to unfounded attributions of legal scholarship on the basis of court decisions more than a century later.

I'll link a PDF below. If you're just curious, interested in early American history, or just want to see the early parallels to out current political climate feel free to take a look. Hopefully, you'll find it satisfying in some way.

https://www.dropbox.com/s/chgfwbi4usr6yv9/Jefferson.pdf?dl=0
3
I'm planning to build a case fan controller that can also control RGB LEDs. now I know that many similar projects/products exist but none of them do ALL of what I want.  It's a project I've been obsessing over for over a year now.

The plan is simple, take a small micro-controller and set it up to get power off a molex connector. use pwm output pins on the microcontroller or an external chip to switch NPN transistors or N chanel MOSFETs feeding 12v current to either case fans or the RGB LED strips. allow reading of temperatures as well. use a Serial COM port on the micro-controller for software control of the controller. Use EEPROM to store settings for the fans and RGB strips.

Parts I have selected:

Adafruit Metro Mini 328 uses an ATmega328
Adafruit 16-Channel 12-bit PWM/Servo Driver I2C interfaced PWM chip PCA9685
Either STP16NF06 MOSFET or KSD882YS NPN Transistor

I of cource still need to find good RGB LED strips, a thermal sensor, and all the connecting components

Circuit is simple enough, 12v is applied to the collector of the NPNs apply 5v pwm to base and the emitter becomes a 12v pwm line.
3 12v pwm lines and a ground for each RGB LED strip channel.
1 12v pwm line and a ground for the fans (this is actually a point of contention for me. most case fans are 3pin constant speed 12v, ground, and hull sensor to count rpm. 4pin fans include a 4th wire for a pwn signal. but thers not really a reson you can use pwm on the 12v line on either type fan for rpm control other than it stops the hull sensor form working properly, I think, not actualy sure. as such I'm not sure if I want to make the controller function like the motherboard standard or go for 4 pin  pwm.)

I'm having trouble deciding how many fan channels and how many RGB channels I want to make
I have 16 PWM pins to use each find need 1 each RGB strip needs 3.
I'm thinking I want 3 RGB for the top, bottom, and front of the case and than leaves plenty of fan pins but If I go with 4 RGB lines I only get 4 fan pins which seems low for my use case


I'll keep this topic updates with pictures and news.
.
4
Intelligent Debate / Banking
October 07, 2015, 09:45:07 pm
This topic remarkably is at the root of so many of our modern day problems like income inequality. When we can't even answer question like "what is money?" and "where does money come from?" how do we make meaning full discussion of how to solve problems of money?

I came across a documentary, it's an hour and thirty minuets long. The title, Century of Enslavement: The History of The Federal Reserve.
It explains the history of the current baking system known as Fractional Reserve Banking (all new money is issued out of thin air as debt owed back to a bank which keeps only a fraction of the capital reserve necessary to back these loans), and how the baking sector is designed by law to have conflicts of interest with the bakers themselves regulating the baking sector with no oversight.


After you've watched the documentary (preferably all the way through, the first half roughly is history meant to help establish context, the next 1/4 is explaining the current system and the next 1/4 is a discussion of what can be done to solve the problem. standard documentary format) I have some question I'd like to debate the answers to here.

1) There ARE alternative to Fractional Reserve Banking, should they be explored?

2) If we were to keep a Fractional Reserve Banking system would handing all regulatory power over to the public be enough to start solving current problems?

3) In light of the fact that all money is issued as debt is there any other sector of current economic policy that needs to change?


All money is debt and it's been that way for roughly a century

Note that inflation was stable and was effectively zero until 1913 the founding for the FED. current policy is to aim for 2%/year as that's "healthy"

Spoiler: ShowHide
5
Advertising / Ryex is Open for Commissions
October 05, 2015, 05:52:27 am
Put simply I have free time and I need money to pay rent with. If you have anything programming or computer related that needs doing I'm your man.

PM me or post here if you have a job request. Rates are negotiable to a point but don't expect to get several hours worth of work for 10 bucks.

I'm open to tasks of most any size but larger tasks may be broken down to be commissioned in segments. all work will be of good quality and documented so that someone else could work with it if I'm not available.

No language or tech it really outside my comfort zone but Here is a list of languages and techs I've worked with in the past.

Languages:
C
C++
C#
VisualBasic
Java
Ruby
Python
Perl
Lua
JavaScript/Node/IO.js
ActionScript
Lisp
PHP

Tech:
Markup: HTML, CSS Web Development
Data: JSON, YAML, CSV, binary formats galore
Databases: MySQL, PostgreSQL, MongoDB, SQLLite,  etc.
Client Server architecture useing TCP, UDP, Websocket
Desktop GUI and CLI programmers for Windows, OSX, and Linux
Embedding Scripting languages in a lower lever language application
Graphics
Sound
Graphing
Webapps
+More

Contact me:

PM here on Chaos Project:

Skype: ryexander (less reliable, if you add me please sate why in the request),

or Email me: Ryexander (at) gmail.com

If you know someone looking for a programmer to omission please send them my way.

now to get back to filling out job applications.
6
Electronic and Computer Section / The Power of Git
August 27, 2015, 08:49:54 pm
git as some of you may know is a DVCS (Distributed Version Control system).

basically that means it can track the changes in files and organize them in a history with out the need of a central server (otherwise it would be a VCS).

what you may NOT know that that git is very different form most VCS's not JUST because it;'s distributed. it also doesn't ACTUALLY track the changes in files per-say. It tracks the changes in data.

"Semantics!" I hear you shout. and I suppose you have a point. For most use cases there is no effective difference. if all your doing is stacking one commit on top of another you'll never notice that git is tracking data not files. Heck, simple merges wont even reveal the difference.

But lest try something. say you have a folder hierarchy.


source/
   data/
       file1.txt
       file2.txt
   main/
       prog.rb


and lets say you want to change the name of the top folder to src


src/
   data/
       file1.txt
       file2.txt
   main/
       prog.rb


if you make this chagne and then try to commit with a VCS live subversion subversion sees 3 deleted files / 3 deleted folders and 3 new files / 3 new folders. you logs looks like this

delete source/
delete source/data
delete source/data/file1.txt
delete source/data/file2.txt
delete source/main
delete source/main/prog.rb
create src/
create src/data
create src/data/file1.txt
create src/data/file2.txt
create src/main
create src/main/prog.rb


but git sees 3 blobs of data with different names so it's log looks like this


rename source/data/file1.txt -> src/data/file1.txt
rename source/data/file2.txt -> src/data/file2.txt
rename source/main/prog.rb -> src/main/prog.rb


now svn isn't completely hopeless. SVN can be made aware of renames too. IF you use svn's rename command instead of going through your OS's normal facilities. the difference is that git can detect that rename and svn must be made explicitly aware of it

now I know that seems rather minor but the implications are huge. consider this case:

with the same hierarchy as above what if you had a branch of code working on a feature using the old folder structure. and another contribute makes the commit that renames these three files?
unless your VCS is explicitly aware of the rename how is that merge going to be clean? what if there is a series or renames and the file your working on in your branch isn't even remotely in the same place or using the same name? what if in addition to all that there have been changes (non conflicting changes normal circumstances) to this file? if you attempt to merge your branch  the majority of VCS's wont have a clue what just happened and you'll have to resolve this conflict manually.
git however handles this situation just fine.

as proof I just did this exact thing (abet much more complex) with ARC's source. I changed the naming pattern of a folder, it's sub folders, and it's files to go from CamalCase to lower_case_underscores. some 210 files were affected. meanwhile I had made significant edits to some of those files in another branch. the two branches merged flawlessly without any need for manual conflict resolving.
7
Electronic and Computer Section / Windows 10
August 02, 2015, 03:42:59 pm
So, I updated my computer to 10, I've been sitting on 8.1 for the last year and so long as I had classic shell installed to change the start menu I was actually finding it quite useable.

But I went for the upgrade ASAP because I was expecting great things.

First off lets talk about the startmenu, Thank the gods it's not a full screen nightmare any more, unless your in tablet mode in which case it's not a nightmare. First thing I noticed was this
Spoiler: ShowHide

That's right, the file explorer and settings buttons are right there, this is the first time I've seen the control panel so quickly available by default. I normally have to open the start-menu settings and enable the control panel link.

Also you'll notice that pinned item appear as tiles, at first I wasn't too happy about this but it DOES make things easier to find so long as you don't have too much pined there.
The start-menu search seems to be quite powerful and fluid compared to previous windows start-menu search abilities but that's just me. Oh, and then there is cortana... I'm conflicted on cortana. On the one had I finaly have voice control of my computer, I can say "Hey Cortana, Start a command Prompt" and she does. on they other hand she has to send me voice over the internet to figure out what I just said.
At least the "Always listening" feature is off by default.

The Settings window is COMPLETELY different this time around
Spoiler: ShowHide

Why yes that IS a modern app, and why yes is IS opening in a window. it works though. funny enough you'll see "for advanced features click here" links around the modern app that will open the appropriate setting pane in the Desktop control panel, which still exists will all functionality of the Settings window and then some, weird. I know they did something similar in 8 but I just avoided it because modern app had to be full screen in 8
Spoiler: ShowHide


you may have noticed the window decorations, they are flat and white. and somehow manage not to look crappy. I'm enjoying the look actuality, it's finally not as noisy as aero. The personalize window you get when you right click the desktop is replaced with a modern app strangely enough. in fact it seems every where they could get away with it things are replaced with windowed modern apps. I guess it does make things more consistent between the tablet and desktop interfaces but it's a bit strange.

Notifications. FINALLY notifications have a place to live in the tray, with a log of what poped up!
Spoiler: ShowHide


Virtual Desktops:
Win+Tab opens a screen similar to Alt+Tab called task view, but will all windows on the current desktop as large thumbnails with a row for all the desktops on the bottom, to switch desktops you either have to click on the desktop you want or hit Tab to move the selection bow down to the desktop row and use the arrow keys and then enter. There is no way that I know of the move a windows form one desktop to another out side of first entering task view ans right clicking on a thumbnail. I've been waiting for Windows to have this feature forever, even used 3d party apps like Dexpot to get it. and I was excited to hear windows 10 FINALLY had them. but they did it wrong. the point of Virtual desktops is so that you can switch quickly between them and move windows around with simple shortcuts. never having to touch the mouse. but NO windows has to be special. even when it's copying a feature Mac and Linux have had for decades they have to be different! Ya Retarded Microshit.

In closing, I guess you could say I'm a little disappointed. the hype was nowhere near the truth I knew it wouldn't be but I was expecting a little bit more change. Microsoft will supposedly be pushing updates and new features like mad over the next year so I'll try and keep yous guys updated on my experience.
8
A while back I went on a raveing rant about how awesome Sublime was. At the time Sublime was just starting to consider Sublime 3 to be the stable version despite it's beta status and as a whole it flowed and functioned REALLY well. as a text editor it went above and beyond what I had ever seen before even including functionality of an IDE. it had an imminence plugin library through a 3d party plugin manager

as I stared using it I was astounded at how must better my productivity was anmd was able to justify the purchase of a 70$ license dispute the fact that Sublime was merely nagware and i didn't have too.


Yesterday I discovered that Atom had reached version 1.0

Atom is an opensource text editor modeled after Texmate and Sublime fronted by Github. the vast majority of it's functionality is written in Javascript (actually coffeescript, a pre-processor language for Javascript) using a chromium engine and DOM for layout, a ludicrousness idea I thought. when I first looked at it about a year ago it was so slow as to be useless on file bigger than 300 lines.

It has surpassed that limitation in 1.0 esily handling files in excess of 10k lines, admittedly not quite as smoothly as Sublime does, but no longer a hard limitation.

one of Sublime's biggest benefits was that it has a extensions API that allowed some really impressive plugins to be developed, namely the Sublime Linter and Sublime codeintell plugins.

one of Sublime's biggest flaws in that department was that in order to get easy access to plugin installation you had to install the "package control" plugin via a python script copy pasted into Sublime's console.

Atom not only comes with a built in easy to use package manager for it's plugins. it supplies officially maintained linter and codeintell packages with dam near every language having a package for support.

Atom's API also appears to be far more professionally developed with plugins looking more integrated and natural than in sublime, indeed some plugin that were considered impossible or just not done in the Sublime community are available in Atom.

Atom's package manager records existence of 2,394 packages, Siublime's PackageControll records 3,102, that's actually quite comparable especially when I know that a good half of the Sublime plugins only work with Sublime 2 not 3.


I'm not saying I have a new favorite editor again, but I'm doly impressed and will be keeping an eye on it's development, it seems to be progressing rapidly.

https://atom.io
9
Tasks / [Public][Welder] Map of Event Commands
May 13, 2015, 04:32:13 am
Map of Event Commands




Description

I had a shower though as to how to greatly simplify the management of the Event Editor.

Everything would just be so much simpler if I had a central map/structure of the event commands and their params for reference, at which point I could employ some meta programming and implement the formater, processor, properties panel etc. all in one class a piece instead of a new class for every single command.


The map should probably be made with JSON or YAML either one. the goal here is to map each command to a map of it's positional params and their types

for example in YAML command 132 "Change Battle BGM" would look like so in yaml
Code: yaml

# command #
132:
  # peram position
  0:
    # type is AudioFile, specifically a BGM
    type: AudioFile_BGM
    # peram name for display
    name: file
       


and command 121 Control Switches might look like this in JSON
Code: json

{
    "121": {
        "0": {
            "name": "switch_1_id",
            "type": "int"
        },
        "1": {
            "name": "switch_2_id",
            "type": "int"
        },
        "2": {
            "name": "switch_state",
            "type": "int"
        }
    }
}


as you can see YAML might be advantageous as it has the ability to place comments, YAML also can use JSON inline (JSON is actually a subset of YAML) which can be more readable that white space delineation in some cases


Priority

High



Prerequisites

None



Assigned





Everything else

some information that may come in handy
https://gist.github.com/Ryex/1f12aecc6a5e6b115c24

This task will require actually opening a copy of rpgmaker xp and running some inspection on what different Event commands commands look like. I think the formater.py file list every command but there may be some that are unknown. if you need help figuring out what the event commands look like I'm sure we can come up with a script to drop into XP and (so long as you have an event on the map with every event command used in it) dump a representation out to a file.

This task will also require you to read the xp event interpreter script to decipher the meaning of each positional param. Just remember that there are some commands that are completely ignored by the interpreter as they are place holders

There are cases where the properties of a param change based on what came before it in which case the values should be under keys with conditional statements, the exact syntax of this should be a topic of discussion in this thread.

an example of this case is command 111 the Conditional Branch
param[0] is the command mode and bases on it's value subsequent params may refer to switches, variables, self switches etc. and some params might not even exist

in the case where a param is an int but maps to different operations or modes there should be a "map" key that maps the modes. for example if the param refers to what math operator to use the map should have a map key like so

Code: yaml

xxx:
  x:
    type: int
    name: operator
    map: { 0: '==', 1: '>=', 2: '<=', 3: '>', 4: '<', 5: '!='}



If there are any question or you would like to help out in making this map, please post below. You don't have to contribute all of the map to be helpful!, even if you only contribute one command, or even one param for a command it's helpful
10
Welcome! / MOVED: Hi everyone! Im new here!
April 03, 2015, 03:45:13 am
This topic has been moved to S.P.A.M..

http://forum.chaos-project.com/index.php?topic=14936.0

April Fools topic.

PS Ryex doing mod duties. Is a mericle
11
Intelligent Debate / Ethics of Programming
November 17, 2014, 12:18:38 pm
I happened across this today as a linked article from of All places, Code Project.

http://blog.cleancoder.com/uncle-bob/2014/11/15/WeRuleTheWorld.html

It presents an interesting point. Programmers as a whole hold a great deal of power over how the modern world operates. And as a result hold a great deal of responsibility in how that power is used with attached ethical ramifications.

Thought on the matter?
12
Electronic and Computer Section / HTC One M8
November 04, 2014, 01:18:35 am
A review by Ryex the Bird of Programming.

In the late october of the year 2014 I acquired a mobile device that was so well designed I can definitively say I've never held it's equal.

There is a pinnacle to reach in the design of technology and it is contributed to by many factors outside of raw specs. Apple has long been credited with reaching it by combining refined user experience with aesthetically pleasing design aimed at the masses. I however would argue that they have merely obtained a highly marketable balance of development investment to ease of manufacturability.

With the One, HTC has gotten closer to the true pinnacle than I've ever seen.

first off I'll list some general specifications


  • Screen: 5.0 inch 1080p Super LCD3 ~441 ppi + Corning Gorilla Glass 3

  • Chipset: Qualcomm MSM8974AB Snapdragon 801

  • CPU: Quad-core 2.3 GHz (US/EMEA)/ 2.5 GHz (Asia, China) Krait 400

  • GPU: Adreno 330

  • Mamory: 2 GB dual-channel LPDDR3 @ 933 MHz

  • Sensors: Accelerometer, gyro, proximity, compass, barometer

  • Coms: GSM/HSDPA/LTE, GPRS, EDGE, WLAN, Bluetooth, NFC, Infrared, USB, Stereo FM radio with RDS

  • Camera Primary: Dual 4 MP, 2688х1520 pixels, autofocus, dual-LED (dual tone) flash \w 1/3'' sensor size, 2µm pixel size, automatic simultaneous video and image recording, geo-tagging, face/smile detection, HDR, panorama 1080p@60fps, 720p@120fps, HDR, stereo sound rec.

  • Camera Secondary (front facing): 5 MP, 1080p@30fps, HDR

  • Battery: Non-removable Li-Po 2600 mAh battery
    Stand-by   Up to 271 h (2G) / Up to 496 h (3G)
    Talk time   Up to 14 h (2G) / Up to 20 h (3G)

  • Weight: 160g



ok thats a lot of tech speak but now I'll break down the experience.

First off the phone is dam beautiful. I got the gunmetal gray version and the brushed metal finish is both resistant to fingerprint smudges and shiny at the same time. It has a full aluminum unibody. heck even the slots for the micro SD and sim card are aluminium trays that slide into slots on the outer edges. the back is all one piece of solid aluminum. the front is completely taken by the 5in display and the two metal speaker bars, there is a small strip still under the screen glass but not part of the display with the HTC logo (my research indicates that this was only included as they needed more hardware space by extending the display was not an option.). The glass of the screen actually bulges up slightly from the rest of the body and has a slight bevel down into the body. the result is extremely impressive screen clarity at angles.

The phone is solid. at 160g it not the lightest phone I've ever held but it just feels solid (it does not bend). if I whacked you over the head it would hurt. the all metal body give it some superb structural integrity, all the ports like the usb and headphone jack are solid, absolutely no flex like you would get with a plastic body. Those metal trays that hold the sd card and sim? and slide in and snap flush with the body (you need a little pin tool to press in a tiny hole beside them to pop them out for access, provided with the phone so keep it safe). the power button and volume rocker are glass and metal respectively. you heard me right. there is no external surface on this phone that is not either metal or glass. back? solid metal, front? metal speakers and glass screen, sides? unibody metal with the back. top edge? Ir Sensor glass with power button built in on the right side. bottom edge? again, unibody metal with cutouts for the ports. volume rocker? metal. It's a clean modern design that was built to last.

Performance. I'll be honest, I've been spoiled in my experience of computer performance ever since I built my computer I've never waited for it to do any thing, opening an application or webpage or game was near instant. I actually hate using other computers now as I notice the lag. (to think I came form a Gateway running a 256 MH pentium II built in 97, gods that thing was slow.) Phones how ever I haven't been so lucky with. I've had two rather cheap smartphone previously that were while not prohibitable slow I was still waiting on the phone when I switched tasks. the most recent 1.2GH LG was tolerable but still slow when switching screens. The M8? it's a freaking beast.

the quad core snapdragon in this thing clips along without stopping or stalling and I've yet to see it struggle with anything. heck the thing has a freaking video editor as one of the default software and it doesn't even notice.

HTC's Sense UI is beautiful. Stock Android is clean and functional but it's perhaps a bit rough on the edges. HTC Sense is like what stock android would be if they hired a few UI designers from apple (not the style mind, but that same fluidity and consistency of concepts). it all just flows and makes perfect use of the screen space. it's completely intuitive as well.

HTC is also known for innovating on seemingly pedestrian tech. The two features of note on the M8 are the Boom Sound speakers and the Ultra Pixel camera.

Boom Sound: I have NEVER heard sound this crisp and clear from anything this small. it CAN vibrate your table at full volume. but it's not just overblown base as seems to be the trend with things like beats audio. the speakers on this phone can genuinely fill a room with real sound that is truly crisp. Ok I know what you thinking "if the speakers are that great then everyone will hear my conversations!" no, the exact opposite actually. the speakers retain their clarity so well through volume ranges that call volume can be low enough to to carry no more than a whisper past two inches from the speakers and still be clear as a bell when you hold it up to your ear. no more listening in on cell phone conversations from 4-5 feet away. arguably the best part of the phone.

the Ultra Pixel camera while a good idea does not live up to it's hype, the only negative I can give the phone. the idea is that if you make the sensor size for each pixel large and capture more light you get better pictures. and while this is theoretically true it's not true to the extent hyped. the HTC's camera is a mere 4MP and while it's a far cry better than my old 6MP cannon on picture quality it just can't compete with the detail level of the 10 and 16+ MP cameras on other flagship phones. it does do better in adverse lighting conditions though, much less noise.
in all I'd call it adequate and perhaps a bit above average but not quite at the level of the flagship market.it's not a show stopper but the camera is not for avid photographers (I'm not much of a photographer so thats fine by me)

all in all Id rate this phone a 9.8/10 on a complete experience index with a perfect 10 being a truly perfect "I can find no flaw in this"
13
Intelligent Debate / The Obligation of Intelligence
October 08, 2014, 01:58:08 am
Ok, I'm going to start sounding like a broken record soon. I hold myself as the most intelligent person I know. I Recognise this as arrogance.

that said a new show started airing on CBS called Scorpion. it's premise is that it's based partially on the real life experiences of Walter O'Brien the CEO Scorpion Computer Services. the main character is Walter O'Brien (played by a much younger and handsome guy) who, with his IQ 197 (thats the real Walter's IQ), solved unsolvable problems with his team of similarly "Enabled" friends. The real Walter acts as a producer for the show.

I'll cut this short and say that it's the only show I've ever seen where the techno babble is coherent and accurate, sure it will fly over most people's head but I understand it.

Here's the problem, the show is supposed to as I understand it deliver a drama of fasted paced problem solving while relating the more emotional deficiencies of the team through the "Normal" public relations team member, Page. She is supposed to be the relatable character for the public.

I Identify HEAVILY with Walter. as in I see my own thought processes and actions, personal delima's like the panicking and feeling helpless to solve any problem when I can't solve one which happens in the pilot etc.


It's clear to me that this show is Walter's personal wish fulfillment attempt but It's also quickly become my favorite show even though the writing is a bit lackluster. That characters at least are completely genuine in their gifts, disabilities, and interactions.


Ok so now to my point. The comments on the episodes.
I watch on Couchtuner
from the coment I can tell the show won't have a renew season, I'm ok with that, it's just not written from the right perspective for the public to relate and attach to it enough to make it a blockbuster despite it's great production quality. But, as is human nature when people don't understand something, It's being picked apart to find every perceived flaw. But the flaws they are trying to find? arn't there.

Example one. The show takes place in LA, and in the first episode after the pilot they are tracing a hacker who has attacked the governor's daughter with a bio and computer virus both crafted to target her and only her. In the analysis Walter recognises a design pattern in the process used to disguise the virus origin. Ke know sthe company that developed it. the company is in LA so they drive to it.

The problem with this according to a 20 comment long chain raggin on this particular point is that it makes no sense. HE just happens to recognise this pattern, which just happens to belong to a firm in LA with in driving distance, instead of somewhere else because "realistically" it could've come from anywhere. and he as an expert hacker drives to the firm itself instead of hacking in and finding what he needs. OMG PLOT HOLES! or so the lay person thinks.

See I understand EXACTLY why the writer wrote it this way (who was probably guided by the real Walter). because as implausible as the situation over all is the specifics of how it's playing out are dead on. statistically speaking an attack of this sort, of this specificity especially since it involves a bio agent that had to be given to the daughter. it could ONLY (well like 99.9%) of been done by someone local.
=As for driving to the location instead of hacking in like he did with the LAX security cams (but not with the data back up center, another supposed plot hole from the pilot). Anyone with any experience with network design knows that live hacking a defended network is not anywhere near as possible as hollywood has made it seem over the last few years. Real hacking takes weeks of planning stacking known vulnerabilities in the software deployed in the target and usually some sort of personal knowledge of the human element behind the target to get a good guess at the more obscure details of the setup. Real hacking is something you do when getting direct physical access would take MORE work . IF you know the place is local and you have the government backing you up you dont hack a server when you can get direct access.

On and on the flawed arguments and logic goes.

OK sure, these are internet arguments I can't really expect much, but as read them I felt an overwhelming urge to correct each and every one of the dimwits who only half thought through their logic. and I realised something. I'm doing the same thing every day in my real life I see idiots everywhere, I see idiots calling other people idiots. I see hypocrites, and willful ignorance on a daily basis. and very rarely do I meet people with the mental capacity to truly understand me when I start laying out an argument. Sometimes I THINK I have and then they say "oh ya I totally know what you mean!" and use an intermediate conclusion of my argument when there was much more and treat it like that was my end game. Outwardly I'm all "ya thats what I'm talking about" because atleast they half grasped it and I've learned not to try and go further as they get lost or get upset with me; but inside I'm all " No you dumb shit it goes much deeper than that".


Back to the show" Walter's character has expressed similar sentiments abet with much more agreeable and relatable wording and would likely offend people less. The more I watch the more I see my own thoughts and actions there.

Sometimes I find myself thinking that the world would be such much better off if only the truly smart people were in power and universally respected, that our decisions and opinions were given more weight than the layman's. how much more efficient the world would run and how much better off we would be if all the dumbfucks would stop TOUCHING everything and messing with our hard work.
" No you dipshit, these are carefully crafted formulas, the result of years of academic study, scientific experimentation etc. you you change that it will it throws everything out of balance!" "but it I don't believe you." "yes, instead you trust that guy over there who makes big promises without a 20th of our evidence just because he's more personable and has a bigger smile, dumbfuck". But then I come back to the point that I'm the minority. these people need to live their lives too and so I must be even smarter and find a solution where they don't feel left out of the progress of society.

If you've watched american news you've probably heard of a big hualabalu over a Denver area school board trying to form a review committee of the AP american history courses to remove "unpatriotic material", oh and they also wanted to link teacher salaries to performance reviews that used such unsophisticated ratings as "effective, partially effective, ineffective," etc. there was student walkouts in the thousands to protest, teachers called in sick in such numbers schools had to be shut down. basically a big deal for the local communities. the media tried to smooth it over calling the students "pawns" of the teachers who were "just unhappy about the performance based salaries" a media spin if' I've ever hear one.
All of this the result of a group of three conservatives teaming up to get themselves elected to five position school board to get a majority. all the votes on the matters that caused strife were split 3/5 along the party lines. you see conservative have be quietly trying to muddle in academics for years because they feel there is a liberal bias in our educational system. Because you know, academia has a liberal bias. Academies a world so absorbed in science it rarely give two hoots about politics outside itself is liberally biased.

Ya know, if SCIENCE is liberally biased. You know the discipline that is the sole source of all societal progress dating to the beginning of man. then just maybe, perhaps, there just might be something fundamentally WRONG with conservatism. When your campaign relies on mudslinging, misinformation, fear mongering, and spinning facts? you just might be wrong. mabey.

^^ that I suppose is the true purpose of my rant I guess. It seems to me that the majority of society is so dense, ignorant and blind they they let themselves be misinformed about important issues.
Now to be clear I'm neither Republican nor Democrat, I am and always will be unaffiliated both parties get things wrong candidates from either side are never perfect for their roles. but you know what? we're human, you can only ever ask for the personal best of the candidates.

I'll leave it at this:

if you allow yourself to be misinformed and don't strive to correct it when proven wrong? I consider you below me, end of story. If you spin facts to make your argument appear more valid? your trash. If you refuse to acknowledge scientific findings because they are inconvenient and use such excuses as "it's a theory, it's unproven!" your incompetent and a fool. If you do anything other than strive to find the most current empirically based data and use it to make your decisions your are unfit to do any sort of leadership or management. IF you look at the world through rose colored glasses you're a deluded halfwit.

I don't care what your station is in life or how smart you think you are, if you're not forever trying to improve every aspect yourself and the world around you? you not living, your dull and unimportant. It's not the success that matters, it's the attempt. I'm sorry, but no one is born equal. we don't even all have the same potential. but we're all important as we can all improve and help better each other. every one of us can keep the wheels of society turning in some way.

If you can't accept that, if you're too absorbed in achieving some sort of personal glory to help someone else achieve theirs. get out of the way.


I think I got a bit off my original topic. I was talking about myself up there at the top of this wall of text.  Me I see it like this, I functional at a higher level than most everyone I've ever met and whiel I see stupidity all around me I'm not spiteful of the world, quite the contrary I feel it is my duty, my obligation and purpose as an enabled person to guide, to impart knowledge wherever I can, to learn more and more and progress us as a species. It is the Obligation of Intelligence to move forward and leave no one behind.
14
Intelligent Debate / Family
September 29, 2014, 12:31:24 am
I think I've mentioned it a few times in the past, but me and my family don't get along very well. Infact I'd say we're rather distant.

As a whole my family is christian. Not just generic american christian either souther baptist christian. to those of you outside the US that might not make a whole lot of difference to you but lets put it this way. When the liberal media points out an anti-gay, anti-evolution, 2ed amendment gun promoting, conservative, christian, they may as well be talking about a southern baptist. Now I know I generalising and promoting stereotypes here but the ideals held by both parties are for the most part senomous. each one held to different degrees from person to person sure, but most things they hold in common. Thats my family.

Now, I don't wish to speak ill of my family, I simply point this out to contrast myself. because all those things ^^? I'm none of them.

Infact you could say that everything I decided I didn't want to be I saw as a trait in a immediate family member. Now to be fair there are a fair number of traits in my family member I decided I DID want too, but only the whole I'd say I shaped myself in contrast to them.

My Mother:
In a lot of way is a classic American Housewife from the 60's. granted she grew up in the 60's. She devout Christian, attends church every week genuinely believes and lives the life, goes to retreats, goes to bible studies, donates 10% of the family income to the church, the whole shebang. She once say part of a drama on scifi where these two gay characters were talking about their romantic troubles and to quote her "That's disgusting". She is a social worker in child protective services and she's dam good. I dont think you could find another person willing to deal with the kind of stress of both social strife and bureaucracy that comes with that kind of job and still be compassionate about it. She is a great mother, she raised me after all, and always supports me even when my dad won't. She is a neat freak, every weekend the house is cleaned from top to bottom and if you aren't helping with the effort you damn well better not be impeding it. She is practical and responsible, My mom is the one in charge of family finances, she pays the bills, she does the taxes, she buys the groceries. and while I've learned over the years that we are actually in the lower half of the middle class we've always seems to be well off and there is always money for emergencies or medical bills. (cancer surgeries, horse that developed asma, car accidents etc., all the while remodeling the house)

My Father:
Is in some ways a polar opposite to my mother. he's messy, he grew up with his mother cleaning up all his messes and to be frank I've seen him clean a bathroom twice in 22 years. He's a civil engineer and to him every problem is one to solve with an engineering mindset. he's a perfectionist and if you don't perform to his expectations you're not trying hard enough. He has an incredibly short temper, I can't count the number of times I've made him mad enough to blow up with seemingly inconsequential things. He's always right, even when he's not; this part has gotten much worse recently, I'm actually worried about his mental health, his stubborn nature and unwillingness to compromise over even small things is straining all his relationships, including the one with my mom. He's a tireless worker, if he thinks it's to help he'll work himself to the bone. he's always overdoing it and his age isn't helping matters. He's always working hard to make our lives better, even when he's mistaken on just how helpful his efforts are (I'm sorry but taking all the dishes and piling them in the sink with soapy water doesn't help us wash them, just makes it unpleasant to pull out and separate into those that need scrubbing and those that can go in the dishwasher.)

My Sister:
is a more liberal and artistic clone of my mother, she denies it but shes' a people pleaser and this has lead her to skip her 20's and head straight for the 35 year old single christian conservative lifestyle. in a lot of ways she's my best friend as she is a creative like myself and it's fun to share ideas with her. but she's not really her own person, just the daughter of my parents. I can't really share any part of my life with her outside of our kindred pension for story writing.


Myself:
I'm a liberal (american definition), forward thinking, atheist, creative, engineer. I strive to be tolerant of everyone's social opinions even if I don't share them. I've developed a very long temper purely to contrast my dad so that while he's blowing up and making mountains out of molehills I can keep my cool. while I've inherited the engineering mindset of my father I always try to keep resent in my mind that not all problems can be so easily broken down. as such I made a hobby of examining social situations and people's reaction, a result of which is that I've become a bit of a manipulator (I'm good at steering situations to my advantage). While I can't claim my work ethic is as strong as my dads, I admire it and strive for it.



In Closing:
Family shapes us, I've worked to take the best qualities of mine and be the opposite of what I perceive to be their worst. They have provided a framework to gauge myself. I am who I am because of who they are.
But I would not do anything for them as the cliche goes. I love them sure but in the classic close family 'together through it all' way it's the kind of love you have for a mentor.

how have your families shaped you?
15
Video Games / Dolphin Wii Emulation
September 20, 2014, 12:18:00 am

I've been wanting to play a few wii games for ages now. Zelda Twilight princess and certainly Skyward sword are the two I really wanted to play, but xenoblade was also up there. I've also known that Dolphin, the emulator, could play wii games but I needed a wiimote to do that. and to get a wii mote working I need a bluetooth adapter. And if I'm doing it on windows I need to get one that works with the toshiba bluetooth stack as the windows one is buggy as hell with wiimotes. Oh, and I'd also need a pretty powerful computer to pull this off too.

All that came together recently. I've had a pretty beast computer for a while now but I had kinda forgotten of my desire to play wii games, I'm not sure what inspired it, perhaps I walked by soe wii stuff at wall mart and remembered. In any case I went and did some research. Turns out a device called a "Mayflash Dolphin Bar"  Was recently released and the Dolphin emu people help Mayflash integrate the bar with their software. basily the bar is a self contained bluetooth adapter and sensor bar for a wiimote. the brilliant thing is that instead of passing the bluetooth hardware on to the computer and make you deal with the windows bluetooth stack they did all the hard work for you. sure it only works with wiimotes but the drivers for the bluetooth are built into the bar and it works flawlessly with the wiimote. They also added the bonus feature to let you control a mouse with the wiimote (this part even works on linux). the bar has 4 modes. mouse mode, mouse + controller mode, controller mode, and emulator mode. in the first two modes you get to control the computer with the wiimote by translating the moth to mouse motion and linking the A and B button to the mouse buttons, they also intergrated volume control and set up the D-Pad to trigger media button like pause, play, forward and backward. I(t's like having the perfect remote control for your computer.

The 2ed and exspecial the third mode cause the wiimote to be treated like a normal controller, IE xbox controller and you can play your games like normal (the second mode keeps mouse control but maps the other buttons to the game controller).

but most importantly for me the 4th moe links the wiimote to Dolphin EMU without any problems.

all but the 4th mode are self contained INSIDE THE BAR. the bard just presents itself as a different USB device every time you change modes. the 4th mode uses a driver shipped on a mini CD with the bar to inject a wiimote into the windows hardware bypassing the bluetooth stack and using the bar's. that means the first 3 modes work without any drivers of any kind and work in linux. you have no idea how happy I was when I figured that out.

The result? I spent 24 on the bar and 40 on a wiimote with motion plus and got a media remote, wireless game controller, and the ability to play wii games. I'm pleased

I've been playing Skyward sword flawlessly for the past month or so, putting in about 4-6 hours a week. Honestly the best Zelda game I've ever played. and I've played most of them. IF you guys are interested in playign wii games on your computer. Look into the dolphin bar.

I'm hella happy with it

How about you guys, played any wii recently?
16
Projects / A proceduraly generated story game
September 17, 2014, 11:38:08 pm
I've taken inspiration from a lot of different genres of games, read a lot on game design, watch every episode of extra credits. and I think I might finally have an idea worth pursuing.

The general Idea is to create a game that can be played over and over again because it's never the same twice. I'm starting from a base of mechanics because ensuring your mechanics are engaging, consistent, and build on each other is critical to game design.

A Procedurally Generated World: Right down to the story
Like minecraft and a few other similar games the world for this game should be procedurally generated from a seed. but just the makeup of the terrain etc. is not the limit of this generation. the game will also randomly select places that meet certain criteria, ie. next to a water source, select types of terrain and climate present and generate villages, towns, and cities of matching cultures. the game then tries to create paths between those places cities linking them to some number of nearby towns with roads. if those roads must path through obstacles it generates passages. ie mountain ranges it will generate a cave system or a mine etc to link them. ther of course will be rules in place to ensure every town isn't trying to link to every other town. and the number of roads in and out of a settlement must match it's size ect.

Of course the game will also generate locations of interest: Dungeons, temples, ancient ruins etc.

putting all this together I think will generate a world not only of variety but of character.

But again the generation does not stop there, now we start adding story. The game selects a goal, slay the big bad, find macguffin x, save the princess, rescue your sibling / friend. perhaps the player has some sort of input or choice here, to select what type of game play they are looking for.
The game will take that goal and extrapolate. what kind of story elements does a quest for this goal entail? it picks them and starts adding them together selecting major transition points to fin is the story arc that goes with the selected goal. it then adds in the smaller details like the mini quests that lead to the main goal. the game then should add in side quest to go with any location that is not yet associated with the main story, these side quest are miniaturised versions of a main story that use a DIFFERENT goal from the main one, to create diversity in the game.

Basic Mechanics of Play
On entering the world the player should be placed near the location that will let them start the main story line and given some indication of where they should head. be it as simple as rearranging the world around them so there is only one direction to go or some sort of vague message like "you sense a disturbance in the force over there" or any other viable means.

The game should limit exploration of the world past uncompleted story locations.

The game will probably be run like minecraft as an instanced server. this means that also like minecraft multiplayer game play is considered a strong part of the game to goal being to work together to complete the goal. though it would be pretty freaking awesome if becoming an antagonist for the group was a viable option, perhaps this can be added later but it's not atm a core mechanic.

The game should be playable for anywhere from 1 -10 players with whatever combat system is used allowing for other players to make significant contributions without getting in the way for this reason I feel a FPS type combat is not an option, wanderlust provides a good example perhaps, I also have a nifty idea for a simultaneously processed turn based combat system that I could see working.
Either way, game play should encourage participation from everyone in a combat situation but also allow a single player to progress on their own. The game should probably include some sort of scaling system that increases enemy power the more people are in game like Borderlands. HOWEVER I feel big number scaling would NOT be conducive to the game play. battle should be fought more on skill (like legend of Zelda games) than on power curves.


All this is of course preliminary and nothing is set in stone. What do you guys think of the premise of the game? does a game that can generate a new story every time interest you?
17
as some of you in the chat may know I found out that I've been placed on Academic Suspension for this fall semester for having to low of a GPA. I feel like I'm throwing myself at a wall that I have all the tools but no will to climb. and I've been doing it for years expecting a different result, is that not the definition of insanity? I'm in the uncomfortable position of knowing I CAN, but have "proven" to myself time and again I can't. the dichotomy wears at me.

My parents are insisting I find a tutor and I don't have the heart to tell them I just need to try harder. in fact if I did tell them that I don't think they would believe me as I've had them convinced that I've been trying my hardest. to suddenly ear me say that I haven't.. I'm almost sure they would deny it with all they have.
18
It finally exists!

http://www.paragon-drivers.com/extfs-windows/

FULL Read Write support for Ext2/3/4 File-systems! you've no Idea how happy this makes me.

for those of you who don't know Ext is the file-system developed for unix and linux computers. It's a journaling file system meaning that even through a power failure it's hard to corrupt. Whats more they are built to spread the files out across the drive in such a way that they naturally prevent fragmentation you never have to defrag them. There are examples of high load ext filesystems that have been in service for more than 2 decades that are only at about 15% fragmentation.

So why am I so happy? this means that I can use ext4 on my 3TB drive and not have to worry about fragmentation or data loss like I would if it was NTFS!
19
I recently bought the domain name ry-net.com to use as a personal domain. point subdomains at personal projects ect.

I want to be able to have an email address on this domain but in order for that to work I need to be able to point my MX records at a host where my domain is set up. sadly I can find no services where I can point my mx records and set up an email without first pointing the domain at their names servers. I dont want to do this as I would much rather keep the domains records at enom where it is registered.

anyone have an idea? it can be a paid service so long as it's reasonably priced.
20
Sea of Code / The wonders of Awk
June 23, 2014, 12:56:54 am
So I've been setting up conky on my linux computer. it's basically a VERY customizable desktop widget but you have to do most of the scripting yourself, pulling information from system commands.

I like to use todo.txt to track my todo list because I can just have it as a simple .txt file in my dropbox and sync it between all my stuff (phone computer ect.)

I wanted to let conky display the todo list but I also wanted it to be appealing which meant I had to parse and insert conky formating into the file before displaying it.

I turned to awk to do it.

the result.
Code: bash

todo.sh -p ls | fold -s -w 40 | awk '
BEGIN{
   BLACK = "${color black}";
   RED = "${color red}";
   GREEN = "${color green}";
   BROWN = "${color brown}";
   BLUE = "${color blue}";
   PURPLE = "${color purple}";
   CYAN = "${color cyan}";
   LIGHT_GREY = "${color LightGrey}";
   DARK_GREY = "${color DarkGrey}";
   LIGHT_RED = "${color LightRed}";
   LIGHT_GREEN = "${color LightGreen}";
   YELLOW = "${color yellow}";
   LIGHT_BLUE = "${color LightBlue}";
   LIGHT_PURPLE = "${color LightPurple}";
   LIGHT_CYAN = "${color LightCyan}";
   WHITE = "${color white}";
   DEFAULT = WHITE;
   LINE_COLOR = DEFAULT;

   PRI_A = YELLOW;
   PRI_B = GREEN;
   PRI_C = LIGHT_BLUE;
   PRI_D = LIGHT_PURPLE;
   PRI_X = DARK_GREY;

   COLOR_PROJECT = LIGHT_GREEN
   COLOR_CONTEXT = CYAN

   COLOR_DATE = RED

   LINEN = 0;
   DONE = 0;
}
/^([0-9]*) (\([A-D]\))? ?x? ?.+$/ {
   sub(/\r$/,"");
   sub(/\n$/,"");

   LINEN += 1
   line = $0
   DONE = 0

   sub(/^([0-9]*) /, "", line)
   
   if(line ~ /^\(A\)/) {
       LINE_COLOR = PRI_A
   } else if (line ~ /^\(B\)/) {
       LINE_COLOR = PRI_B
   } else if (line ~ /^\(C\)/) {
       LINE_COLOR = PRI_C
   } else if (line ~ /^\(D\)/) {
       LINE_COLOR = PRI_D
   } else if (line ~ /^(\(\))? ?x /) {
       LINE_COLOR = PRI_X
       DONE = 1
   } else {
       LINE_COLOR = DEFAULT
   }
   
   if(DONE == 0) {
       sub(/ +\+.+ ?/, sprintf("%s&%s ", COLOR_PROJECT, LINE_COLOR), line)
       sub(/ +@.+ ?/, sprintf("%s&%s ", COLOR_CONTEXT, LINE_COLOR), line)
       gsub(/ +[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]( |$)/, sprintf("%s&%s", COLOR_DATE, LINE_COLOR), line)
   } else {
   }
   

   printf("${goto 8}%s %02d%s %s\n", LIGHT_GREY, LINEN, LINE_COLOR, line)
}
/^[^0-9]+.*$/ && !/--|TODO/ {
   sub(/\r$/,"");
   sub(/\n$/,"");

   line = $0

   if (DONE == 0) {
       sub(/( +|^)\+.+ ?/, sprintf("%s&%s ", COLOR_PROJECT, LINE_COLOR), line)
       sub(/( +|^)+@.+ ?/, sprintf("%s&%s ", COLOR_CONTEXT, LINE_COLOR), line)
       gsub(/( +|^)[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]( |$)/, sprintf("%s&%s", COLOR_DATE, LINE_COLOR), line)
   }

   printf("${goto 24}%s%s\n", LINE_COLOR, line)
}
'


I learned a powerful new tool today, awk is super awesome once you finally figure out how it works, so much easier to use than sed.
21
A Guide To Creating Strong but Memorable Passwords
By: Ryex




Introduction

Password security has been on my mind for a while now. The industry has completely mislead it's users about what makes a a strong password. No doubt most of you have seen this XKCD comic on the topic

http://xkcd.com/936/


Big companies are guilty of this, Netflix for example actually limit you to using no more than 10 charaters in your password, the example password in the comic has 11 and would only take 3 days. 10 characters drops the complexity by an order of magnitude to 224, so your average Netflix password could be guessed in just under 5 hours with an unintelligent brute force.

A better examination of the problem can be found on the XKCD explain wiki http://www.explainxkcd.com/wiki/index.php/936:_Password_Strength

Long story Short Length ALWAYS beats complexity, but a little bit of complexity helps.

Sadly as explained on the wiki XKCD's analyses is slightly flawed in that dictionary attacks are still a problem. That, and my discussions with people about the problem that aren't tech savy has reviled to me that a password like "correcthorsebatterystaple" is hard to come up with and remember as well because of the nonsensical nature of it's origin, meas that we nee another solution.

The is one problem that the comic does not  address, the problem of password reuse. Most people will use a small selection of passwords on multiple accounts spread all over and this is a big problem because not all site have the same security. gaining access to the database of one site cna give a hacker a table of email addresses and passwords to try elsewhere. Add to this the existence of pre hashed password tables (large databases of passwords and their known hash value with a specific algorithm) and a hacker doesn't even have to do much work. Get admin access to a somewhat obscure low security site and bam, more likely than not he has hundreds of account credential on site like Facebook and twitter, those accounts can get him more personal information, possible enough to steal an identity.

Entropy

Pulled from the explain page:
"In simple cases the entropy of a password is calculated as a^b where a is the number of allowed symbols and b is its length."

a^b gives you the number of possibilities, to get the number of bits you take the log base 2.

Entropy in bits = log2(a^b).

To put this in more relate-able terms if you have a password like "buddy" then that password entropy is 26^5=23.5 bits. 26 for all the lowercase letters int the alphabet, 5 for the 5 letters in buddy. Lets add a capital and make the password "Buddy" now the entropy is (26*2)^5=28.5 bits because now there are 26 more possibilities for the capital letters, add a number?  "Buddy3" (26 * 2 + 10) ^ 6 = 35 bits. add 10 for the 10 possible digits. add a symbol and the entropy grows again. but this is an extremity simplified analysis. in the real world there is such a thing as a "dictionary attack" that basically reduces all common words (including Capitals and number substations for letters) to about 12 bits of entropy each, so "Buddy3"'s real entropy is more like 13 bits or lower.





Solution

Have no fear, I'm here to solve your problem. I'm going to give you a way to create unique easy to remember strong passwords for any thing and everything.

Step 1: Create a pattern/template
If all your passwords have a similar somewhat predicable format that is filled in with unique information for each account it is easy  for YOU (not the hacker) to recreate your password form readly available information even if you forget it.

and example of patterns you might use are:
<name><word related to site><significant number>@<word of personal significance>  -> like an email, example: DogFoodShoping1492@TauOfFood
<related word><some name (city, pet, ect.)>:[<significant number>  -> good for a location linked account, example: ApplesNewYork:[1851993

as you can see this quickly creates passwords over 20 characters long yet are easy to remember. The pattern should be unique to you, which means while you could use one of my example patters it's best to use one that will be easy for YOU to remember.

But wait, significant dates? pet names? you not supposed to use those in a password! you are correct good sir, that is what the prevailing wisdom has been for years. but the problem has never been with USING the information in the password, it's been with basing your password on it. lets be honest here, if your pet's name is buddy and your birthday is the 18th of may 1993 then buddy1851993 is a TERRIBLE password. But, if say your on amazon, and you made your password TreetsForBuddy185@93BestDay, that's an entirely different story because of HOW the information is used. It constructs a sentence that will be in your style of speaking. It's long and relatively complex enough that even some one who knew you and that information would have a very difficult time guessing the password as there are so many places to mess up.

Step 2: Fill in your Template

you you have a template? good, now you just have to fill it in and your golden!

ask your self a few questions.
What is the account for,
Online Shopping? what do you plan to buy?
Social Network? Whats the general topic?
Bank? Whats important to you financially? What are you Saving for?
Need a number? Whats the month and year today? what are the last 4 digits of your License Plate? is this the 0001st time your doing this?

example: LittleNowMoreLater514;CollegeBaby

Something to notice is that I CamalCase the passwords in the examples. This is to make use of capitals, when you employ at least 1 capital letter you double the number of possible characters that could make up the rest of the password, doubling your entropy (aka strength) over a password of all lower case. whats more employing CamalCase means that I end up using a capital and I can get passed all the inain (you must use at least 1 capital and one digit) password security checks when signing up at websites. so long as they don't limit the number of characters you can use (NETFLIX) your golden. I also usual use some symbols like a semicolon in a predicable place next to a number. but your pattern should be your own.

Step 2: Your Done!

You now have a password that is unique and related to the topic of the account, easy for you to remember or remake but impossible for a computer or your best friend to guess in any reasonable amount of time (aka a human lifespan). Yay!






Additional Notes


  • As with all published password advice NEVER use a password that has been provided as an example, they quickly get added into search databases and effectively have no entropy.

  • Some sites (Netflix ect.) limit you to a 10-13 character password, these sites are created by trained security monkeys and the caretaker leaves the keys under the front mat. Never trust these sites with any important information. use the maximum password length you can and hope for the best.

  • I have done very little in terms of mathematical analysis on how strong my example passwords are, but the rules to keep in mind when you fill out a template are

    • Use Uncommon Words (avoid Dog, The, Town, ect.) this breaks the usefulness of dictionary attacks

    • Length is what matters

    • you want to remember it



  • I'm not a security expert, take my advise with a grain (or more) of salt



Comments? Critique? Complaints? Compliments? Post below!
22
So I've been collecting a list of simple tools that really make windows better.

23
I've been wanting a wireless headset for a long time now. and I've been looking at a lot of different options.
I think I've settled on a SteelSeries H Wireless Headset

I'll be buying it later this summer but I'm wondering if any of you guys have opinions on wireless headsets.
24
Sapience: Noun ~ The ability to think and reason abstractly about oneself
Sentience: Noun ~ The ability to feel, perceive, or to experience subjectivity

I think it is one of the greatest errors to ever come from science fiction that people generally don't know the difference between these definitions. they may be related but Sentience != Sapience as most of the world seems to think. 99.999% of animal life on planet earth is sentient (adjective form of Sentience) but Homo Sapiens Sapiens (Latin scientific name meaning  "Wise Wise Man") is the only surviving sapient species in known existence. It's no mistake that the words sapience and the species name for humans are so close, both have an almost direct definition of wisdom. Humanity has scientifically dubbed itself "the doubly wise man" and the connotations of this reach much further than indications an arrogance inherent to our race. It is my opinion that we, as a race, have a responsibility to live up to our self given name in our actions and lives. As the only Sapient life on planet earth we have an empirically unique ability to think beyond our own well being and above our sentient ability to react emotionally to outside stimuli. 

I'v said it before but my first assumption whenever I meet anyone is "I'm smarter then they are." This may be the peak of arrogance, it may be truth incarnate, either way I don't see how it matters outside my own psyche. Because, this mind set has two major side effects. One, the tendency to assume I can come up with a better idea than any one else (notice that I don't say all my idea are good one, that would be a complete misstatement as intelligence is not the inherit ability to always be smarter but the ability to more accurately determine what is stupid. )  And two, a confidence that any decision I make is a good one.

Again, I recognize that this is extremely arrogant of me. To dismiss others and their ideas because I assume mine are better is a grave fault of character. but at the same time it give me reason to chastise my self harshly with I fail or prove myself / am proven by others to be wrong. Thus I am always seeking to better myself so that such situation never occur. It is this search for ever greater Intelligence that I feel is the collective responsibility of the human race.

the Declaration of Independence that the US created at the start of it's revolutionary war said that "All men are created equal, and are endowed with certain inalienable rights." I disagree with the wording but not with the sentiment. All men (human the species not the gender just so some social justice warrior cant call me on it)  are created equal IN POTENTIAL, I would not say that we all reach that potential. And those inalienable rights? well our responsibility as a species come first. You may have the right to pursue your happiness even at the expense of others, but your responsibility as a "doubly wise man" charges you to ensure that your actions are good and intelligent ones that better your race as a whole.

I could write at great length to provide support for these opinions but I don't really have the time. what are your thoughts on the matter?
25
Entertainment / Atheist Antham
January 20, 2014, 06:48:39 pm


This song really just speeks to me.
26
Entertainment / New Years Foolishness
January 04, 2014, 10:03:23 pm
So, I went to a friend of mine's New Year's party and had a blast. At this party there was of course plenty of alcohol, some of it provided by me. and I partook generously. Now, when I get drunk, I dance. and apparently I dance well according to most of those attending. Spured by their compliments I made the very wise decision to have someone film me dancing

this is the result

https://www.dropbox.com/s/c25i5a56u9t6pr3/2013-12-31%2023.46.10.mp4

When I watch this I feel like it's terrible so I'll ask your opinion CP. am I terrible? or awesome. somewhere in-between is ok too.


the other thing that happened at this party was the that after a few beers I felt we needed a countdown to Newyears so I spent 10 minutes writing this little bugger here
Spoiler: ShowHide
Code: python

import sys, os, datetime, time

now =  datetime.datetime.now()

newyear = now.replace(hour=23, minute=59, second=59, microsecond=99)

while now < newyear:
now =  datetime.datetime.now()
dif = newyear - now
diff = divmod(dif.total_seconds(), 60)
print("not new year yet, %s minutes %s seconds left" % diff)
time.sleep(2)


cmd = "amarok new_year.mp3.ogg "


os.system(cmd)


have some pictures of the hosts
Spoiler: ShowHide

guy with the beard on the right is on of my best friends, I can't even remember the other guy's name, pretty sure he was underage at 17 though :P


and his roommate (she likes me, I should of made a move on her )

27
Scripting School / A "From the beginning" video series.
December 31, 2013, 02:38:28 pm
I've been searching for a way to properly introduce people to programming for a long while now. A way that can properly bridge the gap between understanding a programming language and knowing how to program and I think I've finally found a way. I'm planning on starting a video series  that tries to teach programming form the bottom up using a screen cast style set up. are people interested?
28
A lot of us have been programming for quite a while now, than means we've all made more than our fair share of mistakes. We've also probably some really stupid things when it comes to execution or written some terrible hackish code to reach our goals. why don't we share some of those stories and prevent others from repeating our mistakes?


I'll start first with one of my oldest mistakes.

Back when I was programming the DEE (Dynamic Effects Engine, the script behind my dynamic sounds and dynamic weather systems) I did something really stupid with checking to see if the player was in range of a source. as sources could have curved shapes there was a circular part to a lot of them. and instead off just checking to see if they were in a circle. I checked every pixel in a circle shape to see if they were standing on it. I ended up with major FPS problems (like 5-10 FPS). some quick advice form Blizz had me checking to see if the square of the players distance was greater then the square of the source distance (pythagorean theorem while avoiding the expensive square root operation) and I was rolling at top speed again. That was my first introduction to optimization, I ended up getting pretty obsessed with it over the next year but eventually learned only to optimize selectively as I needed to, other wise you waste a lot of time.

I have a few other stories to share but you'll have to share one of yours first to hear it.
29
ARC Welder / ARC Welder plugin system Redisigned
December 17, 2013, 06:48:50 pm
I'll be honest my original plan (while it has undergone some revision) was just too clunky. too much boiler plate required to get things working.

I'm writing this down here mostly so It doesn't get lost and I can make sure I have a solid picture of what I'm doing.

The goal of modular development is to enable extensive code reuse and so that when your working on separate components only the interface matters, not the implantation. to that ends we can define a plugin as any piece of code that provide an interface for a specific functionality.

The Plan

ARC Welder is broken into 2 distinct sets of components
  • The Core, provides a structure to extend the functionality and a place to start building from
  • Plugins, Provide all real functionality

    ideally there should be no difference (in interface, use, and load sequence) between a Plugin distributed with the main distribution of ARC and a plugin made by a 3ed party.

    Until now I'v been treating a plugin the same way I treat a python module this is a problem when it comes load time because it get very hard to dynamically manage load sequence and dependencise.

    so here is how I'm going to do things

    The Structure

    when Welder goes to load it will load it core and setup the name space. Then it will go searching for all plugins it can load.  It will do this by searching a predefined set of paths for packages. A package is simply a folder with a "simple_plugin.welder_package" file inside. this file is a simple text ini configuration file with the following structure
    Code: ini

    [plugin]
    name=simple_plugin
    author=Ryex
    version=0.0.1
    files=plugin1.py,plugin2.py

    [plugin1:consumes]
    <component_name1>=<version_string>
    <component_name3>=<version_string>

    [plugin1:provides]
    <component_name4>=<version_string>
    <component_name5>=<version_string>
    <component_name6>=<version_string>

    [plugin2:consumes]
    <component_name2>=<version_string>


    [plugin2:provides]
    <component_name7>=<namespace_name>;<version_string>
    <component_name8>=<namespace_name>;<version_string>
    <component_name9>=<namespace_name>;<version_string>



    Component name
    a component name is simply a string name of the component to be registered with the kernel

    Version string
    a version string can take any of the following forms
    Spoiler: ShowHide

    *

    matches any plugin

    some_name:*

    matches any plugin with the name "some_name"

    some_name:some_author:*

    matches any plugin with the name "some_name" by "some_author"

    some_name:some_author:1.x.x

    matches any plugin with the name "some_name" by "some_author" specifying the major version 1 series

    some_name:some_author:1.2.x

    matches any plugin with the name "some_name" by "some_author" specifying the major version 1 and minor version 2 series

    some_name:some_author:1.2.3

    matches any plugin with the name "some_name" by "some_author" specifying the major version 1, minor version 2 and patch version 3


    the version string when provided in the consumes section specifies what version of the component needs to be provided to the plugin's name space on load. if the version is unspecified with a "*" it will use the last loaded complaint version. a separate user configuration file can be used to prefer a specific version on load for these unspecified versions. if a version series is specified unseeing the "name:author:A.B.C" form then the highest version that meats the requirements will be used. again the user's configuration file can be uses to specify a version to use.

    if the user's specify version is too low compared to the version requirements of the plugin it is ignored for that plugin.

    when the version string is provided in the provides section it specifies what version of the component the plugin provides here all parts are optional and default to the package's values

    Namespace name
    the namespace names is the name by witch the components is accessed in the loaded file. for example if the following file was loaded
    Code: python

    #plugin2.py
    from . import some_local_module

    global component7

    component7 = some_local_module.class4

    component_name7 would be accessed through "component7"

    The Result

    Welder will loop through and find all packages and index all the plugins then sort them based on their dependencies to get a load order.

    Then it will loop through and load the files providing the components the file consumes by name through a namespace object provided as a global
    thus a plugin that has dependencies would look something like this

    Code: python

    #plugin2.py
    global imports

    from . import some_local_module

    global component7, componet8

    component7 = some_local_module.class4

    class componet8(imports.component2):

       def __init__(self):
           # do stuf
           pass

30
ARC Welder / It's winter break, Re-factoring time!
December 17, 2013, 12:38:50 am
so ya, winter break, I'll go insane without something to do.

I'v recently been exposed to a few projects and I've realized where I went wrong in a few places when I original designed the Plugin structure of ARC Welder. as the code base grows larger and gains what are effectively 100's of new plugin components I realize my original structure doesn't quite work for this much volume.

I'm restructuring the plugin system to more intelligently import plugins and make it easier to manage dependencies (I've already visited dependency hell 2-3 times on this project having to move things around and implement late binding code to get things to load.) and remove a lot of the need for boilerplate code

at the same time I've been wanting to move form python 2.7 to the python 3 branch, the new features, speed ect. are all going to be very welcome. sadly until just recently most of out libraries did not support python 3 so it wasn't an option till now.  as a mater of fact one of the really important libs (Rabbyt, handles out high performance draw engine for the map and animation editor) was pretty much dead in regards to ever supporting python 3, and it's a C extension so It's not like I could just run the python 2to3 script and it would work.
That's why I spent 6 hours today porting it to use Cython instead of Pyrex (a now dead project that Cython was based on). I was successful and now have Rabbyt running in python 3

Another problem I'm having is that our layouts file is generated raw python, it is great and all as it works, but it makes it REALLY hard to edit it at all with out regenerating the entire file. Instead I'm planning on moving to XRC (an XML representation of the basic layouts). this should also mean I can compile the editor down to C++ is less than 3 hours (that layout file genrated a 100,000+ line c++ file that took forever to compile)

over the next 2 weeks or so I'm hoping to reactor Welder and port it to Python 3 and implement the use of XRC.

yes I suppose it is another delay in it's release but I can;t work with it in the current state and these changes will help me keep track of all the parts and pieces. it should make the project easier to maintain in the long run too.