HNHacker News
TopNewBestAskShowJobs

bpyne

1,237 karma · joined November 14, 2008

loves: family enjoyments: software development, drumming, martial arts, cooking
submissionscomments
bpyne··on When Does Work Actually Get Done?
The work week in my organization is M-Su. I'm not particularly awake on Monday mornings, so I fill out and submit my time sheet for the previous week, which may include support hours over the weekend. Due to my brain core dumping over the weekend anything I did the previous week, I have to piece together what I did from my calendar and Sent folder.

Usually my periods of high productivity are 10am-12pm, 3-5pm, and 7-9pm. (I'm not usually in the office after 5pm so my employer doesn't benefit from the last burst. But they would if I did.)

Friday is my day to get backlog stuff done. Depending on how you define productivity, I'm either highly productive at solving old bugs, doing documentation updates, etc. or not productive at all on Fridays.

I have to echo others' sentiments: the analysis is severely flawed.

[EDIT: Added paragraph starting with "Friday is...".]

bpyne··on Recursion to Iteration, Part 4: The Trampoline (2013)
Really fantastic point. I'm not a heavy user of Python. But, when I need to quickly prototype something its simplicity - i.e. one good way to do something, although this is a little exaggerated - makes the development very quick. Given my late start with Python, I work only in 3.x so I don't even need to look at search results with 2.x solutions in them: the range of solutions is narrowed further.
bpyne··on My 20-Year Experience of Software Development Methodologies
A key point comes from the linked post entitled, "Why don't software methodologies work?" People are the greatest factor in a software project's success, not tools or methodology. Good tools and methodology are part of success, but they aren't sufficient for it.

Definitely read that post.

bpyne··on Laptops Are Great, But Not During a Lecture or a Meeting
lvoudour didn't seem to be arguing against the research so much as agreeing with cjsuk that the lecture model of teaching is ineffective for some population regardless of note-taking medium. The research shows that, of people who learn effectively in the lecture-style learning model, more of them learn better from taking notes on paper. But, there is a significant - I would never claim majority - population that doesn't learn well in lecture-style learning. For that population, they could use electronic device, paper/pen, clay tablet, or direct imprints to the brain and it wouldn't matter: they don't learn well from being lectured to.
bpyne··on Laptops Are Great, But Not During a Lecture or a Meeting
I'm of the same opinion. I realized in college that I can write or think about the material being presented, but I can't do them simultaneously. So, I stopped taking notes and relied much more on memory and text books. I'm still that way in the work world.

My major was math. It would have been significantly better for my learning if we spent class time solving problems rather than watching the professor write out a proof, which was often enough already in the text. Active learning is really critical for me.

bpyne··on Ask HN: Why are larger e-readers much more expensive than tablets?
Speaking of larger e-readers, does anyone have experience with the Remarkable product?

At some point, I'm going to have to replace my 1st gen Nook and would love to have a device that I can write on as well. So, the Remarkable product looks great despite the price tag. But, I'd want at least a 10-year life.

bpyne··on Spaniards face ham shortage as Chinese market gets taste for jamón ibérico
The US market presents a bit of a challenge in that the country is so large with distinctly different cultures. Some parts may as well be called Puritanical while others are more to the Western European mindset.

The parents around my area have no problem with children seeing breasts or other body parts. Scenes involving intimacy on shows and in movies provide a good segue into conversations about sexuality. But, we have a major problem with characters slaughtering one another in gun violence.

The reality is that we simply watch more Amazon and Netflix original series/movies, in which body parts and sexuality are more likely, and avoid shoot-em-up blockbusters.

bpyne··on Ask HN: What tech were you convinced would take the world by storm but didn't?
F# was the only reason I wanted to dip into .NET. I really expected it to take the development world by storm because it was introduced when FP was getting a lot of attention.
bpyne··on Trade school, not 4-year college, is a better bet to solve the US income gap
Actress Gal Gadot talked about serving in the Israeli military. I'm paraphrasing, but she said it taught her that there are bigger things in life than herself. It sounds like you had a similar experience as a volunteer firefighter.
bpyne··on Trade school, not 4-year college, is a better bet to solve the US income gap
Your comment reminded me of an essay Paul Graham wrote. (See the link below.) He argues that modern society has taken kids, isolated them from participating in greater society, and made school a "job" to them. The consequence is that teenagers feel out of step with society because they don't participate in it, the way that they did when apprenticeships were common. This observation supports the premise of the essay.

It's a thought-provoking read.

http://www.paulgraham.com/nerds.html

