HNHacker News
TopNewBestAskShowJobs

ismarc

987 karma · joined May 22, 2009

email: ismarc31@gmail.com
submissionscomments
ismarc··on What Successful People Do With The First Hour Of Their Work Day
I have two tattoos that I got in response to an extremely close friend getting shot and killed by his father-in-law after being threatened by him for quite some time. It was a child custody dispute (long backstory), but the threats were if he didn't drop the lawsuit (? not sure what the word is for the trial to get custody from someone) he would kill my friend and my friend's wife (the murderer's daughter). My friend refused to on the principle that he could never let someone like that have custody of a kid. My friend was killed two days after the judgement giving him and his wife custody.

The tattoos are on my forearms and say "love life" and "embrace death". It's the inevitability of death and living your life in a manner that at the moment of your death, you can look back and be proud of the decisions you made. It doesn't mean live today as if it were your last, it means live it such that if it turned into your last, you have no regrets. And if you have any regrets in your past, fix them.

It quickly became second nature to consider all decisions on this axis, and if the result of a decision made you regret it, fix it quickly.

ismarc··on Typing Practice for Programmers
As dbarlett pointed out, the sub-vocalization is a big part of it, but once that's gone, there's still a long way to go to read quickly and effectively. I learned to read exceptionally fast, but had a very low retention rate of what I read (I use those techniques when typing), it's symbol recognition/word recognition, not real comprehension. I eventually slowed down my reading, but followging a rhythm (per-word rate) and process/think about/determine application for what I've read up to that point. In the end, reading quickly hadn't been as beneficial as being able to have a strong working knowledge of what I've read after only the first read through. However, I dislike reading fiction and don't prefer reading stories, an in depth whitepaper or textbook is my enjoyment reading, so learning as I read was more of a priority than just getting the high level view or enjoying the story construction.
ismarc··on Typing Practice for Programmers
Obsessing over typing efficiency doesn't make much sense, but being able to reasonably quickly with a high level of accuracy type makes a huge difference. By being able to touch-type at ~30 words a minute (making a rough guess here, I have no data to back up where the speed actually lies) means that you can quickly and easily get the bit of typing necessary over with and get back to thinking, planning and studying for the next bit of typing that's necessary. As an anecdote, I type extremely fast, but type for probably 45 minutes of the day in 30 second to 1 minute bursts every so often. In that burst, I likely create or edit a couple of functions and put in the calls to it. And then go to working on the next piece. There's rare times where it'll be a concentrated stream of typing, but that's following a large period of scrawling in a notebook.

I cannot fathom how people can find the time to actually approach any particular problem at a reasonable depth if it will take them more time to type out the solution than reading and understanding the existing code and determining how to solve the problem. Sure there's code where there's boilerplate, or add a line to a bunch of files, or tons of ways that raw typing speed doesn't play much of a benefit, but when it comes time to type, having to move your hands and look to find the { is akin to a carpenter having to read every label to find the bottle of glue.

ismarc··on Typing Practice for Programmers
Only if I'm on my preferred keyboard, I top out at 120 to 130 on laptop/netbook keyboards.. For a stint in high school, I typed medical reports from dictation for a friend's mom, eventually having the cassette player on the fastest speed and keeping up without issue. I have no idea how people can be very productive as hunt and peck typists when writing code.
ismarc··on Typing Practice for Programmers
I'm one of those folks who is on the top-end of crazy-stupid-fast typing, but hadn't ever seen a typing test that actually had typing code, so this is absolutely awesome for seeing the difference in speed between prose and code. However, the fading in and out cursor makes it extremely difficult to track where I am, particularly when going back to correct a mistake I made (I know I hit the wrong key, and depending on where in the typing I hit it, I'll need to see how far back to go). It's also exceedingly annoying when it blurs across multiple characters.

I personally would prefer a side-by-side text entry, rather than typing on top of existing code, so it's easy to see progress and mistakes (even if you don't highlight mistakes in the text).

EDIT: It looks like about 50 words per minute, maybe 55, is the max speed you can type and have the cursor actually be visible enough to be a guide of where you are in the text.

ismarc··on Your startup is not a startup, it’s just a website.
I just like building things. Cool things are more fun to build, but not everything needs to be in that category. I'm in software because it's significantly cheaper than other ways to build things. I love working on open source software because you can build bigger and better things with a team, it builds good will and unless it's core to a business, there's no reason not to. I'm shooting for a certain dollar amount that would let me work on what I want when I want, not just for the things that come with the money. But on the route there I refuse to give up the enjoyment of building things with a preference to cool things.

On the other hand, I only hear about the feature as a product or network effect startups here on HN. Around town, folks I interact with and companies I all work with have real products and at least a real revenue source.

It's like going to comic-con and deciding the rest of the world dresses like that.

ismarc··on Huffshell: You probably type too much.
I frequently have a commit history that looks something like:

    * Add call stub to Foo, add calls to the stub where needed
    * Beginnings of implementation, seems really friggin slow right now.
    * Ok, back to square one, need calls to X, Y and Z, can be chained together, wrap behind the call we actually need.
    * Final implementation
Which I then may leave comments in the code about the obvious approach that didn't work, or why it is the way it is. I then squash this into two commits, first one covering the implementation added to Foo with an appropriate descriptive commit message and a second commit after it that actually uses the new implementation.

Most of the incomplete commits aren't necessary, but we only develop on topic branches and I have a desktop I use at work and a laptop that travels to and from work with me (in case of deciding to work at a coffeeshop, or want to kick back, etc.). The ability to push not-yet-done work to my topic branch makes it available to either computer and the committing when halfway through because it's time to not be at the desk can easily be fixed with squashed commits.

ismarc··on Stop Applying to Startups
I've frequently done this, usually bringing up something I remembered later, clarifying something or asking additional questions. It's particularly useful if you can reference something that will associate the email with the person.. I usually go for 3 to 7 days after the interview. It's the "i'm still interested in working for YOU" email that also keeps you fresh in their minds.
ismarc··on Huffshell: You probably type too much.
Additionally, there's significant benefit to lots of tiny commits with a 1 sentence what changed and the squash the commits and write the larger, better formatted one based on your list of one-liners.
ismarc··on Amazon Career Choice Program
When I had to stop taking courses was about a year after I had saved up enough money that savings + GI Bill + financial aid would cover tuition, books and living expenses. There was a paperwork screwup on my financial aid that meant I couldn't pay tuition which meant I couldn't get the GI Bill payments which meant I couldn't cover rent which meant I had to get a job. The end result being I never had a need to go back to school.

while their amount per year is low, for low to middle income earners, it's enough to be the difference between not having the option and cutting back a bit to be able to go to school. Sure, there's no way to have it pay for a state or ivy league school, but if your only skill is low-level employee in a warehouse, working towards an associates degree or taking management courses can greatly improve your station.

ismarc··on Amazon Career Choice Program
While I wasn't getting reimbursement, I was working roughly 60 hours a week on the assembly floor at Dell while taking a full load of classes (12 credit hours). Before any financial aid or assistance, tuition and books at the community college I was going to was around 1800 a semester. After financial aid, it was around 800. This is a great program for those who cannot live on financial aid alone (need to work for whatever reasons) and have the drive to better themselves. I didn't get a degree, but not because I was working so much.
ismarc··on New Data Shows Pinterest Users Look But Don't Buy
I think it goes beyond that. As an anecdote, I'm getting married in April and my fiance is using pinterest to collect and organize all our ideas for the wedding. We'll end up buying probably 10-20% of what she has pinned, but over the next 6 months. By internet click-through funnel micro-measurements, when we buy it will look like a direct purchase rather than attributed to the channels we discovered the product on. Unfortunately, being able to determine the source and measure return on it is roughly the same as TV advertising and I don't know of any company that provides that sort of analysis for internet campaigns.
ismarc··on WakeMate Update
With a normal, functioning sleep cycle, or sleep/wake patterns that are predictable or manageable, there's little benefit besides the cool factor of tracking everything. Some of us have sleep issues, whether environmental or biological that we'd like to understand and manage better. I, for example, have been diagnosed with non-24 hour sleep disorder. The treatment is basically cycling through sleeping pills and amphetamines. I think the necessity of that is absurd and would rather find better ways to deal with it (like having alarm clocks actually work. I have a 50/50 shot of not waking up when my alarm goes off and instead wake up hours later with it having been going off the whole time, even when I would have had plenty of sleep). That being said, the technology is still very primitive and expensive for what it provides.
ismarc··on Why do you think people are poor?
I'm not saying it didn't have a positive effect on the people who were able to participate. What I'm saying is that it showed a positive impact for a carefully chosen group of people who met a very narrowly defined set of characteristics. There's nothing in the way it was done that provides any specific insights into people at or below the poverty level, what keeps them there or what can be done to provide help improving their situation. All it served to do was to highlight that smart people in a bad situation want to learn and are improved for having learned, the same as smart people in a not-bad situation. I called it a "feel good" piece because the only meaningful conclusion it reaches (because the narrow selection constraints prevented it from being broadly applicable) is that poor people are people, too and look how great it is we helped some.
ismarc··on Why do you think people are poor?
It's hard to write this, and my opinion is probably biased because of it, but this article is nothing but a giant load of horse shit and is a carefully constructed as "feel good" to reinforce the preconceived notions the author had going into it. A little bit of background; I grew up poor, people randomly leaving food on our doorstep poor, my parents giving the bike I had bought with my own earned money to my brother for christmas poor, moving every couple of years because my dad would make a bad enough name for himself in an entire town/city that he couldn't get a job poor. I was rejected from his classes (I was actually living in Queens at the time) when they were first available. I may have been one of the two 16 year olds turned away, but I'm pretty sure I was older than that at the time, I may have been one of the people who was "too poor" to take the class. I distinctly remember being told that I "wasn't what they were looking for" and that they "wanted the classes to be as beneficial to all attendees as possible." So, given that, my opinions may be a bit biased.

What I learned, clawing myself to where I am (I currently make more than twice what both my parents combined ever made), is that independent of the person, you HAVE to get the out of the situation they are in. Being "poor" or below the poverty line, life is not what you would expect. There is nothing extra, there is not even enough to sustain yourself. Each month, you make decisions of what bills to pay (food, electricity, gas, rent) based on which is most likely to be shut off. You spend money you can't afford on things you don't "need" because you need just something, anything, to make it feel like you are actually alive and not just some "thing", only there to feed on the remains you can come across. Learning about the humanities doesn't change the fact that you're working a minimum wage job 3rd shift and rarely making it to your classes at high school (just often enough to keep from being expelled) just so you don't end up homeless. It doesn't change the fact that you try to cheat and go through the lunch line twice to get two free meals just so you can have something to eat that evening (breakfast? The programs that give kids breakfast ends at middle school).

I escaped from poverty because I am significantly above the average intelligence level and I managed to make the right decision at the right time. For a point of reference, not the last time I talked to my dad, but the time before that, he was letting me know he may not have a phone for a while because the lady's cell phone plan he was on had passed away almost a year ago, and now that it was up for renewal and she was dead, he likely would not be able to put it in his name. I was paying someone I knew $30 a month to sleep in a sleeping bag in their closet when I joined the Army (shipped out January of 2000). I blew the ASVAB out of the water and had my choice of MOSes with all sorts of bonuses as well. But none of that mattered. What mattered was that I was removed from the environment I was in. I was able to see how other people lived while being provided for and then having some extra money on top. When my enlistment was over, I moved on and have done great things and I am now in a wonderful place in life now. But I'm unique in that aspect. A large number of people I served with would not be able to once they were discharged and I hope most of them stay in, because it's a better life for them.

Just as having middle class or better contacts, friends, network and confidants can help you maintain or better your station, being poor and having poor contacts, friends, network and confidants will help you maintain or lose ground. If everyone you know is working for minimum wage, you don't ask where a good place to work is expecting good work, you're expecting somewhere that will actually give you full-time hours, or enough to barely sustain yourself.

Downvote me, rail against me, disagree, defend the article all you want to, but the article is full of as much hope and potential as the government programs that are available to help the poor go to college, all the way up to covering the entirety of their tuition. It sounds like such a great idea, but the reality is that fully covered tuition means jack shit when they are working 70-80 hours a week just to make rent and keep the lights on. It's feel-good drivel by people who never truly understood (and never will understand) what it's like to be at the poverty level or below.

ismarc··on Show HN: The Bastards Book of Photography
I used to do a lot of photography before dslrs were common, but hadn't done any digital work before. I have a friend who's a professional photographer and offered to help out when she needed an extra camera there if I could use her gear. The two best compliments I got were from two different weddings. One, the couple each used a random, but what I thought was an awesome shot (sun setting behind them as they kissed at the reception, gave a nice halo effect) as their profile picture on Facebook. The other was the first wedding I helped with shots of the wedding, she told me she used some of my photos for the album and, when I looked through it I couldn't tell which were mine.

The point of this is that most people just don't really care about random art you did, but they care a lot if it's something personal. And it may take 1000 shots to get that right one.

ismarc··on The Gmail Zero project: commitment device for Inbox Zero
I leave everything in my inbox and currently have 0 unread personal and 1 unread work emails. My system is this: if it's marked unread, I need to do something. If it's read, nothing needs to be done. I also filter emails that i'll never need to do something with, but definitely want to their own folder (or tag or whatever) and remove it from the inbox. That means my main stream of incoming email is relevant, the nice to know is off to the side and I have a clear set of emails to review. The setup also means every email I get on my phone (only check certain tags/folders) is what I need to read soon, while other email is relegated to my 3 times a day checks (first thing, around lunch, last thing). The hardest part when moving to this system is setting the expectation that email is asynchronous communication and if real time or emergency communication is necessary, use another form of contact.
ismarc··on My GF learned to code in 3 months. This is what she came up with.
You've been downvoted a decent amount, and I can see why, but I believe it is unfair because it's only due to your perspective.

At one job I ended up having a lot of work writing language bindings from C to what is commonly considered a "scripting language" (TCL), so it's easy to have to deal with memory management and low level systems knowledge in relation to a scripting language (knowing the semantics of memory management within a language drastically changes how you have to write the bindings). However, the idea is to rate your skill with that particular language. No matter what the most advanced state is of a language, a 5/5 (or whatever the scale is) means that you can accomplish the most advanced task possible in the language. That doesn't mean that someone who is, say, 5/5 in Perl, will have the same skillset and capabilities as someone who is a 5/5 in AT&T syntax assembler. However, there are a list of base assumptions of skills they do have that may align with what we need as a developer when looking at resumes.

ismarc··on My GF learned to code in 3 months. This is what she came up with.
On my resume, I have a "skills" section that basically lists technologies I've worked with that I'm interested in working with now (and some I haven't work with) with a "code-word" based description of how I'd rate myself. The "code-word" selection will beat most HR folks, but I include a "decoder-ring" style description in my cover letter on what I mean by those code words. Things like, "familiar: know at least basic syntax and can easily use all syntax with reference, will likely need to use a reference for common libraries" and "expert: Need documentation only for infrequently used or obscure library calls, comfortable writing a tokenizer and lexer for the language given the specification". I actually got the idea when I applied for a job way out of my league and actually got a response explaining it was out of my league, so I asked for some feedback on my resume, figuring don't let a good thing go to waste and the response was "years of experience in a language doesn't quantify your knowledge of the language." I was quite young at the time and the approach I ended up with hasn't steered me wrong yet.
ismarc··on The 144 Million Dollar Button
I see tipping as the opposite (and wage laws make it easier). Unlike most professions, there's no asking for a raise each year to keep up with inflation or reward your progress at getting better at your job. It's immediate feedback and compensation for doing a better job. Not leaving a tip signals that you would have been better off not being served by them. If a person whose main income is from tips (and gets the 2.xx/hour wage because of it), they declare and are taxed on their tips. If they don't make enough in tips in a pay period to receive the prevailing minimum wage (i think 7.xx/hour, but I don't remember for sure), the business is required to pay them minimum wage. If someone yells at you for not tipping them, just ask to talk to the manager, explain why they didn't deserve a tip (based on their service) and the fact that they berated you for it. Nearly every time they will be fired on the spot (or at the end of their shift) because it's the same as saying the business expects you to pay for crappy service.
ismarc··on Richard Stallman Collapses At Barcelona Conference
This isn't entirely true and varies from state to state and hospital to hospital. We had a trip to the hospital last year (non-ambulance, but was an actual emergency). Prior to checking out, we refused to sign anything from the hospital itself until checkout time. (quick sidebar, I've never seen anything as sleazy as an administrator trying to get someone who's heavily sedated and mediated but hasn't been fully diagnosed yet (triage and stabilization only) to sign paperwork related to billing and insurance, and then to authorize a room change to long term and the to an overnight room...all before they even knew what was going on). At checkout time, they had no insurance info...if we had no insurance, they would consolidate the fees from all groups (contracted doctors, anasthesiologists, equipment use, medications, etc.) and waive 2/3 of it and set up a payment plan (non-loan style, so no interest, or fees). This total was lower than if we used insurance and paid what was remaining on the deductible for the year and happened late enough that we wouldn't have benefited from using the insurance. I have no idea if it was attitude, handling it like business, persistence or just how they do business, but it greatly impressed me.
ismarc··on Video streaming & net neutrality
This is a point that is frequently missed and ends up muddying the actual net neutrality discussion. For cable providers, Internet (big I internet, not just a network that uses the same protocols) is carried on certain channels with vod and normal cable channels carried on other channels. For providers like Uverse, it's not separate frequency channels, but separate vlans with dedicated bandwidth on each (very similar model, though, big I internet traffic is separate from other services). Where the neutrality line is crossed is when all traffic on the big I Internet segment isn't treated equally. In this case, the separation of billing is giving that traffic preferential treatment over other big I Internet video streaming.
ismarc··on Early Startup Time Wasters
Make a signup page to be part of the beta, include the disclaimer that it's free during the beta but once the service is publicly available it will be charged for and the fees are waived during the beta in exchange for bug reports, possible issues/downtime, etc. Then, whenever someone signs up, just automatically send them an invite. You don't limit the people who want to use it in the beta and can provide valuable feedback and you set expectations appropriately for leaving free status and to the state of the application. And if you think that you may get a bad rap for being in "beta" and it not being as good as Google's beta, just call it "alpha" instead.
ismarc··on Understanding database normalisation: a very short tutorial
There's a group 3, but it's likely just as small or smaller than group 1. Where your data is easily normalized (and easier to work with in that form), but the cost of a getting an rdbms to support your write load is an order of magnitude more expensive than a persistent 'nosql' datastore that you do batch dumps into an rdbms.

