No! We don't use that here! a.k.a. Making AI Coding NP-Complete
We’ve all been there. You ask your shiny new AI Agent to “add a user profile endpoint,” and it generates 50 lines of pristine, bug-free, idiomatic Python.
Read more ->We’ve all been there. You ask your shiny new AI Agent to “add a user profile endpoint,” and it generates 50 lines of pristine, bug-free, idiomatic Python.
Read more ->We software engineers are creatures of habit. We have our comfortable pair of slippers: the languages we know by heart. For me, and for many of my colleagues, those languages are TypeScript, Python, Java, etc.
Read more ->In Part 1 of this series, we discussed how Continuous Integration (CI) at AnySoftKeyboard ensures that our main branch is always in a healthy, shippable state. Through rigorous testing, static analysis, and code style checks, we gain the confidence that our code is robust and ready for prime time.
Read more ->I’ve been building a lot of small LLM-powered CLI tools for about a year now. These are tiny utilities, each with a very specific job: reviewing my git diff, generating a commit message, or answering quick shell command questions.
Read more ->A few weeks ago, I had the pleasure of presenting at an AI-Camp event hosted at the Asana office in NYC. The topic was “LLM Evaluations: How we ensure AI tools produce consistent quality.” I wanted to share some of the key takeaways from that presentation here.
Read more ->Recently, I’ve merged several AnySoftKeyboard repositories into a monorepo - I’m a believer in the monorepo process. During that process, I also refined the Continuous Integration (CI)/Continuous Deployment (CD) process and wanted to give an overview of the process and the logic behind that.
Read more ->After reviewing Buck in a previous post, it was time to check out Bazel. Bazel is the open-source version of Google’s internal Blaze build system (and for the record, Buck was inspired by Blaze). I’m going to have a few posts about Bazel in the journy to convert a project into Bazel from Gradle.
Read more ->Buck is Facebook’s super fast build system. How fast? Up to 7.5 times. That was intriging enough to get me to try it out, and immediately realizing that the platform is not complete.. One of the features missing is proper and complete support for Maven remote artifacts (aar and jar) and locally hosted Support Library artifacts.
Read more ->0.0.1, 0.0.2, 0.1.0, 0.1.1, 0.1.3,…. I’m super lazy, and I get bored really quickly with repeating tasks. So, whenever I can offload something to a script, I just do it. One such offloading I’ve done lately, is versioning the APK.
Read more ->I work on a few projects right now, some using the Android code-style and some their own. This is very confusing, and always causes problems when pushing a commit for merge.
Read more ->Robolectric has reach a big milestone recently: V3-rc2, so it was time to upgrade all my personal projects.
Read more ->Up until recently, AnySoftKeyboard was supporting Android devices all the way back to 1.5 in a single APK. Mostly, it worked fine, and I was able to use FrankenRobot to utilize higher API levels features successfully. But there was a cost.
Read more ->Lately, I’ve become sort of branding obsessed; colors, font sizes and types, UI language, they all seem so important to me, I can hardly look at an App these days without pulling on my hairs and scream “God, oh God, why would they use inconsistent, non-brand colors!” Ya, but that’s my problem. Your is another: how to brand the EdgeEffect glow, ah?
Read more ->A few weeks ago I released version 85 of AnySoftKeyboard and soon after, crash reports started to hit my email box. It usually happens - mostly because I forget to test a feature, or just because the specific device decided it is time to crash (it happens, really! The floor is crooked). But this time, all the crashes were of the same nature, and were many, about 5-10 a day. The crashes were due to OutOfMemoryError (a.k.a, OOM), which usually means a memory leak in Android (why? Unlike a desktop, an Android device has very little heap to play with and leaking will fill that little space quickly), I started to look for them.
Read more ->At SpeakingPal we offer our apps for free, and provide customers ways to extend content availability via in-app purchase.
Read more ->I'm working on a new feature for AnySoftKeyboard, where it will 'hint' the user about what lays behind long-pressing a key.
Read more ->In preparation for a five hours flight with my year and a half daughter Hagar, I thought of all kind of toys I could bring along so the confined space wont drive her nuts; I brought a dull (a.k.a Julia), and a toy stroller for Julia (fun fact: in the UK, stroller is called 'pushchair') , some books, and a rattle. I also wanted to bring papers and crayons for her to paint with, but didn't want to totally vandalize the airplane :) So, what better than a fingerpainting app for Android to play with while on the flight?
Read more ->For the last year I've been using Boxee as my media center application, and it rulez!!11! I encourage you all to try it out. But this is not the point of this post. I'm going to talk about remote controlling Boxee.
Read more ->Update: I've refined the process, and produced an Android jar which can be used in your project to achieve the resource-qualifier based injection! Check it out at FrankenRobot project page!.
Read more ->Encoding the perfect video for mobile devices is always hard: you want a small sized file, with high quality, and a codec which will work on all devices, no matter how fragmented the platform is.
Read more ->With all those Android devices out there, as a developer you bound to encounter one that is really annoying.
Read more ->Have you remembered to changed the copyright text?
Read more ->We release our software in a few days. And in the last cycle of tests, all kind of bugs are surfacing up. And we are tight, real tight - our release date was two weeks ago.
Read more ->At my work, we employ light-weighted content licensing by applying MD5 over a crafted string. MD5 is quite long, and includes letters and digits, or example: MD5("The quick brown fox jumps over the lazy dog.") = e4d909c290d0fb1ca068ffaddf22cbd0 Since most of our users are using mobile devices, we wanted to make it easy:
Read more ->We are now at the final stages of releasing our first public version of SpeakingPal and go over content and finalize interfaces and data structures.
Read more ->` Welcome to WordPress. This is your first post. Edit or delete it, then start blogging! `
Read more ->