-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.json
More file actions
1 lines (1 loc) · 11.2 KB
/
content.json
File metadata and controls
1 lines (1 loc) · 11.2 KB
1
{"pages":[{"title":"About me","text":"I’m Marco Moosler, a full stack web developer from Rastatt, Germany.After graduating in 2013 with a Bachelor’s Degree in Computer Science, I spent the last seven years working in a telecommunication company in Karlsruhe.My job involves doing what I love, Developing new websites/applications.I started developing applications for the web using mostly PHP. In my last 3 years in added to my portfolio some modern web development techniques.I like to code things from scratch, and enjoy bringing ideas to life in the browser. Besides programming I love spending time with friends and family or planning a trip to someplace I’ve never been before. If you have an application you are interested in developing, a problem that needs solving, I’d love to help you with it.Email me","link":"/about/index.html"}],"posts":[{"title":"Random Number Generator with Seed","text":"IntroductionThe seed key Random seed - also called seed key random seed or start value - is a value with which a random number generator is initialized. The random number generator generates a sequence of random numbers or pseudo-random numbers with the seed as the start value.If you use the same seed in deterministic random number generators, you get the same sequence of pseudo-random numbers. For my project trainline I used such a generator which always produces the same sequence of numbers. Procedure Hash your Seed value Use an Pseudorandom number generator (PRNG) HashingA good hash function will generate very different results even when two strings are similar. This is very usefull because similar seeds (e.g. a simple seed of 1 and 2) can cause correlations in weaker PRNGs, which leads to the output having similar characteristics.You can choose between several hash functions.In this example i used MurmurHash3 PRNG Algorithms (Pseudorandom number generator)Here is a list of some PRNG or on (wikipedia)[https://en.wikipedia.org/wiki/List_of_random_number_generators]For my Project is used sfc32.","link":"/2020/04/12/Random-Generator-Seed/"},{"title":"Online SOR-Viewer","text":"See live Demo Online SOR Viewer.See Project on GitHub. Introduction OTDROptical Time Domain Reflectometry (OTDR) is a method for measuring and testing optical fibers. With the OTDR method, faults in fibre optic cables can be detected directly, but also transmission parameters can be measured and analysed. In OTDR measurement, according to the method, a light pulse is fed into the fiber from the source of the OTDR device. This light pulse is reflected within the optical fiber by backscattering, backscattering, but especially at cable breaks, splices, fiber optic connectors and adapters, and returns to the OTDR measuring device, where it is measured and analyzed. From the transit time of the reflected light pulse, the location of the fault can be determined immediately. Conclusions about the type of fault can be drawn from the attenuation curve of the pulse. Quick StartYou can use this prohect as browser version or node version.Currently only SOR files from version 2 are supported. At the top left of the menu a SOR file can be selected by clicking on “Browse”. Then click on the button “load” and the file will be read in. This may take a while.Afterward, the corresponding results are displayed start Browser Versionopen the “index.html” in your Browser. Select an SOR File from your Filesystem and click the Button “Load”. Then the SOR file is parsed in the background and the result is displayed in the browser. start Node VersionIn the file “node.js” the variable “filepath” can be overwritten with the path to the desired SOR file. Or you can choose one of the suggested samples. To install the required modules type: 1npm install Then the parser can be started with: 1node node.js Node now automatically creates a file “result.json”. It contains all parameter specifications and measured values. ConfigSome Config parameters can be set. In the browser version the variable “config” in “main-browser.js” can be adjusted. In the node version the variable “config” in “node.js” can be adjusted. The following values can be set: debug: false, // IF true Logging Infos are displayed to Console createJson: false, //only for Node Version. If true results ar wirtten in an File called “result.js” jsonPath: ‘.’, //only for Node Version and if createJson is true. This is the path there the json file is saved jsonName: ‘result.json’, //if createJson is true this is the name of the json File devMode: false, //For Development: if true only the first 100 DataPoints are read browserMode: false //BrowserMode The CodeThe following libraries were used for the project: NPM Package binary-file For the Chart i use echarts.js The Rest is written in Vanilla JS The inspiration comes from this site: NPM Package jsotdr.Thanks to sid5432. The SOR FileThe common Belcore .sor (“Standard OTDR Record”) date format is defined by the Telcordia SR-4731, issue 2 standard, and is used to store the fiber data.With this Viewer you can read and analyze the optical network characteristics and performance. I have taken most of the information from the following Blog morethanfootnotes. Knwon Issues SOR Version 1 not supported yet CONTACTEmail me","link":"/2020/02/01/SOR-Viewer/"},{"title":"Hexo","text":"GitHub Quick StartInstall Hexo12npm install -g hexo-clinpm install Create a new post1hexo new \"My New Post\" More info: Writing Run server1hexo server More info: Server Generate static files1hexo generate More info: Generating Deploy to remote sites1hexo deploy --generate More info: Deployment","link":"/2020/01/12/hexo/"},{"title":"Trainline","text":"Links See Live Trainline Demo. See it on GitHub. Game descriptionIn this game your task is to drive an increasing number of trains 🚆 to their respective stations.The trains are color-coded and have to travel to the corresponding station with the same color. Starting with the sixth level, all levels are created by a random generator. Therefore the level of difficulty does not increase with the progress but is pure randomness. How to playSome rails consist of switches that can be adjusted by clicking on them.By setting the switches in the right position you can control the path of the train Map EditorThe Map editor is currently still in the beta phase.The rails cannot be rotated at the moment. Random Map GeneratorAny sequence of numbers can be entered in the upper text field.This sequence of numbers is used to create a random rail network The CodeSince this was my first game project, I faced a lot of challenges.The first decision you had to make was which render engine to use.In the end I decided to use Pixi.jspixijs A lot of things had to be used to get things running in the first place.I will now go into some of these challenges in more detail SpritesheetsA sprite is a single graphic image that is incorporated into a larger scene.When you put many sprites into a single image, you get a spritesheet,Thi improves the game performance, reduces the memory usage and speeds up the startup time of the game.To generate a Sprite Sheet i used the Free Sprite Sheet Packer. load the Spritesheet in Pixi.. description follows move an object along a pathTo move along a path you can use some great libraries.As a challenge I implemented this in Vanilla JS Implementation.. description follows","link":"/2020/04/16/trainline/"},{"title":"Setup Your Code Environement","text":"Emojisget Emojis @ emojis ImagesFree Stock ImagesGet free Stock Images for Commercial Use pixabay | License: Creative Commons Zero StylingFont Fira Codeinstall the Font Vs Code Extensions Settings Sync:Synchronizes Settings, Snippets, Themes, File Icons,.. vscode-icons:Icons for Visual Studio Code Project Manager:Easily Switch between Projects Prettier Code formatterCode Formatter using prettier markdownlintMarkdown linting and style checking Gist login to Github go to gist-tutorial MarkdownThis should get an extro blog entry at some point 😜. Markdown preview in VS Codepress Ctrl+Shift+V Cheatsheet Lists indented paragraphs.line break without a paragraph, you will need to use two trailing spaces Notice the blank line above the next List Item","link":"/2020/01/31/settings/"},{"title":"Braveland (not finished)","text":"Links See it on GitHub. Game descriptionBraveland is an Plattformer Game with only one control option inspired by Darkland for Android.Your task is to master small challenging levels. The hero 🦸 can only be controlled with one key.I choose this game to get a better understanding of game mechanics and to get familiar with some shader techniques 🤓. Usefull Linkshere are some useful links I have found on my way of knowledge acquisition gamemechanicexplorer is an amazing collection of concrete examples for different game mechanics procedural Tutorial state-machines","link":"/2020/06/07/Braveland/"},{"title":"Wang Tiles","text":"LinksAll Infos about Wang tiles: see cr31 See it on GitHub.See Demo on Wang-Tiles Imgage References pipe pipe terrains IntroductionThis repository generates random Wang Tiles.Wang Tiles are representations of tiles with coded edges.Only edges with the same code can be placed next to each other. Such a tile sets can aperiodically tile an infinite plane. Example","link":"/2020/06/23/Wang/"}],"tags":[{"name":"Random","slug":"Random","link":"/tags/Random/"},{"name":"Seed","slug":"Seed","link":"/tags/Seed/"},{"name":"OTDR","slug":"OTDR","link":"/tags/OTDR/"},{"name":"SOR","slug":"SOR","link":"/tags/SOR/"},{"name":"Fiber optic","slug":"Fiber-optic","link":"/tags/Fiber-optic/"},{"name":"Measuring software","slug":"Measuring-software","link":"/tags/Measuring-software/"},{"name":"Graph","slug":"Graph","link":"/tags/Graph/"},{"name":"echarts.js","slug":"echarts-js","link":"/tags/echarts-js/"},{"name":"Blogg","slug":"Blogg","link":"/tags/Blogg/"},{"name":"node.js","slug":"node-js","link":"/tags/node-js/"},{"name":"pixi.js","slug":"pixi-js","link":"/tags/pixi-js/"},{"name":"Trainline","slug":"Trainline","link":"/tags/Trainline/"},{"name":"Game","slug":"Game","link":"/tags/Game/"},{"name":"settings","slug":"settings","link":"/tags/settings/"},{"name":"phaser.js","slug":"phaser-js","link":"/tags/phaser-js/"},{"name":"Braveland","slug":"Braveland","link":"/tags/Braveland/"},{"name":"p5.js","slug":"p5-js","link":"/tags/p5-js/"},{"name":"Map Generation","slug":"Map-Generation","link":"/tags/Map-Generation/"},{"name":"square tiles","slug":"square-tiles","link":"/tags/square-tiles/"},{"name":"wang tiles","slug":"wang-tiles","link":"/tags/wang-tiles/"},{"name":"procedural synthesis","slug":"procedural-synthesis","link":"/tags/procedural-synthesis/"}],"categories":[{"name":"Random","slug":"Random","link":"/categories/Random/"},{"name":"OTDR","slug":"OTDR","link":"/categories/OTDR/"},{"name":"Blog","slug":"Blog","link":"/categories/Blog/"},{"name":"Game","slug":"Game","link":"/categories/Game/"},{"name":"Fiber optic","slug":"OTDR/Fiber-optic","link":"/categories/OTDR/Fiber-optic/"},{"name":"Pixi","slug":"Game/Pixi","link":"/categories/Game/Pixi/"},{"name":"setup","slug":"setup","link":"/categories/setup/"},{"name":"Phaser","slug":"Game/Phaser","link":"/categories/Game/Phaser/"},{"name":"Map Generation","slug":"Map-Generation","link":"/categories/Map-Generation/"},{"name":"P5","slug":"Map-Generation/P5","link":"/categories/Map-Generation/P5/"}]}