ovidiup | 2 years ago | on: Court strikes down Berkeley’s ban on natural gas in new construction
ovidiup's comments
ovidiup | 9 years ago | on: Show HN: Kite, copilot for programmers, available for Python
In addition the instructions you posted on the web site do not work. There are two running processes shown in Activity Monitor: a KiteHelper and a KiteEngine. Killing them both does not work, they are resurrected by some process.
I had to manually rm -rf Kite.app, and reboot the machine to get rid of the pesky KiteHelper and KiteEngine processes. Totally unacceptable "uninstall" procedure.
ovidiup | 9 years ago | on: Show HN: Kite, copilot for programmers, available for Python
2. It's completely unacceptable to upload code to the cloud.
ovidiup | 9 years ago | on: The Basics: Kubernetes, Mesosphere, and Docker Swarm
ovidiup | 9 years ago | on: The Basics: Kubernetes, Mesosphere, and Docker Swarm
Using DNS might work for the K8s services, but at least in version 1.2, SkyDNS was an add-on to Kubernetes. This should really be part of the deployed K8s services. Hopefully newer versions fixed that, I didn't check.
Preferably, the base K8s services implement HA natively. Deploying a separate load balancer is just a workaround around the problem.
FYI Google's Borg internal services implement HA natively. Seems to me the Kubernetes team just wanted to build something quick, and never got around to doing the right thing. But I think it's about time they do it.
ovidiup | 9 years ago | on: The Basics: Kubernetes, Mesosphere, and Docker Swarm
When I started more than 5 years ago few of the options mentioned in the article were available, so I just used Xen running on bare metal. I just wanted to get things done as opposed to forever experimenting with infrastructure. Not to mention the load was inexistent, so everything was easy to manage.
After I launched the mobile app, I decided to spend some time on the infrastructure. 2 years ago I experimented with Marathon, which was originally developed at Twitter, probably by a bunch of former Google employees. The reason is Marathon felt very much like Borg: you could see the jobs you launched in a pretty nice Web interface, including their log files, resource utilization and so on. Deploying it on bare metal machines however was an exercise in frustration since Marathon relied heavily on Apache Mesos. For a former Googler, Mesos had some weird terminology and was truly difficult to understand what the heck was going on. Running Marathon on top of it had major challenges: when long-running services failed you could not figure out why things were not working. So after about 2 weeks I gave up on it, and went back to manually managed Xen VMs.
Around the same time I spent few days with Docker Swarm. If you're familiar with Borg/Kubernetes, Swarm is very different from it since - at least when it started, you had to allocate services to machines by hand. I wrote it off quickly since allocating dockerized services on physical machines was not my idea of cluster management.
Last year I switched to Kubernetes (version 1.2) since it's the closest to what I expect from a cluster management system. The version I've been using in production has a lot of issues: high availability (HA) for its components is almost non-existent. I had to setup Kube in such a way that its components have some resemblance of HA. In the default configuration, Kubernetes installs its control components on a single machine. If that machine fails or is rebooted your entire cluster disappears.
Even with all these issues, Kubernetes solves a lot of problems for you. The flannel networking infrastructure greatly simplifies the deployment of docker containers, since you don't need to worry about routing traffic between your containers.
Even now Kubernetes doesn't do HA:
https://github.com/kubernetes/kubernetes/issues/26852
https://github.com/kubernetes/kubernetes/issues/18174
Don't be fooled by the title of the bug report, the same component used in kubectl to implement HA could be used inside Kube' servers for the same reason. I guess these days the Google engineers working on Kubernetes have no real experience deploying large services on Borg inside Google. Such a pity!
ovidiup | 9 years ago | on: Intel’s Atom C2000 chips are bricking products, and it’s not just Cisco hit
ovidiup | 9 years ago | on: Melown – 3D mapping implementation in JS, smooth and silent
Why would I use Melown instead of CesiumJS (https://cesiumjs.org/)? Especially since the latter appears to be free?
ovidiup | 9 years ago | on: Ask HN: Is the concept of a one-person software shop still viable?
ovidiup | 9 years ago | on: Ask HN: Is the concept of a one-person software shop still viable?
I tried finding a partner to work with, but that's pretty much impossible in Silicon Valley where I live. Most good engineers want to work for one of the glamorous companies in the Valley. Oh well...
I've been working on Jollyturns for the past 5 years. It's been a lot of work, but I do it at my own pace since I still want to enjoy myself. The experience is unique. I write all the software myself, and hired few people to help map the ski resorts. I built a bunch of custom tools for the mapping work, so people can map the location of lifts, ski runs, restaurants inside a ski resort. I ended up having mapped all the ski resorts in the world, about 2700 of them.
Being by yourself, you need to be prepared to be a full-stack engineer. I built my own Supermicro servers, and host them in a colocation facility. I found that if you're in it for a long time it's cheaper this way. I run Kubernetes for cluster management, Postgres with PostGIS for database, Redis for caching, nginx for web proxy. Server side is written in a mixture of Python and C++. Web frontend is AngularJS (JavaScript). For iOS I write C, C++ and Objective-C. On Android I use Java.
Writing the code is the easy part. I found marketing to be the hardest. You need to find a way to make the world know what you built, and that's hard!
ovidiup | 9 years ago | on: ZFS, BTRFS, XFS, EXT4 and LVM with KVM – A Storage Performance Comparison (2015)
ovidiup | 11 years ago | on: Bazel – Correct, reproducible, fast builds for everyone
EDIT #1: I see support for building Objective-C apps is already present in Bazel. EDIT #2: Bazel uses Skylark, a Python-like language, which could be used to implement all sorts of extensions, including the one I was referring to.
ovidiup | 11 years ago | on: Astronomers Watch a Supernova and See Reruns
ovidiup | 11 years ago | on: Show HN: Satellizer – Authentication for AngularJS
In my app I maintain a users table that has columns (google_account_id, facebook_account_id, twitter_account_id, etc), pointing to individual rows in a separate accounts tables (e.g. google_accounts, facebook_accounts, twitter_accounts etc). When a user adds an existing account_id, I take care of merging the two different users rows, populating appropriately the account_id in one of the rows, then deleting the extraneous users row. I also migrate the existing data referring to the to-be-deleted user row to the one I plan on keeping.
ovidiup | 12 years ago | on: European commission backs Merkel's call for tougher data protection laws
I find this idea absolutely bonkers when our electric infrastructure is terrible. The aerial power lines are subject to trees or large branches falling over and causing large power outages. Just this winter we had 4 major power outages, lasting from few hours to multiple days. Not only my city, the whole Silicon Valley had no power! The place supposedly having the brightest minds, trillion dollar companies, and the most advanced technology in the world! Not only we didn't have electricity, we had no Internet and cellular phones either. Absolutely insane!
Yeah, I do have solar power and battery backup, but during the winter relying on them does not always work. Luckily I had enough solar and battery generated electricity to power my natural gas furnace so I can have my house heated. The fan on the furnace uses 700W when pushing air, far less than electric heaters that would kill my Tesla batteries in a few short hours.
Why would anyone rely on a single source of energy, especially one that's so unreliable? Until we fix the electric grid, we shouldn't force everybody to switch to it.