bpyne··on America’s ‘Retail Apocalypse’ Is Really Just Beginning
As my brother-in-law in Maine says, "There's no bad weather, just bad clothing."
bpyne··on Ashamed to work in Silicon Valley: how techies became the new bankers
Watching the video in full, it was not clear that the two parties played together. They seemed to head that way until the guy with the permit arrived. Then it became a territorial standoff again.

What would be truly interesting is how the Dropboxers handled the situation afterward. Did they get local authorities involved? Did they come back the next week, without a permit, and blend in the way the guy from the locals suggested? The answer would be a good measure of their Social IQ and value systems.

bpyne··on Ashamed to work in Silicon Valley: how techies became the new bankers
As a kid, the neighborhood basketball court had norms for use that developed over generations. If you wanted to play and a game was in progress, you’d call out, “Got next!” (If someone else on the sidelines had already called it, they’d let you know and you’d wait your turn.) When your turn came, the winning team stayed on the court and you went onto it with your team, picking up players from the sideline as needed. In this way, people from the outside still had their chance to play, but they integrated into the system. (They were probably made better players as well since they had to play against a wide-array of competition.) The system was true of any urban court I visited around the US.

If our neighborhood court suddenly had to be reserved, it would be a major disruption to norms established for generations. Neighborhood kids, who knew nothing about local government and how to work with it, would have suddenly felt pushed out. Worse, assuming they observed the reservation made by the “outsiders”, they would have been left with nothing to do except wander the streets. That’s often the scenario courts were built to prevent.

I understand that leagues need to schedule ahead. I also understand that local governments need supplemental income to maintain neighborhood facilities like basketball courts and soccer pitches. But, neighborhood kids need open time during after-school hours and weekends to meet with other kids and play without the formality of a reservation process. The Dropboxers in the video would have been a lot smarter if they explained to the locals about the reservation and offered to have a big game “subbing in” as needed.

bpyne··on Ask HN: How does your team handle knowledge documentation?
Documentation, the thing most agree is a good idea, but nobody wants to do. It's a nuanced subject.

TOOLS

Until recently, we used a combination of Documentum and EPM (Enterprise Project Manager). The intended workflow was to have all documents start in EPM as part of the initial project implementing/building whatever product. When the project closed then the developer was to copy the documents across to Documentum. It was simple in concept. Due to technical shortcomings, it was not. I stopped even trying around 3-4 years ago.

Documentum was a technical horror show. Ten years ago, and for a long time afterward, it supported only one browser, I believe IE. Architecturally, it seemed to use a Java applet for login and, upon successful login, it downloaded an app. Of course, the app wanted a specific version of the JRE locally. But, the real nightmare was authorization. One day you had permissions to update “cabinets” for your documentation. The next day you didn’t. No explanation.

EPM had authorization issues similar to Documentum’s with the added bonus of a project’s link not working all the time. One day you could use the link, which the PM sent out at the start of a project, to access the project workspace. The next day you couldn’t find the project workspace.

Currently, we're moving into a SharePoint site that is more promising. It provides Wiki capability for quick reference items, as well as, a repo for more involved documentation. Apparently, it provides versioning, but we haven't explored it yet.

TYPES

Part of the problem with the subject of documentation is that different groups want different types of documentation. Somehow, the developer is supposed to understand the needs of each group and produce a document tailored to those needs.

Operational people want information on jobs and job dependencies. Support people want lists of things to check and try in case errors occur. (Developers are inherently bad at documentation for customer support. The problem is that we know how the system is supposed to work, so we’re blind to its shortcomings until a user finds them. Rather than my writing a support document upfront, I prefer meeting support people periodically so they can ask questions and develop their own document.)

Management wants everything, all at once. They want it in the amount they want it, summarized, but detailed enough that they can feel like they’re a help during outages and architectural meetings alike.

Users want to know every step for every task they need to accomplish, as well as, what to do in any anomaly, like not paying attention to dialog boxes and hitting “Save” to commit information that they didn’t want to commit.

ISSUES

The major issues, for me, are keeping documentation current and writing for such varied audiences, nevermind having the storage system working against me.

bpyne··on An experimental software development environment
Props for accepting feedback!

A decent number of people's brains just don't assign meaning to images. I'm one of them. As an example, I've been using an iPhone for several years. I still routinely click on the Notes icon instead of the Reminders icon, as well as, the Maps icon instead of the Weather icon whenever I'm rushing and don't take time to read and say the app name in my head.

I'm not sure if it's tied into being an auditory learner, but I know I'm not alone.

bpyne··on Why I use Object Pascal
I'm 50, still on HN, and still an engineer (although I do a lot more ops and analysis nowadays).

