I’ve been building ScaleBop for a while now, and the more I talk to people who ship with AI coding tools, the clearer the problem gets: we’ve never had it easier to generate an app, and we’ve never had more confusion about what happens after the prototype works on localhost. Lovable, Bolt, Replit, Claude — pick your tool — they’ll get you a full-stack app in an afternoon. That part of the story is…
There’s a conversation happening in every engineering org right now, whether it’s out loud or just quietly in people’s heads: what exactly is my job now? For a long time, the path was well understood. Junior developers write code, senior developers write better code and review it, tech leads set patterns and mentor, and engineering managers coordinate people and delivery. Everyone had a lane. AI…
Search engine optimization has long been a cornerstone of the web, continually evolving as search engines and open‑web initiatives shape how information is discovered. Today, the rise of AI tools and AI‑powered search is accelerating that evolution, making structured data more critical than ever. In this post, I’ll explore how adding schema.org markup can enrich your content, improve visibility…
Over the last few months I have been playing around with a Home Assistant instance in Docker to run all of my home automation and over time I have slowly added more and more to it (more integrations, more services, more devices, etc.). Some info about my setup before we get into it. Host machine running Windows 10 Pro Docker Desktop using WSL2 backend .wslconfig configured with 30GB Ram and 5…
I’ve had a server running at home for a while to run various things for work and personal use and recently I put Home Assistant on it to have a play with. If you haven’t heard of Home Assistant before it is an Open source home automation that puts local control and privacy first. One thing that I wanted to do was be able to monitor the server status itself, things like storage, memory usage and…
Website performance is one of those things that is “important” to everyone but it is sometime hard to test and keep track of the results in a way that is easy to navigate and doesn’t require too much effort. Recently it has become even more important for SEO (Search Engine Optimization) with the big search engines starting to use these metrics more to affect ranking (See: Understanding page…
This blog has been hosted on Github Pages for a long time, a very very long time, according to my git history since Feb 2012 (before that it was on Wordpress). I decided to make the change for a few reasons: -To learn something new (Jekyll/Liquid were new to me) -Have it feel more like a dev blog (writing posts in a dev IDE pushing to git etc.) -Also the Pretzel Code52 project had just kicked off…
I’ve been doing a lot of work with data recently and I wanted a way to be able to join some of our platform data to our traffic data from Google Analytics. After trying a few methods to get data out of Google Analytics into our PostgreSQL database with not much success I discovered singer.io a “Simple, Composable, Open Source ETL” tool. So I started playing around with the Google Analytics tap and…
I work remotely and have been full time for over 6 months now and I wanted to take some time to talk about my experience with it. I quite often joke about this, for example here is a post from my Instagram after my 2nd week at another fully remote workplace. damiankarzon Damian Karzon (@damiankarzon) on Mar 8, 2019 at 4:42pm PST What people think of when I say I work from home vs. what it's…
I've been playing around with the Discord api recently, I wanted to see what could actually be done with it. I set a goal to make a discord bot that slightly annoys people by joining voice channels and randomly say Zapp Brannigan quotes. For those who don't know Discord is an: All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. -…
I have been working on UI and UX a bit lately and trying to come up with views that are fluid across a whole range of device resolutions. Now, Xamarin.Forms does do a great job with UI but sometimes there are little things that you want to change on a per device or per resolution level. I noticed that there is a built in xaml helper called OnPlatform that lets you set xaml properties differently…
Adding a Universal Windows Platform project to an existing Xamarin.Forms Android/iOS solution is meant to "just work". However when doing this myself I have found a few things that don't work as expected, one of those was images and image paths. On iOS and Android there are special folders where the platform stores it's image files, iOS has Resources\Images.xcassets and Android has…
Lately I have been talking to a few people about getting Ionic (open source framework for developing hybrid mobile apps with HTML5) running on a Windows Phone and just talking about it has shown me that it's a little bit of a mess working with Windows solutions at the moment because of the convergence of Windows that has slowly been happening since Windows 8 arrived. The aim of this post is to get…
Your Windows Phone 7 app uses ANID and you want to upgrade to Windows Phone 8.1 WinRT or native Javascript? Short answer is you can't. What am I even doing here? As the title suggests the answer is to update to either 8.0 or 8.1 sliverlight and for the love of god store your ids locally . In Windows Phone 7 there was a property we could use called ANID UserExtendedProperties.GetValue("ANID") this…
For the love of god SetText() In Windows 8 the share charm can be a very powerful concept allowing selections of data to be easily sent between apps with a nice user experience. Working on the Windows 8 platform for some time I have seen a lot of apps with poorly implemented share charms and this really annoys me. The first thing to do when implementing a share contract is to subscribe to the…
In Windows 8.1 there is less focus on the search charm for apps and more on "open the app and start typing". This is where the SearchBox control comes in, it makes it easier to add searching to your app by handling suggestions, results and focus. Both the XAML and WinJS stacks have this new control included but I'm going to be focusing on the WinJS version of it in this post. At the moment there…
Let me start off by saying that I am a big fan of Dropbox, I love its simplicity and their API is great to work with. But lately I have been thinking about switching to SkyDrive as the experience on Windows platforms are so much better. For me to be saying that is a pretty big deal as I use Dropbox for everything and have put so many hours into Dropbox related projects. However if they just put a…
UPDATE: DropNet2 has now been renamed to DropNetRT, check out the DropNetRT documentation for more details DropNet has been in NuGet now for 2 years! (As of March 31st). Which means its getting old and some of the methods and technologies it was built off are out of date. Working on my own Windows Phone Dropbox client BoxShot I started running into some limitations of DropNet then finding that…
I have been playing around with Octopus Deploy lately and I have setup our TFS build server to automatically create releases and deploy to a Dev environment. Here is how you can setup a TFS build server to create NuGet packages ready for deployment through Octopus. Building off my previous post TFS to private NuGet. Lets start with the build script: <Project ToolsVersion= "4.0" DefaultTargets=…
Windows 8 Toast notifications with WinJS isnt the easiest thing to do. First you have to figure out what template you want, then get the XML from the template manager, then modifying the XML with the image url, title and description. Then finally creating a toast notifier to parse the XML into a toast notification. I wanted an easier solution to add Toasts to WinJS apps, something closer to the…
I have started working on a few metro style apps on Windows 8 using WinJS so I thought I might show some of my findings. Using the WinJS.xhr function. ( MSDN on WinJS.xhr ) Lets have a look at a basic basic example: (GET) WinJS . xhr ({ url : " http://example.com/api/test " }); This function takes an options object as a parameter. The url property is the only required option for this function,…
Back in 2010 I started a project for uni called DroppedBoxx, it was a dropbox client for Windows Mobile 6.5. This app got me starting to develop mobile apps and sparked my interest for working with web APIs (especially Dropbox as it spawned the DropNet library). It began as a free download during its beta period to get feedback for it while I was developing it for uni and later was sold for about…
I like development, working with new technologies and Windows Phone and over the past few weeks I have been working on a project that combines all of these. I call it JabbrPhone, its a Windows Phone client for Jabbr (the signalR based developer chat site). So why did I want to make a phone app for JabbR? Well simply, for fun and to try something new that I haven't done before (in this instance its…
I have often wondered “What if” when it comes design aspects of a website. What if this button was green instead of blue? What if I call it an upgrade instead of a purchase? What if the background wasn’t as dark? What if I make that notification flashing red instead of dark yellow? You get the point… So I’ve been working on an A/B testing library with the 1 goal of making it simple to insert tests…
So I got a fair bit of feedback from the old BoxShot logo and how most of my users disliked it (some even called it offensive). Now that I’ve had my fun I decided to put together a serious update for the app, here is what this new update (that I am calling v2.0) includes: NEW LOGO! As mentioned before I have changed the logo, this gives the app a more professional look and fits…
Let me start by saying this: I love NuGet, its straight up awesome! This post is about how I created a TFS CI Build to create NuGet packages and push them to a private NuGet server hosted on site. I have been playing around with the TFS Build server, mainly for a Continuous Integration (CI) build on some of our projects and I wanted a way for me to be able to update a core library and have it…
Following the recent release of my Windows Phone 7 app BoxShot , I have implemented a live tile displaying your dropbox.com quota info. Boring old tile Fancy new tile Another fancy new tile Also, you can customise the colour of the tile from the settings screen. Thats pretty much it for now, be sure to leave feedback for any new features you want!
BoxShot is a dropbox app for Windows Phone 7. Features: Open files from your Dropbox using their default apps (Office files, PDFs, etc.) View/Edit text files within BoxShot with the built in editor View Image files within BoxShot and save them to your library Copy/Move files or folders within your dropbox folder Delete files or folder from your Dropbox folder Rename files or folders in your…
Ever wanted an easy way for apps to track certain events then run code based off what events the user has triggered? Well now you can with AppEvents! So AppEvents is a Windows Phone 7 library to manage events for a user across multiple sessions. In this example I will use it with CodeTrack to prompt the user to rate the app after they have added 3 repos. Lets get started, App.xaml.cs (this code…
So I have been working on an open source Dropbox client library for a while now called DropNet. I have recently put this project into NuGet so its super easy to add Dropbox support to your Windows Phone 7 apps. Update: The source for this sample project is available here: https://github.com/dkarzon/DropNet/tree/master/DropNet.Samples/DropNet.Samples.WP7 Update: The DropNet and DropNet-WP NuGet…
Update: I have now released DroppedBoxx as Open Source, the source and a downloadable cab are now available over at Github ( https://github.com/dkarzon/DroppedBoxx ) I have been developing a Dropbox Client for Windows Mobile called DroppedBoxx and I thought I'd take some time to talk about how it works, my plans for its future and talk about some of the new features of the latest version v1.1…
Following on from my previous post where I showed you how to Login and get the Account Info for a Dropbox account. Today we dive into the Box full of files. Uploading, Downloading and Deleting! A lot has changed since my last post in the way of RestSharp with OAuth. OAuth is now available Out-of-the-box (this can be downloaded from Github ). Ok, Time for some code… Download File: Update: Fixed a…
Update: The code in this post is out dated and the version of the API is no longer supported. To use the Dropbox API have a look at my open source projects DropNetRT or DropNet . The Dropbox API has foiled my development of “Droppedboxx” for some time now. Mainly because the on site documentation is average for anyone not planning on developing for the iphone (dropbox, you used to be cool). Being…
Lately i have been doing some work with sending emails and I have chosen to use some of .NET4.0’s Parallel processing and the FluentEmail library. I then got thinking about the Performance differences between using Parallel against Asynchronous so I decided to run some tests. Based of the C# Micro Performance Testing Class blog post I have written a simple app for testing this. Firstly I created…
Lately I have been making an application for Windows mobile but I am pretty bad with design so I was looking for a control toolkit and came across the Fluid.NET controls , which is an open source control toolkit for Windows Mobile. Now there wasn't too much documentation on the site and it hadn't been updated for a while but they had a pretty decent looking example application which they offered…