15kHz on LCD monitors

15kHz monitors

Most PC monitors made for VGA and later graphics adapters have a horizontal sync of 31.5kHz or higher, but most home computers including the Commodore Amiga line, as well as CGA and EGA for PC, have a hsync of about 15kHz as standard (PAL or NTSC). Many ‘recent’ monitors therefore do not properly show an image from those computers.

The Amiga has different video modes, and for example my A1200 can also output 29.29kHz hsync @ 58Hz vsync (Multiscan:Productivity) over a VGA cable (with a fairly common “DB-23” to DE-15 D-SUB converter).

Here’s my experience with monitors and the signals they take. Note that even within the same model numbers, the electronics can be different so there’s no guarantee that you’ll have the same experience with another monitor of the same brand and model.

Dell P2416D

A very nice WQHD (2560×1440) monitor with Displayport, HDMI and VGA. No ‘tv-like’ inputs, so I was surprised that mine does work with 15kHz signals. Not perfect (upscaling artefacts, interlacing looks wrong) but very usable. I suppose a real ‘flicker-fixer’ would be better, but glad it works.

On A1200:

Multiscan:Productivity (656×480, 58Hz, 29.29kHz) works fine, looks a bit ‘anti-aliased’ probably due to the upscaling.

PAL:High Res (640×256, 50Hz, 15.60kHz) and Low Res (320×256) works great, obvious sharpening artefacts (adjustable).

PAL:Super-High Res (1280×256, 50Hz, 15.60kHz) same as the other PAL resolutions, except that the aspect ratio is a bit weird. Workable on 16:9 setting.

Interlace (‘laced’) modes flicker, and are almost unreadable. Not recommended for use.

Visual Studio notes

Shortcuts

  • ctor<tab><tab> : insert constructor snippet
  • cw<tab><tab> : insert Console.WriteLine()
  • for<tab><tab> : insert for loop snippet
  • foreach<tab><tab> : insert foreach loop snippet
  • prop<tab><tab> : insert property (short form)
  • propfull<tab><tab> : insert property (long form useful when you need to code getter/setter)
  • Ctrl-. : Quick actions
  • Ctrl-E, Ctrl-D : Format Document
  • Ctrl-M, Ctrl-O : Collapse to definitions
  • Ctrl-M, Ctrl-E : Expand current
  • Ctrl-M, Ctrl-L : Toggle expand/collapse all
  • Ctrl-; : Search Solution Explorer
  • Ctrl-Tab : Switch between tabs
  • F5 : Start (with debugging)
  • Ctrl-F5 : Start without debugging
  • F6 : Build
  • F10: Step Over
  • F11: Step Into
  • F12 (while hovering over an item in the source editor): go to Definition

 

.NET notes

Just random notes regarding .NET

  • CLR = Common Language Runtime
  • FCL = Framework Class Library
    • BCL = subset of FCL
    • ASP.NET is a part of the FCL

Windows: Assembly type Class Library produces .dll files / .exe is another type of Assembly. DLLs do not have an entry point (No Main()) so can’t be run on their own.

 

 

Becoming a developer

From business to IT

In my job, I’m making the transition from a business information manager (in Dutch: functioneel beheerder) to a developer. Our company uses C#, Javascript, HTML and CSS and various (Microsoft) .NET technologies. It’s an exciting change and I will try to keep this blog updated with my progress.

Prior experience

I’ve programmed before, but not in C# and not with .NET framework(s). As you can read in an earlier post, I have started to program in Javascript with NodeJS in my spare time related to the Homey home automation device. My OOP (Object Oriented Programming) experience is limited, and while I’ve been involved with the Agile Scrum method from the business side, it will be interesting to learn how it actually works on the IT side.

Learning resources

Besides on-the-job training with help from existing developer colleagues and possibly custom training from IT partners, there is a lot of information available on websites and in books. I plan on listing and discussing them here.

Microsoft certifications

Working in an environment where most of the IT is Microsoft based, it’s probably a good idea to get some official Microsoft certifications.

An example would be the MCSD: App Builder certification which itself consists of several smaller certifications/exams. One current way to get MCSD: App Builder would be to pass

  1. 70-480 Programming in HTML5 with JavaScript and CSS3
  2. 70-486 Developing ASP.NET MVC 4 Web Applications
  3. 70-532 Developing Microsoft Azure Solutions

However, these courses/exams expect multiple years of experience so it may not be realistic to get the certification within one or two years.

External link: https://www.microsoft.com/nl-nl/learning/default.aspx

Online training

These days, there are websites specialized in providing online training, using videos, examples, tutorials, etc. Some are paid, some are free.

Udemy

Paid training in many categories, usually involving pre-recorded video episodes and text-based training materials. From time to time, they have massive sales so you can pick up a course for about 15 euros.

Codecademy

Offering both free and paid online courses, mostly web development oriented.

Pluralsight

