Skip to content

Instantly share code, notes, and snippets.

Avatar

Mark Zhukovsky mzhukovs

View GitHub Profile
@mzhukovs
mzhukovs / Dracula-MZ-IDE-VS2019.vstheme
Last active Jun 19, 2019
VS2019 Dracula Custom Theme w/ more IDE changes too (not just Editor)
View Dracula-MZ-IDE-VS2019.vstheme
<Themes>
<Theme Name="DraculaMZ" GUID="{32f0c094-a6d3-42da-82a8-6b08df3e2dc3}">
<Category Name="ACDCOverview" GUID="{c8887ac6-3c60-4209-9d69-8f4c12a60044}">
<Color Name="Body">
<Background Type="CT_RAW" Source="FF252526" />
<Foreground Type="CT_RAW" Source="FFF1F1F1" />
</Color>
<Color Name="H1">
<Foreground Type="CT_RAW" Source="FF84CEFF" />
</Color>
@mzhukovs
mzhukovs / Dracula-MZ.vstheme
Created Jun 15, 2019
VS2019 Dracula Custom Theme
View Dracula-MZ.vstheme
<Themes>
<Theme Name="Dracula v2" GUID="{c32454de-c5fc-4799-a5e8-2e2d28f09c2c}">
<Category Name="ACDCOverview" GUID="{c8887ac6-3c60-4209-9d69-8f4c12a60044}">
<Color Name="Body">
<Background Type="CT_RAW" Source="FF252526" />
<Foreground Type="CT_RAW" Source="FFF1F1F1" />
</Color>
<Color Name="H1">
<Foreground Type="CT_RAW" Source="FF84CEFF" />
</Color>
@mzhukovs
mzhukovs / Chase_BankStatement_Checking_PDF_Parser.py
Created Sep 8, 2018
Python Script to Scrape Transaction Records from Chase Bank Checking Account Statement PDFs
View Chase_BankStatement_Checking_PDF_Parser.py
import os
import argparse
import re
import csv
from datetime import datetime as dt
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTPage, LTChar, LTAnno, LAParams, LTTextBox, LTTextLine
from pdfminer.pdfpage import PDFPage
@mzhukovs
mzhukovs / UOB_BankStatement_CASA_PDF_Parser.py
Created Sep 8, 2018
Python Script to Scrape Transaction Records from United Overseas Bank CASA Statement PDFs
View UOB_BankStatement_CASA_PDF_Parser.py
# Parses UOB CASA eStatements transaction data
#! first download tika-server from http://www.apache.org/dyn/closer.cgi/tika/tika-server-1.18.jar and then go to cmd:
#* cd C:\Users\YourUserName\Documents\Python Scripts\_util # or wherever you installed it
#* java -jar tika-server-1.18.jar --port 1111
#region Imports
import time
import datetime
import pandas as pd
@mzhukovs
mzhukovs / xambprop.snippet
Created Jul 9, 2018
Xamarin Forms Bindable Property Code Snippet
View xambprop.snippet
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
<Title>Xamarin Bindable Property</Title>
<Author>Mark Zhukovsky</Author>
<Description>Code snippet for an automatically implemented Xamarin Forms BindableProperty.</Description>
@mzhukovs
mzhukovs / RepeaterView.cs
Last active Jun 29, 2018
FlexLayout RepeaterView for Xamarin Forms with Fade In Animation
View RepeaterView.cs
public delegate void RepeaterViewItemAddedEventHandler(object sender, RepeaterViewItemAddedEventArgs args);
/// <summary>
/// Don't set IsVisible to false or you will have a bad time
/// this won't relayout its child elements when you change the visibility
/// </summary>
// in lieu of an actual Xamarin Forms ItemsControl, this is a heavily modified version of code from https://forums.xamarin.com/discussion/21635/xforms-needs-an-itemscontrol
public class RepeaterView : FlexLayout
{
public RepeaterView()
@mzhukovs
mzhukovs / NavHelper.cs
Last active Feb 25, 2020
Xamarin Forms Helper Class for Navigation with Prism 7.0
View NavHelper.cs
/// <summary>
/// Helps with the keys for navigation for Prism, which uses deep linking with support for parameters as a query string, e.g. "MainTabbedPage/NavigationPage/ShowsListPage/DetailPage?id=1&title=First page"
/// In Prism, the concept of navigating to a View or navigating to a ViewModel does not exist. Instead, you simply navigate to an experience, or a unique identifier, which represents the target view you wish to navigate to in your app.
/// Despite this, I prefer mainly relying on ViewModels for ease of code-browsing and organization, so adding the helpers here for that.
/// For more advanced scenarios, can just use the string extensions directly, using nameof(VM) to call them.
/// </summary>
public static class NavHelper
{
#region For Common Scenarios
/// <summary>