aguynamedrich | 12 years ago | on: Do you know your bitwise operators?
aguynamedrich's comments
aguynamedrich | 12 years ago | on: Sweden becomes the first country to reject low-fat diet dogma
aguynamedrich | 12 years ago | on: Square open sources Kochiku
aguynamedrich | 12 years ago | on: Jay-Z Is Watching, and He Knows Your Friends
I think it's brilliant. They're sending back events to the api when you stop and start tracks, and they're sending all of the information that the phone will give them - location, device/os info, storage/free space. This is probably the most real usage data a major artist has ever received on how, when and where their music is played by home listeners, and I wouldn't be surprised if this sets a major trend. They can pick which singles to release based on this data, decide where to spend the most money promoting concerts, etc.
aguynamedrich | 12 years ago | on: Facebook Android app sends phone number to Facebook servers without consent
aguynamedrich | 13 years ago | on: Real-Time Yammer Competitor Hall Launches New Apps
EDIT: Not the first comment...just the top one at the time I read the article (didn't realize comments on TC are sorted as newest first by default)
aguynamedrich | 13 years ago | on: AndroidKickstartR: Start your next Android app in 10 seconds
Edit:
I judged too quickly, and this is really cool. I did a quick setup from both Android Bootstrap and Android KickstartR. Android KickstartR worked with very minimal effort, and while there were a few things I had to do manually in Eclipse because of some weirdness in the latest Android toolkit (set JDK compiler to 1.6 to fix attribute errors, rename the projects...the usual), it worked and it wasn't so think with someone else's coding and project setup style that I could easily get cranking on this. When I set up from Android Bootstrap, it flat out didn't work with a simple Import from Eclipse and when I browsed through the source files, it looks really thick with boiler plate code. Bootstrap looked more like an app in a box and less like an actual bootstrap or kick start for my own app.
This KickstartR thing can go a long way actually if it maintains the lightweight feel. I don't like that AB uses Roboguice for that reason (as an example of what I mean about lightweight vs heavy-handed in this case). The second you introduce that by default, as seems to be the case in AB, you're now tied to that whether you like it or not. I personally gave Roboguice a try and just didn't think it added value for me and wasn't my style. I have other ways of achieving the same benefits that fit my style better, so I'd rather not have it, or at least have the option to remove it.
Something cool for this KickstartR would be to support arbitrary libs and not just the really popular ones. For example, I published my own lib which currently only I'm using AFAIK. But regardless, I use this lib in all of my own work. It would be nice to add a reference from that here, especially since I publish a jar with my library so it would be as easy as copying my jar into the libs directory. A former coworker of mine did the same, and I'd love to grab his libs in the process as well (as well as things like http-request, etc).
Sorry about the quick judgment...nice work.
aguynamedrich | 13 years ago | on: Hopefully more controversial programming opinions
I'll give you a short story that approaches this issue from both sides. A client walks into a consulting shop with a piece of really bad client/server software written by a different consulting shop. The server is written in Ruby/Rails and the client in Java (Android). Both client and server code is horrible even though the server is written in Ruby (a supposedly beautiful/compact/expressive language) and the client in Java (super ugly long winded grandpa language, or whatever). The client paid the original consultants about $60k in total. One Ruby engineer and one Java engineer rewrote the entire thing in a few days for 1/20 the cost without really reusing an ounce of the original code. Ruby didn't stop the original server engineer from delivering horseshit in too much time, and Java didn't stop the second client engineer from delivering a clean/functional/performant app in just a few days.
aguynamedrich | 13 years ago | on: Hopefully more controversial programming opinions
aguynamedrich | 13 years ago | on: Hopefully more controversial programming opinions
aguynamedrich | 14 years ago | on: No-cost desktop software development is dead on Windows 8
aguynamedrich | 14 years ago | on: Introducing Facebook Camera
This article is from nearly two years ago and claims that Facebook was very secretively working on its own mobile OS. If this is indeed the case, a lot of their somewhat recent acquisitions make a little more sense (GoWalla, Karma, Instagram obviously, and LightBox).
http://en.wikipedia.org/wiki/List_of_acquisitions_by_Faceboo...
The fact that their valuation gets beat down on the lack of ad revenue in the ever growing mobile space turns into a bullish signal if they release a high quality phone with a high profit margin. I wondered why they were splitting up their mobile app into many recently on Android as well, and this tells me that it's possible they want to create a suite of "necessity" apps as the basis for their platform.
aguynamedrich | 14 years ago | on: Android's Overblown Fragmentation Problem
That said, I don't fully agree with the OP's argument. Fragmentation is a very real pain in a lot of subtle unexpected areas (mostly UI related).
aguynamedrich | 14 years ago | on: Socialcam #1
aguynamedrich | 14 years ago | on: Evernote CEO to entrepreneurs: "don't do it"
1. Not all CEO's work 20 hour days, and he probably doesn't either
2. Starting your own company can give you the ability to challenge the outdated 9-to-5 sit-at-your-desk status quo more than working for someone else can
3. His skewed view of upcoming entrepreneurs as only the subset that bother him for advice doesn't reflect on you or your ability to successfully launch your own business
4. Seriously, Evernote? It's cloud data with a bow around it.
5. Working long hours doesn't mean slaving away at the office for long hours, it means that you're always "on". If you start a business around something you're passionate about, you'll be thinking about it all day anyway.
6. Ryan Carson just told us last week that he works 32 hours a week, and his company impacts the world a whole lot more than Evernote IMO (subjective, yes, but Treehouse and Carsonified educate and connect people in a way they couldn't have done otherwise, whereas you can eliminate the need for Evernote by creating a folder or two on Dropbox).
7. If you fail, you can always try again and/or re-join the work force.
8. Most people would feel a lot better about trying and failing than not trying at all.
And the number one reason I'd say this video should be completely ignored is that you might actually succeed.
This video tells me very little about entrepreneurship. The real message is that Evernote is run by a pretty unlikeable guy who would advise you, without getting to know you, to be a working stiff your entire life instead of taking chances. Advice that he obviously would not have taken himself.
aguynamedrich | 14 years ago | on: We work a 4-day week and just raised $4.75m
What I think happened here is that you did a number of things right which affords you this flexibility in hours. I would say the real story is that you made something of value vs the free-but-pointless model we read about much more often these days. You built a business around something valuable with a relatively high price point that makes it less of a victim of the kind of scalability issues that "general public" web based services are dealing with.
I think the bigger take away would be: If you make something awesome for the general public that millions of people will be using all day long, plan to work seven days a week 'round the clock and there's no guarantee you'll ever see a penny. If you come up with something valuable that people would be willing to pay $25-$50 a month for, your life will be much, much more enjoyable and you might actually get to watch your kids grow up and/or have some time left for your hobbies.
aguynamedrich | 14 years ago | on: Android Image Problems
The real bitch of this, and what I think you were getting at, is the lack of accurate memory debugging tools. I read a really long post on SO about a guy who tested all of the various ways of testing memory consumption through DDMS, adb, etc, and all the numbers he got were conflicting.
aguynamedrich | 14 years ago | on: Android Image Problems
(1) If I'm just expanding included resource files (compressed images) into bitmaps for display, I write my own intelligent cache. Backed by a simple HashMap, I can even include in my cache keys the desired height and width and downsample intelligently and cache the downsampled version. Funny enough, when I presented this to my coworker, he had just done almost the exact same thing and we had never discussed it. In one case I needed to categorize my images to flush some and not others from the cache, so I just wrapped a bunch of instances of the same BitmapCache into a BitmapCacheManager class and it worked like a charm.
(2) To get around the fact that you can't just set the source path of an ImageView to a web url, you can use a custom class that wraps ImageView and just handles downloading the image on a background thread. I wrote a pretty complicated system that pumps the urls to a queue and broadcasts a notification when each download completes, but a single google search pointed me to an awesome apache licensed library that does exactly the same thing (and is admittedly cleaner than mine).
https://github.com/loopj/android-smart-image-view
It's totally doable. I never looked at it as a limitation of the framework - I actually saw it as an opportunity to do something more challenging than just drawing within the lines of the framework.