IT and Creative online courses

External link: http://www.pluralsight.com

Books

Still a good way to get information, these so-called books are pieces of paper, usually of the same size and thickness, bundled together. IT books usually have lots of letters and only a few nice drawings or photos.

You can also get most books in a digital form, like PDF. Common publishers include Microsoft Press, O’Reilly, SAMS and Prentice Hall. O’Reilly also has a website featuring many technology and business related books (not only their own books), called Safari (not to be confused with the web browser). It also includes video and online training. I have not used it yet, but I have read a few books by O’Reilly and really like them.

Tools

Obviously, a developer uses a lot of IT tools besides learning material. So here I will log what I’ve found and how I’m using them (or why I decided not to).

IDE (Integrated Development Environment)

Most programming happens in text editors. Often, those editors are enhanced for programmers. You can also add useful tools that help with versioning, checking the code, debugging the code and even compiling and deployment. If you have all (or a lot) of that, it’s no longer called an editor, but an IDE.

Microsoft Visual Studio, Community Edition

Visual Studio is Microsoft’s IDE, useful for several different languages including C# and ready to work with frameworks like “.NET”. The Community Edition is free to use for individual developers. Once I will actually contribute to our company’s code, I will have to move to a paid version that can also work with TFS (Team Foundation Server, basically a central repository for all code, the backlog and related documents)

External link: https://www.visualstudio.com/vs/community/

Microsoft Visual Studio Code for macOS

Visual Studio Code is a different product from the other versions of Visual Studio. Still, it’s an editor specifically made for programmers and supports many programming languages. I have installed it in order to develop NodeJS projects in Javascript on my Mac.

External link: https://code.visualstudio.com/

 

SodaqOne version 2 LoRa kit

First try at LoRa

 

I am a backer for The Things Network, but at the moment (december 10, 2016) the hardware isn’t ready yet. So I bought a LoRa node from Sodaq to try and see if I can get it to succesfully send messages to a TTN gateway. Here’s a log so far:

  • Bought kit from Sodaq, connected antennas and plugged in micro USB
  • Downloaded Arduino IDE from https://www.arduino.cc/en/Main/Software
  • Set http://downloads.sodaq.net/package_sodaq_index.json as additional board manager URL in preferences of Arduino IDE
  • Installed Sodaq SAMD Boards in Arduino IDE’s Board Manager and set board type to SODAQ ONE with OneBASE SPI
  • Re-plugged USB power which reset the board. A new ‘usbmodem’ port appeared and showed some data on the serial monitor. LoRa settings not yet correct. USB is disabled after a while. red led stays on, yellow led blinks as if showing data. Then all leds go off (sleep?)
  • Reading http://support.sodaq.com/sodaq-one/
  • Followed http://support.sodaq.com/sodaq-one/connect-to-the-things-network/ creating application on https://staging.thethingsnetwork.org/applications
  • Set Arduino monitor to 57600 baud and NL&CR
  • Completed settings. No OTAA activation succeeded yet and no messages.
  • Some hours later, got my first GPS fix. It happened after I opened a window, which may indicate that my windows are coated and bad for radio? Wouldn’t surprise me at all.
  • Second succesful GPS fix was with window closed 🙂 No LoRa activity yet. Probably no nearby gateway, anyway and today I won’t be leaving the house to try elsewhere.
  • Compiled and uploaded current version of the tracker from https://github.com/SodaqMoja/SodaqOne-UniversalTracker
  • Interesting article from someone who also uses the SodaqOne with TTN: https://vanderzee.org/blog/article-160730-181003

Fortitude Pro Cycling

Today the new female pro cycling team around Marianne Vos was announced: Fortitude Pro Cycling. In a way, this is the successor of the Rabobank-Liv team but there are some new names and some riders left #RaboLiv for other teams.

News articles:

http://cyclingtips.com/2016/09/riders-and-name-announced-for-marianne-vos-2017-team/ 

http://www.wielerrevue.nl/2016/09/29/opvolger-raboliv-fortitude-pro-cycling/

http://www.mariannevos.nl/media?mediaId=24486275

Fortitude Pro Cycling, nieuwe ploeg voor Yara Kastelijn

 

The official website is at http://fortitudeprocycling.com

The official Twitter account looks to be https://twitter.com/fortitudeprocyc

Controlling Marantz (and Denon) AVR’s

I have created an app for the Homey by Athom to control Marantz AVR’s over ethernet (I have the NR1604 model myself). See https://apps.athom.com/app/nl.marcovandenhout.marantz (version 0.0.1 has been published, 0.0.2 is in review)

This page is meant to provide some generic links and information about the protocol used. Bugs or feature requests for the app itself can be added at https://github.com/hilvarenbeek/nl.marcovandenhout.marantz/issues

PDF with possible commands (written for Denon AVR’s): http://www.awe-europe.com/documents/Control%20Docs/Denon/Archive/AVR3311CI_AVR3311_991_PROTOCOL_V7.1.0.pdf

