Poor choices in user interface design

I was reading up on if the user interface should have default values or not when creating forms …  when used well the defaults teach people about the form …

  • 10 mistakes in design of interfaces – Link
Advertisements

Trouble shooting reminders for me…

Trouble shooting

  • Did something actually break?
    • Is it perspective/perception thing instead of a solid problem?
    • Is it that you don’t have data/values or they aren’t being connected?
    • What does tail’ing the test/development log files show?
  • State changes
    • Does a reload / restart of server / using other device fix it
  • Where is the break at based on what is affected?
    • Can you output flags or sentences to help identify where firing?
  • Scope
    • How many things  affected?
    • How deeply or totally were things affected?
  • What was your last change?
    • What was your last commit to that branch?
  • Similarities / Shared in the systems / characteristics of  the affected systems / components
  • Can you comment stuff out until it works?
  • Does changing test coverage or stubbing work?
  • Does using the code in isolation work?

Recompiling the Lost Vikings

Sega Genesis “Lost Vikings” by Blizzard Games!

~ryiron

In my previous blog post I talked about reverse engineering the virtual machine used to implement objects in the Lost Vikings. The Lost Vikings was released in 1993 by Silicon and Synapse, now better know as Blizzard.

At the time I empirically tested some opcodes by manually patching the original data chunks with a hex editor. This works, but it fairly tedious, and doesn’t scale well to experimenting with larger programs, or programs that contain loops or jumps. In the first blog post I suggested that creating a simple language and compiler would be useful for further reverse engineering the virtual machine. So, I did.

Building a Compiler

To assist reverse engineering the virtual machine, and also allow for easy creation of new programs I decided to build a compiler. To keep things simple I opted for a single pass, recursive descent parser.

The compiler design is very much based…

View original post 2,161 more words

The difference between a Jr & Senior programmer at Gitlabs

https://about.gitlab.com/jobs/build-engineer/

 

Junior Build Engineer

Junior Build Engineers are developers who meet the following criteria:

  1. Technical skills
    • Is able to write code in required languages but needs guidance in writing modular and maintainable code
    • Has less experience to no experience with containers
    • Proposes default configuration to reduce the need for configuration by customers
  2. Code quality
    • Leaves code in substantially better shape than before
    • Is able to write clear documentation
  3. Communication
    • Needs help with time management
    • Is able to follow technical conversations within the team
  4. Performance & Scalability
    • Needs help writing production-ready code
    • Has little to no experience writing large scale apps

Senior Build Engineer

Senior Build Engineers are experienced developers who meet the following criteria:

  1. Technical Skills
    • Are able to write modular, well-tested, and maintainable code
    • Know the domain really well and radiate that knowledge
    • Contribute to one or more complementary projects
  2. Leadership
    • Begins to show architectural perspective
    • Proposing new ideas, performing feasibility analyses and scoping the work
  3. Code quality
    • Leaves code in substantially better shape than before
    • Fixes bugs/regressions quickly
    • Monitors overall code quality
    • Reacts efficiently to build failures
    • Creates test plans
  4. Communication
    • Provides thorough and timely code feedback for peers
    • Able to communicate clearly on technical topics
    • Keeps issues up-to-date with progress
    • Helps guide other merge requests to completion
    • Is able to help with recruiting
  5. Performance & Scalability
    • Excellent at understanding the cost of a change
    • Excellent at writing production-ready code with little assistance
    • Able to write complex code that can scale with a significant number of users

Online schools to learn

  • Free code camp … 800 hrs of coding to prep you for volunteering time to get real world experience. Link
  • http://www.thinkful.com/
  • Launchschool’s Capstone Mentoring – 10% of your first year employed – Link
  • Viking Code School –
    • Immersive: $12k flat or 20% of first year (paid in first 6 months) of working – Link
    • Flex
      • ~$300 / month – forum, chat, weekly mentor checkins, live virtual office hours
      • ~$600 / month – all of the above plus 1 on 1 mentor
      • ~$1400 / month – career mentoring, custom paths, 3 meetings a week

Cells 4.0 – Goodbye Rails! Hello Ruby!

interesting…apparently their “new” site is down already though 😦

Nick Sutterer

The Cells gem has helped many developers to re-structure and re-think their view layer in Rails. It provides view models that embrace parts of your UI into self-contained widgets.

What was partials, filters, helpers and controller code is now moved into a separate class. View models are plain Ruby and use OOP features like inheritance while benefiting from encapsulation. The times of global view namespace and lack of interfaces in views are over.

class CommentCell < Cell::ViewModel
  def show
    render
  end

private
  def author_link
    link_to model.author
  end
end

Cells can render their own views which sit in a private directory.

Logicless Views.

In views, we try to gently enforce simplicity: When calling a method in the view, it is called on the cell instance. The view is always executed in cells context. There is no concept of “helpers” and data being copied between controller and view anymore.


Written by 

Every…

View original post 1,308 more words