hexagonc
|
9 years ago
|
on: Bullet journal: A simple productivity system that just uses pen and paper
I tried to hack together my own personal stack overflow or Q&A system using a directory of text files and Sublime Text (any other text editor that has regular expression searching also work). Basically, each fact or note that I wanted to be able to retrieve would be stored as semi-structured text that is easy to search using regular expressions. For example, when I was first learning web development, I saved a note like this in my note file:
{
[how do you create a simple image button in html and css]
-> style:
.simple-button {
background-image: url(...),
background-repeat: no-repeat,
background-position: center,
background-size: 100% 100%,
width: 100px,
height: 100px,
display: inline-flex
}
<div class = 'simple-button'></div>
}
I had a directory called "knowledgebase" which had numerous files with similarly structured notes. In order to find the note above using keywords, I would just do a search of the knowledgebase directory in Sublime Text using the regular expression:
^\{\s*\[.+button.+css.*\]
At first I was pretty excited about the method because it actually saved me a few times when I needed to find some boilerplate Linux bash scripts and vim keyboard shortcuts. Unfortunately, the small bit of initial success left me wanting to add more features to the extent that I was never satisfied with the notation for structuring questions and answers. First I used the system for simple notes and Q&A. Then the notation had to support hierarchical notes, like a tree. Eventually, decided I was going to write a program to parse these Q&A files and expose them as a mobile application that I could search via voice. This seemed like a pretty good idea until I decided that what I
really needed was to not only be able to search notes by voice but also create them. The whole project kept growing until eventually I dropped the whole note taking thing and turned my attention to the general problem of NLP for question answering.
If I had simply been satisfied with the original, simple process and stuck to it these last couple of years, I'd have a pretty comprehensive and useful knowledgebase by now. I realize that I'm too lazy to keep such a system up to date but hopefully I can adopt something similar as a commenting convention in my source files to make code fragments searchable.
hexagonc
|
9 years ago
|
on: Second Oracle v. Google trial could lead to headaches for developers
Maybe I'm thinking about this incorrectly but Google's use of the Java APIs seem to me to be the quintessential case of fair-use for interoperability. It's not like Android is shipped with a JDK and is constantly exercising the Java API internally on Android; they are only used so that I can write a Java algorithm on my desktop and use the source code to generate Dalvik bytecode that does something roughly similar to what the Java bytecode would do. The Java APIs are just a means to an end. The surface area of the copyright infringement is limited to the desktop Android build tools which convert Java sourcecode and some bytecode into Dalvik, i.e., interoperability. Now, that is only one-way interoperability so maybe that is enough to sway the matter away from fair-use.
hexagonc
|
9 years ago
|
on: Three-quarters of drivers don't want to own an autonomous car
I think there's a lot of things I'd rather be doing on a commute than drive or do work. For on thing, with a self-driving car, I could do things that many people are already doing while driving, albeit unsafely. Things like eating breakfast, talking on the phone, and fiddling with the radio. Hell, if the commute was long, I might use the time to catch up on sleep.
hexagonc
|
10 years ago
|
on: Hiring Is Broken – My interview experience in the tech industry
I would agree with you if the author had complained about depth-first search as opposed to breadth-first search. Any decent developer should be able to understand and reason through depth-first search but I wouldn't expect breadth-first search to show up doing front-end web development. In my own side-projects, which involve much more complicated algorithms than anything I've implemented in my day job, breadth-first search has only really come up in one context that wasn't explicitly AI related, and that was a grammar parser. In every other case that I needed to search something, it was depth-first search that I was using. If you're given the whole tree at the beginning, I think most developers would probably start with depth-first search, even if they didn't know the name of the algorithm they were using.
hexagonc
|
10 years ago
|
on: U.S. Suicide Rate Surges to a 30-Year High
More religious countries may have lower incidents of suicide but they don't seem to be enjoying the life they do have as much as the less religious countries. None of the top 10 countries according to the World Happiness Report[1] are religious. On the other hand, of the top 10 religious countries, according to your link, the highest ranked for happiness is Thailand at 34. This shouldn't be terribly surprising since it is a deadly sin to commit suicide in most of the Abrahamic religions and the more devout you are the more likely you are to adhere to this particular tenet.
[1] http://worldhappiness.report/ed/2015/
hexagonc
|
10 years ago
|
on: Forbes Site, After Begging You Turn Off Adblocker, Serves Up Malware 'Ads'
I think most people, with a little education, are reasonable when it comes to ads. I know I was. Most of my computers didn't block ads or scripts. You can try to be nice but the ad makers have escalated things to the point that you have to respond. It's like content creators these days are so upset about ad-blocking that they feel they have to lash out with ads at the people that don't block. I went to some random Linux Q&A forum and had to force-quit my browser because the ads brought the browser to a standstill; all tabs were frozen. I consider ads that crash or force me to close my browser as an act of violence. Nobody in their right mind wants to subject themselves to that, regardless of their opinion of ad-blocking.
hexagonc
|
10 years ago
|
on: U.S. Drops California Case Against Apple After Accessing iPhone
Also, big companies won't necessarily be your ally in this case either. Instead of being sued, large companies may be able to come to an agreement with the plaintiff where they pay some fee to continue doing what they are doing. The size of this fee or the risk of a lawsuit may be enough to discourage small startups from entering a market while just being another cost of business for the established large players. This could hurt competition in the long run as well as allowing the status quo, which perhaps should be challenged, to persist.
hexagonc
|
10 years ago
|
on: How to Learn Advanced Mathematics Without Heading to University
The only way to learn it is by doing it. Doing it carefully, and in full detail, not falling into the trap of "and I understand it from there".This. So much this. A lot of people think there is some big difference between mastery from a physical versus intellectual level. No one who is serious about learning to play a musical instrument will only play a song up to a point and then stop, saying "... no need to go further, I already know how to play the rest." I think the way the brain consolidates high level learning into long term memory is essentially the same as for "muscle memory". This is like when you learn to drive. At first, you have to think consciously about every little detail but with practice, your unconscious mind takes those over and your conscious mind is left to operate on higher and higher level concepts. Mathematics is hard and the sooner you can offload the details to your unconscious mind the better. And the only way to do that is by practice.
I consider myself to be a smart but sometimes intellectually lazy person and had to struggle to develop the habit of working problems out rigorously and completely when learning new material. The belief that you can learn material by just reading is seductive because it feels like you're saving time and getting to the interesting topics faster. But in all likelihood, this belief is false and will be proven as false the moment your understanding is put to the test, either in a real test, or when subsequent material requires a solid understanding of older material. Sure, you may indeed be understanding it at the moment you're reading and in the flow of the material. But what makes your knowledge solid and reliable even under adverse circumstances (e.g., when you're distracted or learning a difficult new subject that builds on that knowledge) is practice and repetition. This applies not just to mathematics but to learning a new framework or programming language.
hexagonc
|
10 years ago
|
on: Atlas, the Next Generation [video]
I think it could have dual purposes. There was an earlier segment of the video where the robot was able to find and pick up a box and stack it on a shelf without the presence of the QR codes. There are a lot of clever uses you could put to QR codes as object and environment tagging. It would be effective at encoding what to do and perhaps what can be done with the box. I used a similar strategy to define behavior scripts for the Aldebaran NAO. I printed out some barcodes and taped them to the walls so that if the NAO was exploring an area and saw certain barcodes on the walls, it would do different things based on the codes that were present. This way, I could do simple behavior scripting without having to change the robot's programming.
hexagonc
|
10 years ago
|
on: Current Proposals for C++17
While I appreciate the effort to make things easier, as someone who is trying to move from C++98 to C++11, I'm not sure the new features make the language easier to use so long as you still have to learn the old ways of doing things. Speaking for myself, at least, this just causes interference between competing habits. What would be better for me and maybe others, would be if some of the unsafe or deprecated features in C++ were disallowed or if there were a compiler option to disallow them. I know this would break C89 compatibility but so what if you know you only care about the newer and more efficient features of C++?
hexagonc
|
10 years ago
|
on: On the growing, intentional uselessness of Google search results
Depends on how they arrive at it. If they create true AI with lots of spare capacity then
maybe Google is threatened, but what seems more likely to me is that true AI is achieved in some hodgepodge system that wasn't well architected to scale. An example of this would be a true AI that came about as a result of embodiment in a robot. Yes, it is true AI but that doesn't mean it knows how to read, let alone read and understand billions of webpages. Even if it could read a page of general text at the level of an average adult, that doesn't mean it can read it quickly.
[EDIT]
And as an addendum to this fun tangent, even if the AI was capable, in principle, of reading billions of webpages fast and well, we don't know the power requirements would be for this. This hypothetical small company may have stumbled upon the right algorithms and the right training data to produce a true AGI, but they may simply not have the hardware or the engineering know-how to scale it up across multiple processors. Or scaling it up may require too much (i.e., more than the company can afford) data bandwidth if the robot is controlled. Again, it depends on the details of how they arrived at the AGI.
hexagonc
|
10 years ago
|
on: In Colorado, a look at life after marijuana legalization
Are these fears born out of experience or are you just voicing concerns for what you think is going to happen? To be honest, what you've written reads like you are the victim of a lot of scare-mongering and hysterical claims about the effects of legalization. For one thing, I see no evidence of "the US totally overdoing this", least of all because there is no US wide approach to cannabis legalization, even among the states where it is legal. Most of the states where cannabis is legal seem to be handling the matter with great caution, with the laws and regulations in place specifically precluding the commercialization fears and behaviors that you are citing. Just google "Alaska cannabis laws" or "Oregon cannabis laws". Some cities forbid the sale of recreational cannabis altogether, limiting users to what they can grow themselves. You shouldn't judge decriminalization in the US based on sensationalist reporting from the worst excesses of it; you have to remember that the US isn't one place and one set of laws when it comes to cannabis legalization.
hexagonc
|
10 years ago
|
on: Atlas, the Next Generation [video]
The QR codes probably encode behavioral scripts to apply to an object that the robot encounters. So a box with one QR code may mean that the robot should attempt to pick it up even after interruption. A different QR code may mean that the robot should give up if it is interrupted when picking up the box. A different QR code may mean pick up box and move it to self. A QR code next to a door may mean that the robot should exit it automatically when it gets within a certain distance of it.
hexagonc
|
10 years ago
|
on: Atlas, the Next Generation [video]
I agree. A quick Google search suggests that the human body requires about 100 Watts[1] of power. On the other hand, a small 12 volt car battery is able to provide 45 Amps over an hour, which implies that it can support a power draw of 540 watts for an hour. Even if human activity required 200 Watts, an android with human level power efficiency should be able to operate for over 2 hours with the technology of today's small car batteries. Of course, my math could be wrong :-)
[EDIT] -
My point here is that even if improvements to battery technology remain slow or constant, with sufficient innovation in energy efficiency and algorithms, we could still have robots with usable to good running times. Just figuring out a reliable walking gait and building materials for passive dynamic walking can significantly reduce the power requirements.[3]
[1] - http://hypertextbook.com/facts/2001/JacquelineLing.shtml
[2] - http://www.chem.hawaii.edu/uham/bat.html
[3] - https://en.wikipedia.org/wiki/Passive_dynamics
hexagonc
|
10 years ago
|
on: U.S. tells Google computers can qualify as drivers
To be honest, I'd be worried about security vulnerabilities from a system that was exchanging and synchronizing data in the cloud. It seems unlikely that the first generation of self driving vehicles will be able to update its behavior in real time from other vehicles' experience. If there is any cloud connectivity at all, I'd expect it at first to be solely outgoing data that is sent to and aggregated by some central brain. Then, when the owner of a vehicle wants to update its AI, they manually download a certified patch or bundle of data that incorporates what the central brain has learned from all the cars. These upgrade patches would probably have to be constantly vouched for by debug vehicles that drive all over the streets of the world before being released.
hexagonc
|
10 years ago
|
on: How a Legal Journalist Got Fired for a Non-Compete
I didn't say the quoted section was false, I just said it was inaccurate because it gives an inaccurate impression of what was happening in the original article. Without reading the article, you might think that she was fired due to the 'chilling effects' of non-competes. However, in this case, the threat was more tangible. Her new company didn't just find out about the non-compete 'through the grape vine', they found out because the previous company forcefully notified them. This gives a much greater indication of intent to sue then if the prior company had kept quiet about it, as they apparently did for most other employees. Remember, it was apparently a well-known fact that employees from her firm occasionally moved to 'competing' firms. This was why she wasn't initially worried about the non-compete in the first place, because she didn't think they would enforce it. Reuters probably got rattled once they saw that Law360 was serious about the non-compete.
Technically, Reuters could have gone to court on her behalf but why bother unless she was some highly sought-after journalist? Intimidating letters are meant to make you weigh your choices carefully. Also, while Law360 didn't literally sue her, it gave every indication that it intended to if she continued at Reuters.
hexagonc
|
10 years ago
|
on: How a Legal Journalist Got Fired for a Non-Compete
In the linked article, the writer wasn't fired because her old company sued her for competing, she was fired simply because the new company found out she had signed a non-compete and presumably wanted to avoid any potential lawsuit-related shenanigans.Unfortunately, this isn't quite accurate, as shown by the Q&A at the end of the article. Although her previous employer didn't directly sue her, it essentially threatened to sue her. Moreover, the way her new employer found out about her previous non-compete agreement was because her old employer specifically notified them and indicated that she had confidential information. Her new company basically had no choice but to fire her.
hexagonc
|
10 years ago
|
on: How a Legal Journalist Got Fired for a Non-Compete
The non-compete agreement and employment contract at my last job was provided and signed electronically over the web. There was no opportunity to red-line any of it, although I could have printed and shown it to a lawyer. I suspect many people will be subject to these non-modifiable, digitally-signed contracts in the future.
hexagonc
|
10 years ago
|
on: IBM programmer controls a BB-8 droid from 'Star Wars' with his mind
I couldn't tell from the article or the video what the latency of this thing was. What is the error rate in interpreting his states of mind and translating them into commands to the toy? The demonstration would have been much more impressive if he could show a video of the robot performing complex maneuvers from thought control.
hexagonc
|
10 years ago
|
on: New finding: 600M years ago, a single mutation changed everything
I think a simpler explanation for why evolution doesn't get stuck in local maxima is because the environment on earth hasn't been static. Resources get depleted, animals migrate to different habitats, mass extinctions occur, competitors enter and leave, etc. All of these change the balance of which genes aid survival at any given time and make a mutation that might have bad at one point good and vice versa.
If I had simply been satisfied with the original, simple process and stuck to it these last couple of years, I'd have a pretty comprehensive and useful knowledgebase by now. I realize that I'm too lazy to keep such a system up to date but hopefully I can adopt something similar as a commenting convention in my source files to make code fragments searchable.