As far as stacks go, I use whatever suits the application I want to write. I use: - PL/SQL (mandated by my employer) for generating large batch files in an ETL process - Python for validating the files mentioned above - I'm evaluating the OCaml compiler set for a language I'd like to create - I'm interested in Elixir for back end processes - R for ML - Prolog for prototyping a rules engine that may become the seed for a product - I'd like to get familiar with a JS-based web framework like Angular 2 or React or one of the other ones I've been reading about - I'm looking at Flash to develop a game with my daughter, who seems interested in coding.

I think it's important for older developers to assure younger ones that you remain interested in trying new tools and technologies as you get older. The curiosity and passion for creating don't abate. But, after you stay with an employer for a while and develop critical applications for it, then you get caught in maintaining it in that technology. Essentially, you get frozen in time in a technology stack due to the success of the app you wrote.

You also begin spending more time on ops and support.

But, you pick and choose times to introduce newer technologies, which you largely have to evaluate on your own time.

You don't have to leave the field or slink into irrelevance just because you're older.

bpyne··on Why I use Object Pascal
That's exactly my evolution as an app dev as well. I understand some people write applications in which they have to wring every bit of inefficiency out of it, but the apps my employer wants don't require that kind of speed.
bpyne··on Is Haskell the right language for teaching functional programming principles?
This question leaves me with more questions. The post looks at a few alternatives without giving context.

1. How does the course fit the overall curriculum? 2. What is the experience and maturity of the people taking the course? 3. How strong are the teaching skills of the instructor?

The density of functional features taught in a certain time period matters. A drastic change in mindset simply takes time that, I would say, is greater than a standard semester. A single semester is fine if FP is going to be reinforced, thereafter, in other courses.

Also, starting students with FP instead of imperative or OO means less to break down and relearn.

I've read numerous debates that try to define functional programming. I don't want to start another one because they're tedious. My experience is that functional programming is a change in mindset in how to solve a problem and organize code. The instructor's ability to teach matters. The time given to learn matters. Reinforcing the concepts throughout a curriculum matters.

For each point I make above, you could make a valid case for a different FP language/ecosystem. As much as I like Haskell, it's not a "one size fits all".

bpyne··on What Happens When a Suburb Begins to Die?
Perhaps the goal is to purchase the homes, which are too low-valued for the homeowner to get a fair price, and turn them over to commercial development - i.e. bulldoze them - for new office space, for example. Then the tax base goes up when businesses move in. Perhaps new high-rises as well so that they have higher-density habitation. Again, the tax base could go up.

It's pure speculation on my part, but it's the only rational reason I can find.

bpyne··on When Citi Bikes Are Faster Than Taxis in New York City
Even following the rules you still save time because you're at the top of the queue with the lead car every time. When I bike into work I never have to wait 3-4 turns of the light to proceed.

Yes, I do follow the rules: lights, stop signs, etc. Whether driving my car or riding my bike, I'm sharing a resource and we are all trying to get somewhere. It's only fair.

bpyne··on IBM contract cost for failure-plagued Phoenix payroll system jumped to $185M
"But when it comes to Phoenix, Aylward isn't focusing his blame on IBM. Like the procurement experts, he faults the scope of the initial contract for the resulting failure."

Twenty-six years of developing software, I haven't worked on a project yet that was any better than 60% specified. This inability of people to specify, in full and in detail, what they want is the reason for the rise of Agile.

A colleague of mine sagely said, "We need to show them something quickly just so they can tell us what they don't want."

bpyne··on The sudden death and eternal life of Solaris
Our Banner student information system is tied to Oracle. My applications all go against Banner data. Given the licensing cost for Oracle and our current round of cost-cutting, if Postgres was an option, we'd probably take it.
bpyne··on The sudden death and eternal life of Solaris
The answer is almost never because the cost in time is too high for such a switch. It's the same question I posed 10 years ago. My view changed since coming to my current employer.

I work for a moderate-sized university. The applications I support require up-to-date information in order to test modifications. They are read-intensive with few writes within the database. We can afford only one test database for the entire university. We refresh the database from production only once a quarter, at most. My applications would benefit greatly by being able to switch URL's to the production database in order to test a mod. Since our code, written in PL/SQL, gets stored in the database that it runs on, we can't do such a thing without significant effort: dblinks or modifying package names to store in production for testing or a test schema or whatever else you can think up.

Another issue is that PL/SQL is not a robust language for modern development. Its type-system was designed for strictness, which is great in life-critical systems. But, there is no notion of inheritance and no ability to write generic collections.