The catch is that very few people end up in group 3 and still have the cost of running/administering the rdbms over the 'nosql' one actually matter.

ismarc··on Riak Adoption - We Have Some Work To Do
We chose Mongodb over Riak for a host of reasons, but after working with Mongo, there's times I definitely wish we had gone after Riak, but there's a laundry list of why it lost out (and where it was super strong as well). I took a look at the list of improvements and one of the biggest reasons we didn't pick Riak (Riak's APIs and model make it significantly difficult to use it and be able to mentor a mediocre developer to working with an existing system...I've got a whole list of details on where, how and why this lost out) doesn't seem to be on the list. There's standardizing the client APIs, which is nice, but wouldn't address a large number of the issues. On the other hand, a lot of the issues could be resolved by wrapping existing APIs (whether directly in Riak or in client APIs/the REST API). We decided not to create our own wrapper because of maintenance and training/documentation concerns.

There's really too much info to go into it here (we spent something like 4-6 months investigating different datastores with actual production data and load levels), but Mark, if you want to sit down and talk about it, or chat via email, feel free to drop me a line. My contact info should be in my profile.

ismarc··on HN Podcast #1: Kickstarter, Raspberry Pi, And Instagram
I was one of the guests as well and everything went amazingly smooth and took almost no time at all outside of the time talking.
ismarc··on HN Podcast #1: Kickstarter, Raspberry Pi, And Instagram
I'd like to apologize for the echo from my side. I have a quality mic, but had to change rooms at the last second and didn't realize the acoustics were that bad or I would have tweaked the sensitivity or grabbed a more forgiving mic.
ismarc··on An easier way to create GitHub repositories
I actually was trying to use hub as part of our workflow (pull request from feature branches) and it requires a user token that's no longer obtainable (that I could find) as github is deprecating it in favor of oauth. So I'm now building a cheap set of scripts using curl. If something has changed since this weekend, or if there is a fork or branch I missed that doesn't require the user token (or if you can get the token somehow), I'd love to know about it as hub fits all our needs perfectly.