Found out that Marantz has quite extensive documentation on their own website, for example go to http://us.marantz.com/us/Support/Pages/Manuals.aspx and you can download Excel sheets with the command lists, and also which model supports which command 🙂

Models to add:

  • Marantz NR1604 (I have this one myself, and Homey forum user MennoVanGrinsven)
  • Marantz SR5007 (Homey forum user Floris)
  • Denon AVR X2200W (Homey forum user RobertLijkendijk)
  • Denon AVR X4000 (Homey forum user JacquesHeijnders)
  • Denon AVR X2100W (Homey forum user MarkVanDerHeijden)
  • Denon AVR X1200W (Homey forum user Panda)
  • Denon AVR X1000 (Homey forum user Bart)

Athom Homey

On the 10th of February, 2016 I received my Homey by Athom. It’s a home automation hub which listens to you and speaks back, and can control all kinds of devices. It has just been released, which means there’s still quite some bugs. So I will list here what has worked for me, and what hasn’t.

Currently on version 0.8.39 (started on 0.8.17)

Bugs I’ve encountered myself:

  • https://github.com/athombv/homey/issues/94 – philips hue, lux lamps wont (all) turn off or on with command all lights off or on

Works:

  • Adding and controlling Philips Hue lights. I have an existing Hue setup with Hue, Hue Lux, Hue Whites, Livingwhites, Livingcolors and LivingAmbience lamps. Homey added them all very easily by pairing with the hub (I have a first generation hub). You can then place the lamps in rooms so you can tell homey “OK Homey, turn of the lights in the living room” and that actually works 🙂
  • Adding and controlling Eurodomest 433MHz remote sockets. I bought a set of 3 sockets and a remote at Big Bazar for €10. They work nicely. Homey can add a socket by copying the remote’s radio signal, or by pairing with the socket directly after putting it into learning mode (press the on-off button on the socket itself for a few seconds)
  • Asking the time (“OK Homey, what time is it?”). Other built-in commands: what version are you, what are you doing, testing 1 2 3… voice recognition isn’t as good as Siri (Apple iOS) or OK Google (Android) though.
  • Adding a flow that turns on and off a light at a specific time. The turn off card has a delay so it first turns on the light then after a few seconds turns it off again.
  • Fibaro Motion sensor FGMS-001. A device that looks like an eyeball and uses Z-Wave. It was quite easy to pair, however the pairing wizard doesn’t know it is a Fibaro Motion Sensor and in stead adds some generic device. On the Homey forum I read that it was supposed to be on association group 3. Whatever that means 🙂 I’m new to this Z-Wave stuff.

Doesn’t work (yet ;):

  • Adding a bluetooth speaker. Confirmed that it doesn’t work yet, although it is being worked on by Athom.
  • cloning IR remotes isn’t working very well. Tried to copy my Philips TV remote but it won’t register even though the tv itself does (while pointing the remote at Homey!)

LED ring color meanings:

Yellow: Homey is starting, please wait

Red: Homey is dead, please disconnect power and restart

Blue: Homey is downloading something, you can still use me

Pink: Homey is updating, do not disconnect power

Orange: Homey is listening to your voice command

White: Homey is analysing your voice online

Rainbow: Homey is operational and waiting for an event

REST API:

Find the bearer token to use with the Authorization: Bearer HTTP header in the REST API:

go to my.athom.com, log in to your account, copy the link address of the homey picture, paste as text in a text editor, write down the bearer_token

tip: use https://www.getpostman.com/ to create the proper requests

Programming for Homey

I got my first Homey app working thanks to the documentation at https://developers.athom.com/library/introduction. I am creating an app to control my Marantz NR1604 receiver over the network (using the telnet-like interface over TCP).

The app (driver) is now online 🙂 https://apps.athom.com/app/nl.marcovandenhout.marantz

It should also work for similar Denon AVR’s which have the same network interface.

 

Kringloopwinkelen

Kringloopwinkels zijn altijd leuk om even rond te neuzen en om spullen te kopen die iemand anders niet meer nodig had, maar die nog bruikbaar zijn.

De volgende kringloopwinkels heb ik bezocht:

Rotterdam 2015/01/18

Today I had a great day, seeing Marike Jager perform at ‘Kantine Walhalla’ in Rotterdam. The show was amazing, not only Marike’s awesome songs and voice, and Henk Jan Heuvelink’s expressive piano playing, but also because of the addition of a live ‘projectionist’. Visuals were not done simply using an LCD projector, but using real ‘analog’ items on an overhead projector or by actual shadow play. Just like with Audiomachinist’s machines on the ‘Here comes the night’ tour, the additions work very well.

At the show I didn’t take any pictures, but afterwards I took some while walking through the city of Rotterdam. Have a look at the slideshow!

1 2 3