To mimic inheritance, you can create objects backed by tables and inherit one from the other. It has the feel of being bolted on and yet another tie to Oracle.

One final issue is that PL/SQL is highly subject to the resource management of the Oracle kernel. Often, the kernel is extremely efficient. But, there are times when you need code running in a separate address space, preferably on a separate server. For instance, one application I wrote is a batch system that has a lot of processing rules built into it. Our database is tuned for OLTP. My application is categorized by the DBA's as data warehouse-oriented. Yet my application has to run hourly throughout the day and compete with resources necessary for the OLTP stuff. Putting it onto a separate server, away from Oracle's kernel management, would more than likely help a performance issue we have.

So, the answer to your question is the one you were looking for. But, my concern isn't necessarily switching database vendors.

bpyne··on The sudden death and eternal life of Solaris
Amen to everything you and arnarbi wrote.

However, I've come to dislike building business rules using the proprietary languages of the RDBMS vendors. In particular, I use Oracle and have been making a case with my employer to stop creating ties to Oracle by using PL/SQL as our house language. While it provides some efficiencies and can sometimes make coding easier, it can stifle development as easily.

I'm all for expressing data relationships in the RDBMS and using efficiency mechanisms like indexes and cost-based optimization. However, I now prefer business rules to be expressed outside the database.

[EDIT: Corrected anarbi to arnarbi.]

bpyne··on Universities are broke – let’s cut the pointless admin and get back to teaching
Paragraph 2 is worth more discussion. I work for a moderate-sized private university in an urban environment. Beyond the startup and labor (staffing, administration) costs of the amenities, they require real estate as well. While suburban/rural universities may have options for constructing new buildings, we have to rely on purchasing real estate in a fluctuating market. Then we have to re-purpose it, often bringing it up to modern health codes. This is expensive to undertake.

A ramification of purchasing real estate, for amenities in current demand, is that we can get stuck with expensive real estate when enrollments are down and, correspondingly, the amenities in those buildings are less used.

The amenities come due to demand. But, they're costly. When amenity use is down, we're kind of stuck with those costs unless we can unload or re-purpose the real estate.

[EDIT: Added "costs" in sentence 3 paragraph 1.]

bpyne··on Why Germans pay cash for almost everything
Around my area in the Northeast of the US, Apple Pay is becoming ubiquitous. I just put my iPhone near the reader and use touch id. It takes seconds at most and I don't have to expose my wallet to would-be muggers.
bpyne··on I Almost Left Tech Today
The team described may exhibit an extreme behavior. But, I think it's fair to say that women experience "death by a thousand cuts" in male-dominated fields, not just Tech.

I also think that young men learn the lesson of disregarding women early. I started coaching co-ed youth basketball recently. At ages 10-12, boys are already disregarding their female teammates as potential contributors. The boys aren't overtly hostile. They just don't even think about passing to the girls. They don't trust the girls to play good defense, so the boys try to cover too much floor, ironically allowing more points to be scored against us. I'm steadily working with them on trust and inclusiveness. But, it amazes me that they're so young and already need to unlearn negative behaviors.

bpyne··on Ask HN: What language/framework do you plan to use in your next project?
Personal - Elixir/Phoenix for a web project (just an excuse to mess with these technologies) - Racket to explore an idea for a large rule-based application for higher ed - OCaml to try out its programming language design set - Swift to make an iOS game with my daughter

Professional - Python3 to rewrite a moderate-sized batch application with a lot of custom rules - Java/Spring to rewrite an internally-used web app

bpyne··on How do I know if I'm good at programming?
No intrinsic quality makes you a good programmer. If you enjoy it, you'll develop solutions to problems that computers can solve. As you develop more, you'll become better.

Along the way, you'll develop a curiosity about solutions other people developed, so you'll read code more. Simultaneously, you'll develop curiosity about different tools, e.g. programming languages. This will lead you to explore them more.

It's all enjoyment feeding curiosity and lots of practice.

I'm watching my daughter's friend become a great basketball player. She's not inherently great at the game. She loves it and practices several hours daily in a disciplined manner. When it rains she puts on rain gear to practice. When it snows she shovels the driveway to keep practicing. She carries a notebook everywhere to diagram plays when she thinks of them.

Great programmers practice even when no computer is in front of them.

bpyne··on 2017 Top Programming Languages
I wouldn't place a lot of importance in the rankings. Instead of trying to rationalize why your favorite language is not higher/lower than others, figure out the area you like programming in, e.g. higher ed, healthcare, database kernels, machine learning, etc. Then search around for the common tool sets used in that area and get proficient at them.
← PreviousPage 8 of 18Next →