EDIT: just checked on the issue and it looks like it had movement recently, so i'll be trying the possibly working branch.

ismarc··on Time To Get Past Facebook And Invent A New Future
At its heart, the internet is about information dissemination, in whatever form that information takes. Discovery has always been the issue, from link portals to message boards to search engines, it's finding information you're interested in. The current "social network" trends are another aspect of that discovery process. The difference being that an individual (or company) can more directly impact how the discovery is made and who makes it. This makes it more viable for an individual to provide information and it to be discovered. I think all of the 'mundane' applications of it you see are exploring different facets of the same thing. What we have is a specialization of one aspect of the internet (dissemination of personal information to a small network) and I think the next step will be the same for different categories of information. Not a "social network for code", but a platform for discovery that appropriately fits the niche. We then get q hierarchical discovery model where you search for where to find the information, and then search for the information. But we need all the boring steps in between to find the right model for each niche.
ismarc··on A Year with MongoDB
We are using Mongo in ec2 and raid10 with 6 ebs drives out performs ephemeral disks when the dataset won't fit in RAM in a raw upsert scenario (our actual data, loading in historical data). The use if mmap and relying on the OS to page in/out the appropriate portions is painful, particularly because we end up with a lot of moves (padding factor varies between 1.8 and 1.9 and because of our dataset, using a large field on insert and clearing in update was less performant than upserts and moves).

There's really two knobs to turn on Mongo, RAM and disk speed. Our particular cluster doesn't have enough RAM for the dataset to fit in memory, but could double its performance (or more) if each key range was mmapped individually rather than the entire datastore the shard is responsible for just because of how the OS manages pages. We haven't broken down to implement it yet, but with the performance vs. cost tradeoffs, we may have to pretty soon.

← PreviousPage 3 of 11Next →